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 breaking 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') }}
{{ (state('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.

Breaking Changes

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

Energy Dashboard
Python 3.8 support dropped
GPIO Integrations
Binary Sensors
Groups: Locks
Fan/Humidifer/Light/Remote/Siren/Switch/Vacuum
Command-line arguments and OS check
Advantage Air
Android TV
API
Apple iCloud
Apple Push Notification Service (APNS)
Aurora ABB PowerOne Solar PV
AVM FRITZ!Box Tools
AVM FRITZ!SmartHome
Azure Event Hub
BMW Connected Drive
Bond
Broadlink
CO2 Signal
CPU Speed
DLNA Digital Media Renderer
DNS IP
DoorBird
DSMR
Efergy
Enphase Envoy
Environment Canada
Fan
Fibaro
Flume
FortiOS
Foscam
Foursquare
GitHub
Google Maps Travel Time
HomeKit
Honeywell Total Connect Comfort (US)
iOS
Keenetic NDMS2 Router
Launch Library
LG webOS Smart TV
Logitech Squeezebox
Magic Home
Media Player Classic Home Cinema (MPC-HC)
MQTT
Nanoleaf
Nest
NETGEAR
Nissan Leaf
Nmap Tracker
Nuki
OpenGarage
Philips TV
PVOutput
ReCollect Waste
RIVM Stookalert
Samsung SyncThru Printer
Sensibo
Sensor.Community (previously: Luftdaten)
SMA Solar
SolaX Power
SwitchBot
Synology DSM
Templates: Binary Sensors
TP-Link Kasa Smart
Trafikverket Train
Twinkly
Vallox
Version
VeSync
Viessmann ViCare
VIZIO SmartCast
VLC media player Telnet
Waze Travel Time
WebSocket API / Media Source
Whois
Z-Wave JS
Zero-configuration networking (zeroconf)

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!