Upgrade Path

Home Assistant Core 2022.5.0 → 2022.6.0

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

Version by version, oldest first

2022.5.1 – 2022.5.5: no action items (5 versions)

2022.6.0 2022-06-01

Quoted from www.home-assistant.io/blog/2022/06/01/release-20226/#backward-incompatible-changes

Breaking

MQTT

Defining manually configured MQTT entities directly under the respective platform keys (e.g., fan, light, sensor, etc.) is deprecated, and support will be removed in Home Assistant Core 2022.9.

Manually configured MQTT entities should now be defined under the mqtt configuration key in configuration.yaml instead of under the platform key.

As an example, this is now deprecated:

sensor:
  - platform: "mqtt"
    name: "My sensor"
    state_topic: "some-state-topic"

The configuration needs to be updated to this format:

mqtt:
  sensor:
    - name: "My sensor"
      state_topic: "some-state-topic"

(@jbouwh - #71676 #72183 #72281 #72249 #72271 #72167 #72165 #72251 #72279 #72268 #72272 #72273 #72274 #72278 #72270) (documentation)

Breaking

Template filter/function defaults

The following template filters and functions will now error instead of returning the input if the input is invalid and no default value is specified:

  • acos
  • as_timestamp
  • asin
  • atan
  • atan2
  • cos
  • float
  • int
  • log
  • multiply
  • round
  • sin
  • sqrt
  • strptime
  • tan
  • timestamp_custom
  • timestamp_local
  • timestamp_utc

Examples:

  • {{ "abc" | float }}: Will fail to render
  • {{ "abc" | float(default=5) }}: Will render as 5, no warning will be logged
  • {{ float("abc") }}: Will fail to render
  • {{ float("abc", default=5) }}: Will render as 5, no warning will be logged

(@emontnemery - #71687) (documentation)

Breaking

OAuth2 (re-)authentications

Home Assistant will now use My Home Assistant to redirect the OAuth2 callback over.

If you need to re-authenticate with an existing OAuth2 application in the future, you might need to adjust the external application configuration. Please check the documentation of the specific integration on how to configure this.

(@frenck - #72449) (documentation)

Breaking

Home Assistant Container

If you run Home Assistant Container in Docker (e.g., using Portainer, Docker (Compose), QNAP, and others), please make sure you are not specifying an init process.

This can be an init configuration option in your Docker management tools or Docker Compose, or the --init command line flag on the raw Docker command. These should NOT be set, as Home Assistant ships with the S6 init system.

While you are at it, make sure you also do not set a cmd or entrypoint. Setting these are not breaking, however, you should not set them.

(@pvizeli - #72425) (documentation)

Breaking

1-Wire

Using the 1-Wire via SysBus, previously deprecated, has been removed; this integration is being adjusted to comply with Architectural Decision Record 0019; more information can be found here:

https://github.com/home-assistant/architecture/blob/master/adr/0019-GPIO.md

ℹ️ Using the 1-Wire via OWServer is still supported!

(@epenet - #71232) (documentation)

Breaking

Aladdin Connect

The Aladdin Connect integration migrated to configuration via the UI. Configuring Aladdin Connect via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@mkmer - #68304) (documentation)

Breaking

BMW Connected Drive

The binary_sensor.<your_vehicle>_lights_parking has been removed. It is not provided by API anymore.

The following sensors have been renamed. Existing sensors with historical data and automations should be migrated automatically:

  • sensor.<your_vehicle>_charging_level_hv to sensor.<your_vehicle>_remaining_battery_percent
  • sensor.<your_vehicle>_fuel_percent to sensor.<your_vehicle>_remaining_fuel_percent

(@rikroe - #71827) (documentation)

Breaking

Deluge

The previously deprecated YAML configuration of the Deluge integration has been removed.

Deluge is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@tkdrob - #71487) (documentation)

Breaking

Discord

The previously deprecated YAML configuration of the Discord integration has been removed.

Discord is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@frenck - #71696) (documentation)

Breaking

DuneHD

The previously deprecated YAML configuration of the DuneHD integration has been removed.

DuneHD is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@frenck - #71694) (documentation)

Breaking

File Size

The previously deprecated YAML configuration of the File Size integration has been removed.

File Size is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@frenck - #71692) (documentation)

Breaking

Google Calendars

The configuration of the OAuth application credentials for the Google Calendars integration has migrated to configuration via the UI. Configuring Google Calendars OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

All entity tracking state has been migrated to use the standard Home Assistant entity enable/disable features in the user interface and system options.

(@allenporter - #72288) (documentation)


The found_calendar service has been removed from Google Calendars. This service is an internal implementation detail of the integration used for creating calendars found from the API, which is now no longer exposed as a service.

(@allenporter - #72260) (documentation)

Breaking

HERE Travel Time

The HERE Travel Time integration migrated to configuration via the UI. Configuring HERE Travel Time via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@eifinger - #69212) (documentation)

Breaking

Home Connect

The configuration of the OAuth application credentials for the Home Connect integration has migrated to configuration via the UI. Configuring Home Connect OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #71988) (documentation)

Breaking

Honeywell Lyric

The configuration of the OAuth application credentials for the Honeywell Lyric integration has migrated to configuration via the UI. Configuring Honeywell Lyric OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #72335) (documentation)

Breaking

International Space Station (ISS)

The previously deprecated YAML configuration of the International Space Station (ISS) integration has been removed.

International Space Station (ISS) is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@frenck - #71693) (documentation)

Breaking

Jandy iAqualink

The previously deprecated YAML configuration of the Jandy iAqualink integration has been removed.

Jandy iAqualink is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@epenet - #72404) (documentation)

Breaking

KNX

A new configuration key for KNX covers invert_updown can be set to invert the up-down payload (binary) of covers independently of the position percentage.

Previously up-down (move_long_address) payloads were inverted when invert_position: true was configured. This now only inverts the position_address and position_state_address payloads (%).

If you have used invert_position: true for covers, you would need to add the new key to your YAML config to have the same behaviour as before.

knx:
  cover:
    - name: "Example cover"
      move_long_address: "3/0/0"
      move_short_address: "3/0/1"
      position_address: "3/0/3"
      position_state_address: "3/0/2"
      invert_updown: true  # <- add this line to keep inversion of up/down payload
      invert_position: true

(@farmio - #72012) (documentation)

Breaking

Litter-Robot

The Litter-Robot vacuum entity will now enter an unavailable state when the robot hasn't sent an update recently.

(@natekspencer - #70810) (documentation)


The clean_cycle_wait_time_minutes, status_code, and last_seen attributes have been removed from the vacuum entity as they are now available as individual entities.

(@natekspencer - #71760) (documentation)

Breaking

Logbook

If the stop and start event were fired within the exact same minute, we would previously show it as restarted in the logbook. When events crossed the minute boundary (i.e., we fired stop at 11:30:59 and start at 11:31:04), it would show separately as stopped and then start.

This change eliminates the inconstancy by always showing them as stopped and started, which allows us to simplify how we generate logbook rows.

(@bdraco - #71600) (documentation)


The entity name in the logbook is now always shown with the current name instead of the old name if it was renamed. If the entity no longer exists, we now show the original entity_id instead, which aligns with the warning icon we already display in the frontend when a state is missing or removed.

(@bdraco - #71895) (documentation)

Breaking

Neato Botvac

The configuration of the OAuth application credentials for the Neato Botvac integration has migrated to configuration via the UI. Configuring Neato Botvac OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #72175) (documentation)

Breaking

Netatmo

The configuration of the OAuth application credentials for the Netatmo integration has migrated to configuration via the UI. Configuring Netatmo OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #71884) (documentation)

Breaking

Nexia

The zone status attribute has been removed from the climate entity. The zone status is already available as a separate sensor, and it was producing duplicate data in the state machine.

(@bdraco - #72176) (documentation)

Breaking

Nexia/American Standard/Trane

Remove non-standard humidify_supported and dehumidify_supported attributes from Nexia.

These attributes can already be inferred from the dehumidify_setpoint or humidify_setpoint attributes.

As they took up space in the database every time any of the values changes, they have now been removed.

(@bdraco - #71248) (documentation)

Breaking

nVent RAYCHEM SENZ

The configuration of the OAuth application credentials for the nVent RAYCHEM SENZ integration has migrated to configuration via the UI. Configuring nVent RAYCHEM SENZ OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #72338) (documentation)

Breaking

Recorder

De-duplicate event data into a new event_data table

Data is no longer stored in the event.event_data column and instead deduplicated into the event_data.shared_data column and joined on event.data_id==event_data.data_id.

This is the same as we did with state attributes in 2022.4, as we can reduce the size of the events table by ~8-14% on avg.

(@bdraco - #71135) (documentation)


  • All the data needed to fetch a state_changed event is now available in the states table (along with state_attributes if needed).
  • Reduces overall database size by ~27%
  • Refactors logbook to work without the need for the state_changed events rows (fetched from states).
  • Refactors purge to work without the need for linking the state_changed event.
  • Origin is now stored as an integer.

(@bdraco - #71165) (documentation)


The following attributes are no longer recorded for group entities:

  • entity_id
  • order
  • auto

These attributes provide no historical value since they are already contained in the YAML configuration and only fill up the database.

(@bdraco - #71256) (documentation)


The recorder now refuses to set up if the database dialect is unsupported or if the database dialect is supported, but the version is too old.

(@emontnemery - #70888) (documentation)

Breaking

Scrape

The scape integration performance has been improved by using the lxml parser.

Testing (YMMV based on content and nesting):

  • For large documents (5000k tags) it was at least an order of magnitude faster.
  • For small documents, it was ~3x faster.

Users who are not using Home Assistant Operating System or Home Assistant Container will need to ensure libxml2 and libxslt are installed.

For example, on Debian based Home Assistant Core installs, run: sudo apt install libxml2

(@bdraco - #71087) (documentation)

Breaking

Slack

The Slack integration migrated to configuration via the UI. Configuring Slack via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@tkdrob - #69880) (documentation)

Breaking

Somfy

Somfy has replaced their Somfy Open API (cloud-based) with a local API (which we Home Assistant users absolutely love). Somfy has now decided to shut down its cloud API after June 21st, 2022.

Please migrate to use the Overkiz integration as a replacement.

Unfortunately, a migration to Overkiz is not possible due to differences in the authentication mechanism.

(@iMicknl - #71653) (documentation)

Breaking

Sonos

The sonos.join and sonos.unjoin services will be removed in 2022.8 in favor of the standard media_player.join and media_player.unjoin services.

(@jjlawren - #71226) (documentation)

Breaking

Spotify

The configuration of the OAuth application credentials for the Spotify integration has migrated to configuration via the UI. Configuring Spotify OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #71871) (documentation)

Breaking

Squeezebox (Logitech Media Server)

The Squeezebox player synchronization framework has been updated to use the standard media_player.join and media_player.unjoin services. The list of synchronized players is now stored in the group_members state attribute.

The squeezebox.sync and squeezebox.unsync services are now deprecated, and will be removed in two releases in favor of the standard services listed above.

The sync_group state attribute is deprecated in favor of group_members, and will also be removed in two releases.

(@rajlaud - #70962) (documentation)

Breaking

Templates

Support for white_value is deprecated in template light and will be removed in Home Assistant Core 2022.9.

(@emontnemery - #71044) (documentation)

Breaking

Trafikverket Train

The previously deprecated YAML configuration of the Trafikverket Train integration has been removed.

Trafikverket Train is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@gjohansson-ST - #71410) (documentation)

Breaking

Universal Devices ISY994

The auxiliary sensors for each Insteon device are now their own sensor entity instead of an attribute on the parent entity. This makes them easier to find and allows attributes to be de-duplicated in the database.

(@bdraco - #71254) (documentation)

Breaking

Vera

The Vera integration previously migrated to configuration via the UI. Configuring Vera via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration has already been automatically imported; and thus can be safely removed from your YAML configuration after upgrading.

(@epenet - #72418) (documentation)

Breaking

Version

The Boards "Intel NUC", "RaspberryPi" (Raspberry Pi 1 devices), and "RaspberryPi Zero-W" are no longer supported in Home Assistant OS.

They are also no longer available in the version integration. Please remove the version integrations for those boards.

(@agners - #72085) (documentation)

Breaking

Viessmann ViCare

The previously deprecated YAML configuration of the Viessmann ViCare integration has been removed.

Viessmann ViCare is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@epenet - #72408) (documentation)

Breaking

Withings

The configuration of the OAuth application credentials for the Withings integration has migrated to configuration via the UI. Configuring Withings OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #71990) (documentation)

Breaking

WLED

The previously deprecated WLED update button entity has been removed. Please use the newly provided update entity instead.

(@frenck - #71775) (documentation)

Breaking

Xbox

The configuration of the OAuth application credentials for the Xbox integration has migrated to configuration via the UI. Configuring Xbox OAuth application credentials via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing OAuth application credentials in the YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@allenporter - #71908) (documentation)

Breaking

Z-Wave JS

With this release, you will need to update your zwave-js-server instance.

  • If you use the zwave_js add-on, you need to have at least version 0.1.60.
  • If you use the Z-Wave JS 2 MQTT add-on, you need to have at least version 0.41.0.
  • If you use the zwavejs2mqtt Docker container, you need to have at least version 6.10.0.
  • If you run your own Docker container, or some other installation method, you will need to update your zwave-js-server instance to at least 1.17.0.

(@raman325 - #72395) (documentation)

Note

Farewell to the following

The following integrations are also no longer available as of this release:

From www.home-assistant.io/blog/2022/06/01/release-20226/#farewell-to-the-following

Full release notes for 2022.6.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).