Upgrade Path

Home Assistant Core 2021.12.0 → 2022.2.0

11 versions, 79 breaking changes in 1 version, 0 required stops

Version by version, oldest first

2021.12.1 – 2021.12.10: no action items (10 versions)

2022.2.0 2022-02-02

79 Breaking, 1 Note — show quotes

Quoted from www.home-assistant.io/blog/2022/02/02/release-20222/#backward-incompatible-changes

Breaking

Energy Dashboard

The configuration of the Energy Dashboard has moved.

Previously this was found as a menu item in the configuration screen, but has now been moved into the "Dashboard" menu item.

This keeps the configuration of all dashboards in a single place.

(@zsarnett - #11386)

Breaking

Python 3.8 support dropped

Python 3.8 support has previously been deprecated and now has been removed. Home Assistant now requires Python 3.9 to run.

If you are using Home Assistant OS, Home Assistant Container, or Home Assistant Supervised installation method, you don't have to do anything. In those cases, we handle this all for you. Your system has been using Python 3.9 for quite some time already.

(@frenck - #63883)

Breaking

GPIO Integrations

As of this release, all integrations interfacing with GPIO directly, have been deprecated.

There are multiple reasons for this, which includes a general low usage of these integrations. For most Home Assistant installations, GPIO isn't easily usable and more often the integrations are unmaintained.

More information can be found in Architectural Decision Record 0019.

Additionally, there are many projects around that handle these purposes of GPIO better than Home Assistant. For example, our sister project ESPHome, or the MQTT IO project, and many more.

We do not forbid the use of GPIO, but we are merely deprecating and removing built-in integrations, providing GPIO functionality from Core. We welcome custom integrations (existing or new ones) to provide alternatives. However, for most cases we recommend on using dedicated hardware, like an ESP device, instead.

The following integrations have been deprecated and will be removed in Home Assistant Core 2022.4:

  • BeagleBone Black GPIO
  • BH1750
  • Blinkt!
  • Bosch BME280 Environmental Sensor
  • Bosch BME680 Environmental Sensor
  • Bosch BMP280 Environmental Sensor
  • DHT Sensor
  • Enviro pHAT
  • HTU21D(F) Sensor
  • mcp23017
  • MH-Z19 CO2 Sensor
  • Orange Pi GPIO
  • pcal9535a
  • pi4ioe5v9xxxx
  • PiFace Digital I/O (PFIO)
  • Piglow
  • pigpio Daemon PWM LED
  • Raspberry Pi RF
  • Rasphihats
  • Sense HAT
  • Sensirion SHT31
  • Time of Flight

The following integration have been deprecated and will be removed in Home Assistant Core 2022.6:

  • 1-Wire (SysBus only!)
  • Raspberry Pi GPIO

Note: 1-Wire is a special case, as it supports both the SysBus and connecting to a remote owfs server. The use of the SysBus is deprecated, however, connecting to a remote owfs server is not.

Update: We've been notified by a developer that the Raspberry Pi GPIO integration will be made available via HACS.

Breaking

Binary Sensors

Previously, binary_sensor entities could have the state on, off, and in case the device was unreachable: unavailable.

However, compared to other entities, it wasn't able to have the unknown state, which has been added this release.

So, a binary_sensor entity can now have the on, off, unavailable, or unknown state.

You might need to adapt your automations or scripts to take this new unknown state into account.

(@frenck - #60193) (binary_sensor docs)

Breaking

Groups: Locks

The behavior of grouped locks has been reversed such that "unlocked" is mapped to on and "locked" to off.

This means that:

  • A group with mixed domains will be considered on if any lock included in the group is unlocked.
  • A group of locks will be considered "unlocked" if any lock included in the
  • group is unlocked.

(@emontnemery - #62580) (lock docs) (group docs)

Breaking

Fan/Humidifer/Light/Remote/Siren/Switch/Vacuum

Previously, toggle-based entities (like fan, light, switch, remote, siren, vacuum, humidifier) could have the state on or off, and in case the device was unreachable: unavailable. However, compared to other entities, toggle entities weren't able to have an unknown state, this now has changed.

As of now, toggle-based entities can have the on, off, unavailable, or unknown state.

You might need to adapt your automations or scripts to take this new unknown state into account.

(@frenck - #64621)

Breaking

Command-line arguments and OS check

Home Assistant no longer supports managing a PID file or creation of a daemon process. Users who use a customized core or container installation may need to update their startup scripts.

The --runner option is no longer supported by the hass command. Requesting a restart from the UI will now always exit with exit code 100. You will need to update your startup scripts to handle the restart, like our Systemd service example.

Home Assistant will exit immediately if not started from a supported operating system according to ADR-0016: Linux (including WSL) or OSX. A new command line parameter --ignore-os-check has been added to allow overriding this check.

(@emontnemery - #64345) #64347) #64352)

Breaking

Advantage Air

The advantage_air.set_myzone service has been deprecated and will be removed in a future version of Home Assistant.

Please use the select.select_option service on the MyZone select entity to change this value on supported systems instead.

(@Bre77 - #58777) (advantage_air docs)

Breaking

Android TV

The Android TV integration migrated to configuration via the UI. Configuring Android TV 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.

Breaking

API

The /api/discovery_info endpoint was deprecated in 2021.10, and has since only returned blank values. From this version, the /api/discovery_info endpoint has been removed completely.

(@ludeeus - #64534) (api docs)

Breaking

Apple iCloud

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

Your existing YAML configuration is already automatically imported; and thus can be safely removed from your YAML configuration.

(@epenet - #63875) (icloud docs)

Breaking

Apple Push Notification Service (APNS)

The Apple Push Notification Service (APNS) integration has been deprecated and will be removed in Home Assistant 2022.4. Please note, this does not affect our mobile companion apps; as they do not use this integration for their notifications.

(@frenck - #64629) (apns docs)

Breaking

Aurora ABB PowerOne Solar PV

The previously deprecated YAML configuration of the Aurora ABB PowerOne Solar PV integration has been removed.

Aurora ABB PowerOne Solar PV 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 - #62317) (aurora_abb_powerone docs)

Breaking

AVM FRITZ!Box Tools

The previously deprecated YAML configuration of the AVM FRITZ!Box Tools integration has been removed.

AVM FRITZ!Box Tools 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 - #63857) (fritz docs)


The reboot and reconnect services are deprecated and will be removed in future release. Please use the newly provided button entities instead.

(@chemelli74 - #61483) (fritz docs)

Breaking

AVM FRITZ!SmartHome

The lock and devicelock attributes are removed from all entities and now exposed as own sensors.

(@mib1185 - #60426) (fritzbox docs)

Breaking

Azure Event Hub

The Azure Event Hub integration migrated to configuration via the UI. Configuring Azure Event Hub 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.

(@eavanvalkenburg - #61155) (azure_event_hub docs)

Breaking

BMW Connected Drive

The charging_time_remaining (in hours) has been replaced with charging_end_time (timestamp) to not clutter the Home Assistant state machine.

You might need to adapt your automations or scripts for this change.

(@rikroe - #60942) (bmw_connected_drive docs)


All ``bmw_connected_drive.*services are deprecated. Please use the new button entities with thebutton.press` service instead.

(@rikroe - #63136) (bmw_connected_drive docs)

Breaking

Bond

The custom start_increasing_brightness, start_decreasing_brightness and stop services are now deprecated and will be removed in a future release.

Please use the new button entities, that replace those, instead.

(@bdraco - #64725) (bond docs)

Breaking

Broadlink

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

Broadlink 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 - #62341) (broadlink docs)

Breaking

CO2 Signal

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

CO2 Signal 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 - #62343) (co2signal docs)

Breaking

CPU Speed

The CPU Speed integration migrated to configuration via the UI. Configuring CPU Speed 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.

(@frenck - #62929) (cpuspeed docs)

Breaking

DLNA Digital Media Renderer

The previously deprecated YAML configuration of the DLNA Digital Media Renderer integration has been removed.

DLNA Digital Media Renderer 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 - #62344) (dlna_dmr docs)

Breaking

DNS IP

The DNS IP integration migrated to configuration via the UI. Configuring DNS IP 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.

(@gjohansson-ST - #62843) (dnsip docs)

Breaking

DoorBird

The relays and IR light switches are removed and replaced with corresponding buttons entities. Any scripts or automations which reference these switches to turn them on should change to instead press the button instead.

(@flacjacket - #63995) (doorbird docs)

Breaking

DSMR

The sensor.energy_consumption_total sensor for DSMR versions 2.2 and 4 has been removed. Meters with these versions do not provide this data, so this sensor can be safely removed. You might need to clean up the orphaned entity in your setup.

(@rhpijnacker - #63436) (dsmr docs)

Breaking

Efergy

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

Efergy 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 - #61520) (efergy docs)

Breaking

Enphase Envoy

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

Enphase Envoy 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 - #61840) (enphase_envoy docs)

Breaking

Environment Canada

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

Environment Canada 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 - #61839) (environment_canada docs)


The sensors no longer have Timestamp as an extra state attribute, instead, use the new timestamp sensor that can be used in automations that track state changes.

The alert sensors (advisories, endings, statements, warnings, and watches) state is now a count of the number of active alerts for the sensor type and the extra state attributes contain the alert text and alert timestamp.

The attributes are named alert_<x> and alert_time_<x> where <x> is 1 for alert 1, 2 for alert 2, etc.

(@gwww - #58615) (environment_canada docs)

Breaking

Fan

This is more a breaking change for custom integration developers.

Now that all core fans are using the new fan entity model, the compatibility shim has been removed. Custom integrations that have not yet switched to the new fan model may be affected. For more information see:

https://developers.home-assistant.io/docs/core/entity/fan/#deprecated-properties

Preset modes and percentages will continue to be translated back to legacy speeds until 2022.3 in order to give users a bit more time to update automations.

(@bdraco - #59781) (fan docs)

Breaking

Fibaro

The energy values are exposed now as separate sensor entities and therefore the state attribute current_energy_kwh was removed from all other entities.

If you use the state attribute current_energy_kwh you need to change that to use the new energy sensors instead.

(@rappenze - #63697) (fibaro docs)

Breaking

Flume

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

Flume 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 - #61517) (flume docs)

Breaking

FortiOS

The integration now requires FortiOS 6.4.3 and newer.

(@kimfrellsen - #61970) (fortios docs)

Breaking

Foscam

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

Foscam 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 - #61761) (foscam docs)

Breaking

Foursquare

The data associated with foursquare.checkin event is now available as a dictionary item with key "text".

If you use this event in your automation or scripts, you'd need to adjust to match this change.

(@epenet - #63982) (foursquare docs)

Breaking

GitHub

The YAML configuration for the github sensor platform has been removed.

There was no viable automatic migration of the configuration, so you need to manually remove the configuration from your configuration file and set it up again in the integration panel.

Previously this integration created 1 sensor for each repository, now this is split out to multiple entities which are mostly disabled by default (you can enable the entities you want this integration to provide).

Support for GitHub enterprise has been removed.

(@ludeeus - #64190) (github docs)

Breaking

Google Maps Travel Time

The previously deprecated YAML configuration of the Google Maps Travel Time integration has been removed.

Google Maps Travel Time 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 - #62468) (google_travel_time docs)

Breaking

HomeKit

HomeKit will now automatically exclude entities with an entity category such as a configuration or diagnostic entity unless they have been explicitly included.

To explicitly include an entity:

  • YAML: Add the entity to the filter in either the include_entities or include_entity_globs fields.
  • UI: Select the entity in the UI in include mode. If you are using exclude mode, a second bridge can be created in include mode.

(@bdraco - #64492) (homekit docs)

Breaking

Honeywell Total Connect Comfort (US)

The previously deprecated YAML configuration of the Honeywell Total Connect Comfort integration has been removed.

Honeywell Total Connect Comfort 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 - #62469) (honeywell docs)

Breaking

iOS

The Home Assistant iOS/macOS app supports notification actions defined in the notification itself; the old method of defining push categories in the iOS integration is now deprecated and will be removed in 2022.4.

(@zacwest - #61078) (ios docs)

Breaking

Keenetic NDMS2 Router

The previously deprecated YAML configuration of the Keenetic NDMS2 Router integration has been removed.

Keenetic NDMS2 Router 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 - #63860) (keenetic_ndms2 docs)

Breaking

Launch Library

The Launch Library integration migrated to configuration via the UI. Configuring Launch Library 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.

(@DurgNomis-drol - #62416) (launch_library docs)


Attributes on the current sensor is changed. Names of these attributes are changed to better describe what information they provide. (Ex. agency changed name to provider as this is the more correct terminology.) New attributes are added to give more information about where it takes place.

The stream attribute ios moved to the new sensor, and changed its name to stream_live as it represents if the stream is live and not if a stream is available.

And finally, the attribute launch_time moved into its own sensor. This made it possible to add some information about the launch window start and end as attributes for the new sensor. This sensor will also contain the stream_live attribute.

(@DurgNomis-drol - #64203) (launch_library docs)

Breaking

LG webOS Smart TV

The LG webOS Smart TV integration migrated to configuration via the UI. Configuring LG webOS Smart TV 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.

The turn on action for turning on the TV via WakeOnLan or HDMI-CEC was using a service call via YAML, and the turn on action is changed to use a custom automation trigger webostv.turn_on or a device trigger automation that can be setup from the UI.

Example trigger automation:

automation:
  trigger:
    - platform: webostv.turn_on
      entity_id: media_player.lg_webos_smart_tv
  action:
    - service: wake_on_lan.send_magic_packet
      data:
        mac: AA-BB-CC-DD-EE-FF

(@thecode - #64117) (webostv docs)

Breaking

Logitech Squeezebox

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

Logitech Squeezebox 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 - #62537) (squeezebox docs)

Breaking

Magic Home

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

Magic Home 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 - #61844) (flux_led docs)

Breaking

Media Player Classic Home Cinema (MPC-HC)

The Media Player Classic Home Cinema (MPC-HC) integration has been deprecated and will be removed in Home Assistant Core 2022.4.

This integration is removed under Architectural Decision Record 0004.

(@frenck - #63598) (mpchc docs)

Breaking

MQTT

The MQTT lights no longer support, the previously deprecated, value_template;state_value_template should be used instead.

(@emontnemery - #62682) (mqtt docs)


Previouysly MQTT climate would only publish to hold_command_topic or away_mode_command_topic if the new mode is not the same as the current state.

As of this release MQTT always publishes on both command topics (hold_command_topic and away_mode_command_topic) (if defined) which makes it more predictable what update the MQTT device will receive.

(@jbouwh - #63463) (mqtt docs)


The send_if_off config parameter of the climate platform, which limits publishing if the current operation mode is HVAC_MODE_OFF, is now deprecated.

This will break applications that depend on this feature.

(@jbouwh - #63814) (mqtt docs)

Breaking

Nanoleaf

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

Your existing YAML configuration is already automatically imported; and thus can be safely removed from your YAML configuration.

(@milanmeu - #63404) (nanoleaf docs)

Breaking

Nest

The Legacy "Works With Nest API" is deprecated and support will be removed in Home Assistant Core 2022.5; See our documentation for using the Smart Device Management API instead.

Read why and about potential alternatives.

(@allenporter - #63027) (nest docs)

Breaking

NETGEAR

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

NETGEAR 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 - #63862) (netgear docs)

Breaking

Nissan Leaf

The service to start a charge has been deprecated; it is replaced with a button.

Replace the nissan_leaf.start_charge service in any existing automations with button.press for the new button.start_NICKNAME_charging entity.

The nissan_leaf.start_charge service is now deprecated and will be removed in a future release.

(@filcole - #62948) (nissan_leaf docs)

Breaking

Nmap Tracker

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

Nmap Tracker 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 - #63863) (nmap_tracker docs)

Breaking

Nuki

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

Nuki 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 - #62470) (nuki docs)

Breaking

OpenGarage

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

OpenGarage 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.

Breaking

Philips TV

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

Philips TV 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 - #62471) (philips_js docs)

Breaking

PVOutput

The PVOutput integration migrated to configuration via the UI. Configuring PVOutput 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.

Additionally, all sensor attributes of the PVOutput sensor, have been extracted in their own dedicated sensors.

This applies to the following PVOutput attributes:

  • energy_generation
  • power_generation
  • energy_consumption
  • power_consumption
  • efficiency
  • temperature
  • voltage

If you relied on these in your automation or scripts, you need to adapt those to use the new separate sensors instead. The attributes are currently available, however, deprecated and will be removed in Home Assistant Core 2022.4.

(@frenck - #62667 #62894) (pvoutput docs)

Breaking

ReCollect Waste

ReCollect Waste no longer stories "next pickup" information as attributes of the "current pickup" sensor; instead, both pickups are now their own sensors.

(@bachya - #62558) (recollect_waste docs)

Breaking

RIVM Stookalert

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

Stookalert 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 - #61007) (stookalert docs)

Breaking

Samsung SyncThru Printer

The previously deprecated YAML configuration of the Samsung SyncThru Printer integration has been removed.

Samsung SyncThru Printer 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 - #62541) (syncthru docs)

Breaking

Sensibo

The Sensibo integration migrated to configuration via the UI. Configuring Sensibo 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.

(@gjohansson-ST - #60900) (sensibo docs)

Breaking

Sensor.Community (previously: Luftdaten)

The Luftdaten integration has been renamed to Sensor.Community; which is the new name of the Luftdaten project.

The previously deprecated YAML configuration of this integration has been removed.

Sensor.Community 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 - #61748 #62865) (luftdaten docs)

Breaking

SMA Solar

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

SMA Solar 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 - #62472) (sma docs)

Breaking

SolaX Power

The SolaX Power integration migrated to configuration via the UI. Configuring SolaX Power 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.

(@tokenize47 - #56620) (solax docs)

Breaking

SwitchBot

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

Your existing YAML configuration is already automatically imported; and thus can be safely removed from your YAML configuration.

(@tkdrob - #62583) (switchbot docs)

Breaking

Synology DSM

The reboot and shutdown services are deprecated and will be removed in a future release. Please use the new button entities instead.

(@mib1185 - #57352) (synology_dsm docs) (breaking-change)

Breaking

Templates: Binary Sensors

Template trigger binary sensor should start with unknown value rather than always starting with false/off. This matches the template binary sensor behavior with other sensors.

(@amosyuen - #62769) (template docs)

Breaking

TP-Link Kasa Smart

The previously deprecated YAML configuration of the TP-Link Kasa Smart integration has been removed.

TP-Link Kasa Smart 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.

(@bdraco - #62457) (tplink docs)

Breaking

Trafikverket Train

The planned time, estimated time and actual time sensor attributes have been corrected to be UTC isoformatted strings which is standard in Home Assistant.

Previously displayed as 2021-12-23T09:07:00 and now correctly set as 2021-12-23T09:07:00+00:00.

This may affect templates or automations based on these attributes.

(@gjohansson-ST - #62636) (trafikverket_train docs)

Breaking

Twinkly

Key host is removed from the (extra) state attribute of the light entity.

(@RobBie1221 - #64139) (twinkly docs)

Breaking

Vallox

The Vallox integration migrated to configuration via the UI. Configuring Vallox 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.

(@slovdahl - #62780) (vallox docs)

Breaking

Version

The Version integration migrated to configuration via the UI. Configuring Version 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.

Additionally, the source and channel attributes have been removed from the Version sensor for the local source.

(@ludeeus - #54642 #64827) (version docs)

Breaking

VeSync

Previous versions of this integration exposed power and energy usage from VeSync outlets as state attributes on the switch entity itself. This used the deprecated properties: current_power_w and today_energy_kwh.

In this version, these two attributes have been removed from the switch entity and split into two new diagnostic sensor entities that are attached to the same Device.

Automations and template entities based on the state attribute mechanism should be updated accordingly.

(@decompil3d - #61837) (vesync docs)

Breaking

Viessmann ViCare

The scan interval option has been removed, since the default should be fine in almost all cases.

If you really need more fine-grained control you can disable automatic updates in the system settings for the Viessmann ViCare integration and automate the polling of the entities with the homeassistant.update_entity service.

(@oischinger - #63343) (vicare docs)

Breaking

VIZIO SmartCast

If an integrated vizio TV supports apps and the source is currently a non-app input (e.g. HDMI-1), the app_id and app_name attributes will no longer be in the media player entity's state.

When the TV is using an app, the app_name will still always be visible and the app_id will continue to only be shown if the app is not recognized.

(@raman325 - #64025) (vizio docs)

Breaking

VLC media player Telnet

The previously deprecated YAML configuration of the VLC media player Telnet integration has been removed.

VLC media player Telnet 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 - #62542) (vlc_telnet docs)

Breaking

Waze Travel Time

The previously deprecated YAML configuration of the Waze Travel Time integration has been removed.

Waze Travel Time 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 - #62543) (waze_travel_time docs)

Breaking

WebSocket API / Media Source

This concerns custom integration developers only.

The parameters for async_sign_path have changed. Refresh token is now a keyword parameter. If called as part of a HTTP or WebSocket request, the users refresh token will automatically be used.

(@balloob - #64337)

Breaking

Whois

The Whois integration migrated to configuration via the UI. Configuring Whois 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.

(@frenck - #63069) (whois docs)

Breaking

Z-Wave JS

Due to a schema change, zwave-js-server version 1.14.0 or greater is required. Ensure you are using the latest version of zwave-js-server (or the add-ons that provide those).

(@raman325 - #64407) (zwave_js docs)

Breaking

Zero-configuration networking (zeroconf)

This change is only a concern for custom integration developers.

Currently zeroconf matching only allows matching the macaddress, model, and manufacturer properties along with the name from the ZeroconfServiceInfo.

Since properties are arbitrarily defined by the zeroconf service, the list of named properties has grown over time.

Matching now allows for any arbitrarily defined property. All property matches must be lowercase, wildcards are supported

The top level keys model, manufacturer, and macaddress are now deprecated from the manifest.json file and should be moved into a properties dict.

For example:

-    {"type":"_airplay._tcp.local.","model":"appletv*"}
+    {"type":"_airplay._tcp.local.","properties":{"model":"appletv*"}}

(@bdraco - #62133) (zeroconf docs)

Note

Farewell to the following

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

  • TaHoma has been removed. The integration has been broken and now been superseded by the Overkiz integration. (@iMicknl - #62607)
  • Arduino the now long time deprecated integration has been removed. (@frenck - #63406)
  • EE Bright Box has been broken and disabled for over a year now. It has now been removed. (@epenet - #63839)

From www.home-assistant.io/blog/2022/02/02/release-20222/#farewell-to-the-following

Full release notes for 2022.2.0

Release notes from github.com/home-assistant/core/releases, and the official release blog, checked 17 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).