2024.4: Organize all the things!
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
- Home Assistant spring cleaning! 🧹 New ways to get your automations (and more) organized
- Upgraded tables!
- Three new ways to organize
- Map dashboard
- Webpage dashboard
- Define the columns in the section view
- Adding Matter devices from other controllers
- Lock behavior improvements
- Even more performance!
- Other noteworthy changes
- New integrations
- Integrations now available to set up from the UI
- Release 2024.4.1 - April 5
- Release 2024.4.2 - April 8
- Release 2024.4.3 - April 12
- Release 2024.4.4 - April 23
- Need help? Join the community!
- Backward-incompatible changes
- Farewell to the following
- All changes
Don’t forget to join our release party live stream on YouTube
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, automation or template entity configuration with certain parts marked as configurable. This allows users to create multiple scripts, automations or template entities 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, automation or template entity configuration with certain parts marked as configurable. This allows users to create multiple scripts, automations or template entities 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. 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
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:
- Sacramento Municipal Utility District (SMUD), provided by Opower
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
Lutron Homeworks, done by @emontnemery
-
17TRACK, done by @shaiu
-
Downloader, done by @erwindouna
-
ROVA, done by @GidoHakvoort
Release 2024.4.1 - April 5
- Update aioairzone-cloud to v0.4.7 (@Noltari
- #114761 ) - Bump myuplink dependency to 0.6.0 (@astrandb
- #114767 ) - Update romy to 0.0.9 (@cdce8p
- #114360 ) - Update romy to 0.0.10 (@xeniter
- #114785 ) - Fix unhandled
KeyError
during Notion setup (@bachya- #114787 ) - Fix Lutron light brightness values (@cdheiser
- #114794 ) - Fix type cast in snmp (@lextm
- #114795 ) - Handle ambiguous script actions by using action map order (@bdraco
- #114825 ) - Bump opower to 0.4.3 (@tronikos
- #114826 ) - Refactor ConfigStore to avoid needing to pass config_dir (@bdraco
- #114827 ) - Avoid blocking IO in downloader initialization (@joostlek
- #114841 ) - Fix Downloader YAML import (@joostlek
- #114844 ) - Update frontend to 20240404.0 (@bramkragten
- #114859 ) - Fix Axis camera platform support HTTPS (@Kane610
- #114886 ) - Bump weatherflow4py to 0.2.20 (@jeeftor
- #114888 ) - Fix Axis reconfigure step not providing protocols as alternatives but as string (@Kane610
- #114889 ) - Update frontend to 20240404.1 (@bramkragten
- #114890 ) - Ensure all tables have the default table args in the db_schema (@bdraco
- #114895 ) - Reduce august polling frequency (@bdraco
- #114904 ) - Show correct model string in myuplink (@astrandb
- #114921 ) - Create right import issues in Downloader (@joostlek
- #114922 ) - Fix cast dashboard in media browser (@joostlek
- #114924 ) - Pin systembridgemodels to 4.0.4 (@timmo001
- #114842 ) - Fix ROVA validation (@joostlek
- #114938 )
Release 2024.4.2 - April 8
- Fix hang in SNMP device_tracker implementation (@nmaggioni
- #112815 ) - Fix missing if statement in homematic (@bbr111
- #114832 ) - Bump pylitterbot to 2023.4.11 (@natekspencer
- #114918 ) - Fix Snapcast Config flow (@joostlek
- #114952 ) - Bump axis to v61 (@Kane610
- #114964 ) - Filter out fuzzy translations from Lokalise (@joostlek
- #114968 ) - Upgrade to pynobo 1.8.1 (@oyvindwe
- #114982 ) - Fix dictionary changed size during iteration in prometheus (@bdraco
- #115005 ) - Bump
brother
to version 4.1.0 (@bieniu- #115021 ) - Bump yolink-api to 0.4.2 (@matrixd2
- #115026 ) - Update xknxproject to 3.7.1 (@farmio
- #115053 ) - Fix synology_dsm availablity (@bdraco
- #115073 ) - Downgrade hass-nabucasa from 0.80.0 to 0.78.0 (@ludeeus
- #115078 ) - Bump velbus-aio to 2024.4.1 (@Cereal2nd
- #115109 ) - Terminate scripts with until and while conditions that execute more than 10000 times (@bdraco
- #115110 ) - improve handling of incorrect values in fyta integration (@dontinelli
- #115134 ) - Bump fyta_cli to 0.3.5 (@dontinelli
- #115143 ) - Fix fibaro sensor additional sensor lookup (@rappenze
- #115148 ) - Write timer entity state before firing events (@bdraco
- #115151 ) - Avoid checking for polling if an entity fails to add (@bdraco
- #115159 ) - Only reset requested utility meter with no tariff (@gibwar
- #115170 )
Release 2024.4.3 - April 12
- Bump aiohttp to 3.9.4 (@bdraco
- #110730 ) - Add support for adopt data disk repair (@mdegat01
- #114891 ) - Improve Risco exception logging (@OnFreund
- #115232 ) - Configurable maximum concurrency in Risco local (@OnFreund
- #115226 ) - Fix misssing timeout in caldav (@bdraco
- #115247 ) - Fix Google Tasks parsing of remove responses (@allenporter
- #115258 ) - Bump forecast-solar lib to v3.1.0 (@klaasnicolaas
- #115272 ) - Support backup of add-ons with hyphens (@agners
- #115274 ) - Bump pymodbus v3.6.7 (@janiversen
- #115279 ) - Bump yt-dlp to 2024.04.09 (@joostlek
- #115295 ) - Fix Aranet failure when the Bluetooth proxy is not providing a device name (@thecode
- #115298 ) - Bump zha-quirks to 0.0.114 (@TheJulianJES
- #115299 ) - Ensure automations do not execute from a trigger if they are disabled (@bdraco
- #115305 ) - Bump bleak-retry-connector 3.5.0 (@bdraco
- #115328 ) - Secure against resetting a non active modbus (@janiversen
- #115364 ) - Solve modbus test problem (@janiversen
- #115376 ) - Fix deadlock in holidays dynamic loading (@bdraco
- #115385 ) - Bump whirlpool-sixth-sense to 0.18.8 (@NodeJSmith
- #115393 ) - Fix bug in rainbird switch when turning off a switch that is already off (@allenporter
- #115421 ) - Bump pybotvac to 0.0.25 (@Santobert
- #115435 ) - Update frontend to 20240404.2 (@bramkragten
- #115460 )
Release 2024.4.4 - April 23
- Bump slixmpp version to 1.8.5 (@ravermeister
- #114448 ) - Make Withings recoverable after internet outage (@joostlek
- #115124 ) - Fix Hyperion light not updating state (@avee87
- #115389 ) - Add scheduled mode to renault charge mode (@slyoldfox
- #115427 ) - Bump zeroconf to 0.132.1 (@bdraco
- #115501 ) - Bump zeroconf to 0.132.2 (@bdraco
- #115505 ) - Update pillow to 10.3.0 (@cdce8p
- #115524 ) - Fix race in TimestampDataUpdateCoordinator (@bdraco
- #115542 ) - Fix Teslemetry sensor values (@Bre77
- #115571 ) - Modbus: Bump pymodbus v3.6.8 (@janiversen
- #115574 ) - Fix sensor entity description in Teslemetry (@Bre77
- #115614 ) - Bump httpcore to 1.0.5 (@bdraco
- #115672 ) - Bump sqlparse to 0.5.0 (@bdraco
- #115681 ) - Bump aiohttp to 3.9.5 (@bdraco
- #115727 ) - Bump renault-api to 0.2.2 (@epenet
- #115738 ) - Fix homeworks import flow (@emontnemery
- #115761 ) - Allow [##:##:##] type keypad address in homeworks (@emontnemery
- #115762 ) - Add missing media_player features to Samsung TV (@chemelli74
- #115788 ) - Bump aiounifi to v75 (@Kane610
- #115819 ) - Ensure scripts with timeouts of zero timeout immediately (@bdraco
- #115830 ) - Fix KeyError error when fetching sensors (Airthings) (@LaStrada
- #115844 ) - Bump plexapi to 4.15.12 (@jjlawren
- #115872 ) - Bump ical to 8.0.0 (@allenporter
- #115907 ) - Fix geo location attributes of Tankerkoenig sensors (@mib1185
- #115914 ) - Use start helper in squeezebox for server discovery (@rajlaud
- #115978 )
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
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.
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.
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
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
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.
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.
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.
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.
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
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
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
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
Weather
The previously deprecated forecast
attribute of weather entities, has now been
removed. Use the weather.get_forecasts
service to get the forecast data instead.
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:
- Climate entity auxiliary heater is deprecated
- Config Entries can now provide a reconfigure step
- Deprecate hass.helpers usage
- Deprecating
async_run_job
andasync_add_job
- How uv saves Home Assistant 215 compute hours per month
- Integrations import in the executor to avoid blocking the event loop
- New state timestamp State.last_reported
- Raising exceptions with translations
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