2022.2: Let's start streamlining!

Comments

I’m not sure if this is really fitting; it is February already… but since this is the first release of the year, I’m going to say it anyway:

Happy New Year 🥂

And, since we have skipped the January release, this release became a big one. Over 2,500 contributions make this release the largest one we have ever shipped! Including 15 brand-new integrations and 13 existing integrations, which are now available to set up via the user interface.

Now don’t be scared when you look at the backward-incompatible changes section. It is a lot, however, most of those are cleanup of old deprecations, or caused by things moving to the UI. No better way to start a fresh year, than by cleaning up 🧹

By the way, in case you’ve missed it, @balloob published a blog post last week about the focus for Home Assistant in 2022: Streamlining Experiences. I’m stoked about it, and am really looking forward to what this year will do for Home Assistant! Go 2022!

What is your new years’ resolution for your smart home this year?

Enjoy the release!

../Frenck

Updates from Nabu Casa

Before we dive into this release, we have some news and updates from Nabu Casa to share with you.

Annual subscriptions now available for the United States

The ability to subscribe to Home Assistant Cloud anually, was one of the most requested features since Nabu Casa was founded and has been announced at the State of the Open Home in December.

As of today, annual subscriptions to Home Assistant Cloud are available for the United States. 🎉

Read more about the announcement on the Nabu Casa website

Improved infrastructure

Nabu Casa’s new payment system is part of revamped cloud system that they are rolling out, and this will bring more improvements to the Home Assistant Cloud services.

They already improved our remote access infrastructure to make sure it’s routing as close to you as possible. Last week they rolled out improvements to the infrastructure that significantly improved the speed of the Google Assistant and Amazon Alexa integrations.

Zack Barett and Mike Degatano join Nabu Casa

We are also happy to announce Zack Barett and Mike Degatano will be joining Nabu Casa to work on Home Assistant.

Zack will be helping out on different aspects of Home Assistant, including the Home Assistant YouTube channel, and the Home Assistant Frontend.

Mike is going to be focusing on extending and improving the Home Assistant Supervisor and the eco system around it (like its internal plugins and add-ons).

Welcome! Excited to have you on board! 🎉

Media improvements

The media browser has been renamed to: “Media”. Nice, simple, and clean.

And, it now has a nice media bar in the bottom to control the media you are playing:

Screenshot showing media with the new media bar

The experience of browsing the media has been improved and extended with new capabilities. The URL in your browser will change when browsing media, so you can now bookmark these pages. An integration can now browse media of supported sources provided by other integrations.

For example, if you have set up the Spotify and Sonos integration, you can now browse your Spotify to play it on your Sonos devices; and Cast now has support for playing Plex media straight from the browser.

Sonos, VLC (via Telnet), and Roku added support for playing local media! Combining this with the VLC add-on can turn your Home Assistant device into a media player for your local media. In the video below, Zack will demonstrate how that works:

Check for updates

A common question, directly seen after a Home Assistant Core, Operating System, or add-on release announcement: “I don’t see the update yet? How do I update?”

Checking for updates is done by your system - every few hours - automatically. However, you sometimes want to check for updates without waiting for this to happen.

This made us realize that doing that was scattered and hidden in several places depending on which part you wanted to check updates for. Therefore, we have added a nice and simple “Check for updates” button in the main configuration screen.

Screenshot showing the new Check for Updates button in the configuration screen Checking for any update is now just a single click.

This feature is currently available for the Home Assistant OS, and Home Assistant Supervised installation methods.

Diagnostics for integrations and devices

To make debugging and reporting issues with integrations or devices easier, both in terms of reporting it, and for developers to fix them, we introduce: Diagnostics.

Diagnostics can be provided by integrations and allow you to download diagnostic information about an integration or device you have set up.

Screenshot showing the Download Diagnostics button on a Sonos device page Screenshot of the Download Diagnostics button on the device page

The downloadable diagnostics file can be viewed as a text file, and can be shared when reporting an issue in our issue tracker.

Diagnostics data can be extremely helpful in finding the root causes of an issue and getting them fixed. As a matter of fact, it helped us pinpointing and fixing issues during the beta of this release.

The good news is that 61! integrations already added support for this new diagnostics feature, including Z-Wave JS, ESPHome, Sonos, Shelly, WLED, Unifi, Nest, deCONZ, KNX, Tuya, Roku, Samsung TV, and many more!

Finding known issues and where to report new ones

Are you experiencing an issue with an integration? Want to know if your issue is already known and reported? Or, maybe you are not sure where our issue tracker can be found?

We added a small menu option to each integration, helping with that.

Screenshot showing the known issues menu item an integration card Clicking the "Known issues" item will open up our issue tracker for this integration.

This button will bring you to our issue tracker, showing all currently known and open issues for this integration.

Is your issue not listed? Well, if this integration provides diagnostics, download those. Next, go back to issue tracker, using the new known issues link, and click the “New issue” button in the top right corner to report your issue. Fill out the form and attach the diagnostics file by dragging and dropping it into the form.

Improved handling of device tracker entities

If you run an integration that provides device trackers from your router or something like the UniFi Network integration, you are probably aware those can create many entities!

This has been improved now. As of today, by default, only device tracker entities that match up with an existing - known by Home Assistant - device will be enabled by default. This keeps Home Assistant nice and tidy.

If Home Assistant does not know the device, but you still would like to track a specific one, that is still possible. In that case, you can enable the particular device tracker entities you’d like to have.

Scenes now have a state

Scenes never had a state, well that is not entirely true, it would always say: “scening”.

To make the state of a scene more valuable, it will now have the last timestamp of when the scene was activated. This has a couple of advantages:

  • You can see when a scene was last activated.
  • History of when a scene was activated in the logbook, and who did that.
  • You can now automate on a scene being activated.

The last one is pretty useful as a scene can now be used to trigger even more actions via automations. For example, you could start playing media or send a TTS announcement when a scene activated.

Screenshot of the logbook of a scene Now the scene has a state; it also got logbook entries.

Search in the configuration panel

There is now a search in the top right of the configuration dashboard, which opens the Quick Bar. This also works on mobile devices.

It allows you to access and search for just about anything within Home Assistant. From accessing add-ons, configuration panels, and even entities and devices.

Screenshot showing the new search in the configuration screen

Tip: Did you know you can press c (for command) and e (for entity) on you keyboard from anywhere in Home Assistant to bring up that same Quick Bar?

Button helper and template

In the previous release, we introduced the button entity. One of the most asked questions about the button has been: “How can I create my own button entity?”

This release introduces the button helper, and those can be created via the UI and using YAML ( as the input_button).

These button helpers can be used to trigger automations and we have ensured they work with Alexa, Google Assistant, and HomeKit.

Additionally, there is now a template entity for buttons available as well. Here is an example:

# Example configuration.yaml
template:
  button:
    - name: "Send message"
      press:
        - service: notify.frenck
          data:
            message: "My button has been pressed!"

Templating enhancements

There are a couple of nice enhancements to this release for the more advanced use cases that stand out.

Shorthand condition notations in actions

Shorthand condition notations are pretty helpful and are now supported in conditions actions; For use in automations and scripts.

For example:

sequence:
  - condition: "{{ is_state('device_tracker.iphone', 'away') }}"

Immediate if (iif)

We now have an immediate if (iif) template function and filter that can be used as a short alternative version to an if/else statement.

These can help shortening a lot of if/else constructs that for example, return a “Yes” or “No” (or similar) value in templates. Some examples:

{{ iif(is_state('light.kitchen', 'on'), 'Yes', 'No') }}
{{ is_state('light.kitchen', 'on') | iif('Yes', 'No') }}
{{ (states('light.kitchen') == 'on') | iif('Yes', 'No') }}

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • When an integration has a single device, clicking on the “1 device” link will now navigate to that device directly and skip the addition page with a table showing 1 item. This makes navigating those cases quicker, thanks @balloob!

  • There is now a tiny menu on discovered devices and services, which allows you to visit the device/service and find the documentation that belongs to this discovered item.

    Screenshot showing the new menu on a discovered item

  • Editing trigger IDs in automations has moved into the trigger menu, making the automation editor a little more compact.

    Screenshot showing the moved trigger ID feature

  • When viewing backups, it will now display the size of each backup in the table. Thanks, @ludeeus!

  • Thanks to @bramkragten, you can now select the period in the options of the statistics card.

  • The Apple TV integration has been updated to support tvOS 15 and can now launch apps too! Thanks, @postlund!

  • Thanks to @bdraco, a device can now also display its hardware version in Home Assistant. The HomeKit, Xiaomi Miio, Bond, Roku, and WLED integrations have already adopted this.

  • The Google Assistant integration can now be set up to use local fulfillment, thanks to @LoekSangers! Please note that this only applies to manual setups. This is already handled automatically when using the Home Assistant Cloud.

  • ZHA devices now have identify buttons, so you know which light you are dealing with, thanks @dmulcahey! (Tip: also nice for visual notifications)

  • We now enable Low Latency HLS (LL-HLS) by default to lower stream latency. Also, stream can now generate still images from a video feed. Generic Camera can now use this and can be set up without the still_image_url option. FFmpeg Camera users can consider using this as an alternative as it does not require multiple simultaneous camera connections. Thanks @uvjustin and @allenporter!

  • Magic Home (also known as FluxLED) had lots of improvements of love from @bdraco!

  • @Danielhiversen added support for local access to Adax and Mill heaters. Nice!

  • Tuya now supports Pet Feeders (thanks @vauriga), Circuit Breakers (thanks @slydiman), and Alarms (thanks @leeyuentuen). Additionally, support for Fans has been improved.

  • The generic thermostat integration now supports presets, thanks @brianegge!

  • Home Connect added support for refrigerators and cook processors, thanks @BraveChicken1 and @noxhirsch

  • @Shutgun added support for sirens to devolo Home Control.

  • Tibber added sensors for estimated hourly and monthly consumption, costs, and more! Thanks, @Danielhiversen!

  • We now have a slugify template filter, thanks to @ZephireNZ!

  • @Petro31 make is_number available as tests in templates.

  • Volumio has now repeat, repeat, repeat, … support. Thanks, @m4rkireland!

  • @marcelveldt added a service to the Hue integration for setting more advanced scene options. Thanks!

  • Sonos now has a binary sensor that can tell you if the microphone is on or off. Helpful for a notification in case it shouldn’t be on or off. Thanks, @jjlawren!

  • @sebfortier2288 add support for tilt devices to Soma. Nice!

  • Google Assistant now supports the curtain device classes, thanks @emontnemery!

  • If you are using Synology DSM connected cameras, you can now select the quality of the snapshots taken. Thanks, @mib1185!

  • A whole bunch of entities have been added to configure Yamaha MusicCast, really nice @micha91!

  • Environment Canada now has an AQHI sensor. Thanks, @gwww!

And honestly, this list is far from complete! There is so much this release. Feel free to check and search the “All Changes” section to find more!

This release adds support for long-term statistics to the following integrations:

And the following integrations now have entity categories:

New Integrations

We welcome the following new integrations this release:

Integrations now available to set up from the UI

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

Release 2022.2.1 - February 3

Release 2022.2.2 - February 4

Release 2022.2.3 - February 6

Release 2022.2.4 - February 8

Release 2022.2.5 - February 9

Release 2022.2.6 - February 11

Release 2022.2.7 - February 15

Release 2022.2.8 - February 16

Release 2022.2.9 - February 18

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.

Backward-incompatible 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.

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)

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)

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.

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)

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)

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)

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)

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)

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.

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)

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)

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)

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)

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)

AVM FRITZ!SmartHome

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

(@mib1185 - #60426) (fritzbox docs)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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 is 1 for alert 1, 2 for alert 2, etc.

(@gwww - #58615) (environment_canada docs)

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)

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)

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)

FortiOS

The integration now requires FortiOS 6.4.3 and newer.

(@kimfrellsen - #61970) (fortios docs)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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.

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Twinkly

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

(@RobBie1221 - #64139) (twinkly docs)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

All changes

Click to see all changes!