2025.8: The summer of AI ☀️
Home Assistant 2025.8! 🎉
In most parts of the world, summer mode is in full effect! ☀️ Many at the Open Home Foundation
Summer breaks or not, we are currently very busy with our next product launch! In case you have missed it, this upcoming Wednesday, August 13 (12:00 PM PT, 3:00 PM ET, 21:00 CEST), we will have an extra live stream to announce the next big thing
Alright, on to the release! We keep moving during summer and are excited to bring you the August release of Home Assistant!
Let’s start with my personal favorite of this release: The improved experience when viewing a group, for example, a group helper with lights. 💡 When viewing such a group entity, you can now control the individual members of that group directly in that dialog. Super useful! I’m pretty sure that will be used a lot in our house.
But as the release title suggests, this release brings in an important foundation for new AI opportunities in Home Assistant: AI Tasks. Think of it as a way to delegate tasks to AI and get back the result of that task in a structured way so it can be used. Sounds vague? Dive into the release notes below!
Enjoy the release!
../Frenck
- AI in Home Assistant in 2025
- Area dashboard improvements
- Integrations
- Other noteworthy changes
- Need help? Join the community!
- Backward-incompatible changes
- All changes
AI in Home Assistant in 2025
We introduced our first AI integration in Home Assistant 2023.2 where users could let OpenAI handle their interactions with Home Assistant Voice. Since that time, AI has seen a big surge in popularity within the Home Assistant community for all kinds of use cases. Funny notifications when the laundry is done, analyzing what’s happening on a camera or skipping the song when AI determines it’s a country song
Though AI gets many people excited, there are still people who would prefer not to have this technology in their smart homes. We want to accommodate everyone’s choices, whether that’s to use AI or not. These features won’t appear unless you set up an AI integration and configure some specific settings.
Last year, we sat down to determine how all these use cases, all complicated to achieve, could be made accessible to everyone. The first thing that came out of this was integration sub-entries, which we shipped in the last release. It allows users to configure their Ollama server or API key for OpenAI once, and then create many different agents using different models or configuration underneath. In this release we’re building two new things you can optionally enable via these new sub-entries for AI integrations: AI tasks and Suggest with AI. We’re also introducing a new integration, OpenRouter, which is a unified LLM interface giving access to over 400 extra LLM models.
Big thanks to our AI community contributors: @AllenPorter
Streaming Text-to-Speech for Home Assistant Cloud
When you use Home Assistant Voice to talk to an AI, you can do a lot more than just control your home. LLMs can summarize the state of your home, and when using LLMs from Google and OpenAI, they can search the web to answer your questions with up-to-date information. This is great, but these answers can become quite long. Previously, voice responses wouldn’t begin until the AI had finished generating the entire answer, so longer replies meant a longer wait before anything was read aloud.
When a user waits for Home Assistant Voice to respond, long wait times really hurt the experience. We have overhauled Home Assistant so our Text-to-Speech system can start generating the response audio before the full response is done generating. Last release we launched this for Piper, our local Text-to-Speech system. In this release we’re making this available to the voices included in Home Assistant Cloud
This improvement will especially benefit users who use local AI (which can be slow in generating responses) or users who play long announcements on their speakers.
Integrate AI into your workflow using AI Task
AI Task is a new integration that allows you to generate data using AI. After you add the “AI Task” sub-entry in your AI of choice, the entity will appear in the integration. This allows you to attach files or cameras and ask it what is happening. The output can either be given in text or formatted in a data structure of your choice. This is all accessible from the new ai_task.generate_data
action, which can be embedded in automations, scripts, and template entities.
Below is an example of a template entity that updates every five minutes and counts the number of chickens in the coop. Example inspired by this blog post.
template:
- triggers:
- trigger: homeassistant
event: start
- trigger: time_pattern
minutes: "/5"
actions:
- action: ai_task.generate_data
data:
task_name: Count chickens
instructions: >-
This is the inside of my goose coop. How many birds (chickens, geese, and
ducks) are inside the coop?
structure:
birds:
selector:
number:
attachments:
media_content_id: media-source://camera/camera.chicken_coop
media_content_type: image/jpeg
response_variable: result
sensor:
- name: "Chickens"
state: "{{ result.data.birds }}"
state_class: total
To help get started with AI task, we’ve prepared a blueprint to analyze camera footage:
Work faster with Suggest with AI buttons
The AI Task integration has one extra feature under its belt: default entities. You can go to Settings > System > General and configure what AI Task entity you want to use as the default. With a default set, you no longer have to specify an entity when generating data, making it easier to share blueprints.

Setting a default also does more: When a default is configured, and only then, a new type of button will start showing up in different places in Home Assistant:

This button is not visible by default and will only appear if you enable it in the “AI suggestions” settings. For this release, the button has been added to the save dialog for automations and scripts. It helps users come up with a name, description, category, and label, while taking into account your current labels and other automation/script names. Keep in mind that generating this text sends the full contents of the automation or script, along with the names of your other automations/scripts and labels, to the LLM. So, this may be a task you will want to relegate to your shiny new local LLM.

Area dashboard improvements
We’ve added a small improvement to the areas dashboard based on your feedback. You can now choose to show the first camera in an area, or its image or icon, in the area dashboard editor. It’s a simple way to make certain area cards stand out a bit more—especially handy if you want quicker visual access to specific spaces.

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:
-
OpenRouter, added by @joostlek
Access over 400 different large language models through the OpenRouter API, providing a unified interface for AI integrations in your automations. -
Ubiquiti UISP airOS, added by @CoMPaTech
Monitor and manage airOS devices through their local API, providing performance metrics and device status information of your wireless point-to-point infrastructure. -
Uptime Kuma, added by @tr4nt0r
Monitor the uptime and status of your services and websites with Uptime Kuma, keeping track of your infrastructure health directly in Home Assistant. -
Volvo, added by @thomasddn
Connect your Volvo vehicle to Home Assistant for remote monitoring of battery status, location, and other vehicle information.
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:
-
Bauknecht, provided by Whirlpool Appliances, added by @thost96
-
Z-Box Hub, provided by Fibaro, added by @rappenze
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:
- The PlayStation Network integration received major updates from @tr4nt0r
and @JackJPowell , adding sensors to track your and your friends’ online status, currently playing game, and last online time. Also a binary sensor for your PS Plus subscription status, and a notification platform. PS Vita is now supported as well! -
Reolink cameras got multiple enhancements from @starkillerOG
: WiFi signal sensors for IP cameras, post-recording time controls, and pre-recording entities. - The AI Task and OpenAI Conversation integrations now support camera and file attachments, thanks to @balloob
. -
YoLink device support expanded with @matrixd2
adding support for the YS8009, YS7A12, and YS6614 devices. -
@ricohageman
added dew point sensors to the Awair integration. -
@bieniu
enhanced both GIOS and IMGW PIB integrations with new sensors, including water flow monitoring for IMGW PIB. -
WiZ now supports fans, added by @arturpragacz
. -
SwitchBot Cloud gained fan platform support from @XiaoLing-git
. -
Velux windows with rain sensors can now detect precipitation, thanks to @wollew
. -
SmartThings added vacuum support, implemented by @jennoian
. -
AmberElectric now provides forecast services, added by @madpilot
. -
OSO Energy got holiday mode services and custom away mode functionality from @osohotwateriot
. -
Nord Pool gained normalized price indices service, thanks to @gjohansson-ST
. -
Matter continues to expand with microwave oven and temperature control device support from @lboue
. -
@noahhusby
added play media support to Russound RIO. -
Pi-hole users can now leverage API v6 functionality, enabled by @HarvsG
. -
Immich users can now upload files directly through a new action, implemented by @mib1185
. -
KNX now includes a new group monitor with improved filtering and search options, thanks to @philippwaller
.
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 integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that have improved their quality scale:
-
5 integrations reached platinum 🏆
-
AirGradient, thanks to @joostlek
-
inexogy, thanks to @jpbede
-
EHEIM Digital, thanks to @autinerd
-
Pegel Online, thanks to @mib1185
-
Tankerkönig, thanks to @mib1185
-
AirGradient, thanks to @joostlek
-
3 integrations reached silver 🥈
-
Amazon Alexa Devices, thanks to @chemelli74
-
Homee, thanks to @Taraman17
-
Mealie, thanks to @andrew-codechimp
-
Amazon Alexa Devices, thanks to @chemelli74
-
2 integrations reached bronze 🥉
-
Onkyo, thanks to @arturpragacz
-
Ring, thanks to @sdb9696
-
Onkyo, thanks to @arturpragacz
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! 👏
Now available to set up from the UI
While most integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] can be set up directly from the Home Assistant user interface, some were only available using YAML configuration. We keep moving more integrations to the UI, making them more accessible for everyone to set up and use.
The following integration is now available via the Home Assistant UI:
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes:
-
@mib1185
added a new device class for absolute humidity with support for both sensor and number entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more]. Nice! - Group management was improved by @piitaya
, who added the ability to reorder members within a group, making it easier to organize your device groups exactly how you want them. Thanks! - System diagnostics was extended by @balloob
with the addition of a device analytics dump download feature. Awesome! - The History Stats integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] now includes a preview in the options flow, thanks to @karwosts
. This makes it easier to configure your history statistics. - The Template integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] received a massive update from @Petro31
! Here’s what’s new: - Trigger-based numeric sensors can now be set to unknown state
- The cover, fan, light, lock, and vacuum platforms are now supported in the UI
- Availability templates are now supported in the UI for all available platforms
- Preview entity has been added to the UI for alarm control panel and select platforms
- Template locks now support the opening state
- The alarm control panel, fan, light, lock, switch, and vacuum platforms now support all optimistic YAML modes
Control individual members of a group
Groups are a great way to control multiple entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] at once, but sometimes you want to control individual members of a group.
So, for this release, @piitaya

Weekdays in time trigger
The time trigger is already very
useful, but @hmmbob
He suggested adding the ability to specify weekdays in the time trigger, allowing users to create automations that only trigger at a specific time on specific days of the week.

This feature has been implemented in this release, allowing you to specify the weekdays in the time trigger. This is especially useful for automations that need to run on specific days, such as weekdays or weekends.
Energy flow on your energy dashboard
The Home Assistant energy dashboard is great, but as of this release it’s even a little better!
Based on the Sankey Chart custom card

Really cool addition to the energy dashboard @MindFreeze
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, 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 the Open Home Foundation Newsletter to get the latest news about features, things happening in our community, and other projects that support the 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:
Android Debug Bridge (ADB)
Android Debug Bridge media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Android Debug Bridge media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Apple TV
Apple TV media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Apple TV media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Cambridge Audio
Cambridge Audio media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Cambridge Audio media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Ecovacs
The battery property on vacuum entities is being removed in Home Assistant. Therefore, this property is now removed from this integration and is replaced by a battery level sensor.
Please review your automations, scripts or cards using the battery property and update the code to use the battery sensor instead.
(@mib1185
Husqvarna Automower
The summary field of calendar events provided by the Husqvarna Automower calendar platform has been updated to include the device name as a prefix. This change improves clarity when multiple mowers are used, but may affect automations relying on the previous summary format.
(@Thomas55555
LOOKin
LOOKin media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the LOOKin media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Matter
The battery property on vacuum entities is being removed in Home Assistant. Therefore, this property is now removed from this integration and is replaced by a battery level sensor.
Please review your automations, scripts or cards using the battery property and update the code to use the battery sensor instead.
Mediaroom
Mediaroom media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Mediaroom media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Miele
The battery property on vacuum entities is being removed in Home Assistant. Therefore, this property is now removed from this integration and is replaced by a battery level sensor.
Please review your automations, scripts or cards using the battery property and update the code to use the battery sensor instead.
(@astrandb
Reolink
The Reolink Wi-Fi signal strength sensor has changed from an indicator value between 0 and 4 (amount of bars) to a value in dBm between -85 dBm and -30 dBm.
Note that all values in this range are possible, but roughly the old values can be converted like this:
- 0 > -85 dBm
- 1 > -75 dBm
- 2 > -65 dBm
- 3 > -55 dBm
- 4 > -45 dBm
Roborock
The battery property on vacuum entities is being removed in Home Assistant. Therefore, this property is now removed from this integration and is replaced by a battery level sensor.
Please review your automations, scripts or cards using the battery property and update the code to use the battery sensor instead.
(@luca-angemi
Roku
Roku media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Roku media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Snapcast
Snapcast media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Snapcast media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Sony PlayStation 4
Sony PlayStation 4 media players entities now report to be off where they previously reported to be in standby state.
If you have automations or scripts that rely on the Sony PlayStation 4 media player reporting standby state, you will need to update them to use the new off
state.
(@emontnemery
Templates
Returning None
from a template binary sensor’s state template is now interpreted as unknown
state instead of as off
state.
If this behavior is not desired, you need to adjust your templates to return False
explicitly.
(@epenet
Tuya
The battery property on vacuum entities is being removed in Home Assistant. Therefore, this property is now removed from this integration and is replaced by a battery level sensor.
Please review your automations, scripts or cards using the battery property and update the code to use the battery sensor instead.
(@epenet
UniFi Protect
Support for UniFi Protect installations running on versions below 6.0.0 has been removed.
This change is necessary as we are migrating the Home Assistant integration to use the new UniFi Protect Public API, which is only available in current versions.
If you are running an older version of UniFi Protect, you will need to upgrade to at least version 6.0.0 in order to continue using this integration.
You can read more about the 6.0 release in Ubiquiti’s official blog post:
🔗 Introducing Protect 6.0
Note on future updates: The Public API is still under active development and may change over time. As we continue to migrate more features of the integration to use the Public API, it is likely that the minimum required version of UniFi Protect will increase further in upcoming Home Assistant releases. We will make these changes step by step as the API evolves and new capabilities become available.
What do I need to do?
Upgrade your UniFi Protect installation to version 6.0.0 or later.
Be prepared for possible further minimum version increases in the future.
If you are already using version 6.0.0 or newer, and the user in use has sufficient permissions, the integration will attempt to automatically create a new API key. If this succeeds, no further action is required. If it fails, a reauthentication will be triggered, requiring you to re-enter your password and provide your API key manually.
(@RaHehl
Whirlpool Appliances
The door state for washer/dryer machines is now reported as a binary sensor instead of being part of the main machine state sensor, which now reports only the cycle states. Users relying on this state in automations or scripts will need to update their configurations to use the new binary sensor.
(@abmantis
Z-Wave
With this release, you will need to update your zwave-js-server instance. You must use zwave-js-server 3.2.1 or greater (schema 44).
- If you use the Z-Wave JS add-on, you need at least version 0.20.0.
- If you use the Z-Wave JS UI add-on, you need at least version 4.8.0
. - If you use the Z-Wave JS UI Docker container, you need at least version 10.11.0
. - If you run your own Docker container or some other installation method, you will need to update your zwave-js-server instance to at least 3.2.1.
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:
- Handling open file limit in add-ons since OS 16
- The media player STANDBY state is deprecated
- The result attribute has been removed from the FlowResult typed dict
- Updated guidelines for helper integrations linking to other integration’s device
- Vacuum battery properties are deprecated
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.8