Welcome to Home Assistant Core 2020.12!

You are looking at our new versioning schema. From now on, the Home Assistant
Core will be using calendar versioning, consisting of the year, month and
a patch number to indicate a bug-fix release. This also means our release
schedule is changing. Home Assistant Core will now be released every first
Wednesday of the month!

As most things are announced at the Home Assistant Conference;
more things will be added/tweaked in these release notes the next couple of days.

For me, this has been an exciting year! And thanks everybody for contributing
to this amazing project, no matter what and how you contributed. You are all
amazing! ❤️

With the Holiday season coming, it is time to slow down a bit, enjoy time with
our family. And in a couple of weeks, a new year will start; Let’s make it a
good one!

Happy holidays, stay safe and for the last time this year: Enjoy the release!

../Frenck

Blueprints

Say hello; to the major new feature of Home Assistant 2020.12: Blueprints!

Screenshot of the blueprints configuration panel
Screenshot of the blueprints configuration panel.

An automation blueprint is a pre-created automation with user-settable options.
This allows for a separation of the logic and inputs of an automation. It
sounds a bit complicated, but as a matter of fact, it will make things
re-usable and easier.

Imagine a blueprint that controls a light based on motion, that allows you to
configure the motion sensor to trigger on, and the light to control.

It is now possible to create two automations that each have their own
configuration for this blueprint and act completely independently, yet are
based on the same automation configuration.

Sharing blueprints

Blueprints are great for sharing your automations and ideas with the community.

We created a Blueprint Exchange forum category where you can
post your created blueprints. For others to use!

We believe that the power of blueprint relies in sharing. You can now share
complex automations that others can use, even if they are using the UI editors.

For example, a blueprint can be shared for a specific Zigbee remote control
that maps all buttons to a light. A blueprint that sends a notification when
it found empty batteries. A blueprint for muting music when you pick up
your Android phone.

The sky is the limit in the ideas and automations blueprints we can share!

Using blueprints

Let’s cut a long story short, it sounds exciting, but what does it mean?

You can import blueprints by copying the URL of the forum topic or from GitHub
into the UI. Then you can create automations from these blueprints by filling
out the required inputs.

Screenshot of a blueprint
Screenshot of a blueprint.

It is really easy to deploy a blueprint, even multiple times! Blueprints are
fully functional in both the UI and for YAML.

Creating blueprints

We created a really nice tutorial on how to make
blueprints.

Essentially, a blueprint is just like an automation, with some added blueprint
metadata. You can convert any existing automation into a blueprint!

As the last step, be sure to share your freshly created blueprint
on the community on the Blueprint Exchange, helping and and
inspiring others.

New neural voices for Nabu Casa Cloud TTS

If you have a Nabu Casa Home Assistant Cloud subscription, this release
brings in some really nice goodness for you. The Text-to-Speech service offered
by Nabu Casa has been extended and now supports a lot of new voices in many
different languages.

This is a great alternative to, for example, the Google TTS integration. The
resulting audio is absolutely stunning and the neural voices sound supernatural.

This service is automatically enabled when you are signed in to your
Nabu Casa cloud account and can be called using the tts.cloud_say
service in your automations.

For example:

action:
  service: tts.cloud_say
  entity_id: media_player.family_room_speaker
  data:
    message: These new voices sound absolutely stunning!
    options:
      gender: female
    language: en-US

Assign areas to entities and readable area IDs

Areas have been around for a bit already. But, not everything supports
areas yet. And using it in for example YAML-based automations, is not really
an easy task to do.

Today that changes, as this release works towards making areas more useful by
making them more accessible and more universal.

The first change: individual entities can now be assigned to areas.

Previously this was limited to devices only. This also works for entities
without a device (for example, entities provided by Helpers). Devices provide
entities, and thus it is now possible to override the area with a single entity for
a device as well. For example, your in-wall mounted switch controls a light in
another room.

Screenshot of assigning a entity to an area
Screenshot of assigning a entity to an area.

Second improvement: The ID of a newly created area will now be based on the name
of the area instead of a random string.

This makes it easier to use areas in service calls, as you can now use
area identifiers that actually make sense for a human! In a YAML automation
or script it will look like this:

action:
  - service: light.turn_on
    target:
      area_id: living_room

To find the area ID for the area you want to target, go to the Configuration
Panel, and edit the area you want to target. In area edit dialog, the ID is
shown.

Temporarily disable devices

Do you have your Christmas tree set up in Home Assistant? After the Holidays
are over, you store all those decorations for the next season. But what about
those devices in Home Assistant?

Thanks to @emontnemery, you can now disable devices in Home Assistant. So,
next year, when you unpack all decorations, enable them again and you’re
ready to go for another Holiday season!

Screenshot of disabling a device
Screenshot of disabling a device.

Of course, besides seasonal things, it can also be helpful if you have a broken
device or temporarily taking down any other device.

Other noteworthy changes

  • The Apple TV integration now supports tvOS version 13 and
    above and can be setup from the UI, thanks
    @postlund!
  • @thecode has been busy with the Shelly integration and added
    support for inputs, so you can now use the Shelly i3 and Shelly’s in detached
    state.
  • Thanks to @adrum, the HomeKit controller integration
    now has support for (de)humidifiers.
  • deCONZ now supports tilt on covers, and preset and fan
    for climate devices, thanks @Kane610!
  • @frenck added support for setting the repeat mode to the
    Spotify integration.
  • The Nest integration now supports camera and doorbell events,
    thanks @allenporter!
  • Changes made to your KNX integration’s YAML configuration,
    can now be reloaded without restarting Home Assistant. Thanks @spacegaier!
  • The number formatting in the frontend is more consistent, thanks to @joshmcrty!
  • @dmulcahey has been improving the user experience of ZHA.
    The feedback when pairing a new Zigbee device in the frontend is improved,
    discovered devices are shown earlier with their progress, and the ZHA
    configuration panel now has a Zigbee network visualization tab! This allows
    you to see your network and find connection issues.
  • The rest integration can now handle request parameters, nicely
    done @boxcee!
  • Learn new RF commands using a Broadlink remote! Thanks, @felipediel!
  • @mLupine extended templated binary sensors and these now support templating
    the delay_on and delay_off!

New Integrations

We welcome the following new integrations this release:

New Platforms

The following integration got support for a new platform:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2020.12.1 – December 16

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Breaking Changes

Below is a listing of the breaking change for this release, per subject or
integration. Click on one of those to read more about the breaking change
for that specific item.

Aurora

Configuring Aurora sensor via YAML has been removed (it was non-functional
already). The Aurora integration can now be configured via the UI.

(@djtimca#43045) (aurora docs)

Certificate Expiry

In order to optimize stability and performance of Home Assistant, time based
sensors should use only absolute time values (store the date of the event) and
not relative time values (seconds from event), so the value doesn’t change
each second.

The Certificate Expiry integration has both of them, so to adhere to
Home Assistant architectural design rules, the offending relative time
sensor is now removed.

If your configuration was based on the relative time sensor, please switch to the other one.

(@chemelli74#42338) (cert_expiry docs)

Solar-Log

Per ADR-0010, this release deprecates YAML configuration for the Solar-log
integration. If you already use the Solar-log integration you do not need to
take action, as your configuration has already been imported into the UI.

(@Ernst79#43484) (solarlog docs)

LCN

The logic operation sensor states are renamed from (not, or, and) to
(none, some, all).

The renaming is more consistent with the LCN naming convention.
When using the states in an automation ensure they are correctly renamed.

(@alengwenus#43710) (lcn docs)

Uptime

In order to optimize stability and performance of Home Assistant, sensors
should use only absolute time values (store the date of the event) and not
relative time values (seconds from event) so the value doesn’t change each
second.

The Uptime integration is one leftover, so to adhere to Home Assistant
architectural design rules, the sensor is now changed to a timestamp.

As a side effect of this change, the unit_of_measurement option of this
integration is now deprecated and can be removed from your configuration if
you used that.

Please review your Automations and Lovelace configuration to reflect this
change.

(@chemelli74#43623) (uptime docs)

Keyring & Credstash

Support for storing secrets in Credstash and Keyring is deprecated and will be
removed in March 2021.

(@balloob#43854)

Apple TV

The Apple TV integration has been completely rewritten. Support for YAML is
removed, so old configuration must be removed and devices re-added via the
integrations page.

Furthermore, the old services apple_tv.apple_tv_authenticate and
apple_tv.apple_tv_scan are deprecated and replaced by the configration flow.

(@postlund#31952) (apple_tv docs)

Telegram Bot

The telegram bot integration now allows/accepts messages when either the allowed
group (Chat ID) OR the User ID of the sender matches.

This is a different behavior compared to before as before both Group (Chat ID)
AND User ID needed to be allowed. This allows members of a group to talk to
the bot, even if they are not specifically listed as a user.

If you use Telegram groups, make sure you adjust your configuration accordingly.

(@wicol#43241) (telegram_bot docs)

Farewell to the following

The following integrations have been removed:

These integrations where using webscraping, which is no longer allowed.

All changes

Click to see all changes!