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:
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.
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 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.
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.
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.
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') }}