2025.4: Current state
@ -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. 😎
|
||||
It’s 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)
|
||||
Don’t 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
|
||||
|
||||
We’re 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, we’re going a step further by delivering a dashboard that’s 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.
|
||||
|
||||
We’re going a step further by delivering a dashboard that’s 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. We’ve 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 you’ve 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 haven’t already, now’s the perfect time to start organizing your devices into areas - it’s 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
|
||||
area’s 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 what’s more to come. We’ve 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 that’s 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 community’s 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 haven’t organized your devices into areas yet, now’s the perfect time to
|
||||
start—it’s 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 what’s to come. We’ve 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 that’s 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 community’s 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? It’s good fun. However, having to say _"Ok Nabu"_, whenever you answer one of Assist’s 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? It’s good fun. However, having to say _"Ok Nabu"_, whenever
|
||||
you answer one of Assist’s 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, let’s 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! You’re 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 Assistant’s
|
||||
energy management system—one that’s 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 heater’s 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 don’t 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.
|
||||
|
BIN
source/images/blog/2025-04/areas-dashboard-detail.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
source/images/blog/2025-04/areas-dashboard-overview.png
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
source/images/blog/2025-04/card-clock.png
Normal file
After Width: | Height: | Size: 139 KiB |
After Width: | Height: | Size: 91 KiB |
BIN
source/images/blog/2025-04/restore-from-cloud.png
Normal file
After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 377 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 74 KiB |
BIN
source/images/blog/2025-04/voice-wizard.png
Normal file
After Width: | Height: | Size: 72 KiB |