2024.4: Organize all the things!

Comments

Home Assistant Core 2024.4! 🌱 🌻

Are you ready for another massive release? This release addresses the most requested feature in Home Assistant history: grouping automations! 🎉

But why stop there?

This release brings excellent new features to our user interface that house not one, not two, but three! new ways to organize your Home Assistant setup! The best part is that it is not just for automations, but for everything! 🤯

Perfect timing: spring is here! Time to spring clean your Home Assistant setup by adding some organization to your configuration! 🧹

Enjoy the release! 🌞

../Frenck

Don’t forget to join our release party live stream on YouTube 3 April 2024, at 20:00 GMT / 12:00 PST / 21:00 CEST!

Home Assistant spring cleaning! 🧹 New ways to get your automations (and more) organized

By far, the most requested feature in Home Assistant history would be:

“Grouping Automations on frontend for organization”.

We hear you! Today, in this release, we are going to give you tools to organize your Home Assistant setup, and we took it a few (well, many) steps further than just grouping automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
!

We are introducing 3 (yes, you’ve read it correctly. It’s three) organization taxonomies, and we revamped our entire table user interface plus a few goodies along the way.

Upgraded tables!

Adding more ways to organize your Home Assistant is great! But being able to easily view, filter, and navigate information is just as important. To achieve this, we have re-designed ALL the tables in Home Assistant.

For an admin interface, tables are essential for visualizing and managing large datasets. Home Assistant has many tables in its settings pages. Previously, our UI provided the ability to search, sort, and filter for a few aspects, but it was relatively barebones.

Today, we are rolling out a revamped table UI that will be standardized across all tables in the settings pages with new and improved features.

A new toolbar

As we add more features to the tables, we need to keep the UI clean and its features easy to find. Therefore, we added descriptive text to the dropdown menus and standardized the look and feel of the toolbar buttons and text boxes. Shiny!

Screenshots showing the new toolbar that is now on every table in Home Assistant. The new toolbar that is now on every table in Home Assistant.

Filter panel

Previously, our automations page allowed you to filter by areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room., entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
, or devicesA device is a model representing a physical or logical unit that contains entities. , but only one at a time, and the filters were tucked away in a dropdown menu, which meant you needed to select a dropdown menu inside a dropdown menu to filter by area.

A new filter panel fixes these issues by providing a new dual pane user interface that can let you check multiple filters across multiple filter types on the left that stay put and view the filtered results on the right.

Screenshots showing the filter panel that tables can have, allowing you to easily find what you are looking for.

We also introduced multiple new filter types for each table. For example, automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
can now be filtered not only by areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room., entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
, or devicesA device is a model representing a physical or logical unit that contains entities. , but also by used blueprintsA blueprint is a script or automation configuration with certain parts marked as configurable. This allows users to create multiple scripts or automations based on the same blueprint, with each having its own configuration-specific settings.
[Learn more]
, labels, and categories (more on these later!).

We didn’t stop at just that page! The devices and entities pages now also have a way to filter not only by state but also by integrations and areas. Almost all tables now have useful new filters to help you find what you are looking for.

Item grouping

Browsing a list of hundreds of automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
or thousands of entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
can be overwhelming. While filters can help narrow the list, visually grouping the items into smaller chunks makes browsing easier.

With the item grouping feature, we introduced a new dropdown menu to pick how you’d like the items on the table to be grouped. On the automations page, you can group automations by their stateThe state holds the information of interest of an entity, for example, if a light is on or off. Each entity has exactly one state and the state only holds one value at a time. However, entities can store attributes related to that state such as brightness, color, or a unit of measurement.
[Learn more]
- whether enabled or not - and custom categories (more on that later!). On the devicesA device is a model representing a physical or logical unit that contains entities. page, you can even group them by manufacturers, areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room., or integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more.
[Learn more]
, which is really cool because it makes the page much easier to browse. It gives you a new perspective on organizing your vast network of devices.

Screenshots showing the devices page, grouped by manufacturer.

Selection mode and batch actions

We removed the clutter of displaying a column of checkboxes by introducing a new selection mode. When it is toggled on, checkboxes will appear, and you can apply actions to all your selections with one click on the toolbar.

Screenshots point out the enable selection mode button in the toolbar of the tables in Home Assistant. This button enables selection mode in the new tables.

It allows you to, for example, enable or disable multiple selected entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
on the entities page at once. This new paradigm will allow us to introduce more batch management actions in the future.

Screenshots showing selection mode active in a table, with some items selected, highlighting the bulk actions you can perform on those selected items.

Three new ways to organize

Upon reading through and ideating on the feature request thread on “Automation Grouping”, we realized that organization can be done in multiple ways for different purposes.

We learned that users who are proficient in making automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
have hundreds of them, which makes locating a particular automation hard. They often had to resort to using “hacks” such as emojis, bracketed “tags”, or numbering each automation to get the sort order they wanted. They needed a way to easily filter down and break down the giant list into more manageable chunks.

We also noticed that users are stretching our areas feature beyond its intended purpose. For example, some users would create “areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room.” such as “3D printer”, “Christmas decorations”, or even “Left side of my office desk”, to group different devicesA device is a model representing a physical or logical unit that contains entities. and entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
together under one umbrella for dashboards or automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
.

As we are developing our new dashboards and voice commands, this poses a big problem: We would be unable to provide specialized solutions if a dashboard blueprintA blueprint is a script or automation configuration with certain parts marked as configurable. This allows users to create multiple scripts or automations based on the same blueprint, with each having its own configuration-specific settings.
[Learn more]
or automation blueprint cannot confidently assume the context of how it would be used. We need something more specialized.

Therefore, to balance the basic goal of providing a more digestible UI for all users, the need for flexibility for our power users, and the future vision of Home Assistant, we are introducing 3 new organization structures to Home Assistant:

Floors, Labels, and Categories

Floors: Help Home Assistant understand your house

Let’s talk about the new organizational structures, starting with floors.

To become a truly intelligent home automation platform, Home Assistant needs to understand the context: Where exactly is a deviceA device is a model representing a physical or logical unit that contains entities. ? How does one areaAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. relate to another? What is the space used for?

Currently, Home Assistant has areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room.. Areas specify the physical location or vicinity of your devices per living space in your home (like the living room or kitchen). However, some users living in standalone houses might have multiple floors with their own areas.

FloorsA floor in Home Assistant is a logical grouping of areas that are meant to match the physical floors in your home. Devices & entities are not assigned to floors but to areas. Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed. are a new way to organize your areas per level of floors in your home. The better Home Assistant knows your home and how it is spatially structured, the better it can help you. Especially when it comes to future features like generating dashboards, voice commands, and maybe even AI-related features.

Screenshots showing areas settings page, which now also shows the areas grouped by floor.

You can use floors in your automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
and scriptsScripts are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on.
[Learn more]
as a target for your actions or control them with your voice. For example, you can turn off all the lights on the downstairs floor when you go to bed or ask Assist to turn on the lights upstairs.

For our power users, you can even use floors in your templates to create the most advanced and creative automations.

Labels: Tag everything any way you want

FloorsA floor in Home Assistant is a logical grouping of areas that are meant to match the physical floors in your home. Devices & entities are not assigned to floors but to areas. Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed. and areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. are great for representing your actual home, but as everyone has their own ways of organizing their home, everyone has their own ways of organizing their Home Assistant, too! This is where labels 🏷️ come in!

Labels is an organizational structure that is completely up to you. You can make as many labels with any naming structure, in any color 🌈 you want, and assign them to basically anything in Home Assistant. You assign labels to anything: areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room., devicesA device is a model representing a physical or logical unit that contains entities. , entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
, automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
, scriptsScripts are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on.
[Learn more]
, helpers, you name it! You can even assign multiple labels to the same thing.

Screenshots showing the new labels assigned to automations.

Just like with floors, you can use labels in your automations and scripts as a target for your actionsActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence.
[Learn more]
. This gives you a lot of flexibility, not just in organizing your Home Assistant, but also in automating your home! 🤯

For example, you could create a label “🎄 Christmas” to label all your Christmas decorations during the holiday season. You can then use this label to automate all of those decorations at once or to filter them in the new tables.

More examples? You could create a label “🔒 Security” to label and control all your security-related devices and automations. Or, “🛌 Bedrooms” to label all your bedroom areas and simultaneously control all the devices in those areas.

Do you have solar panels or home batteries? Create a label “⚡️ Heavy energy usage” to label devices that consume a lot of energy. You could switch them off when there is not enough battery or solar energy available.

You decide how to use labels, and the possibilities are endless! And for our power users, you guessed it, you can use labels in your templates.

Categories: Make each settings page easier to browse

Last but not least, we are introducing categories. Categories are designed to be paired with the aforementioned item grouping feature, and it can be used to group things visually specific to a certain table in Home Assistant.

This is great for those who have a particular way of displaying their entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service.
[Learn more]
by separating them into multiple sections on a specific page. For example, on the automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
page, you can create categories only used for visually grouping automations but nowhere else, like “Notifications” or “NFC tags”. You can then view your automations grouped or filtered by those categories.

Screenshots the new categories. Automations are grouped into their categories, making it easier to get an overview or to filter them.

As these categories are unique for each dashboard, you can have different sets of categories depending on the place you are organizing. This means you can have different categories on the automations page than the sceneScenes capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red.
[Learn more]
, scriptsScripts are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on.
[Learn more]
, or helpers settings page.

Time to clean up your Home Assistant!

In summary, there are a total of 4 taxonomies for organizing your entities. It sounds like a lot, but they all serve a distinct purpose. We are extending and clarifying areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. with floorsA floor in Home Assistant is a logical grouping of areas that are meant to match the physical floors in your home. Devices & entities are not assigned to floors but to areas. Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed., and we are introducing labelsLabels in Home Assistant allow grouping elements irrespective of their physical location or type. Labels can be assigned to areas, devices, entities, automations, scenes, scripts, and helpers. Labels can be used in automations and scripts as a target for actions and services. Labels can also be used to filter data. and categoriesA category is an organization tool that allows grouping items in a table. Like labels, categories allow grouping irrespective of the items’ physical location. For example, on the automations page, you can create the categories “Notifications” or “NFC tags” to view your automations grouped or filtered. Categories are unique for each table. The automations page can have different categories than the scene, scripts, or helpers settings page. to make your automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home.
[Learn more]
and many other tables look more organized and be more manageable.

What’s next? Time to dig in! Here are a few steps we recommend you take action on to organize your Home Assistant better:

  • Migrate to labels:
    • If you have been grouping automations with emojis and bracketed text, you can now create labels for each. Labels can have icons to replace the emojis you had before.
    • For areas that aren’t really physical spaces, switching them to labels will provide you more flexibility in organizing your entities.
  • Start using categories:
    If you have a favorite way of organizing a particular page, create those categories and group the table by them. For example, you could create a notification category for all your notification automations and put all notification automations in that category.
  • Group your areas into floors:
    If you live in a multi-story home, grouping areas into floors help with organizing the areas as well as making them more compatible with future features.

Last of all, to help us to help you to perfect the design of these new features, we would love to hear your feedback and see how you use them! Please feel free to share them in the comments below and discuss them in our community.

Map dashboard

Introducing a new dashboard this release: The map! 🗺️

You might think, “Hey, we already have a map dashboard in Home Assistant!” and you are right! However, the map was an integration that was always there and didn’t provide the flexibility and features that were wanted.

With the map dashboard’s introduction, you can now add multiple map dashboards with different entities and configuration settings. For example, create a dashboard to show the location of your family members, another to track your car, and another to show the location of your pets. 🐶

Screenshots showing the new map dashboard you can add when you add a new dashboard to your Home Assistant.

On upgrade, Home Assistant will automatically migrate your existing map integration to a map dashboard.

You don’t like having the map in your sidebar? Well, that is no longer a problem. Since it is now a dashboard it means you can remove it in the dashboard settings.

Webpage dashboard

Another new dashboard for this release is the webpage! 🌐

The webpage dashboard allows you to add and embed a webpage to your dashboard. This could be a web page from the internet or a local web page from a local machine or device like your router or NAS.

Screenshots showing addition of a new webpage dashboard to Home Assistant, embedding the Home Assistant website.

This dashboard replaces the old iFrame panel (iframe_panel). If you have existing panels configured in your YAML configuration, Home Assistant will automatically migrate them to the new webpage dashboard on upgrade.

Screenshot showing the Home Assistant website embedded into the Home Assistant frontend using a webpage dashboard.

Note that not every webpage can be embedded due to security restrictions that some sites or pages have in place, enforced by your browser, that prevent embedding them into a Home Assistant dashboard.

Define the columns in the section view

In the last release, we introduced the section view with drag and drop support. We are absolutely thrilled to see how many of you loved it! 🥰

Many thanks for all the feedback and suggestions! We are prioritizing them and are working on making the section view even better in the upcoming releases.

In this release, based on your feedback, we have added the ability for you to define the maximum number of columns that the section view uses. This allows you to limit the number of columns, regardless of the screen width on which you are viewing your dashboard.

Screenshot showing the new option available to limit the number of columns the section view uses.

Adding Matter devices from other controllers

In the February release, we added support for sharing Matter devices tied to Home Assistant with other Matter controllers. This release, we are making the other way around easier.

We have improved how you can add Matter devices from other controllers to Home Assistant. When you add a Matter device to Home Assistant, it will now ask you if you want to add a new Matter device or if you want to add a device that is already added to another controller (like Google Home or Apple Home).

Screenshot showing the dialog to add a Matter device, asking if this is a new or existing matter device connected to another controller.

Suppose you choose to add a device that has already been added to another controller. In that case, Home Assistant will guide you through how to achieve this step by step.

Screenshot showing the dialog to add a existing Matter device that is connected to another Matter controller.

Lock behavior improvements

Some smart locks have an open (or unlatching) mechanism that can be triggered remotely. The door either pops out of the lock or can be opened by pushing against the door.

We want to ensure you don’t accidentally open the door when you miss-clicked the button (for example, while not at home 😬). Therefore, we have improved the behavior of locks in our user interface by requiring you to confirm the action.

Screen recording showing the confirmation in the UI when unlatching/opening a door.

Even more performance!

Remember how we wrote last release that Home Assistant now boots twice as fast? Well, @bdraco wasn’t done yet and teamed up with @balloob. If you thought the previous release was fast, you are in for a treat! 🚀 The difference is, yet again, very noticeable.

Besides streamlining what is loaded at startup (and doing less loading), we have adjusted the startup time tracking. It used to be that one integration could push other integrations to be slow too; that should no longer be the case, making this a more accurate representation of the actual startup time.

Want to learn about the individual startup times of your integrations? You can find them in the Settings -> System -> Repairs page by selecting the three-dotted menu in the top right and selecting the Integration startup time item.

Other noteworthy changes

There are many more improvements in this release; here are some of the other noteworthy changes this release:

  • @karwosts has improved your Home Assistant user profile page, making navigating and finding the settings you are looking for easier. Nice work!
  • If you use a sentence trigger in your automation to trigger it using Assist. The trigger will now include the device_id in its trigger data you can automate with. Thanks, @synesthesiam!
  • The HomeWizard Energy integration now supports the newest generation of HomeWizard Energy Sockets! Thanks, @DCSBL!
  • We can now ship new releases of Home Assistant in waaay less time. Building and shipping Home Assistant for you, went down from 1.5-2 hours to just 20 minutes! 🚀 Thanks @edenhaus!
    Learn more about it in our developer blog.
  • Reolink now supports PTZ patrol start/stop, package detection and controls for playing quick reply messages. Thanks, @starkillerOG!
  • We have brand new template functions available to list all the issues in your repairs dashboard. Thanks, @RoboMagus!
  • If you prefer your wind speed sensors to be in Beaufort, you are in luck! You can now change the unit of measurement to Beaufort. Thanks, @fwestenberg!
  • The Husqvarna Automower integration development continues and has additional new entities, including sensors, select entities, and a device tracker. Thanks, @Thomas55555!
  • @catsmanac has added a sensor to monitor the battery storage attached to your Enphase Envoy; it works with the energy dashboard! Nice!
  • The Xiaomi BLE integration now supports locks and fingerprint readers! Awesome, @Ernst79!

New integrations

We welcome the following new integrations in this release:

  • Fyta, added by @dontinelli
    Monitor your plants with Fyta, a smart plant sensor that measures light, temperature, humidity, and soil moisture.
  • Motionblinds Bluetooth, added by @LennP
    Control your Bluetooth Low Energy Motionblinds motorized window coverings.
  • Ollama, added by @synesthesiam
    Ollama a fully local AI conversation platform that can be used to create custom voice assistants.

This release also has new virtual integration. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. The following virtual integration have been added:

Integrations now available to set up from the UI

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

Release 2024.4.1 - April 5

Release 2024.4.2 - April 8

Release 2024.4.3 - April 12

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

Backward-incompatible changes

If you are a custom integration developer and want to learn about breaking changes and new features available for your integration: Be sure to follow our developer blog. The following are the most notable for this release:

Farewell to the following

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

  • OpenCV has been removed. The integration has been in a broken state for over a year and currently has no path forward. (@thecode - #113455)

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 2024.4