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!
Here we announced Speech-to-Phrase,
a voice recognition technology that is blazing fast and super accurate, even
on a Raspberry Pi! 🚀
I’m also super stoked about the announcement
that Apollo Automation has joined the
Works with Home Assistant program 🥰
And our friends at Music Assistant have
shipped their next big hit!
With awesome new features like Spotify Connect, Assist optimization,
an equalizer, and podcast & audiobook support. 🎶
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
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).
Note
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 contributed these,
so a big shout out to him!
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:
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:
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 was able to
bring back the integration is back—better than ever.
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 shared a guide on gathering test data, the community
stepped up—sending in valuable test data that helped fine-tune the integration.
This collaboration truly made a difference!
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, and mi/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 and @marcinbauer85 for this awesome improvement!
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,
to get it fixed! Or, check our help page for guidance for more
places you can go.
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 – #138883)
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 – #137600) (documentation)
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 (file).
You can get the diagnostics from the configuration entry or the device and open
an issue or submit a PR with the generated diagnostics file on the
aiohomeconnect repository
to suggest the missing program(s).
(@Diegorro98 – #136116) (documentation)
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 – #137027) (documentation)
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 – #137088) (documentation)
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 – #136996) (documentation)
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 – #138819) (documentation)
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 – #138313) (documentation)
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 – #138490) (documentation)
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:
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