2022.3: Select and play media

Did you know that today - March 2nd - in 1949, the first automatic street light was lit in New Milford, Connecticut, USA? Seventy-three years later, we automate our entire homes 😎

Home Assistant Core 2022.3! And this release has a different and fresh “tune” to it! Yes, pun intended as this release brings tons of improvements involving media.

And what is so cool about it? It is not just about browsing media, it is even more about using it! Using media allows us to make the automations in our home more “personal”.

For example, having our favorite radio station playing when we get home or broadcasting announcements and sound bites to our speakers to notify us of stuff happening in and around our home. (I really need to install that camera at the front door now 😅.)

What are you using media for?

Enjoy the release!

../Frenck

The Home Assistant Newsletter

We realize you might like email more than watching this blog, our Twitter, or notifications in our Discord chat to stay on top of the latest Home Assistant news.

In that case, you might like to sign-up for our newsletter instead! We’ll send you a new email once a month when a new release drops with the release’s highlights and interesting things we found in our community.

Our newsletter is free of any analytics and tracking. The sign-up is below, and we have enabled double opt-in to ensure no emails are sent if users don’t want them.

Sign up for the Home Assistant newsletter

Media Selector and the new “Play media” action

This release brings a new media selector and a “Play media” action. These make it super easy to use media in your automations and scripts.

Choose the “Play media” action when creating an automation, select the media player you’d like to play something on, and next… just browse and pick the media that you want it to play! Done! 🚀

Screenshot showing the new media selector and play media action

Have you ever wanted to play your front door camera stream on your television when the doorbell rings? Well, this is now very possible with this update. Check out this video on how to set that up in only 1.5 minutes. 🤯

More media sources!

Of course, the above-shown “Play media” action and selector is incredible. But, you’d need some media to select! We already supported local media and things like Spotify, but wouldn’t it be cool if we had more!?

So, this release will bring in a bunch of new media sources.

Your Cameras! Your Lovelace Dashboards! You can just pick one of your cameras or Lovelace dashboards and “Play” them on a supported device (like a Google Nest Hub or television). But also text to speech!

Screenshot showing playing TTS as a media action

But that’s not it; we also have new integrations adding new media sources. This release adds the DLNA Digital Media Server and Radio Browser integrations that allow the use of their sources with your media players.

Screenshot showing the Radio Browser

You can browse and listen to thirty thousand radio stations from all around the world. But what is even cooler is that with the new “Play media” action in automations, you can just select your favorite radio station to be playing when, for example, you arrive home!

Adding the Radio Browser to your Home Assistant instance is as easy as clicking the My Home Assistant button below. No other setup prerequisites, logins, or API keys are need.

Upload your media straight from the browser

Getting your media files (pictures, images, soundbites, music) into your local media folder required you to use the Samba add-on (or something similar).

Can we improve this experience? Sure we can!

This release adds initial support for local media management straight from the Home Assistant frontend, allowing you to upload and remove files directly.

Screenshot showing media management

UI Upgrades

We have been working hard on upgrading the Home Assistant frontend to use Material Web Components (MWC) everywhere, saying goodbye to our old (and deprecated) paper style.

This allows our frontend to be up-to-date with the latest features and the latest style. As you’ll notice, these elements have a different look from the older style, so don’t be alarmed if your inputs look slightly different.

Updating to MWC gives us many new opportunities for the future and makes Home Assistant more accessible, for example, when using a screen reader.

Screenshot showing the styling difference between MWC and paper style

The screenshot above shows the new MWC styling on the left and the previous paper styling from an older Home Assistant version on the right. The styling change mainly impacts input fields look and feel.

Triggered!

When working an automation, triggers now show live in the UI when they are triggering, allowing you to validate you set it up correctly.

In this little animation below, the remote is pressed a couple of times. The automation editor will show the “TRIGGERED” bar.

Screen recording showing automation triggers triggering showing in the UI Each time the trigger triggers it will be indicated in the UI.

Additionally, you can now also trigger each individual action in your automation to test if the action you are creating runs as expected:

Screenshot showing how to run an individual action from the automation editor

Entity ID autocompletion

Our YAML configuration and Jinja templates used in, for example, automations, scripts, and frontend dashboards can be a really powerful customization tool. You can definitely appreciate this feature if you use our code editor in the frontend at times.

Thanks to @kubawolanin, we now have entity ID autocompletion when using the built-in code editor in the Home Assistant frontend 😎.

Just start typing an entity ID, and the code editor will try to suggest an entity ID and show the selected entity’s current state.

Screenshot showing the code editor with entity ID autocompletion

Theme: Waves by Tim Cowell.

This works when you are configuring your Lovelace cards, creating advanced template conditions in your Automations, and even if you are testing out your Jinja-template in the template developer tools.

Click the My button below to test it out on your Home Assistant instance:

Other noteworthy changes

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

  • ESPHome added support for locks! Thanks, @kbickar
  • The HomeKit Controller integration has improved support for the Ecobee thermostats. Thanks, @Jc2k!
  • When playing media in the media browser, the media player bar in the bottom will now have a volume control, thanks @balloob!
  • Thanks to @kubawolanin, you can now filter and search the Home Assistant logs!
  • When selecting a date in the frontend, a beautiful new date picker is shown. Thanks, @bramkragten!
  • The IKEA TRÅDFRI integration has been worked on by @ggravlingen and @martinhjelmare. Lots of stability issues have been resolved, battery sensors for blinds have been added, and also support for the air purifier has been extended with sensors for air quality and filter time left.
  • @rfleming71 added button entities to the OctoPrint integration, allowing you to control to resume, pause or stop a 3D print.
  • The following integrations have added an option to set a unique_id in their YAML configuration; If set, you can customize those entities in the UI.
  • @starkillerOG has been chewing on NETGEAR, adding traffic sensors, a reboot button, but also switch to allow/block devices. Awesome!
  • Don’t be alarmed now, but @jbouwh added support for Sirens to MQTT!
  • @rubenverhoef also dove into MQTT and added additional command templates for MQTT lights.
  • The Renault integration added HVAC, door, and lock sensors, thanks @epenet
  • @bdraco added support to HomeKit for controlling the fan and oscillating of fans in climate entities. Nice!
  • The GitHub integration became much more efficient and now has many more sensors available! Thanks @ludeeus and @timmo001, that is just amazing!
  • @kbickar hasn’t been sleeping much as he modernized the SleepIQ integration, adding a bunch of new entities in the process.
  • If you have a Samsung Smart TV, @epenet added support for showing your installed TV apps as media sources!
  • Thanks to @chemelli74, you can now control the valves of those brand new Shelly TRVs!

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.3.1 - March 3

Release 2022.3.2 - March 6

Release 2022.3.3 - March 7

Release 2022.3.4 - March 11

Need help? Join the community!

Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!

Our very active Discord chat server is an excellent place to be at, and don’t forget to join our amazing forums.

Found a bug or issue? Please report it in our issue tracker, to get it fixed! Or, check our help page for guidance for more places you can go.

Are you more into email? Sign-up for our newsletter to get the latest news about features and things happening in our community straight into your inbox.

Read on →

Android Companion 2022.2: Local Push Notifications!

Screenshot of Companion

Hey Everyone! It’s time for the next Android release and we are really excited to get this one out. Lots of changes for all versions of the app, including Wear OS and Quest devices.

Breaking Changes

We have a pretty big release this month with a lot of changes going on. Some of these changes are noticeable as soon as you update the app, so let’s cover those first.

Local Push Notifications

The first major change that we want to cover is for Local Push Notifications. Before this release, all notifications were routed via Google. Now notifications can be delivered directly from your Home Assistant server if you have remote access set up. These notifications do not count towards the rate limit and are shown on the device immediately, every time.

So what’s the breaking change? The app needs to establish and maintain a constant connection to your Home Assistant server with WebSockets. In order to do this, we have to create a persistent notification and this can be upsetting to some users.

A persistent notification lets Android know the app has important ongoing tasks where we do not want the background process stopped. The purpose of this notification is identical to our Sensor Worker, which allows the app to continue sending sensor updates while in the background. Just like Sensor Worker, our WebSockets notification also has its own notification channel to allow you to customize the appearance. You are free to minimize (or silence) this notification to hide the icon from appearing in your status bar.

You may also decide to turn off the channel. While there is nothing preventing you from turning it off, if you run into connection issues you will be asked to turn the channel back on.

Screenshot of websocket settings

The persistent notification will contain an actionable button taking you directly to the settings page. From here you can adjust the persistent connection behavior and modify the notification channel. The persistent notification will only be present when an active connection to your server is being maintained.

If you are on the minimal version of the app will have the default persistent connection set to “Always” as this is the only way the app can receive notifications from your server. If not, you will have the default setting “Never”, where the app will continue to receive notifications from Firebase. If you are on the minimal version you will need to be on Home Assistant Core 2022.2 or later in order to use this feature.

We have seen varying reports from users who either do not notice much of a change in terms of battery usage while others have noticed a big difference. Please feel free to adjust the settings based on your usage and desire for the feature. Some of us developers have opted to keep the option set to “Always” and do not notice much of a change in battery usage. Personally, I keep mine on “Always” and I have not had to change my daily charging habits to enjoy this feature, your experience may be different.

A big thank you to JBassett for kicking off this feature and working hard to solve all the reported beta issues! Thank you to jpelgrom, SkechyWolf and dshokouhi for helping out in finalizing the user experience.

Sensor Changes

The remaining breaking changes in this release are related to 2 sensors offered by all versions of the app.

  • Do Not Disturb Sensor - No longer available on devices running Android 5 or lower. This sensor, which was previously offered to all supported Android versions, has been updated to use the official Android API instead of the undocumented one. The Android API is only available on devices running Android 6+. Older devices will no longer see this sensor in the Manage Sensors screen.
  • Last Used App Sensor - This sensor previously reported its state as the application label. We realized that this is not always unique, multiple apps can have the exact same name. The state has changed to report the package id which is guaranteed to be unique. The application name is now available as an attribute.

In-App Changelog

This next feature of the release is also going to be immediately noticeable upon updating as all users will be presented with a changelog once they open the app after an update. This changelog will only be shown after the app has received an update. Some users may only see this once a month while others may see it weekly based on the beta release schedule. The changelog is also accessible under Companion App.

Screenshot of changelog

The changelog prompt will be maintained by contributors of the app as we do not think it will be user friendly to show GitHub commit messages. This allows us to highlight the above breaking changes to all users so they no longer have surprises going forward. Thank you to dshokouhi for adding this feature.

Wear OS Updates

The Wear OS app continues to grow with more features each release and this month we have some welcomed additions!

  • Breaking Change: The Wear OS app has a breaking change this release to hide non-primary entities from the home screen. The entities will still be accessible if you add them as a favorite and also under the “All entities” screen. This change was done to match the behavior of the autogenerated dashboard of the Home Assistant frontend, thank you jpelgrom.
  • A new tile was added by leroyboerefijn that allows you to render any template in the tile. You will need to use the phone app to setup the template tile as the Wear OS keyboard is missing some important keys that are required for templates. You can also set the refresh interval for the tile in settings as well.

Screenshot of template tile

  • Multi-Factor Authentication is now supported when logging into the watch, thank you jpelgrom
  • Areas were added to allow you to view entities by the selected area, thank you jpelgrom
  • The shortcuts tile got an enhancement to show the entity friendly name around the icon. If you do not change your entity icons to custom ones you will want to enable this feature. Look in the settings screen to enable this feature, thank you leroyboerefijn.
  • A new “Sign in on phone” button was added to the Wear OS login screen so you no longer have to enter those long passwords on a small screen. Thank you jpelgrom

Screenshot of sign in on phone

  • button, cover, fan and input_button domains have been added to the Wear OS app by jpelgrom

Other Changes

  • A new In Use sensor for Quest devices was added by SkechyWolf. This new sensor turns on only when the headset is worn by the user. It is a bit more precise than using the interactive sensor, which was previously mentioned for this use case.
  • Device controls were updated to add support for button and input_button domains. The climate domain was enhanced for supported HVAC modes and proper temperature increments. The More Info pop-up, when a tile is long pressed, is now more reliable. Thanks for these improvements jpelgrom.
  • dshokouhi and jpelgrom worked together to remove additional Google Service dependencies from the minimal version
  • A new settings page was added by dshokouhi to allow users to easily find Notification Channel settings for the app
  • The Manage Widgets page was updated by dshokouhi and jpelgrom to have a new design based on Jetpack Compose. It is also now possible to add widgets from the settings page to your home screen, if the device supports it.

Screenshot of adding widgets

  • A notification command to update sensors was added by dshokouhi
  • The Manage Shortcuts and Manage Tiles pages had design updates based on Jetpack Compose by dshokouhi
  • Notification commands for command_activity and command_broadcast_intent were updated for more types of intent extras by moritzgloeckl
  • The WiFi state sensor now receives instant updates on devices that did not have instant updates before, thank you dshokouhi
  • JBassett has now made it possible to update the Google Play Store listing directly from GitHub
  • Downloading is now supported in the Home Assistant Frontend, thank you jpelgrom
  • button and input_button domain support was added to quick settings by jpelgrom

Special thank you to all other contributors who have helped in bug fixing and other various under the hood improvements to the code base. Thank you NotWoods, joostlek and chriss158. As always please remember to add your feature requests and bugs to GitHub.

Changelog


New Add-on for HomeMatic/homematicIP support - Action Required

If you are using HomeMatic/homematicIP smart home products with Home Assistant, the future will now be even brighter.

The team around RaspberryMatic has been hard working during the last months to make their alternative “HomeMatic CCU“ operating system a full fledged Home Assistant add-on with no compromises. Because of the much more advanced functionality of this third-party add-on compared to our own “HomeMatic CCU” add-on, this is now the recommended add-on to use your Home Assistant also as a HomeMatic CCU smart home central. The old “HomeMatic CCU” add-on from the official repository has now been deprecated.

To make migration as smooth as possible, our latest add-on release gained a final functionality: create and exporting backups. Go to the WebUI and click on “Create Backup” to generate a .sbk system backup file. Stop our “HomeMatic CCU” add-on, install the “RaspberryMatic CCU add-on” and import the backup file to have all your HomeMatic/homematicIP devices available right away. A big shout-out to Jens Maus specifically to make all this happen!

In addition, starting from Home Assistant OS 7.3 onwards HAOS supports dual HomeMatic+homematicIP communication when using the HmIP-RFUSB RF USB stick with the “RaspberryMatic CCU” add-on. This change will, however, also introduce a device rename for older installations still using the old HomeMatic CCU add-on: With a HmIP-RFUSB, you will need to manually update the “hmip” device setting to /dev/raw-uart after the OS 7.3 upgrade. Or even better: migrate to the RaspberryMatic CCU add-on right away to gain the full cloud-free smart home central functionality like the vendor-provided “CCU3”.

Last, not least, work has just been started to completely rework the HomeMatic/homematicIP device integration layer within Home Assistant itself. While still in an early development phase this complete re-design will come with great new features and a way easier setup and a more complete device integration of all your HomeMatic/homematicIP devices.

So the future of using HomeMatic/homematicIP devices in Home Assistant was never brighter, be part of it!


2022.2: Let's start streamlining!

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.

Read on →

Streamlining Experiences

With Home Assistant the last few years we’ve been focusing on making things easier, stable, and faster. More things can be managed via the UI, most YAML-based integrations can be reloaded without restarting and if something breaks, safe mode and built-in backups have your back.

We have amazing contributors who work on making Home Assistant better every single day. However, you can’t keep growing by adding new things in the same structure. An interface made for 4 items will become confusing once the 10th item is added (like our profile page). A veteran Home Assistant user might be fine because they have seen the growth feature by feature and know exactly where to find what. For new users it is overwhelming.

For 2022 the motto will be “streamlining experiences”. We want to better organize and integrate all the different features that make up Home Assistant.

For example, there should be a built-in way, for both YAML and the UI, to easily send a notification with a camera snapshot to your phone, pick a song to play for an automation, or use text-to-speech to notify you when something is happening. All these things are possible today but require too much knowledge of how the various parts work.

We’ll have 11 releases this year and each release should streamline more things.

Have a good and healthy 2022 and see you at our first release on February 2!

Paulus


Oculus Quest Meet the Smart Home!

Screenshot of the Android app

Hey Everyone! We hope you all had a great new years and holidays spent with the family! This past holiday season had some pretty cool toys going around. Cool toys to us mean more things to tinker with. One of the most popular gifts this year was no doubt the Oculus Quest and to be honest, how could it not be right?

Naturally, working on the Android app some of us wondered how does the app perform on such a device? Well, it actually works pretty well and you can start building automations based on your usage today!

Get it on SideQuest

Oculus Quest data in Home Assistant

Home Assistant Companion for Quest gives you access in Home Assistant to over 40 data points about your headset. For example, our interactive sensor updates as soon as the screen comes on, which means you’re wearing the headset. This allows you to make sure your lights are bright enough to play VR.

Ever play on your headset until it dies and then sits around waiting for it to charge up? Using the battery sensors you can get notified when your headset is fully charged and ready to play that next round.

Keep the music on in the background while you are playing? Automate your media player volume level based on whether your Quest microphone is muted.

It is not all about automations either. You can open the Home Assistant interface on your Quest (in 2D) and see who rang the doorbell. You can even talk back if your doorbell supports it!

We are just getting started with things. As usual our users are really good at finding more unique use cases that we didn’t even consider. So get your device set up with Sidequest, install the app and start automating today!

Screenshot of App on Quest

Hello Sidequest!

Wait Sidequest, what is that? Sidequest is the alternative App Store for the Oculus Quest.

In VR terminology our app is a “2D app”. The official Oculus Quest store only recently started allowing 2D apps and we are still working on a version that meets their requirements. So while we are waiting, we wanted to release something so we can get feedback how you are using it to automate things.

The app on Sidequest is the minimal version of the Home Assistant Companion Android app. While the Quest runs Android, it doesn’t have the Google services. This means no widgets, no shortcuts, and no support for the standard notifications.

2022.1 Release for Android

We can’t just make a post like this and ignore the new release for the Phone app that just went out the other day without highlighting it right?! While the 2022.1 release may not be as jam-packed as 2021.12 we do still have some neat features to cover.

  • A new sensor to determine if your devices work profile is active by zmarties. This sensor will update as soon as a state change is detected allowing you to make unique automations based on the profile being active.
  • dshokouhi has added a new sensor allowing you to see what the Last Used App was. Pair this new sensor with the Quest and you can make specific automations based on what game you are currently playing!

Screenshot of Last Used App

  • jpelgrom has worked on our WebSocket implementation to finally bring in areas to the app. Device controls are the first feature to get area support so you can easily add entities from areas. The area will also be shown in the device control button itself. Be on the lookout for more area support in other parts of the app as it should make finding entities a lot easier.
  • JBassett has also made more progress on the WebSocket implementation by bringing in better error handling to prevent the application from crashing and producing a lot of unnecessary errors.
  • For the Wear OS app SkechyWolf has added support for the back button to properly function and exit the app.

A big thank you to all of our contributors and users for bringing in awesome features and great feedback/bugs. We look forward to improving the android app even further in 2022! As always please remember to add your feature requests and bugs to GitHub.

Changelog


Energy management research using Home Assistant

Two weeks ago we hosted the State of the Open Home. It included a presentation by Prof. Michael Kane and Maharsi Pathak from the department of Civil and Environmental Engineering at Northeastern University.

They presented about their research into lowering grid demand by reducing thermostat temperatures. They want to learn when and why a reduced temperature is too uncomfortable causing tenants to become thermally frustrated and reverting the reduction.

With Home Assistant we want every home to be about privacy, choice and durability and it’s how we built Home Assistant. Because we believe in choice, all data in Home Assistant is accessible and one can extend or built on top of our platform.

This architecture made it possible for Prof. Kane to create a custom version of Home Assistant for his research that gathers data about all devices, surveys users based on changes to devices and exports all this data back to their research lab. For this they leverage device integrations, added a custom survey feature to the UI and push notifications from the Home Assistant companion app to draw the user’s attention to the surveys.

But what makes me extra happy is that their research is focusing on home energy management. This has been a feature we added to Home Assistant in 2020 as our way to help tackle the climate crisis. It makes me proud to see that we are able to help researchers do their work and we hope to see more of this. We’re also looking forward to collaborating with Prof. Kane on using his research to improve Home Assistant.

Overview of their deployment


The Open Home

The Open Home is our vision for the smart home. It defines the values that we put at the heart of every decision we make at Home Assistant. It’s woven into our architecture, licensing, community and everything else.

The Open Home is about privacy, choice and durability.

If you prefer video, skip to the end.

Privacy

Your home should be your safe space. A place where you can be your true self without having to bother about what the world thinks of you. A place where you don’t need to act differently to avoid an algorithm categorizing your behavior.

Privacy for the Open Home means that devices need to work locally. No one else needs to know if you turn on a light bulb or change the thermostat.

It is okay for a product to offer a cloud connection, but it should be extra and opt-in.

Choice

Devices in your home gather data about itself and their surroundings. Your data. Vendors shouldn’t be able to limit your access to your data or limit the interoperability of your devices with the rest of your smart home.

Choice for the Open Home means that devices need to make the gathered data available through local APIs. This avoids vendor lock-in and allows users to create their own smart home with devices from different manufacturers.

Durability

If there is one thing that technology firms are very good at, it is launching new products. However, maintaining the products and making sure they keep working is an afterthought for most. The result is that vendors can decide to no longer support your device, crippling it’s features or even prevent it from working at all.

As we install more and more devices in our home, durability is becoming more and more important. We shouldn’t have to buy everything new every couple of years because the manufacturer decided to move on.

Durability for the Open Home means that devices are designed and built to keep working. Not just this year, but for the next decade.

State of the Open Home

At the State of the Open Home, we presented our vision and how we, together with our friends from open source and academia, are working towards achieving it.


Demo: Genie, privacy-preserving virtual assistant by Stanford

Last week we hosted the State of the Open Home and it included a demo of Genie.

Genie is an open, privacy-preserving virtual assistant by Stanford OVAL. During the impressive demo they showed it’s latest capabilities. The demos run on a Baidu speaker with custom firmware and on a Pi Zero. In both cases it connects to the Genie server running as an official Home Assistant add-on to do it’s magic.

Genie is the successor to the Almond project. With the help of various grants and sponsors Stanford is working on making Genie ready for general use.

If you want to learn more, check out the Genie website and the getting started guide on how to make your own. To get in touch with other Genie users and their dev team, check their Discord or community forums.

If you end up using Genie at home, don’t forget to share the love and share your demo’s and tutorials.

Genie logo


Android 2021.12: Wear OS Beta!

Screenshot of the Android app

Hey Everyone! It’s time for the December 2021 Android release. It has been a while since the last Android release as the team has been very busy working on many new and exciting features. To kick things off we would like to announce that there is now a Wear OS app that you can find in the Play Store alongside todays phone app release!

Get it on Google Play

Wear OS Beta

For the past couple of months the Android repo has been seeing a lot new contributors coming and bringing in some amazing work. There is now a Wear OS Beta app released in the Play Store! A big thank you to leroyboerefijn, dshokouhi, JBassett, Kisty, apo-mak, SkechyWolf and HunterX86 for all your hard work! A lot of work has been done to share the codebase between the phone and the watch because we wanted the watch to also have a standalone experience in case you are not near your phone. The app will remain as a Beta for several months but we feel in its current state it is ready for you to enjoy. The reason we have decided to keep it with a beta label for now is because there is more work to be done and some of the underlying libraries being used have not received a stable release yet.

Screenshot of Wear OS on wrist

As of today you can login to the app using either the watch or you can open up the phone app and head over to App Configuration and login using the new Wear OS settings section! Once you are logged in you will see a brief loading screen while we get your entities ready. To avoid some of the loading delays we have a Favorites feature that will allow you to add your most used entities to appear at the top of the app for quick and easy access. You can add/remove these entities using the Settings screen in the watch app or you can add/remove and change the order using the phone app. We highly recommend setting up your favorite entities as they will be available during the loading process.

Screenshot of Wear OS Home Screen Screenshot of Wear OS Home Screen

The Wear OS app also offers a tile for even faster access to execute or toggle your devices without needing to open the app. You can select up to 7 entities to toggle or execute inside the settings portion of the app. We recommend using custom MDI icons to easily distinguish between your entities as the default will make it hard to tell apart when you have 2 lights side by side.

Screenshot of Wear OS Tile Screenshot of Wear OS Tile

Initial support for sensors has also been added! Upon logging in the default battery sensors will be registered in your Home Assistant server. The app will wait for a network connection to provide an update so you won’t have to worry about it constantly maintaining a connection. Soon we will be looking into adding a UI to enable/disable sensors as well as evaluating all current phone sensors and adding whichever ones we can!

One thing to keep in mind is that its important to ensure both the phone and watch are on the same version in order for some of the features to work as expected. Feel free to join the beta and help development by finding bugs and submitting feature requests! Be on the look out for future updates to the Wear OS app!

Screenshot of Wear OS Settings in Phone app Screenshot of Wear OS Settings in Phone app

Websockets and Instant Widget Updates

A very big internal feature was also added to both apps this release and that is the introduction of websockets! Websockets is one of the many APIs that Home Assistant offers. With this new API the app can now do cool things like register for entity updates to have instant widgets! Previous versions of the app relied on the Home Assistant REST API to do things like get an entity state or execute a service call. Now with websockets the app will no longer need to poll the server requesting for entity updates as needed, instead we now get a constant stream of entity updates. This allows us to keep your widgets up to date with the latest state or template and also allows us to keep the Android Power Menu up to date. The Wear OS app also benefits by having instant updates on the home screen.

GIF of instant updates GIF of instant updates

There is still a lot more to be done with respect to websockets but the good news is that foundation is there for more developers to come and consume the API. We have already seen some interest and PRs so I would expect this feature to improve even further over time! Big thank you to JBassett for getting this done!

Theme and UI Updates

In this release we had a lot of changes being done to the overall theme of the app to better fit with the design of the Home Assistant frontend theme. The status and navigation bar will now match your theme of choice. The overall loading experience has also had some improvements to align more closely to the browser loading experience. Thank you to LasseRosenow for all your hard work here!

With the release of Jetpack Compose we have decided to start migrating all UI elements to Compose. If you are familiar with Android Development then you will remember that the UI is always built with XML and then referenced in your activities/fragments. Now with Compose, XML is no longer needed and bulding robust UI’s becomes a breeze. We find these new libraries to be very easy to use and it has allowed us to improve upon our internal architecture to make things easier for new and upcoming features.

In the phone app the entire onboarding experience has been rewritten in Compose, including a brand new welcome screen to help first time users understand what Home Assistant is all about. The notification detail page found in notification history has also received a compose update. The Wear OS home screen is actually built using compose including the new settings screens found in the phone app.

Screenshot of welcome screen Screenshot of welcome screen

Other Changes

With so many changes since the last update its impossible to list all of the other cool new features but here is a list of some welcomed improvements:

Screenshot of Media Player Widget Screenshot of Media Player Widget

  • Support for cookie based authentication by duncf
  • Setting to always try the internal URL first. This is helpful to those who like to leave location off by dshokouhi
  • Support for entity category and state class in sensors by dshokouhi

Big thank you to everyone involved. Please keep those bug reports and feature requests coming! Be sure to watch the State of the Open Home address for what to expect in 2022 and a live demo of some of the features above!

Changelog