Upgrade Path

Home Assistant Core 2021.1.0 → 2021.2.0

6 versions, 29 breaking changes in 1 version, 0 required stops

Version by version, oldest first

2021.1.1 – 2021.1.5: no action items (5 versions)

2021.2.0 2021-02-03

Quoted from www.home-assistant.io/blog/2021/02/03/release-20212/#backward-incompatible-changes

Breaking

Python 3.7

Support for Python 3.7 has been dropped, after being deprecated since Home Assistant 0.116.

This is only a concern if you are running Home Assistant Core directly on Python. You can check the Python version Home Assistant uses by going to the information screen in Configuration -> Info.

If you run Home Assistant OS, Supervised or Container, you don’t have to worry about this, as the Home Assistant project takes care of this for you. As a matter of fact, if you use one of those methods, you are already running Python 3.8.

(@frenck - #43805)

Breaking

Z-Wave

The old zwave integration is now considered legacy and deprecated. This integration is still based on OpenZwave 1.4, which has been out of active maintenance for quite some time now.

Alternatively, you can move to one of the other Z-Wave solutions Home Assistant offers:

  • OpenZWave (currently not maintained)
  • Z-Wave JS (introduced in this release, recommended)

Breaking

PTVSD

The PTVSD extension has deprecated a couple of releases back and is now removed. The debugpy integration is a full replacement for this integration.

(@frenck - #44748)

Breaking

Tado

Tado's primary functionality has fully transitioned to configuration via UI. YAML configuration has been removed except for device_tracker. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

The device_tracker platform continues to use YAML, and will be updated at a later date when the device tracker platform is modernized.

Tado zone sensors have been replaced by their corresponding binary_sensors. Therefore, you'll have to update Lovelace panels, scripts and automations referring to the following sensors by their corresponding binary sensor (replace sensor with binary_sensor):

  • sensor.ZONE_early_start is replaced by binary_sensor.ZONE_early_start
  • sensor.ZONE_link is replaced by binary_sensor.ZONE_link
  • sensor.ZONE_open_window is replaced by binary_sensor.ZONE_open_window
  • sensor.ZONE_overlay is replaced by binary_sensor.ZONE_overlay
  • sensor.ZONE_power is replaced by binary_sensor.ZONE_power

The following state attributes have been removed:

  • sensor.ZONE_overlay: termination
  • sensor.ZONE_open_window: open_window_attr

(@Noltari - #44576) (@bdraco - #45384) (tado docs)

Breaking

KNX

Some knx_events changed the name of event_data fields:

  • address renamed to destination
  • Added source
  • Added direction
  • Added telegramtype

Additionally:

  • fire_event in the knx configuration is deprecated.
  • fire_event_filter in the knx configuration is renamed to event_filter.

(@farmio - #44749 #45248) (knx docs)

Breaking

RainMachine

RainMachine services now require an entity_id, an area_id, or a device_id parameter to be provided. You need to check your automations to make sure all RainMachine service calls have those.

(@bachya - #44139) (rainmachine docs)

Breaking

ecobee

The current state of the ecobee integration always behaves as if the selected hold duration is Until next scheduled activity.

With this change the following settings are now respected:

  • 2 hours
  • 4 hours
  • Until I change it

If you rely on the previous behavior may need to update your automations to account for the support for the new settings.

(@jamincollins - #40520) (ecobee docs)

Breaking

August

August has fully transitioned to configuration via UI. YAML configuration will be removed in an upcoming version. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45039) (august docs)

Breaking

Roomba

Roomba has fully transitioned to configuration via UI. YAML configuration is no longer supported. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45037) (roomba docs)

Breaking

Plex

The plex.play_on_sonos service has been removed and functionality moved to the built-in media_player.play_media service.

Existing service payloads can be used as-is after prepending the media_content_id with plex://.

(@jjlawren - #45066) (plex docs)

Breaking

Lutron

The Lutron Integration ID attribute changed to lutron_integration_id, so any automations, template sensors, etc. using that attribute will need to be updated accordingly.

(@TimothyLeeAdams - #45114) (lutron docs)

Breaking

DoorBird

DoorBird has fully transitioned to configuration via UI. YAML configuration will be removed in an upcoming version. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45139) (doorbird docs)

Breaking

Logitech Harmony Hub

Harmony has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45140) (harmony docs)

Breaking

Mikrotik

Mikrotik now uses the device_tracker standard attributes for ip and mac. The mac_address and ip_address attributes have been removed.

(@bdraco - #45255) (mikrotik docs)

Breaking

RoonLabs music player

This PR changes how the play_media call works for roon players. The previous implementation was very limited - but anyone using it in automations will need to change their calls to the new structure.

Please refer to the integration documentation for more information.

(@pavoni - #45221) (roon docs)

Breaking

Network UPS Tools (NUT)

Network UPS Tools (NUT) has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45276) (nut docs)

Breaking

Dyson

The speed of the Dyson Pure Cool Link fan is now one of low, medium, and high instead of the original auto and integer 1 to 10.

In order to set the fan speed more precisely and switch auto mode, you should use the services dyson.set_speed and dyson.set_auto_mode.

(@shenxn - #45331) (dyson docs)

Breaking

Viessmann ViCare

The current power sensor has been removed since it was not provided by the Viessmann API anymore.

(@oischinger - #45301) (vicare docs)

Breaking

MyQ

MyQ has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45375) (myq docs)

Breaking

Nexia

Nexia has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45379) (nexia docs)

Breaking

Hunter Douglas PowerView

Hunter Douglas PowerView has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45376) (hunterdouglas_powerview docs)

Breaking

Rachio

Rachio has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45383) (rachio docs)

Breaking

Tesla Powerwall

Tesla Powerwall has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45381) (powerwall docs)

Breaking

Light Profiles

Nominally a breaking change. A default profile for the light, now is always applied, so controlling a light from UI would set all the parameters defined in the profile.

For example, if the default profile for a particular light is set to:

  • Color: Green
  • Brightness: 255
  • Transition: 5

And the current light status is: Color - red, brightness - 20 and in UI you change the brightness to 100 with the intention to only change the brightness, then the default profile would also apply the color and transition.

(@Adminiuga - #45450) (light docs)

Breaking

MQTT

MQTT allowed passing an arbitrary speed that was not in the speed_list.

With the conversion to percentages in upcoming releases, this aberration from the spec could not be converted to a percentage. Since it does not conform to the entity model, it is not possible to preserve this exception.

(@bdraco - #45445) (mqtt docs)

Breaking

NuHeat

NuHeat has fully transitioned to configuration via UI. YAML configuration has been removed. Existing YAML configuration has already been imported automatically in the previous releases and can now safely be removed from your configuration files.

(@bdraco - #45380) (nuheat docs)

Breaking

Rheem EcoNET Water Products

EcoNET has swirtched over to EcoNET's new API.

Water Heaters will no longer report current tank temperature. The add/remove vacation services are also removed, alternatively, you can use away mode now.

(@w1ll1am23 - #44427) (econet docs)

Breaking

Intents

The method for matching entities in intents has changed slightly to prefer shorter matches before ordering.

This means some intents and/or entity names may need to be adjusted to maintain consistency in some edge cases. For most uses, this should only improve the quality of matches.

(@CtrlZvi - #43672)

Breaking

Obihai

The last_caller_info sensor now has the leading '' (quotes and space) removed as those were not needed and were randomly provided by the Obihai device.

So previously the state would be '' 8185551212 now it is 8185551212

(@dshokouhi - #44768)

Note

Farewell to the following

The following integrations have been removed:

From www.home-assistant.io/blog/2021/02/03/release-20212/#farewell-to-the-following

Full release notes for 2021.2.0

Release notes from github.com/home-assistant/core/releases, and the official release blog, checked 18 hours ago. Only text the vendor marks as breaking, or puts in a warning/caution/important note, is shown; read the full notes for anything else. Home Assistant lists its breaking changes in the “Backward-incompatible changes” section of each monthly release post on home-assistant.io (2020.12 onward). Each entry of that section is quoted as “Breaking” on the x.y.0 release, under the integration name the post gives it. The post’s “Farewell to the following” section (integrations removed in that release, 2020.12–2024.5) is quoted whole as “Note”. The post's separate section for custom integration developers is not quoted. Patch releases are listed but their notes (lists of fixes) are not quoted. Versions come from PyPI (package homeassistant).