• Sun. Nov 17th, 2024

2024.4: Organize all the things!

Byadmin

Apr 3, 2024


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!

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.

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.

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.

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.

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.

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.

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.

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. đŸ¶

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.

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.

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.

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).

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.

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.

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 @dontinelliMonitor your plants with Fyta, a smart plant sensor that measures light,
temperature, humidity, and soil moisture.

Motionblinds Bluetooth, added by @LennPControl your Bluetooth Low Energy Motionblinds motorized window coverings.

Ollama, added by @synesthesiamOllama 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:

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

Python 3.11 support has been removed

Python 3.11 support has previously been deprecated and has now been removed.
Home Assistant now requires Python 3.12 to run.
You don’t have to do anything if you are using the Home Assistant Operating
System, Home Assistant Container, or Home Assistant Supervised installation
method. In those cases, we handle all of this for you. Your system has been
using Python 3.12 for quite some time already.
(@frenck – #114220)

AEMET OpenData

The AEMET OpenData integration previously created two entities for each
configured location: one provided daily weather forecasts and the other hourly
forecasts.
The AEMET OpenData integration now only creates a single entity that provides
both daily and hourly weather forecasts.
(@gjohansson-ST – #110764) (documentation)

Dexcom

The trend sensor now uses values that are using snake_case instead of a space
in the middle:

rising quickly -> rising_quickly

rising slightly -> rising_slightly

falling slightly -> falling_slightly

falling quickly -> falling_quickly

Please update your automations and scripts accordingly.
(@joostlek – #112423) (documentation)

ecobee

The non-functional away preset mode has been replaced with the correct
away_indefinitely preset mode.
If any automation or script depends on the away preset mode,
it needs to be updated.
(@alexsydell – #108636) (documentation)

Environment Canada

The Environment Canada integration previously created two entities for each
configured location: one provided daily weather forecasts and the other hourly
forecasts.
The Environment Canada integration now only creates a single entity that
provides both daily and hourly weather forecasts.
(@gjohansson-ST – #112447) (documentation)

National Weather Service (NWS)

The National Weather Service integration previously created two entities for each
configured location: one provided daily weather forecasts and the other hourly
forecasts.
The National Weather Service integration now only creates a single entity that
provides both daily and hourly weather forecasts.
(@gjohansson-ST – #112503) (documentation)

Met Éireann

The Met Éireann integration previously created two entities for each configured
location: one provided daily weather forecasts and the other hourly forecasts.
The Met Éireann integration now only creates a single entity that provides both
daily and hourly weather forecasts.
(@gjohansson-ST – #112449) (documentation)

Met Office

The Met Office integration previously created two entities for each configured
location: one provided daily weather forecasts and the other hourly forecasts.
The Met Office integration now only creates a single entity that provides both
daily and hourly weather forecasts.
(@gjohansson-ST – #112452) (documentation)

Modbus

The Modbus integration does not allow a configuration with the device only
(no entities); this will create an issue, and the entry will not be loaded.
For the special cases (like some custom_components) where it is wanted,
please add a dummy entity.
(@janiversen – #113516) (documentation)

MQTT

Support for brightness is now assumed for mqtt lights with the json schema
unless only color modes rgb, rgbw, or rgbww are supported.
For lights which only support color modes rgb, rgbw, or rgbww,
the brightness option flag can still be set to false if brightness is not
supported. In this case brightness support is emulated in Home Assistant by
scaling the RGBx-values.
For all other color modes except ColorMode.ONOFF, it is assumed brightness is
supported, and the brightness attribute will be included in the MQTT payload
when the brightness attribute is supplied to the light.turn_on service.
(@jbouwh – #111676) (documentation)

myUplink

If you have a Nibe SMO 20 in your account, you will notice that some 550
entities are no longer provided by the integration.
You can safely remove these entities as the integration does not use them.
(@astrandb – #113493) (documentation)

Waze Travel Time

The options excl_filter and incl_filter now filter for exact matches to
street names in the route. Previously, they only filtered on the short
description of the route.
(@eifinger – #108613) (documentation)

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



Source link