2025.4: Current state

This commit is contained in:
Franck Nijhof 2025-04-02 13:19:53 +00:00
parent f769872193
commit da508bc859
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
12 changed files with 202 additions and 143 deletions

View File

@ -2,7 +2,7 @@
layout: post
title: "2025.4 Beta release notes"
description: "Beta release notes for Home Assistant 2025.4"
date: 2025-03-26 00:00:00
date: 2025-04-02 00:00:00
date_formatted: "April 2, 2025"
author: Franck Nijhof
author_twitter: frenck
@ -36,7 +36,7 @@ While running the beta, we highly recommend joining our _#beta_ channel on
the [Home Assistant Discord chat](/join-chat)! 💬 Most developers and beta
testers are in this channel during the beta period to share experiences, ideas,
and iterate over new features, fine-tuning them before the final release.
It's a really fun place to hang out. 😎
Its a really fun place to hang out. 😎
<br />
@ -62,7 +62,7 @@ Issues introduced in the beta are processed with priority. 🔝
{% tip %}
Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=-w9IBKg5RAw)
Dont forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=-w9IBKg5RAw)
2 April 2025, at 20:00 GMT / 12:00 PT / 21:00 CEST!
{% endtip %}
@ -75,10 +75,9 @@ Enjoy the (beta) release!
<!--more-->
- [BETA Feedback! Automation \& script variable scopes](#beta-feedback-automation--script-variable-scopes)
- [Smarter dashboards!](#smarter-dashboards)
- [Dashboards](#dashboards)
- [A new experimental Areas dashboard](#a-new-experimental-areas-dashboard)
- [Time for a new card!](#time-for-a-new-card)
- [Time for a new card!](#time-for-a-new-card)
- [Voice](#voice)
- [Improved Voice Wizard](#improved-voice-wizard)
- [Continued conversation with LLMs](#continued-conversation-with-llms)
@ -88,6 +87,7 @@ Enjoy the (beta) release!
- [Integrations](#integrations)
- [New integrations](#new-integrations)
- [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations)
- [Integration quality scale achievements](#integration-quality-scale-achievements)
- [Other noteworthy changes](#other-noteworthy-changes)
- [Templates](#templates)
- [Device hierarchy for energy management](#device-hierarchy-for-energy-management)
@ -95,104 +95,105 @@ Enjoy the (beta) release!
- [Backward-incompatible changes](#backward-incompatible-changes)
- [All changes](#all-changes)
## BETA Feedback! Automation & script variable scopes
{% note %}
This one is not directly one that is ending up in the release notes as such
but an important change we need feedback on during beta. Hence we've put
it at the top here, for visibility. This chapter will be removed in the final
release notes.
{% endnote %}
The use of variables in automations and scripts has been quite cumbersome and
confusing to work with. If you have ever worked with logic blocks or loops in
combination with variables, you might have encountered weirdness in their
scoping. This release ships with a change to the way variables are scoped in
automations and scripts to make it easier to work with and to fix mistakes made
in the past.
In this beta, the scope of variables has been changed to be more consistent and
intuitive. Variables are now scoped "globally" in the automation or script
run. This means that if you define a variable in one action, it will be
accessible in all subsequent actions, regardless of their nesting level.
From a programming perspective, this means a single automation or script run
can be seen as a single function scope.
Example:
{% raw %}
```yaml
actions:
- variables:
x: 1
y: 1
- sequence:
- variables:
y: 2 # Updates y which exists in the outer scope
z: 2 # Since z is not defined yet, it is assigned in the top-level scope
- action: persistent_notification.create
data:
message: "{{ x }}, {{ y }}, {{ z }}" # x=1, y=2, z=2
# Note: previously it would be: x=1, y=1, z undefined
```
{% endraw %}
**We need help testing this change!** Please test your automations and scripts
that use variables and let us know if you encounter any issues or unexpected
behavior, or if it just works just like before in our #beta channel on Discord.
While the change is huge, we do expect the impact to be limited. We want
to learn from your experiences if this assumption is correct.
## Smarter dashboards!
## Dashboards
Were making dashboards smarter—automagically!
Dashboards allow users to monitor and control different aspects of their homes through smart home devices or external data. They are one of the main interfaces for interacting with Home Assistant, and a key contributor to what we call the Home Approval Factor—how useful and welcoming your smart home feels to everyone who lives in it.
Over the past year, we have focused on making dashboards easier to create and customize with the introduction of the powerful drag-and-drop sections view and plenty of new tile card features. Now, were going a step further by delivering a dashboard thats immediately relevant, saving users time and effort while still leaving room for personal touches.
Dashboards allow you to monitor and control different aspects of your home.
They are one of the main interfaces for interacting with Home Assistant,
and a key contributor to what we call the Home Approval Factor—how useful
and welcoming your smart home feels to everyone who lives in it.
Over the past year, we have focused on making dashboards easier to create and
customize. We introduced the powerful drag-and-drop sections view and plenty
of new tile card features.
Were going a step further by delivering a dashboard thats immediately
relevant, saving you time and effort while still leaving room for personal
touches.
### A new experimental Areas dashboard
Until now, our default dashboard has served as a simple starting point—a list of entities grouped by area or device domains. While helpful for early beginners, it quickly becomes too limited as a smart home grows. We've learned that while some users enjoy building their own dashboards, many simply want something that works for their household.
Until now, our default dashboard has served as a simple starting point—a list
of {% term entities %} grouped by {% term area %} or {% term device %}
{% term domains %}. While helpful for beginners, it quickly becomes limited as
a smart home grows. Weve learned that while some users enjoy building their
own dashboards, many simply want something that works for their household.
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-dashboard-areas.png" />
<img class="no-shadow" alt="Screenshot viewing an area of the new experimental Areas dashboard" src="/images/blog/2025-04/areas-dashboard-detail.png" />
The new experimental Areas Dashboard will generate a ready-to-use dashboard based on the areas you've defined in your home. It uses sections and tile cards to deliver a modern, clean, and intuitive look instantly. No more starting from a blank slate!
The new experimental Areas Dashboard automatically generates a ready-to-use
dashboard based on the areas youve set up in your home. It uses sections and
tile cards for a modern, clean, and intuitive look—instantly. No more starting
from a blank slate!
Each area in your home now has its own dedicated page, giving you a clear and organized view of the devices in that space. Entities are automatically grouped by domain, such as lights, covers, cameras, and more, so you can easily locate the entities you need. Want to tweak it? Yes, you can! You can rearrange, show, or hide entities to suit your preferences. Moreover, at the top of each area page, you'll find temperature and humidity badges that give you a quick glance at comfort levels in the room. You can configure which sensors to use in the area settings.
Each area now has its own dedicated page, giving you a clear and organized view
of the devices in that space. Entities, such as lights, covers, cameras,
and more, are automatically grouped by domain so you can easily locate the ones
you need.
On top of all that, the Overview page brings it all together, showing all your areas in one place. Each section corresponds to a room in your home, and just like with the area pages, you can rearrange, show, or hide areas to reflect your priorities.
If you havent already, nows the perfect time to start organizing your devices into areas - its the key to unlocking this new experience. To get started with the Areas dashboard, go to Settings > Dashboard, and select the “Areas (experimental)” option under the Add Dashboard dialog:
Want to tweak it? _Yes, you can_! You can rearrange, show, or hide entities to
suit your preferences. At the top of each area page, temperature and humidity
badges quickly indicate room comfort levels, which are configurable in the
areas settings.
<img class="no-shadow" alt="Add Dashboard dialog, including Areas dashboard" src="/images/blog/2025-04/areas-experimental-dialog.png" />
On top of all that, the Overview page brings it all together, showing all your
areas in one place. Each section corresponds to a room in your home, and just
like with the area pages, you can rearrange, show, or hide areas here as well,
based on your preferences.
The new experimental Areas Dashboard is a preview of whats more to come. Weve learned from our users that they organize their homes in different ways—by rooms, by function, by device, and more, and they often combine all of the above, and therefore, our upcoming default dashboard will accommodate all these methods of organization. Over time, this foundation will grow into a flexible system that adapts to your priorities, whether thats keeping an eye on security, managing energy use, going through your family calendar and chores, learning about the weather, or simply watching your pets.
<img class="no-shadow" alt="Screenshot showing the overview page of the new Areas dashboard" src="/images/blog/2025-04/areas-dashboard-overview.png" />
Please note that this is experimental, meaning it is subject to change and may not always work as intended. If you do notice some aspects we can improve, we would love your feedback. It was the communitys dashboards shared over the years that helped us shape this design, and we would love to see how it works with a wide variety of your homes. Even if you have the perfect dashboards already built for your home, give it a try! **Use [this feedback form](https://forms.gle/gJ6HiNbE1GXDv5g18) to give us your thoughts!**
If you havent organized your devices into areas yet, nows the perfect time to
start—its key to unlocking this new dashboard experience. To get
started with the Areas dashboard, go to
**{% my lovelace_dashboards title="Settings > Dashboards" %}**, and select
**Add Dashboard** in the bottom right, next select the **Areas (experimental)**
option from the dialog:
## Time for a new card!
<img class="no-shadow" alt="Screenshot of the dialog when adding a new dashboard, showing the new option to add the new experimental Area dashboard" src="/images/blog/2025-04/areas-experimental-dialog.png" />
It has been a while since we have introduced a new card, but this release we
thought it might be _**time**_ to add a new one! Thanks to [@mrdarrengriffin]
we now have a Clock card!
The new experimental Areas Dashboard previews whats to come. Weve learned from
our users that they organize their homes in different ways—by rooms,
by function, by device, and more. They often combine all of the above,
and therefore, our upcoming default dashboard will accommodate
all these methods of organization.
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-card-clock.png" />
Over time, this foundation will grow into a flexible system that adapts to
your priorities, whether thats keeping an eye on security, managing energy use,
going through your family calendar and chores, learning about the weather,
or simply watching your pets.
Please note that this is experimental, meaning it is subject to change and may
not always work as intended. We would love your feedback if you notice some
aspects we can improve. It are the communitys dashboards shared over the
years that helped us shape this design, and we would love to see how it works
with a wide variety of your homes. Even if you already have the perfect
dashboard built for your home, try it!
**Use [this feedback form](https://forms.gle/gJ6HiNbE1GXDv5g18) to let us know
your thoughts!**
### Time for a new card!
It has been a while since we introduced a new card, but this release, we
thought it might be _**time**_ to add a new one! Thanks to [@mrdarrengriffin],
Home Assistant now features a Clock card!
<img class="no-shadow" alt="Screenshot showing a dashboard with a large clock card on it, indicating the current time" src="/images/blog/2025-04/card-clock.png" />
Yeah, the card is "just" showing the current time, but it is a really nice
addition to our card collection. It might be a great card for dashboards
you are showing on things like a wall mounted tablet!
you are showing on things like a wall-mounted tablet!
It supports a few time formats, displaying different timezones, and of course, can be resized to
match your needs.
The Clock card offers several customization options, including the ability to
adjust the clock size, display the seconds alongside the hours and minutes,
and the ability to choose between a 12-hour or 24-hour format.
**TODO**: Link to documentation
For more details, check out the [Clock card documentation].
[@mrdarrengriffin]: https://github.com/mrdarrengriffin
[Clock card documentation]: /dashboards/clock/
## Voice
@ -211,15 +212,19 @@ As our voice experience is offering more choices, including local options
like Speech-to-Phrase, we wanted to make sure you are able to make the right
choices for your use case.
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-voice-wizard.png" />
<img class="no-shadow" alt="Two screenshots showing the new voice wizard that guides you setting up the best possible voice experience" src="/images/blog/2025-04/voice-wizard.png" />
The wizard will now help you make a more informed decision based on your language, desired functionality, and device capabilities, ensuring you get the best experience with your voice assistant.
The wizard will now help you make a more informed decision based on your
language, desired functionality, and device capabilities, ensuring you get the
best experience with your voice assistant.
[pve]: /voice-pe/
### Continued conversation with LLMs
Ever tried to have a conversation with your voice assistant that is hooked up to an LLM like ChatGPT? Its good fun. However, having to say _"Ok Nabu"_, whenever you answer one of Assists questions can really slow things down.
Ever tried to have a conversation with your voice assistant that is hooked up to
an LLM like ChatGPT? Its good fun. However, having to say _"Ok Nabu"_, whenever
you answer one of Assists questions can really slow things down.
This release introduces the ability to have a continued conversation with LLMs.
If the LLM returns with a question, we will detect that and keep the
@ -239,14 +244,16 @@ conversation](/blog/2025/02/13/voice-chapter-9-speech-to-phrase/#home-assistant-
As of this release, this feature is now available for ESPHome based voice
assistant, like the [Home Assistant Voice Preview Edition][pve]!
This is an amazing feature, as it allows you to build your own automations that can send out voice prompts from your voice assistant and listen for a response, instead of you having to trigger the conversation by saying the wake word.
This is an amazing feature, as it allows you to build your own automations that
can send out voice prompts from your voice assistant and listen for a response,
instead of you having to trigger the conversation by saying the wake word.
_**TODO:**_ Add a demo video here.
Imagine, for example, you have left the garage door open, and a few minutes
later, your assistant says: "Hey, I noticed you left the garage door open, do you want me
to close it for you?" And you can just say "yes" or "no" to the assistant, and
it will close the door for you... 🤯
later, your assistant says: "Hey, I noticed you left the garage door open,
do you want me to close it for you?" And you can just say "yes" or "no" to
the assistant, and it will close the door for you... 🤯
Or maybe you come home from a long day at work, and your assistant says:
"Welcome home Frenck! Hope you had a great day! Want to hear the news? Or
@ -254,20 +261,27 @@ maybe you are in the mood for some music?" and answering that?
This is unbelievably powerful, and opens up a whole new world of possibilities
for your voice assistant. This power is currently only available when using
LLMs, but we are working on making this available in other places it would be useful.
LLMs, but we are working on making this available in other places it would
be useful.
[pve]: /voice-pe/
### Pre-announce sound
Having your assistant start a conversation is great, but having it start talking out of nowhere might be a bit scary for some people 🫣. To help with that, it is possible to add a pre-announce sound when starting a conversation or making an announcement.
Having your assistant start a conversation is great, but having it start talking
out of nowhere might be a bit scary for some people 🫣. To help with that, it is
possible to add a pre-announce sound when starting a conversation or making an
announcement.
Using this, you can play a little sound before the assistant starts talking,
preventing the "jump scare" effect.
_**TODO:**_ Add a demo video here.
Hmmm… this might be cool for different sound effects, depending on the situation. Like a doorbell chime when the doorbell rings, or a train station-style announcement jingle when your morning commute is delayed (so you have a little more time to grab your coffee before you leave ☕).
Hmmm… this might be cool for different sound effects, depending on the
situation. Like a doorbell chime when the doorbell rings, or a train
station-style announcement jingle when your morning commute is
delayed (so you have a little more time to grab your coffee before you leave ☕).
## Onboarding with a Home Assistant Cloud backup
@ -277,16 +291,16 @@ as part of your subscription. A really convenient service that ensures you alway
have a secure and worry-free backup of your Home Assistant installation, no
matter what happens.
Now, let's say something did happen, maybe a hardware failure, or maybe you
Now, lets say something did happen, maybe a hardware failure, or maybe you
are migrating to a new [Home Assistant Green](/green/), as of this release, you can
directly restore your backup from the Home Assistant Cloud during the
onboarding process of your new Home Assistant installation.
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-restore-from-cloud.png" />
This means you can get up and running with your new Home Assistant installation
in no time, with all your settings, automations, and integrations restored from
your backup.
This means you can get up and running with your new Home Assistant
installation in no time, with all your settings, automations, and
integrations restored from your backup.
<img class="no-shadow" alt="Screenshot showing the restore from Nabu Casa's Home Assistant Cloud during set up" src="/images/blog/2025-04/restore-from-cloud.png" />
[cloud]: https://www.nabucasa.com/
@ -299,16 +313,17 @@ and improvements to existing ones! Youre all awesome 🥰
We welcome the following new integrations in this release:
- **[Pterodactyl]**, added by [@elmurato]
Control and monitor your [Pterodactyl game server management panel].
- **[Bosch Alarm]**, added by [@sanjay900]
Control and monitor your Bosch intrusion alarm systems / control panels.
- **[Remote calendar]**, added by [@Thomas55555]
Add remote calendar URLs as a calendar to Home Assistant.
- **[Bosch Alarm]**, added by [@sanjay900]
Control and monitor your Bosch intrusion alarm systems / control panels.
- **[Pterodactyl]**, added by [@elmurato]
Control and monitor your [Pterodactyl game server management panel].
[@elmurato]: https://github.com/elmurato
[@sanjay900]: https://github.com/sanjay900
[@Thomas55555]: https://github.com/Thomas55555
[Bosh Alarm]: /integrations/bosh_alarm
[Bosch Alarm]: /integrations/bosch_alarm
[pterodactyl game server management panel]: https://pterodactyl.io/
[Pterodactyl]: /integrations/pterodactyl
[Remote calendar]: /integrations/remote_calendar
@ -335,6 +350,8 @@ changes to existing integrations:
- The [OpenAI conversation integration] has a new service to generate content,
thanks to [@timlaing], **and** it can now search the web! Nice [@Shulyaka]!
- The [Google AI conversation integration] also gained the ability to search the
web, just like the above OpenAI one. Thanks [@tronikos]!
- [@joostlek] has absolutely been rocking the [SmartThings integration]! The list
of improvements is extremely long, but it includes support for firmware
updates through Home Assistant, support for event entities, PM0.1 sensors,
@ -349,7 +366,7 @@ changes to existing integrations:
- [@tr4nt0r] extended the actions [Habitica integration] with lots of new
and improved actions to manage your habits, rewards, and dailies. Thanks!
- The [Microsoft OneDrive integration] has a new action that allows you to
upload files to OneDrive. Nice [@zweckj]!]
upload files to OneDrive. Nice [@zweckj]!
- [@andrewsayre] extended [HEOS] with support for browsing media, allowing
you to browse things like TuneIn and play them on your HEOS devices.
@ -362,7 +379,9 @@ changes to existing integrations:
[@starkillerOG]: https://github.com/starkillerOG
[@timlaing]: https://github.com/timlaing
[@tr4nt0r]: https://github.com/tr4nt0r
[@tronikos]: https://github.com/tronikos
[@zweckj]: https://github.com/zweckj
[Google AI conversation integration]: /integrations/google_ai_conversation
[Habitica integration]: /integrations/habitica
[HEOS]: /integrations/heos
[Home Connect]: /integrations/home_connect
@ -372,12 +391,47 @@ changes to existing integrations:
[Roborock integration]: /integrations/roborock
[SmartThings integration]: /integrations/smartthings
- Bump azure_storage quality to platinum ([@zweckj] - [#139452]) ([azure_storage docs])
- Update quality scale to platinum 🏆️ for pyLoad integration ([@tr4nt0r] - [#138891]) ([pyload docs])
- Update quality scale to platinum 🏆️ for IronOS integration ([@tr4nt0r] - [#138217]) ([iron_os docs])
- Add platinum quality scale to incomfort integration ([@jbouwh] - [#136387]) ([incomfort docs])
- Move Vodafone Station to silver quality scale ([@chemelli74] - [#141106]) ([vodafone_station docs])
- Bump roborock to silver ([@Lash-L] - [#141433]) ([roborock docs])
### Integration quality scale achievements
One thing we are incredibly proud of in Home Assistant is our
[integration quality scale]. This scale helps us and our contributors to ensure
integrations are of high quality, maintainable, and provide the best possible
user experience.
This release, we celebrate several {% term integrations %} that have improved
their quality scale:
- **4 integrations reached platinum** 🏆
- [Azure Storage], thanks to [@zweckj]
- [Fronius], thanks to [@farmio]
- [IronOS], thanks to [@tr4nt0r]
- [inComfort], thanks to [@jbouwh]
- **2 integrations reached silver** 🥈
- [Roborock], thanks to [@Lash-L]
- [Vodafone Station], thanks to [@chemelli74]
This is a huge achievement for these integrations and their maintainers. The
effort and dedication required to reach these quality levels is significant,
as it involves extensive testing, documentation, error handling, and often
complete rewrites of parts of the integration.
A big thank you to all the contributors involved! 👏
[integration quality scale]: https://www.home-assistant.io/docs/quality_scale/
[@chemelli74]: https://github.com/chemelli74
[@farmio]: https://github.com/farmio
[@farmio]: https://github.com/farmio
[@jbouwh]: https://github.com/jbouwh
[@Lash-L]: https://github.com/Lash-L
[@tr4nt0r]: https://github.com/tr4nt0r
[@zweckj]: https://github.com/zweckj
[Azure Storage]: /integrations/azure_storage
[Fronius]: /integrations/fronius
[inComfort]: /integrations/incomfort
[IronOS]: /integrations/ironos
[Roborock]: /integrations/roborock
[Vodafone Station]: /integrations/vodafone_station
## Other noteworthy changes
@ -388,19 +442,19 @@ noteworthy changes this release:
can now be updated directly through Home Assistant update entities.
Nice [@puddly]!
- When viewing the details of an entity in the entity dialog, we now provide
more context about where the entity is originating from. Like its device and
the area it is in. This is a first step in sprinkling more context throughout
our UI. Thanks, [@piitaya]!
more context about where the entity originates. Like its device and the area
it is in. This is a first step in sprinkling more context throughout our UI.
Thanks, [@piitaya]!
- We now provide sensors about your [backups]! Providing you information
on things like when your last backup ran. Thanks [@mib1185]!
- This one is interesting if you make Blueprints. The [device selector] now
supports filtering by model ID. Thanks, [@karwosts] for this one!
supports filtering by model ID. Thanks for this one [@karwosts]!
- We now support turning on/off TVs in [HomeKit], nice one [@bdraco]!
- Thanks to [@piitaya], we now support lawn mower devices in [Google Assistant]!
- Variables in automations & scripts have been greatly simplified and fixed by
[@arturpragacz]. All variables are now accessible anywhere in the script or
automation, greatly simplifying the use of variables. Amazing!
- We now have support for adding additional interactions to cards! Hold and
- We now support for adding additional interactions to cards! The hold and
double tap actions are now available through the UI. Thanks [@piitaya]!
[@arturpragacz]: https://github.com/arturpragacz
@ -416,9 +470,9 @@ noteworthy changes this release:
## Templates
If you are a power user, you are probably using templates in your automations,
scripts, or maybe even in your dashboard. This release has a few additions to
our template engine that you might find useful.
If you are a power user, you probably use {% term templates %} in your
automations, scripts, or maybe even your dashboard. This release has a few
additions to our template engine that you might find useful.
To start with the [template integration]. The light and switch templates have
been migrated to support the new and modern YAML style. Thanks [@Petro31] for
@ -427,35 +481,40 @@ this one!
More noteworthy is the addition of a series of new template functions to make
working with data a lot easier:
- [`combine`](/docs/configuration/templating/#combining-dictionaries) - which can combine multiple dictionaries.
- [`difference`](/docs/configuration/templating/#find-elements-in-first-list-not-in-second-list) - find elements that are in the first list, but not in the second list.
- [`flatten`](/docs/configuration/templating/#flatten-a-list-of-lists) - is able to flatten a list of lists.
- [`floor_entities`](/docs/configuration/templating/#floors) - returns a list of entities associated with a floor.
- [`intersect`](/docs/configuration/templating/#find-common-elements-between-lists) - find common elements between lists.
- [`md5`, `sha1`, `sha256`, `sha512`](/docs/configuration/templating/#hashing) - common hashing functions.
- [`shuffle`](/docs/configuration/templating/#shuffling) - randomly shuffle a list of items.
- [`symmetric_difference`](/docs/configuration/templating/#find-elements-that-are-in-either-list-but-not-in-both) - find elements that are in either list, but not in both.
- [`typeof`](/docs/configuration/templating/#determining-types) - reveal the type of any variable or object for debugging.
- [`union`](/docs/configuration/templating/#combine-all-unique-elements-from-two-lists) - combine all unique elements from two lists.
- [`combine`](/docs/configuration/templating/#combining-dictionaries) Combine multiple dictionaries.
- [`difference`](/docs/configuration/templating/#find-elements-in-first-list-not-in-second-list) Find elements present in one list but not another.
- [`flatten`](/docs/configuration/templating/#flatten-a-list-of-lists) Flatten a list of lists into a single list.
- [`floor_entities`](/docs/configuration/templating/#floors) Retrieve entities associated with a specific floor.
- [`intersect`](/docs/configuration/templating/#find-common-elements-between-lists) Identify common elements between lists.
- [`md5`, `sha1`, `sha256`, `sha512`](/docs/configuration/templating/#hashing) Perform common hashing operations.
- [`shuffle`](/docs/configuration/templating/#shuffling) Randomly shuffle items in a list.
- [`symmetric_difference`](/docs/configuration/templating/#find-elements-that-are-in-either-list-but-not-in-both) Find items in either list but not in both.
- [`typeof`](/docs/configuration/templating/#determining-types) Determine the type of a variable or object for debugging.
- [`union`](/docs/configuration/templating/#combine-all-unique-elements-from-two-lists) Merge unique elements from two lists.
[@Petro31]: https://github.com/Petro31
[template integration]: /integrations/template
## Device hierarchy for energy management
This release, [@karwosts] has been on a mission to add an improvement to
Home Assistant's energy management system, and this one, has been requested
by quite a few users for a while now.
This release, [@karwosts] has introduced an improvement to Home Assistants
energy management system—one thats been highly requested by the community.
This release introduces the ability to create a device hierarchy for energy
management. This means you can now create a parent-child relationship between
devices in your energy configuration.
This means you can now create a **device hierarchy** within your energy
configuration, establishing parent-child relationships between devices.
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-energy-management-device-hierarchy.png" />
For example, imagine having a breaker monitoring the total energy consumption
of a circuit, but also separately tracking individual devices connected to that
circuit. Previously, Home Assistant might double-count this usage. Now, it
understands these relationships and accurately shows the individual device
usage without duplication.
This is great if, for example, you have a breaker that is monitoring the energy
consumption of a whole circuit, but also have individual devices on that
circuit that are also monitored.
<img class="no-shadow" alt="Sreenshot of the individual device usage graph taken from the energy dashboard" src="/images/blog/2025-04/energy-management-device-hierarchy.png" />
In this screenshot, the water heater is a child of the heat pump. Both report
energy usage separately, but the water heaters consumption is also included in
the total reported by the heat pump. With device hierarchy enabled,
Home Assistant correctly shows the usage of each device.
Awesome addition there [@karwosts]!
@ -467,7 +526,7 @@ 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](/join-chat) is an excellent place to be
at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
at, and dont forget to join our amazing [forums](https://community.home-assistant.io/).
Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
to get it fixed! Or, check [our help page](/help) for guidance for more
@ -488,7 +547,7 @@ possible for you. This release has the following backward-incompatible changes:
{% details "Automation & script variable scopes" %}
The `variables` action is no longer restricted to local scopes, it can now
The `variables` action is no longer restricted to local scopes; it can now
update the value of a variable also in outer scopes. If the variable was not
previously defined, it will be created in the top-level (script run) scope.
@ -499,12 +558,12 @@ actions:
y: 1
- sequence:
- variables:
y: 2 # Updates y which exists in the outer scope
y: 2 # Updates y, which exists in the outer scope
z: 2 # Since z is not defined yet, it is assigned in the top-level scope
- action: persistent_notification.create
data:
message: "{{ x }}, {{ y }}, {{ z }}" # x=1, y=2, z=2
# Note: previously it would be: x=1, y=1, z undefined
# Note: previously, it would be: x=1, y=1, z undefined
```
If you have automations or scripts that use the same variable name in
@ -523,7 +582,7 @@ distinct variable names to prevent any conflicts.
The effect `None` for hue lights has been changed to `off`.
If you rely on this value in your automation or script, you will need to
adopt them to this change.
adapt them to this change.
([@joostlek] - [#138990]) ([documentation](/integrations/hue))
@ -549,8 +608,8 @@ will thus no longer work.
{% details "Reolink" %}
The Reolink password is now limited to 31 characters. The latest versions of the
Reolink app and desktop client also have this 31 password character limit. If
you configured your Reolink password years ago, it is possible it is longer than
Reolink app and desktop client also have this 31-character limit. If you
configured your Reolink password years ago, it is possible it is longer than
31 characters. In that case you will get a reauthentication flow asking you to
change the password. Passwords longer than 31 characters can cause issues in the
latest Reolink API.

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB