2025.4: Beta release notes (#38220)

* 2025.4: Beta release notes

* Update changelog
This commit is contained in:
Franck Nijhof 2025-03-26 18:48:14 +01:00 committed by GitHub
parent cb56c6b50a
commit a0b850b9fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
43 changed files with 2281 additions and 57 deletions

View File

@ -9,6 +9,7 @@
# Pages
source/_integrations/3_day_blinds.markdown @starkillerOG
source/_integrations/_integration_docs_template.markdown @home-assistant/core
source/_integrations/abode.markdown @shred86
source/_integrations/acaia.markdown @zweckj
source/_integrations/accuweather.markdown @bieniu
@ -59,6 +60,7 @@ source/_integrations/aosmith.markdown @bdr99
source/_integrations/apache_kafka.markdown @bachya
source/_integrations/apcupsd.markdown @yuxincs
source/_integrations/api.markdown @home-assistant/core
source/_integrations/apollo_automation.markdown @OttoWinter @jesserockz @kbx81 @bdraco
source/_integrations/appalachianpower.markdown @tronikos
source/_integrations/apple_tv.markdown @postlund
source/_integrations/application_credentials.markdown @home-assistant/core
@ -292,6 +294,7 @@ source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck
source/_integrations/forked_daapd.markdown @uvjustin
source/_integrations/fortios.markdown @kimfrellsen
source/_integrations/foscam.markdown @krmarien
source/_integrations/frankever.markdown @balloob @bieniu @thecode @chemelli74 @bdraco
source/_integrations/freebox.markdown @hacf-fr @Quentame
source/_integrations/freedompro.markdown @stefano055415
source/_integrations/fritz.markdown @AaronDavidSchneider @chemelli74 @mib1185
@ -329,7 +332,7 @@ source/_integrations/google_assistant.markdown @home-assistant/cloud
source/_integrations/google_assistant_sdk.markdown @tronikos
source/_integrations/google_cloud.markdown @lufton @tronikos
source/_integrations/google_drive.markdown @tronikos
source/_integrations/google_generative_ai_conversation.markdown @tronikos
source/_integrations/google_generative_ai_conversation.markdown @tronikos @ivanlh
source/_integrations/google_mail.markdown @tkdrob
source/_integrations/google_photos.markdown @allenporter
source/_integrations/google_sheets.markdown @tkdrob
@ -488,6 +491,7 @@ source/_integrations/light.markdown @home-assistant/core
source/_integrations/light.template.markdown @home-assistant/core
source/_integrations/linak.markdown @abmantis
source/_integrations/linear_garage_door.markdown @IceBotYT
source/_integrations/linkedgo.markdown @balloob @bieniu @thecode @chemelli74 @bdraco
source/_integrations/linux_battery.markdown @fabaff
source/_integrations/linx.markdown @starkillerOG
source/_integrations/litejet.markdown @joncar
@ -611,6 +615,7 @@ source/_integrations/nyt_games.markdown @joostlek
source/_integrations/nzbget.markdown @chriscla
source/_integrations/obihai.markdown @dshokouhi @ejpenney
source/_integrations/octoprint.markdown @rfleming71
source/_integrations/ogemray.markdown @balloob @bieniu @thecode @chemelli74 @bdraco
source/_integrations/ohmconnect.markdown @robbiet480
source/_integrations/ohme.markdown @dan-r
source/_integrations/ollama.markdown @synesthesiam
@ -682,6 +687,7 @@ source/_integrations/prusalink.markdown @balloob
source/_integrations/ps4.markdown @ktnrg45
source/_integrations/pse.markdown @tronikos
source/_integrations/psoklahoma.markdown @tronikos
source/_integrations/pterodactyl.markdown @elmurato
source/_integrations/pure_energie.markdown @klaasnicolaas
source/_integrations/purpleair.markdown @bachya
source/_integrations/push.markdown @dgomes
@ -719,6 +725,7 @@ source/_integrations/recorder.markdown @home-assistant/core
source/_integrations/recovery_mode.markdown @home-assistant/core
source/_integrations/refoss.markdown @ashionky
source/_integrations/remote.markdown @home-assistant/core
source/_integrations/remote_calendar.markdown @Thomas55555
source/_integrations/renault.markdown @epenet
source/_integrations/renson.markdown @jimmyd-be
source/_integrations/reolink.markdown @starkillerOG
@ -809,6 +816,7 @@ source/_integrations/smart_home.markdown @starkillerOG
source/_integrations/smart_meter_texas.markdown @grahamwetzler
source/_integrations/smart_rollos.markdown @starkillerOG
source/_integrations/smarther.markdown @cgtobi
source/_integrations/smartthings.markdown @joostlek
source/_integrations/smarttub.markdown @mdz
source/_integrations/smarty.markdown @z0mbieprocess
source/_integrations/smhi.markdown @gjohansson-ST
@ -881,7 +889,7 @@ source/_integrations/tautulli.markdown @ludeeus @tkdrob
source/_integrations/technove.markdown @Moustachauve
source/_integrations/tedee.markdown @patrickhilker @zweckj
source/_integrations/tellduslive.markdown @fredrike
source/_integrations/template.markdown @PhracturedBlue @home-assistant/core
source/_integrations/template.markdown @Petro31 @PhracturedBlue @home-assistant/core
source/_integrations/tesla_fleet.markdown @Bre77
source/_integrations/tesla_wall_connector.markdown @einarhauks
source/_integrations/teslemetry.markdown @Bre77
@ -1021,7 +1029,6 @@ source/_integrations/youless.markdown @gjong
source/_integrations/youtube.markdown @joostlek
source/_integrations/zabbix.markdown @kruton
source/_integrations/zamg.markdown @killer0071234
source/_integrations/zengge.markdown @emontnemery
source/_integrations/zeroconf.markdown @bdraco
source/_integrations/zerproc.markdown @emlove
source/_integrations/zeversolar.markdown @kvanzuijlen

View File

@ -142,10 +142,9 @@ GEM
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass (3.4.25)
sass-embedded (1.86.0-arm64-darwin)
google-protobuf (~> 4.30)
sass-embedded (1.86.0-x86_64-linux-gnu)
sass-embedded (1.86.0)
google-protobuf (~> 4.30)
rake (>= 13)
sass-globbing (1.1.5)
sass (>= 3.1)
sassc (2.1.0)
@ -199,4 +198,4 @@ RUBY VERSION
ruby 2.6.2p47
BUNDLED WITH
2.5.3
2.5.3

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2025
current_minor_version: 3
current_patch_version: 4
date_released: 2025-03-21
current_minor_version: 4
current_patch_version: 0
date_released: 2025-04-02
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -72,4 +72,4 @@ The following entities are supported:
This integration follows standard integration removal, no extra steps are required.
{% include integrations/remove_device_service.md %}
{% include integrations/remove_device_service.md %}

View File

@ -1,19 +1,50 @@
---
title: Apollo Automation
description: Connect and control your Apollo Automation ESPHome devices using the ESPHome integration
ha_release: '2025.3'
ha_iot_class: Local Push
description: Connect and control your Apollo Automation devices using the ESPHome integration
ha_release: 0.85
ha_category:
- Sensor
- Presence detection
- Alarm
- DIY
- Update
ha_domain: apollo_automation
ha_integration_type: brand
ha_integration_type: virtual
ha_supporting_domain: esphome
ha_supporting_integration: ESPHome
ha_platforms:
- sensor
works_with:
- local
ha_codeowners:
- '@OttoWinter'
- '@jesserockz'
- '@kbx81'
- '@bdraco'
ha_config_flow: true
ha_platforms:
- alarm_control_panel
- assist_satellite
- binary_sensor
- button
- camera
- climate
- cover
- date
- datetime
- diagnostics
- event
- fan
- light
- lock
- media_player
- number
- select
- sensor
- switch
- text
- time
- update
- valve
ha_iot_class: Local Push
ha_dhcp: true
ha_zeroconf: true
---
[Apollo automation](https://apolloautomation.com/) is a member of the Made for ESPHome program.

View File

@ -10,7 +10,7 @@ ha_domain: azure_storage
ha_codeowners:
- '@zweckj'
ha_integration_type: service
ha_quality_scale: bronze
ha_quality_scale: platinum
---
This integration allows you to use [Azure storage accounts](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview) for use with Home Assistant Backups.

View File

@ -11,8 +11,9 @@ ha_codeowners:
- '@home-assistant/core'
ha_iot_class: Calculated
ha_platforms:
- diagnostics
- sensor
ha_integration_type: system
ha_integration_type: service
related:
- docs: /common-tasks/general/#backups
title: Backups

View File

@ -1,6 +1,6 @@
---
title: FrankEver
description: Integrate FrankEver (Powered by Shelly) devices
description: Connect and control your FrankEver devices using the Shelly integration
ha_category:
- Binary sensor
- Climate
@ -15,17 +15,18 @@ ha_category:
- Text
- Update
- Valve
ha_release: '0.115'
ha_release: 0.115
ha_domain: frankever
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
ha_codeowners:
- '@balloob'
- '@bieniu'
- '@thecode'
- '@chemelli74'
- '@bdraco'
ha_iot_class: Local Push
ha_domain: frankever
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
@ -41,9 +42,8 @@ ha_platforms:
- text
- update
- valve
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
ha_iot_class: Local Push
ha_zeroconf: true
---
{% include integrations/supported_brand.md %}

View File

@ -15,7 +15,7 @@ ha_platforms:
- sensor
ha_dhcp: true
ha_integration_type: integration
ha_quality_scale: gold
ha_quality_scale: platinum
---
The Fronius integration polls a [Fronius](https://www.fronius.com/) solar inverter or datalogger for details of a Fronius SolarNet setup and integrate it in your Home Assistant installation.

View File

@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@tronikos'
- '@ivanlh'
ha_domain: google_generative_ai_conversation
ha_integration_type: service
ha_platforms:

View File

@ -27,6 +27,7 @@ ha_platforms:
- select
- sensor
- switch
- time
ha_integration_type: integration
---

View File

@ -4,10 +4,13 @@ description: Home Assistant Hardware provides functionality shared between Home
ha_release: 2022.12
ha_category:
- Other
- Update
ha_codeowners:
- '@home-assistant/core'
ha_domain: homeassistant_hardware
ha_integration_type: system
ha_platforms:
- update
---
The Home Assistant Hardware integration provides functionality

View File

@ -4,11 +4,14 @@ description: Home Assistant Connect ZBT-1 provides hardware information for the
ha_release: 2022.9
ha_category:
- Other
- Update
ha_codeowners:
- '@home-assistant/core'
ha_domain: homeassistant_sky_connect
ha_integration_type: hardware
ha_config_flow: true
ha_platforms:
- update
---
The Home Assistant Connect ZBT-1 integration provides hardware information for the hardware configuration page.

View File

@ -4,10 +4,13 @@ description: Home Assistant Yellow provides hardware information for the hardwar
ha_release: 2022.7
ha_category:
- Other
- Update
ha_codeowners:
- '@home-assistant/core'
ha_domain: homeassistant_yellow
ha_integration_type: hardware
ha_platforms:
- update
---
The Home Assistant Yellow integration provides hardware information for the hardware configuration page.

View File

@ -10,6 +10,7 @@ ha_codeowners:
- '@keithle888'
ha_domain: igloohome
ha_platforms:
- lock
- sensor
ha_integration_type: integration
ha_quality_scale: bronze

View File

@ -20,6 +20,7 @@ ha_platforms:
ha_integration_type: integration
ha_config_flow: true
ha_dhcp: true
ha_quality_scale: platinum
---
This integration links Home Assistant with your Intergas gateway, including the boiler and any room thermostats attached to it.

View File

@ -14,6 +14,7 @@ ha_iot_class: Local Polling
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- sensor
---

View File

@ -25,6 +25,7 @@ ha_platforms:
- sensor
- switch
- update
ha_quality_scale: platinum
---
The **IronOS** {% term integration %} seamlessly connects Home Assistant with PINE64's Pinecil V2 soldering irons, allowing for remote monitoring and control. This integration provides real-time updates on temperature, power, and various other settings and diagnostic information.

View File

@ -19,6 +19,7 @@ ha_platforms:
- sensor
- switch
- vacuum
- water_heater
ha_integration_type: integration
ha_codeowners:
- '@LG-ThinQ-Integration'

View File

@ -1,6 +1,6 @@
---
title: LinkedGo
description: Integrate LinkedGo (Powered by Shelly) devices
description: Connect and control your LinkedGo devices using the Shelly integration
ha_category:
- Binary sensor
- Climate
@ -15,17 +15,18 @@ ha_category:
- Text
- Update
- Valve
ha_release: '0.115'
ha_release: 0.115
ha_domain: linkedgo
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
ha_codeowners:
- '@balloob'
- '@bieniu'
- '@thecode'
- '@chemelli74'
- '@bdraco'
ha_iot_class: Local Push
ha_domain: linkedgo
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
@ -41,9 +42,8 @@ ha_platforms:
- text
- update
- valve
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
ha_iot_class: Local Push
ha_zeroconf: true
---
{% include integrations/supported_brand.md %}

View File

@ -3,8 +3,8 @@ title: Network UPS Tools (NUT)
description: Instructions on how to set up NUT sensors within Home Assistant.
ha_category:
- Button
- System monitor
- Switch
- System monitor
ha_iot_class: Local Polling
ha_release: 0.34
ha_domain: nut

View File

@ -1,6 +1,6 @@
---
title: Ogemray
description: Integrate Ogemray (Powered by Shelly) devices
description: Connect and control your Ogemray devices using the Shelly integration
ha_category:
- Binary sensor
- Climate
@ -15,17 +15,18 @@ ha_category:
- Text
- Update
- Valve
ha_release: '0.115'
ha_release: 0.115
ha_domain: ogemray
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
ha_codeowners:
- '@balloob'
- '@bieniu'
- '@thecode'
- '@chemelli74'
- '@bdraco'
ha_iot_class: Local Push
ha_domain: ogemray
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
@ -41,9 +42,8 @@ ha_platforms:
- text
- update
- valve
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
ha_iot_class: Local Push
ha_zeroconf: true
---
{% include integrations/supported_brand.md %}

View File

@ -12,6 +12,7 @@ ha_config_flow: true
ha_domain: ohme
ha_platforms:
- button
- diagnostics
- number
- select
- sensor

View File

@ -15,6 +15,7 @@ related:
title: Backups
ha_quality_scale: platinum
ha_platforms:
- diagnostics
- sensor
---

View File

@ -3,8 +3,8 @@ title: PG LAB Electronics
description: Instructions on how to integrate PG LAB Electronics with Home Assistant.
ha_category:
- Cover
- Switch
- Sensor
- Switch
ha_release: '2025.3'
ha_iot_class: Local Push
ha_config_flow: true
@ -13,8 +13,8 @@ ha_codeowners:
ha_domain: pglab
ha_platforms:
- cover
- switch
- sensor
- switch
ha_integration_type: integration
ha_quality_scale: bronze
---

View File

@ -1,5 +1,5 @@
---
title: Remote calendar
title: Remote Calendar
description: Instructions on how to use remote calendars in Home Assistant.
ha_category:
- Calendar
@ -9,9 +9,11 @@ ha_config_flow: true
ha_domain: remote_calendar
ha_platforms:
- calendar
- diagnostics
ha_codeowners:
- '@Thomas55555'
ha_integration_type: service
ha_quality_scale: silver
---
The **Remote calendar** {% term integration %} allows you to read a calendar in Home Assistant for powering automations.

View File

@ -24,16 +24,16 @@ ha_platforms:
- diagnostics
- image
- number
- scene
- select
- sensor
- switch
- time
- vacuum
ha_integration_type: integration
ha_quality_scale: silver
ha_dhcp: true
---
The Roborock {% term integration %} allows you to connect your [Roborock](https://us.roborock.com/pages/robot-vacuum-cleaner) robotic vacuums to your Home Assistant. Roborock vacuums are
intelligent home cleaning robots and, depending on the specific device, may have features
like mopping capabilities, laser navigation, and options for changing cleaning

View File

@ -31,6 +31,7 @@ ha_platforms:
ha_homekit: true
ha_dhcp: true
ha_integration_type: integration
ha_quality_scale: platinum
---
The **Sensibo** {% term integration %} integrates [Sensibo](https://sensibo.com) devices into Home Assistant.

View File

@ -29,6 +29,7 @@ ha_platforms:
- button
- climate
- cover
- diagnostics
- event
- fan
- light
@ -43,6 +44,9 @@ ha_platforms:
- valve
ha_dhcp: true
ha_integration_type: integration
ha_codeowners:
- '@joostlek'
ha_quality_scale: bronze
---
[SmartThings](https://www.samsung.com/smartthings/) is a home automation platform for connecting with Samsung or third-party devices.

View File

@ -4,8 +4,8 @@ description: Instructions on how to integrate Snoo into Home Assistant
ha_category:
- Binary Sensor
- Event
- Sensor
- Select
- Sensor
- Switch
ha_iot_class: Cloud Push
ha_release: 2025.3
@ -16,8 +16,8 @@ ha_domain: snoo
ha_platforms:
- binary_sensor
- event
- sensor
- select
- sensor
- switch
ha_integration_type: integration
ha_quality_scale: bronze

View File

@ -14,6 +14,7 @@ ha_config_flow: true
ha_dhcp: true
ha_platforms:
- binary_sensor
- button
- media_player
- sensor
ha_integration_type: integration

View File

@ -13,6 +13,7 @@ ha_release: 0.12
ha_iot_class: Local Push
ha_quality_scale: internal
ha_codeowners:
- '@Petro31'
- '@PhracturedBlue'
- '@home-assistant/core'
ha_domain: template

View File

@ -9,7 +9,6 @@ ha_domain: wallbox
ha_platforms:
- lock
- number
- select
- sensor
- switch
ha_config_flow: true

View File

@ -12,8 +12,8 @@ ha_codeowners:
- '@adam-the-hero'
ha_domain: watergate
ha_platforms:
- sensor
- event
- sensor
- valve
ha_quality_scale: bronze
ha_integration_type: integration

View File

@ -59,4 +59,4 @@ Following WebDAV services are known to have issues with Home Assistant backups:
- Yandex Disk is not supported, as the speed is artificially slowed down when using WebDAV.
- mail.ru Cloud is not supported due to the lack of support for WebDAV properties.
- pCloud WebDAV implementation proved to be unstable and is not recommended for backups.
- pCloud WebDAV implementation proved to be unstable and is not recommended for backups.

View File

@ -0,0 +1,581 @@
---
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_formatted: "April 2, 2025"
author: Franck Nijhof
author_twitter: frenck
comments: true
categories:
- Release-Notes
- Core
og_image: /images/blog/2025-04/social.jpg
---
<lite-youtube videoid="-w9IBKg5RAw" videotitle="Home Assistant 2025.4 Release Party"></lite-youtube>
{% note %}
**Welcome to the beta release notes for Home Assistant 2025.4** 🎉
<br />
Please note that these release notes are a work in progress. 👷‍♀️ We will be
completing them over the next couple of days. Not all features might be final
yet, and some features _**may not** make it into the final release_.
<br />
**Want to help test the beta?** Awesome! ❤️ We have documented how you
[can join our beta channel and install the beta here](/common-tasks/os/#running-a-beta-version).
<br />
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. 😎
<br />
**Reporting issues**: As this is a beta test, you might encounter unexpected
behavior or issues. 🐞 We use the GitHub issue tracker to track beta issues.
You can find our issue trackers and the reported issues during beta here:
<br />
- [Report(ed) beta **dashboards/UI/frontend** issues](https://github.com/home-assistant/frontend/milestone/130)
- [Report(ed) beta **integrations/automations/backend/core** issues](https://github.com/home-assistant/core/milestone/732)
- [Report(ed) beta **documentation** issues](https://github.com/home-assistant/home-assistant.io/milestone/137)
🙏 When reporting issues, **make sure to mention the exact beta version you are
running** in the issue description. This will help us identify and track the
issue correctly. Read more about [reporting issues here](/help/reporting_issues/).
<br />
Issues introduced in the beta are processed with priority. 🔝
{% endnote %}
{% tip %}
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 %}
Home Assistant 2025.4! 🎉
Enjoy the (beta) release!
../Frenck
<!--more-->
- [BETA Feedback! Automation \& script variable scopes](#beta-feedback-automation--script-variable-scopes)
- [Introducing the areas dashboard (experimental)](#introducing-the-areas-dashboard-experimental)
- [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)
- [Starting conversations](#starting-conversations)
- [Pre-announce sound](#pre-announce-sound)
- [Restoring backup from Home Assistant Cloud during onboarding](#restoring-backup-from-home-assistant-cloud-during-onboarding)
- [Integrations](#integrations)
- [New integrations](#new-integrations)
- [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations)
- [Other noteworthy changes](#other-noteworthy-changes)
- [Templates](#templates)
- [Device hierarchy for energy management](#device-hierarchy-for-energy-management)
- [Need help? Join the community!](#need-help-join-the-community)
- [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.
## Introducing the areas dashboard (experimental)
This release we are introducing a new, _experimental_, automatically generated
dashboard that is based on the areas in your Home!
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-dashboard-areas.png" />
The overview page of the dashboard shows the areas in your home with the
most important information about them. Selecting the area header, will take
you to a detailed view of the area, showing everything you have in that area.
To use this dashboard today, select the "Areas" option from the list when
you add a new dashboard. Please note, that this dashboard is currently marked
as experimental, and we are looking for your feedback on it!
Our goal is to iterate on this dashboard and keep improving it, until it
potentially makes it to become the default dashboard in the future.
## Time for a new card!
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!
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-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!
It supports a few time formats, and of course, comes in a different sizes to
match your needs.
**TODO**: Link to documentation
[@mrdarrengriffin]: https://github.com/mrdarrengriffin
## Voice
The year of the voice is long gone, but we are still working on improving
the voice experience in Home Assistant. This release has a few improvements
to the voice experience in Home Assistant!
### Improved Voice Wizard
If you set up a Home Assistant voice assistant compatible device,
like the [Home Assistant Voice Preview Edition][pve],
you will be guided through setting up your voice assistant, and this experience
has been greatly improved in this release.
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" />
The wizard will now help you making the right choice, based on the language
you are using, the device you are setting up, and the capabilities of your
device. This will help you to get the best experience out of 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 isn't fun, as before each sentence/answer you have
to say _"Ok Nabu"_, in order to get the assistant to listen to you.
This release introduces the ability to have a continued conversation with LLMs.
If the LLM is returning a question, we will detect that and keep the
conversation going, without the need for you to say _"Ok Nabu"_ again.
<lite-youtube videoid="KyAuzYe4vAw" videotitle="Continued conversation demo"></lite-youtube>
This is a great way to have a more natural conversation with your voice
assistants, and it works with all LLMs that are supported by Home Assistant.
### Starting conversations
During [Voice chapter 9](https://www.youtube.com/watch?v=k6VvzDSI8RU&t=4750s),
we added the ability for Home Assistant [to call analog phones to start a
conversation](/blog/2025/02/13/voice-chapter-9-speech-to-phrase/#home-assistant-phones-home-analog-phones-are-back).
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 will initiate interaction from a voice assistant, instead of you having
to trigger the conversion by saying the wake work.
_**TODO:**_ Add a demo video here.
Imaging, for example, you have left the garage door open, and a few minutes
later, your 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
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 for all other cases as well.
[pve]: /voice-pe/
### Pre-announce sound
The above feature is great, but having something starting 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 doing an announcement.
Using this, you can play a little sounds 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 when the doorbell is rang, or the the railroad
announcement sounds to announce your train this morning is delayed (so you
have a little more time to grab your coffee before you leave).
## Restoring backup from Home Assistant Cloud during onboarding
If you are a user of [Home Assistant Cloud by Nabu Casa][cloud], it means
you can safely store a backup of your Home Assistant installation in the cloud
as part of your subscription. A really convenient service that ensure you always
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
are migrating to a new Home Assistant 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.
[cloud]: https://www.nabucasa.com/
## Integrations
Thanks to our community for keeping pace with the new {% term integrations %}
and improvements to existing ones! Youre all awesome 🥰
### New integrations
We welcome the following new integrations in this release:
- **[Pterodactyl]**, added by [@elmurato]
Control and monitor your [Pterodactyl game server management panel].
- **[Remote calendar]**, added by [@Thomas55555]
Add remote calendar URLs as a calendar to Home Assistant.
- **[Bosh Alarm**], added by [@?]
Control and monitor your Bosh alarm system.
[@elmurato]: https://github.com/elmurato
[@Thomas55555]: https://github.com/Thomas55555
[Bosh Alarm]: /integrations/bosh_alarm
[pterodactyl game server management panel]: https://pterodactyl.io/
[Pterodactyl]: /integrations/pterodactyl
[Remote calendar]: /integrations/remote_calendar
This release also has new virtual integrations. Virtual integrations
are stubs that are handled by other (existing) integrations to help with
findability. This one is new:
- **[FrankEver]**, provided by [Shelly], added by [@bieniu]
- **[LinkedGo]**, provided by [Shelly], added by [@bieniu]
- **[Ogemray]**, provided by [Shelly], added by [@bieniu]
[@bieniu]: https://github.com/bieniu
[FrankEver]: /integrations/frankever
[LinkedGo]: /integrations/linkedgo
[Ogemray]: /integrations/ogemray
[Shelly]: /integrations/shelly
### Noteworthy improvements to existing integrations
It is not just new {% term integrations %} that have been added; existing
integrations are also being constantly improved. Here are some of the noteworthy
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]!
- [@joostlek] has absolute 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,
washer rinse cycle settings, TV and media player support, and improved device
handling. Awesome work there!
- Not only SmartThings is receiving love, [@Diegorro98] has been constantly at
work improving and tuning the [Home Connect] integration. Thank you so much!
- The [Roborock integration] has been extend to support dryer controls and button
entities to start routines. Thanks [@Lash-L] and [@regevbr]!
- [Reolink] cannot be missing in this list. This release adds support for their
smart AI sensors, and adds a day/night state sensor. Nice work [@starkillerOG]!
- [@tr4nt0r] extended the actions [Habitica integration] with lots of new
and improved actions to managed your habits, rewards and dailies. Thanks!
- The [Microsoft OneDrive integration] has a new action that allows you to
upload files to OneDrive. Nice [@zweckj]!]
- [@andrewsayre] extended [HEOS] with support for browsing media, allowing
your to browse things like TuneIn and play them on your HEOS devices.
[@andrewsayre]: https://github.com/andrewsayre
[@Diegorro98]: https://github.com/Diegorro98
[@joostlek]: https://github.com/joostlek
[@Lash-L]: https://github.com/Lash-L
[@regevbr]: https://github.com/regevbr
[@Shulyaka]: https://github.com/Shulyaka
[@starkillerOG]: https://github.com/starkillerOG
[@timlaing]: https://github.com/timlaing
[@tr4nt0r]: https://github.com/tr4nt0r
[@zweckj]: https://github.com/zweckj
[Habitica integration]: /integrations/habitica
[HEOS]: /integrations/heos
[Home Connect]: /integrations/home_connect
[Microsoft OneDrive integration]: /integrations/onedrive
[OpenAI conversation integration]: /integrations/openai_conversation
[Reolink]: /integrations/reolink
[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])
## Other noteworthy changes
There are many more improvements in this release; here are some of the other
noteworthy changes this release:
- The [Home Assistant Yellow](/yellow) and [Home Assistant ZBT-1](/sky_connect)
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]!
- We now provide sensors for about your [backups]! Providing your 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!
- 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 card! Hold and
double tap actions are now available through the UI. Thanks [@piitaya]!
[@arturpragacz]: https://github.com/arturpragacz
[@bdraco]: https://github.com/bdraco
[@karwosts]: https://github.com/karwosts
[@mib1185]: https://github.com/mib1185
[@piitaya]: https://github.com/piitaya
[@puddly]: https://github.com/puddly
[backups]: /integrations/backup
[device selector]: /docs/blueprint/selectors/#device-selector
[Google Assistant]: /integrations/google_assistant
[HomeKit]: /integrations/homekit_controller
## 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.
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
this one!
More noteworthy are the addition of a series of new template function 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 first list, but not in 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.
[@Petro31]: https://github.com/Petro31
[template integration]: /integrations/template
## Device hierarchy for energy management
This release, [@karwosts] has been on a missing to add a 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 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.
<img class="no-shadow" alt="TODO: Replace." src="/images/blog/2025-04/temp-energy-management-device-hierarchy.png" />
This is, for example, great if 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.
Awesome addition there [@karwosts]!
[@karwosts]: https://github.com/karwosts
## 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](/join-chat) is an excellent place to be
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
places you can go.
Are you more into email? [Sign-up for our Building the Open Home Newsletter](/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
We do our best to avoid making changes to existing functionality that might
unexpectedly impact your Home Assistant installation. Unfortunately, sometimes,
it is inevitable.
We always make sure to document these changes to make the transition as easy as
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
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.
```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
```
If you have automations or scripts which use the same variable name in
different (previously isolated) scopes will need to update them: simply use
distinct variable names to prevent any conflicts.
([@arturpragacz] - [#141114])
[@arturpragacz]: https://github.com/arturpragacz
[#141114]: https://github.com/home-assistant/core/pull/141114
{% enddetails %}
{% details "Hue" %}
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.
([@joostlek] - [#138990]) ([documentation](/integrations/hue))
[@joostlek]: https://github.com/joostlek
[#138990]: https://github.com/home-assistant/core/pull/138990
{% enddetails %}
{% details "Persistent notifications" %}
Persistent notifications with `notification_id` `config_entry_reconfigure` are
no longer created when an integration fail to authenticate.
Automations [triggering on such persistent notification](/integrations/persistent_notification/#automation)
will thus no longer work.
([@emontnemery] - [#140932]) ([documentation](/integrations/gpsd))
[@emontnemery]: https://github.com/emontnemery
[#140932]: https://github.com/home-assistant/core/pull/140932
{% enddetails %}
{% 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
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
latests Reolink API.
([@starkillerOG] - [#140789]) ([documentation](/integrations/reolink))
[@starkillerOG]: https://github.com/starkillerOG
[#140789]: https://github.com/home-assistant/core/pull/140789
{% enddetails %}
If you are a custom integration developer and want to learn about changes and
new features available for your integration: Be sure to follow our
[developer blog][devblog]. The following changes are the most notable for this release:
- [Changes to ConfigSubentryFlow](https://developers.home-assistant.io/blog/2025/03/24/config-subentry-flow-changes)
- [Media player toggle action changed](https://developers.home-assistant.io/blog/2025/03/14/media-player-toggle-adjusted/)
- [UnitSystem dataclass is now frozen](https://developers.home-assistant.io/blog/2025/03/25/frozen-unit-system)
[devblog]: https://developers.home-assistant.io/blog/
## 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 2025.4](/changelogs/core-2025.4)

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB