2025.3: View those headers!
Home Assistant 2025.3! 🎉
But! Before I dive into the release, let me quickly catch you up on things you might have missed. There is a lot of cool stuff happening lately!
We had a live stream about Assist: Voice chapter 9
I’m also super stoked about the announcement
that Apollo Automation
And our friends at Music Assistant
Great stuff, right? But this release today is also packed with amazing things!
After a few releases focusing on backups, we are back with a release packed with new features and improvements, mostly focusing on dashboards! 🤩
The new abilities, the tile card’s fine-tuning, and the dashboard view’s new headers are really cool; I can’t wait to see screenshots of your dashboards with these new features! 📸
Enjoy the release!
../Frenck
- Dashboard view headers
- Tile cards
- Assist chat now has streaming responses
- Integrations
- Other noteworthy changes
- Iterating on the legends of graphs
- Grouping/clustering of trackables on the maps
- Need help? Join the community!
- Backward-incompatible changes
- All changes
Dashboard view headers
This release brings a whole new look with the ability to add headers to your dashboards. This allows you to add a title and welcoming text to your dashboards using Markdown and even templates. Additionally, this gives you a lot of space for badges next to the header.
As always, we’ve baked in a lot of customization, with the ability to align the header in multiple different ways. It comes with a responsive layout by default, but you can also set it to always be left-aligned or center-aligned.

The badges can also be positioned below the text (default) or above the text. A great visual menu makes it easy to choose how you want to organize your header.
Tile cards
This release has made many improvements and fine touches to the tile card. It is one of the most versatile cards in Home Assistant, and we have made it even better!
Making tile card interactions clearer
There is no doubt the tile card can do a lot, but ever since its creation, it has had a little flaw that you might have run into yourself…
How would you know if tapping the icon on the tile card would trigger an action or whether it would just display more information? We have addressed this with some subtle visual language in this release!

When tapping the icon on the tile card directly performs an action, like for example, turning on a light, the icon will have a circular background around it. In all other cases, the little circle will not be displayed.
Now you know! 👍
Position tile card features
Since we added support for resizing cards, we gained the ability to make very wide tile cards. These cards have a lot of empty space surrounding them, which can be helpful at times.
But what if you could do something useful with that space? Now you can! All features of a tile card can now be positioned inline in the tile card!

This brings a completely new look and feel, which we are sure you will love! From the settings, you can add a feature, like a brightness slider, and position it either below (bottom) or to the right side of the icon (inline).
Only the first feature can be positioned inline; the rest will not be displayed.
New tile card features
This release also ships with two new tile card features that can be
added to your entities to provide new controls. @jpbede
Switch toggle
The first addition is one that is just surprising we didn’t have it before: A switch toggle! This allows you to toggle a switch entity directly from the tile card.

Counter actions
The second addition is a counter toggle. This allows you to add a button to increase, decrease, or reset a counter entity directly from the tile card.

Tiny interaction improvements
More tweaks to the tile card have been made to improve their interaction experience. For example, we now have nice little animations when you hover over the tile card, making it more apparent that it is interactive. Still, when you tap the tile card, it will show a little animation to indicate that the tap was registered.

Another nice addition is that the tile card can now interact with your keyboard! Tab and shift + tab your way across the screen like the keyboard warrior you are.
Editor improvements
Not just the tile card itself has been improved, but also the editor for the tile card has been improved. It is now clearer and easier to use.
The new control gives you a better overview of what the option will do for the tile card.

Assist chat now has streaming responses
If you have hooked up an LLM, like ChatGPT, to your Assist as a conversation agent, it will now livestream the responses to you when you are text chatting with it!
When experimenting with larger models, or on slower hardware, LLM’s can feel sluggish. They only respond once the entire reply is generated, which can take frustratingly long for lengthy responses (you’ll be waiting a while if you ask it to tell you an epic fairy tale).
We’ve added support for LLMs to stream their response to the text chat, allowing you to start reading while the response is being generated. A bonus side effect is that commands are now also faster: they will be executed as soon as they come in, without waiting for the rest of the message to be complete.
There was quite a lot more to tell around Assist and the new voice features; in case you missed it, you can read all about it in this blog post:
📰 Speech-to-Phrase brings voice home - Voice chapter 9
Integrations
Thanks to our community for keeping pace with the new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] and improvements to existing ones! You’re all awesome 🥰
New integrations
We welcome the following new integrations in this release:
-
Azure Storage, added by @zweckj
Use Azure Storage as a target location for your backups. -
IOmeter, added by @MaestroOnICe
Read out your IOmeter devicedata locally. -
PG LAB Electronics, added by @pglab-electronics
Control your PG LAB Electronics devicesfrom Home Assistant. -
SensorPush Cloud, added by @sstallion
Integrate your SensorPush deviceswith Home Assistant, using their cloud service. -
SNOO, added by @Lash-L
Get the state of your SNOO Smart Sleeper Bassinetinto Home Assistant. -
WebDAV, added by @jpbede
Use any WebDAV compatible service as a target location for your backups.
This release also has new virtual integrations. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. These ones are new:
-
Burbank Water and Power (BWP), provided by Opower, added by @tronikos
-
Heicko, provided by Motionblinds, added by @starkillerOG
-
LINAK, provided by Idasen Desk, added by @abmantis
-
Linx, provided by Motionblinds, added by @starkillerOG
-
Smart Rollos, provided by Motionblinds, added by @starkillerOG
-
Ublockout, provided by Motionblinds, added by @starkillerOG
Noteworthy improvements to existing integrations
It is not just new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that have been added; existing integrations are also being constantly improved. Here are some of the noteworthy changes to existing integrations:
-
@MartinHjelmare
and @Diegorro98 have been putting in a lot of effort to bring the Home Connect integration to the next level. Nice! - Got an ESPHome device that is acting up? @bdraco
has added a new option to the integration to let Home Assistant shadowlog the device logs. Helpful! - The OpenAI conversation integration now supports the
o1
,o1-preview
,o1-mini
, ando3-mini
reasoning models. Thanks, @Shulyaka! - The Shelly integration now supports the 4th generation of the Shelly Flood
sensors and added support for Shelly script events entities.
Thanks, @chemelli74
and @wjtje ! - Support for the Switchbot Remote
has been added to the Switchbot integration. Thanks, @awahlig ! - UniFi version 9 introduced zone-based rules. These are now supported by
Unifi integration. Thanks, @Samywamy10
! -
@Galorhallen
has added support for effects in Govee lights. Nice!
SmartThings
The SmartThings integration has been completely rewritten! 🎉 In December,
SmartThings shut down the old authentication method, but thanks to
SmartThings’ hard work and close collaboration with us, @joostlek
No more setting up routing, exposing ports, or creating developer accounts with access tokens—just log in with your Samsung account, and you’re good to go!
And there’s more! Push updates now work without exposing your instance to the internet, making the experience faster, seamless, and more secure! 🚀
A huge shoutout to our amazing community, who played a key role in this effort!
💙 When @joostlek
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes this release:
- Ever upgraded Home Assistant and needed to do a hard refresh in your
browser to make it work again? We have been able to reduce the cases in
which this happens! Thanks, @bramkragten
! -
@balloob
made a small change with a big impact. When you set up a new integration for a new device, Home Assistant will now redirect you to the device page after setting it up. Nice! - There is now an option to add an extra margin to the top of a section view.
Thanks, @piitaya
! - The add/edit area dialog has been improved and compacted. They are
much more pleasant to use now. Thanks, @jpbede
! - We now have a device class for the wind direction sensors! Thanks, @edenhaus
! -
@jschlyter
has added the energy distance device class for sensors, which supports the following units: kWh/100mi
,kWh/100km
, andmi/kWh
, including conversion between them. Awesome! - Media player entities that support browsing media now have a new action
available to browse media as an action with a response. Thanks, @PeteRager
! -
@rikroe
has added an action to retrieve the configuration of a schedule helper. Thanks!
Iterating on the legends of graphs
Last release, we made quite a big change to the charts by replacing the software we use to make these graphs in Home Assistant. Things changed behind the scenes, but our aim to start was to make it look and feel similar.
However, we received a lot of feedback from the community that the legends shown on the new graphs were suboptimal. Our UX and frontend teams have been working hard to improve this situation and make the new graph legends more similar to the old ones.

By default, we show the legend below the graph and show as many data points as possible. If there are too many, they will be displayed on demand using the little ellipsis button.
When using these cards on your dashboard, if you want to always show the full legend, a new option will allow you to keep it fully visible.
You can now also zoom in and out, by double clicking on a graph. If you want more control over the range you want to view in your graph, you can press the ctrl/cmd key and then select the range on the graph you want to zoom in on.
Grouping/clustering of trackables on the maps
The map card is perfect for visualizing your entities’ locations, but when too many cluster together in the same spot, it can get a bit cluttered.
To tackle this, we’ve introduced marker clustering, which groups nearby entities together, making it easier to see them at a glance. When zooming in, the markers ‘spider’ out, showing individual entity locations with a connecting line to their original positions. You can temporarily disable clustering with a simple toggle.
Thanks @jpbede

Need help? Join the community!
Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!
Our very active Discord chat server is an excellent place to be at, and don’t forget to join our amazing forums.
Found a bug or issue? Please report it in our issue tracker
Are you more into email? Sign-up for our Building the Open Home Newsletter to get the latest news about features, things happening in our community and other news about building an Open Home; straight into your inbox.
Backward-incompatible changes
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:
Automations & scripts
The wait
variable and variables defined by a response_variable
set in an
inner scope of a script or automation now propagate to outer scopes also if
a variables
action is present in the inner scope.
Furthermore, variables defined by a response_variable
now also propagate
out from parallel
sequences. Scripts and automations which relied on the
older (buggy) behavior might need to be adjusted.
(@arturpragacz
GPSD
All state attributes of the main sensor were replaced with a dedicated sensor Home Assistant in 2024.9. The deprecated attributes have now been removed.
(@jrieger
Home Connect
Some programs and program switches (which are being deprecated) and program
select entities may not be exposed anymore by the integration as they are
missing an aiohomeconnect
program key enumeration (fileaiohomeconnect
repository
(@Diegorro98
Using program and option keys that aren’t in the API documentation in Home
Connect actions will no longer work. To be able to use undocumented program or
option keys, open an issue or submit a pull request with the required keys at
MartinHjelmare/aiohomeconnect
(@Diegorro98
Multiple Home Connect config entries will not be allowed to be configured. For regular users where all appliances in the home are connected to the same Home Connect account, there should not be any reason to have more than one config entry since all appliances in the home will be connected to the same account and config entry.
(@Diegorro98
MQTT
Legacy color_mode
support for MQTT JSON lights has been removed. The support
was deprecated in HA Core 2024.4.
Users with a YAML setup have been instructed to update their configuration in
configuration.yaml
via repair issue flow. Deprecation issues with MQTT JSON
lights set up through discovery were communicated via warnings in the logs.
Using the removed parameters in discovery will not break the configuration but
will still log a warning.
(@jbouwh
Proximity
The distance is now measured to the edge of the monitored zones (it takes the radius into account), instead of to the center of the zone as before. This leads to slightly different expected distance values, which you may have to adjust accordingly in your existing automations.
(@Spcemarine
SmartThings
The energy and power sensors have been removed for every device that has a switch. They rarely worked because there were no energy or power capabilities available to get data from. If you do have the capabilities, it will still work for you.
(@joostlek
There are a lot of states that have been renamed; this might need an update in your automations or other configurations.
- Set options for dishwasher job state sensor in SmartThings (#139349
) - Add translatable states to SmartThings media source input (#139353
) - Add translatable states to SmartThings media playback (#139354
) - Add translatable states to oven mode in SmartThings (#139356
) - Add translatable states to oven job state in SmartThings (#139361
) - Add translatable states to robot cleaner movement in SmartThings (#139363
) - Add translatable states to robot cleaner turbo mode in SmartThings (#139364
) - Add translatable states to washer job state in SmartThings (#139368
) - Add translatable states to dryer job state in SmartThings (#139370
)
Synology DSM
The scan interval option has been removed, and the default of 15 minutes is used. If needed, there is an integration-independent and common way to set a custom polling interval.
(@mib1185
TechnoVE
The status sensor state high_charge_period
was renamed to high_tariff_period
.
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. The following changes are the most notable for this release:
- Backup agents
- Changed config entry state transitions
- Changes to the BackupAgent API
- Energy by distance units
- New checks for config flow unique ID
- Relocate dhcp/ssdp/usb/zeroconf ServiceInfo models
- Support for config subentries
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.3