2025.7: That's the question

Home Assistant 2025.7! 🎉

Whew! It’s hot out there! 🌡️ While most of Europe is dealing with a heat wave right now, we’re here to cool things down with an exciting July release that’s packed with features I’m genuinely excited about.

Before we dive in, if you missed it, we recently published Voice Chapter 10 where we explored moving beyond reactive voice assistants that only respond when you talk to them. Instead, we envisioned a future where your voice assistant can be conversational and initiate conversations. Speaking of that, this release delivers on that vision in a big way!

I’m absolutely stoked about the new Ask Question action for Assist! 🗣️ This is something that sets Home Assistant apart from every other voice assistant out there. Finally, your voice assistant can take the initiative and ask you what your smart home should do. No more waiting for wake words, your assistant can start the conversation when it makes sense. It’s the kind of feature that gets me really excited thinking about all the possibilities.

The redesigned Area card is another winner! 🏠 I’ll probably be replacing a few tile cards I’ve been using to navigate to my area dashboards with this new, more flexible version. It integrates beautifully with the Sections dashboard and gives you so many more options for controlling your spaces.

And that’s just the beginning! We’ve got integration sub-entries making integrations even more extensible, full-screen code editors for those lengthy YAML and template edits, and tons of quality-of-life improvements throughout.

Stay cool, and enjoy the release!

../Frenck

Let Assist ask the questions!

In our latest roadmap, we shared our goal to make Assist more conversational. Until now, Assist was mostly transactional, meaning when you would say something, you would get a response or it would perform an action, and that would be the end of it (unless some LLM magic jumped in). With this release, we’re taking a big step forward: meet the new Ask Question action.

This lets you build custom conversations from the comfort of our automation engine. Ask a question, handle the answer, and keep the interaction going.

The new 'Ask Question' action

This action even allows you to define expected answers so that our extremely fast speech engine, Speech-to-Phrase, can train on them. Yes, fully local, custom conversations!

To help you get started, we have provided a blueprint that covers the most common use case — Asking a closed Yes/No question:

This blueprint allows you to focus on what you want to do if you answer positively or negatively to any question that your voice assistant will ask. The blueprint supports 50 different ways of saying “Yes” and “No” (including phrases like “Make it so” and “Let’s not”). Here it is in action!

In case you want to dive deeper into conversation building, here is an example on how to ask a question and process the different answers:

Example YAML automation actions

This example asks the user what kind of music they want to listen to, and then plays the selected genre or artist on a media player.

actions:
  - action: assist_satellite.ask_question
    data:
      entity_id: assist_satellite.living_room_voice_assistant
      preannounce: true   # optional
      preannounce_media_id: media-source://...   # optional
      question: "What kind of music do you want to listen to?"
      answers:
        - id: genre
          sentences:
            - "genre {genre}"
        - id: artist
          sentences:
            - "artist {artist}"
    response_variable: answer
  - choose:
      - conditions: "{{ answer.id == 'genre' }}"
        sequence:
          - action: music_assistant.play_media
            data:
              media_id: "My {{ answer.slots.genre }} playlist"
              media_type: playlist
            target:
              entity_id: media_player.living_room_speakers
      - conditions: "{{ answer.id == 'artist' }}"
        sequence:
          - action: music_assistant.play_media
            data:
              media_id: "{{ answer.slots.artist }}"
              media_type: artist
            target:
              entity_id: media_player.living_room_speakers

Redesigned Area card

Originally introduced a few years ago, the Area card offered a way to display an areaAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. [Learn more] overview within the dashboard. However, it wasn’t fully compatible with the Sections dashboard, which limited its practical use in that context.

The card has now been completely redesigned with a look and feel similar to the Tile card. It integrates seamlessly into the Sections dashboard thanks to its flexible layouts. You can choose between a compact version that shows only an icon and the area name, or a more detailed view featuring elements like your camera feed and buttons to toggle your lights or fans.

Screenshot showing multiple configurations of the revamped area card.

The control section itself has also been revamped, allowing you to choose which controls to include and rearrange them as you want. As a result of these changes, if you’re currently using the area cards, you’ll need to reconfigure the controls on them.

Additionally, the card now supports controlling cover 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].

Improving the Areas dashboard overview

The April release introduced an experimental Areas dashboard, designed to automatically generate a ready-to-use interface based on the configured areas within the home. However, the preview could become cluttered if you had a lot of devices in a room.

This release introduces an all-new overview that leverages the redesigned Area card, making it easy to view and control your main devices by room with a single click. It also acts as a navigation hub, giving you quick access to detailed views of each area.

Screenshot showing the new area dashboard using the new area cards.

Integration sub-entries

Ever wondered why you had to enter your API keys for every AI agent you created, even though they all used the same key? Or why you had to authenticate for every calendar you added, regardless of the fact that they all shared the same account? Or why you couldn’t add MQTT devices from the UI?

This release solves that with the introduction of integration sub-entries. This allows you to add a sub-entry to an existing integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] entry. In practice, this means that your integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] entry has your credentials, and all the sub-entries use these credentials. In the sub-entry, you can then configure what should be done with these credentials, such as fetching a specific calendar, adding three AI agents with different prompts using the same OpenAI account, or in the case of MQTT, configuring devices that are connected to your MQTT broker.

Screenshot showing how you can now add MQTT devices directly through the user interface.

The following integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] now support sub-entries as of this release: Anthropic, Google Generative AI, MQTT, Ollama, OpenAI Conversation, and Telegram Bot.

Integration page gets an overhaul

The integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] page got a big overhaul! It now has support for sub-entries, allowing you to easily add a sub-entry to an integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] entry along with being able to see which devices and services belong to which sub-entry.

But we took the opportunity to do more. Instead of just showing your integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] entries, it now also shows the devices and services provided by that configuration entry. This makes it much easier to manage your devices and see the relationship between your devices and their integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] at a glance.

Screenshot showing the overhauled integration page, showcasing multiple personalities for the OpenAI Conversation integration.

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:

  • Altruist, added by @LoSk-p
    Monitor air quality and environmental conditions with the Altruist sensor, providing local data for temperature, humidity, PM2.5/PM10, CO2, noise levels, and more.
  • PlayStation Network, added by @JackJPowell
    Integrate with the PlayStation Network to track your currently playing games and display game information on your dashboard.
  • Tilt Pi, added by @michaelheyman
    Monitor your Tilt Pi hydrometer for brewing temperature and specific gravity measurements during your brewing process.
  • VegeHub, added by @Thulrus
    Monitor and control your garden with the Vegetronix VegeHub, gathering sensor data and controlling irrigation relays for automated plant care.

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:

  • Love that song? @marcelveldt added a button entityAn 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] to Music Assistant that lets you add the currently playing item to your favorites with a single click. It works with queues, external sources, and even radio stations!
  • ESPHome now supports sub-devices! Thanks to @bdraco, you can now represent multiple logical devices with a single ESP device in Home Assistant. This is particularly useful for RF bridges, Modbus gateways, and other devices that can control multiple devices. This feature requires the soon-to-be-released ESPHome 2025.7. Awesome addition!
  • Paperless-ngx now includes an update entityAn 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] to keep your document management system up to date. Thanks, @fvgarrel!
  • Battery management control has been added to HomeWizard with @DCSBL implementing battery group mode, allowing you to modify the charging and discharging behavior of your HomeWizard batteries!
  • Reolink cameras received a ton of love (again) from @starkillerOG! New features include IR brightness control, baby cry sensitivity adjustment, privacy mask switches, and full support for both PoE and WiFi floodlights with multiple command ID pushes. Impressive!
  • @mib1185 added an update entityAn 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] to the Immich integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more]. Nice!
  • The Homee integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] expanded significantly! @Taraman17 added a siren platform for security alerts and support for the HeatIt Thermostat TF056. Nice!
  • Energy monitoring got better in Adax with @parholmdahl adding energy sensors, so you can track your heating consumption!
  • @ViViDboarder made Ollama more flexible by adding a config option for controlling the think parameter. More control over your local AI!
  • Samsung refrigerator owners! @mswilson added ice bites control and water filter replacement/usage sensors to the SmartThings integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more].
  • Russound RIO got a major upgrade from @noahhusby, adding sub-device support plus new number and switch 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] for enhanced zone control.
  • @chemelli74 expanded Alexa Devices with sensor platforms and additional binary sensors. Now you can get more data from your Echo devices!
  • Matter keeps growing! @lboue added dishwasher alarm support and battery storage capabilities. Thanks!
  • YAML fans will appreciate @frenck adding unique ID support to Trend integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] configuration.
  • The LaMetric Time got an update entityAn 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] as well, thanks @joostlek!
  • Google Generative AI now defaults to the newer, faster Gemini 2.5 Flash model. A noteworthy performance boost by @tronikos!
  • Google Generative AI now supports text-to-speech (TTS) with 30 voices and 24 languages. It supports fine-grained control over style and sound, for example, “Say cheerfully: Have a wonderful day!”. Thanks @lanthaler!
  • Enphase Envoy users get detailed DC voltage and current readings from their solar panels thanks to @Bidski. This is perfect for monitoring individual panel health and optimizing production!
  • @zerzhang brought evaporative humidifier support to SwitchBot, expanding your climate control options.

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:

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:

Farewell to the following

The following integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] are also no longer available as of this release:

  • JuiceNet has been removed as they shut down their API services.

Other noteworthy changes

There are many more improvements in this release; here are some of the other noteworthy changes:

  • Shopping list now has a complete intent function that allows you to check off or mark items on your shopping list as completed, making it easier to interact with your shopping lists using voice commands. Thanks, @Lesekater!
  • Device and entityAn 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] management got better! @emontnemery made it so Home Assistant now restores user customizations when you re-add deleted devices or 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]. No more losing your carefully crafted names and settings!
  • The Template integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] received a major boost from @Petro31! You can now use variables, icons, and pictures across all compatible template platforms, create trigger-based template alarm control panels, locks, vacuum 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], and fans. Plus, there’s a new label_description template method that allows you to dynamically fetch the description you’ve added to a label from your templates. This is a noteworthy enhancement for better template organization.
  • Camera snapshots just got better! @edenhaus added support for taking snapshots via go2rtc. There is nothing for you to do on this one, it works out of the box, but it is nice to know snapshots are now faster and take fewer resources from your system.
  • Object selectors now support fields and multiple selections, thanks to @piitaya. These additions are particularly interesting for integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] and blueprint developers, as they provide much more flexibility in your UI representations.
  • Wind direction sensors got a visual upgrade with @edenhaus adding range icons for the wind_direction sensor device class. Different icons are now shown depending on the state of wind direction sensors, which is indeed a nice visual upgrade!

Full-screen code editors

Working with snippets of YAML or templates in Home Assistant just got a BIG improvement! We’ve added a new full-screen mode for all code editors throughout the interface.

Whether you’re editing automations, scripts, templates, or any other YAML configuration, you can now expand the code editor to take up your entire screen. This is especially helpful when working with longer configurations or when you need more space to see your code clearly.

Simply click the maximize button in the top-right corner of any code editor to enter full screen mode. Press the button again to return to the normal view.

This makes building a more complex and advanced smart home more comfortable and productive, especially on smaller mobile or tablet screens where every pixel of editing space counts!

Improved dashboard creation experience

The dialog for adding a new dashboard has been redesigned with a cleaner interface that matches recent redesigns we’ve seen to other dialogs. This improvement was designed by @marcinbauer85 and implemented by @quinnter. Great teamwork!

Screenshot showing the new and improved add dashboard dialog

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 to get it fixed! Or check our help page for guidance on more places you can go.

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:

Google Calendar

The previously deprecated Google Calendar add_event actionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] has been removed and replaced by the create_event entity-based actionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more].

If you use the add_event actionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] in your automations or scripts, you will need to update them to use the new create_event actionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] instead.

(@epenet - #146432) (google docs)

Meater

The states of the Meater probe cook state have been changed to support translations and make them more consistent with other integrations.

The following states have been changed:

  • Not Started -> not_started
  • Configured -> configured
  • Started -> started
  • Ready For Resting -> ready_for_resting
  • Resting -> resting
  • Slightly Underdone -> slightly_underdone
  • Finished -> finished
  • Slightly Overdone -> slightly_overdone
  • OVERCOOK! -> overcooked

If you use these states in your automations or scripts, you will need to update them to use the new state values.

(@joostlek - #146958) (meater docs)

Miele

The internal representation of states for hob plates has changed. This is a breaking change when these states are used in automations or templates.

No user action is needed if these hob state sensors are used for visual display only.

Please review and update applicable automations and templates according to the following state changes:

  • 0 -> plate_step_0
  • 1 -> plate_step_1
  • 18 -> plate_step_18
  • 110 -> plate_step_warm
  • 117 -> plate_step_boost
  • 118 -> plate_step_boost
  • 217 -> plate_step_boost
  • 220 -> plate_step_warm

If you use these states in your automations or scripts, you will need to update them to use the new state values.

(@astrandb - #144992) (miele docs)

Plex Media Server

The previously deprecated plex.scan_for_clients actionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] has been removed in favor of the “Scan Clients” button entityAn 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]. If you use this actionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] in your automations or scripts, you will need to update them to use the new entityAn 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] instead.

(@epenet - #146608) (plex docs)

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.

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.7