2022.4: Groups! Groups! Groups!


👋 I’m not sure where to start with this release; It’s April, and I can assure you: This release is no joke. Seriously, it is packed with features and incredible new things 🤯.

The release focuses on adding features to the user interface by bringing in user experiences and features that were previously only available to users using YAML configuration and making them now accessible for all! It is a great step forward in streamlining all the user experiences.

I could not fit more in these release notes, but there is more to tell! Zack and Paulus promised to add a couple of great (and exclusive) announcements to the newsletter! The newsletter has, by the way, been renamed: Building the Open Home. Be sure to check it out!

I want to invite you to read the (long) release notes below. I’m sure there is a lot in there you will like and love ❤️.

Let me know what you think the killer feature of this release is?

Enjoy the release!


Goodbye Lovelace, Hello Dashboards

In this release, we are saying goodbye to “Lovelace”; we renamed it to “Dashboards”.

Over an extended period, we have been slowly introducing the term “Dashboards” more and more, so everybody could get used to it. As of this release, the term “Lovelace” has been entirely replaced by “Dashboards”.

This rename is done to improve the user experience and streamline Home Assistant. The term “Lovelace” doesn’t say much for new users, and they would need to learn about it. “Dashboards”, however, speaks for itself.

So, what does your Home Assistant Dashboard look like?

Hide entities

Besides enabling/disabling entities, it is now also possible to hide them.

Screenshot showing the new option to hide an entity You can now mark an entity as hidden in the entity settings.

Hiding entities will hide them from most places in the UI, but they are still there and are still being recorded.

However, they are no longer shown on auto-generated Dashboards; they are automatically hidden from HomeKit, Alexa & Google Assistant and aren’t called when a service call targets their area.

Hiding entities can be used to clean up your automatically generated Dashboard or hide those light entities that you have put into groups. About groups…

Now available in the UI: Groups!

A group lets you combine multiple entities into a single entity. Entities that are members of a group can be controlled and monitored as a whole. Useful for cases where you want to control, for example, the multiple bulbs in a light fixture as a single light in Home Assistant.

Using groups is a very common use case, but, until now, an advanced use case as groups were only available for YAML configuration. As of today, groups are available in the UI! 🎉

Screenshot showing adding groups from the UI

Select the type of entities you want to group and select the group members you want to add: Done! You can group multiple types of entities: binary sensors, covers, fans, lights, and media players; also added in this release is support for lock and switch groups.

Remember the hide entities functionality described above? That is super helpful for hiding those individual light entities of your light fixture. So, when you create a new group in the UI, you can select to hide all group members automatically!

Screenshot showing how to hide group members

Your groups can be found under Configuration > Automations & Scripts > Helpers, or, if you have updated to this release already, click the my button below to add a new group immediately:

Switch as X

In Home Assistant’s world, a wall plug is a switch. And while that is correct for a wallplug in general, those plugs (or relays) are often used with a light fixture, a fan, garage door, or maybe your Christmas tree lights. 🎄

This release introduces the “Switch as X” helper, which lets you convert any Home Assistant switch into a light, cover, fan, lock, or siren to match your real-world use better.

Switch as X can be found under Configuration > Automations & Scripts > Helpers, but wait! We made it easier: You can also change the switch itself when editing the switch entity:

The video above shows how to create a new light entity, which uses the original switch. The original switch is now automatically hidden from most of the Home Assistant UI but is still available on this device page.

If you have updated to this release already, click the my button below to transform one of your switches right away:

More helpers now available via the UI

The above Groups and Switch as X, are to be found in what we call: Helpers.

Helpers are integrations that expose a way for a user to provide input or consume existing data in Home Assistant to provide a new entity.

The latter category of helpers has very much been extended in this release! Not just groups and switch as X, but we have many more helper integrations available in the UI now!

This release brings the following helpers to the UI:

Introducing update entities

Say “hi!” to a brand new entity type: update.

Update entities can tell you if an update is available for your device and service and, in some cases, allow you to install the update straight from Home Assistant!

And the beautiful thing is: They show up in your configuration Dashboard, just like a Home Assistant, Home Assistant OS, or add-on update. As a matter of fact, those are now update entities too!

Now updates are entities, other integrations can provide them too! For example, a WLED firmware update for your LED strip will show up and installs with a single click.

Screen recording showing a WLED firmware update can be installed with a click A WLED firmware update can now be installed just like any other update.

These update entities can be provided by integrations and provide more information about the update, like: Version information, links to release notes, and the possibility to skip that specific version offered.

The blue number indicator on the configuration cog icon in your sidebar tells you how many updates are pending.

The Home Assistant Supervisor (providing Core, OS, and add-on updates), WLED, Pi-hole, and Synology DSM integrations have implemented these brand new update entities in this release.

And because they are all entities, it means you can automate with them. For example, you could send a notification when a new add-on update is available for installation.

Backups for Home Assistant Core & Container installs

If you are running Home Assistant OS or Supervised, you already have access to Home Assistant’s really helpful backup capabilities. However, this feature was unavailable if you run Home Assistant Core in Python or use a Home Assistant Container in Docker.

That all changes this release: Introducing a Backup integration for Home Assistant Core and Container installation types!

Screenshot showing backup creation in progress on a Home Assistant Core installation type. Home Assistant Core and Container installations can now also back up their instance.

These backups can be downloaded and extracted if you want or need to restore one of the previous backups. Also, these backups are compatible with Home Assistant OS installations. So, if you plan on migrating installation types in the future, that is now super easy!

You can find the backup dashboard in the configuration menu, or, if you have upgraded already, click the my button below to create a new backup right away:

Testing your automation conditions

In our previous release we added a feature to see if the automation you create triggers correctly. During the release party live stream, we got questions: “Can this be done for conditions too?”; Sure we can!

Screen recording showing the new test button that allows you to test the condition Every condition now has a little test button, to test if the condition passes right now.

Additionally, the “triggered” bar got an additional feature too! You can click on it to get a raw view of all trigger variable data. This data can be helpful in case you want to create an advanced condition or template using that information.

Screenshot showing variable trigger data when the triggered notification is clicked

Zones now have a state!

If you ever looked at the state of a zone entity, you would have noticed it always said: “Zoning”. Not really helpful 🙃

So, to improve on that, we changed that behavior. The state of a zone entity will now show the number of persons currently in that zone; that is more helpful! Additionally, it means that a zone has history now too!

Screenshot showing the new numeric state of our zones

This will greatly simplify automations and scripts that, for example, trigger on: Nobody is home, everybody is home, someone left home (or any other zone for that matter). Or use it as a condition to prevent an automation from running when nobody is home.

Screenshot showing how to use zone with in a numeric condition The condition ensures this automation will only trigger if someone is home.

Adjusting unit of measurement for sensors

Got that one sensor measuring a temperature in Celsius, but you prefer it to be in Fahrenheit? No problem! You can now change the unit of measurement for temperature and pressure sensors straight from the UI.

Screenshot showing adjusting the unit for measurement for a temperature entity

Adjusting long-term statistics

Long-term statistics are great! Until… something went wrong 😅

Unfortunately, things happen. For example, it registered a big spike, or your solar or electricity meter provided a one-off rogue measurement. These events impact your long-term statistics, which might forever have incorrect history.

We now have made available a little developer tool that allows you to correct/adjust long-term historical data to solve these issues.

The new tool can be found at Developer tools > Statistics, and click the icon, next to the statistic you’d like to adjust search for the incorrect datapoint by date & time and adjust the value.

Screenshot showing adjusting the long-term statistic history value.

Optimizing performance

This release brings significant performance optimizations to both Home Assistant’s backend and frontend UI.

Frontend UI performance

The communication layer between the Home Assistant frontend and its Core backend has been greatly improved. It now sends over a lot less data and is heavily optimized to send the least amount of data when first loading up the UI.

The UI will load faster since less data is transferred over the wire, and there is less data for the web browser or app to process.

Additionally, transmitting less data means Home Assistant will work better on slower data connections and, if essential for you, uses less data on your mobile data plan.

Database performance

This release features write reductions intended to preserve SD card lifetimes, performance improvements designed to get data to the frontend faster, and database size reductions ranging from 10-35% for most installs.

When the same set of state attributes already exists in the database, newly recorded state changes now only store a reference to the state attributes instead of saving the whole set of state attributes.

As data stored in the database before 2022.4 does not get updated, the reduction in database size will occur over time with the recording of new data and the purging of old data.

On top of that, most entity history graphs no longer need to fetch the attributes from the backend, and as a result, they load much faster after 24 hours of running on 2022.4. This change is especially noticeable for energy sensors.

For a complete set of changes to the underlying database, check out the Data Science Portal.

New and updated selectors!

Selectors are UI inputs used throughout Home Assistant. It powers our new UI helpers, automation editor, and provides UIs for Blueprints and scripts.

We added a whole bunch of new selectors that are usable in your Blueprints, and extended the options for many existing selectors.

For example, we now have a location selector that lets you pick coordinates from a map. An RGB color and color temperature selector, an icon, theme, time, date, datetime selector; The entity, device, and area selectors can now be configured to accept multiple entities, devices, or areas!

Screenshot of the new color selector One of the new selector added: RGB Color; it can be used in Blueprints too!

We are looking forward to seeing new and improved Blueprints using these new selectors on the Blueprints Exchange!

For the latest information about all available selectors and their options, check out the updated selectors documentation.

Variables on trigger

For the more advanced uses cases, this release provides: variables on trigger. It is exactly what it says on the can: The possibility of setting variables on triggers that become available when that specific trigger triggers.

These variables can be helpful to pass down specific information based on the trigger that fired. The automation example below shows how a message can be passed to the notify service based on its triggering motion sensor.

    - platform: state
      entity_id: binary_sensor.motion_garage
      to: "on"
        trigger_message: "Motion detected in the garage! 🚘"
    - platform: state
      entity_id: binary_sensor.motion_garden
      to: "on"
        trigger_message: "Motion detected in the garden! 🌷"
    - service: notify.iphone
        message: "{{ trigger_message }}"

Oh! And yes: these variables can use templates too!

Other noteworthy changes

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

  • @balloob took a deep dive into the world of media players and made sure many more of them now work with the media browser and play media action! If you use: Bluesound, Denon HEOS, forked-daapd, Linn / OpenHome, Logitech Squeezebox, Music Player Daemon (MPD), Panasonic Viera, UniFi Protect, or Yamaha MusicCast, you can now use the media browser!
  • Want to update the appearance of a binary sensor? You can now do that! When you edit the entity in the UI, you can select how it would show up. No need to customize device_class in YAML anymore. Thanks, @zsarnett!
  • The Material Design Icons have been updated! Check out all these beautiful new icons we can use now! Thanks, @goyney!
  • Our analytics integration now include data on using SSL certificates in Home Assistant (yes or no) in the analytics. Of course, only if you have enabled Analytics. Thanks for enabling it 💙!
  • Timers can now restore/survive their state across restarts. Awesome work @raman325! Each timer now has a configuration option to enable restore.
  • @epenet has been cranking out a lot of improvements for the Samsung TV integration this month! Shoutout to @bdraco for helping out on that one too.
  • Android 11 support for the Android TV integration is here! Thanks, @JeffLIrion!
  • Long-awaited and finally there: Native Hue groups support for brightness and other attributes! Thanks to Signify, who implemented our request for this. This means Home Assistant can now control groups as a whole instead of per light. Nice and snappy now! Thanks for adding support to Home Assistant for it @marcelveldt!
  • @thecode added support for the second generation Shelly cover devices; thanks!
  • If your Solar inverter has a lower capacity than your panels’ combined capacity, then @klaasnicolaas has good news for you. The Forecast.Solar integration now supports this and can adjust the forecast to take your inverter cap into account.
  • Media players now have controls for the repeat modes in the UI! Thanks, @NachtaktiverHalbaffe!
  • RFXCOM RFXtrx now supports sirens and chimes! Thanks, @elupus!
  • The GitHub integration now uses event subscriptions instead of polling GitHub. Excellent work, @ludeeus!
  • The TP-Link Kasa Smart integration now supports effects for their light strips. Thanks, @bdraco!

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.4.1 - April 7

Release 2022.4.2 - April 11

Release 2022.4.3 - April 12

Release 2022.4.4 - April 14

Release 2022.4.5 - April 16

Release 2022.4.6 - April 20

Release 2022.4.7 - April 24

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 Open Home Newsletter to get the latest news about features, things happening in our community and other news about the Open Home; straight into your inbox.

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.

If you are a custom integration developer and want to learn about breaking changes and new features available for your integration: Be sure to read our developer blog summarizing all the changes in this release.

Farewell to the following

The following GPIO Integrations have been previously deprecated and have now been removed.

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

More information about the removal of GPIO integrations can be found in Architectural Decision Record 0019.

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

  • Apple Push Notification Service (APNS) has been removed. This does not affect our mobile apps! (@frenck - #67158)
  • Media Player Classic Home Cinema (MPC-HC), the integration is using web scraping, which is no longer allowed. (@frenck - #67189)
  • OpenZWave, was previously deprecated and is now removed. Please use Z-Wave JS instead. (@frenck - #68054)
  • SmartHab has been removed. The company behind it has been shut down. (@outadoc - #67874)
  • Z-Wave (the old zwave integration), was previously deprecated and is now removed. Please use Z-Wave JS instead. (@frenck - #67221)

All changes

Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2022.4