Home Assistant 2026.7! π
This is one of those releases Iβve been looking forward to for a long time. My favorite by far is what weβve done with automations. Purpose-specific triggers and conditions graduate from Labs and become the new default for everyone. π
It comes down to something weβve been chasing for years: more power, less complexity. Instead of starting from Home Assistantβs internals, which entity, which state, which kind of trigger, you start from what you actually want your home to do. When the bedroom drops below 18Β°C, turn on the heating. Thatβs it. No technical traps, no quirks to memorize. And because integrations can teach the automation engine their own triggers and conditions, it only gets better from here. All of it right there in our beautiful user interface.
The nice thing is, nothing breaks. All your existing automations keep working, worry-free. Weβve also written tons of great documentation explaining every single trigger, condition, and action, with examples to learn from. And if youβre one of those people who prefers writing automations in YAML instead of the UI, youβre in for an amazing experience too. User experience is not a synonym for βthe UIβ. YAML users deserve good user experience too.
But honestly? Iβve got a second favorite this release, and that surprised me a little. Activity, what many of you still know as the logbook, has been rebuilt into a slick and clean timeline. π It reads top to bottom like a feed, groups entries by day, and finally speaks the same language as the rest of Home Assistant. I keep opening it just to look at it.
And thatβs just the start. Thereβs a new update-all button, dedicated panels for infrared and radio frequency, an overhauled ZHA Zigbee device management, and 10 new integrations from our community.
One more thing before you dive in: the Open Home Foundation is exhibiting at IFA Berlin for the first time, from September 4 to 8, 2026. Weβd love to meet you there, so come say hello. Thereβs also a community meetup on Sunday, September 6, and everyoneβs welcome. You can read all about it here.
Enjoy the release!
../Frenck
A huge thank you to all the contributors who made this release possible! And a special shout-out to @piitaya, @sairon, and @agners who helped write the release notes this release. Thanks to them, these release notes are in great shape. β€οΈ
Creating automations just became easier, natural and more powerful
This is, hands down, one of the biggest and best changes weβve made to the automation editor in years. It has been roughly eight months in the making, built and refined release after release by a lot of people, and shaped by a mountain of your feedback along the way. As of this release, it is here for everyone, and we could not be more excited to finally hand it over.
Why are we this excited? Because automations have always asked you to meet Home Assistant halfway. Some people still talk about it like you need YAML, a coding background, and a free evening just to automate a light. That hasnβt been true for a while, and this release takes the biggest step yet toward closing that gap for good.
Back in Home Assistant 2025.12, we introduced purpose-specific triggers and conditions in Settings > System > Labs. Every release since has added more of them and polished the experience. This release, they graduate: this new way of building automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] is out of Labs and becomes the new default for everyone. π
It is tempting to read this as a nicer set of menu options. It is much more than that. It is a different starting point: you describe what you want your home to react to, rather than starting from the technical building blocks underneath.
Start with what you want, not how it works
An automation engine thinks in primitives. People donβt. You think βwhen the front door opensβ, βwhen the last person leavesβ, or βwhen a battery runs lowβ.
The old path started somewhere else, with Home Assistantβs internals. Which entity? Which state? Does it become on, detected, home, or not_home? Do I need a state trigger, a numeric state trigger, a device trigger, or a system event? If you know Home Assistant well, those questions are second nature. If you donβt, they are the wall you hit before you even start. π€
The new triggers and conditions speak the language of the thing you care about. When the bedroom drops below 18Β°C, turn on the heating. You donβt think about numeric state triggers, attributes, or units. You pick Temperature crossed threshold and say what matters. Or Battery low: no need to know whether a device reports its battery as a percentage sensor, or what counts as βlowβ. You build around the moment itself.
Built around areas, not one device or entity at a time
The new building blocks also support targets, and that is a bigger deal than it sounds.
You can build an automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] around motion in the living room, instead of around one specific motion sensor. One sensor in that room, fine. Ten, also fine. Swap one out next year, add another, or remove the one that kept seeing the cat, and the automation keeps describing the same intent: motion in the living room.
When motion is detected outside, turn on the lights outside. The trigger points at the outside 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], the action points at the outside lights. Change which sensors or lights live there later, and the automation follows along. It reads like a sentence, and it is one less fragile list of entities to maintain forever.
More than friendlier wording
Here is the part that is easy to miss: this isnβt just a friendly wrapper around the old triggers.
These triggers and conditions can be extended by integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more], including custom and community ones. Integrations have long been able to add their own actions; now they can add their own triggers and conditions too. Picture a washing machine integration offering a plain βlaundry is doneβ trigger, with no need to know which state value or attribute actually means finished. An integration knows things you would otherwise have to figure out yourself: which state changes matter, which to ignore, which edge cases are normal, and what a useful automation moment looks like in its world.
A sensor can tell you the electricity price. The integration can tell you when the price is lowest today. Instead of everyone rebuilding the same template, or learning the quirks of one particular heat pump, EV charger, or alarm panel, the integration can offer the triggers, conditions, and actions that make sense for it. That turns the automation engine into something integrations can teach. It is where βmore power, less complexityβ stops being a slogan.
No technical traps
There is a quieter benefit too: No technical traps. πͺ
With these new triggers, you donβt need to care about unknown or unavailable states. The building block handles those in the way that makes sense for its purpose. The moment you have to decide whether one specific automation should ignore unavailable, wait it out, or treat it as false, we have already made you think about the wrong thing.
Event entities are another classic. Automate around one with a plain state trigger and you may discover it doesnβt fire the second time the same event happens, because the state didnβt change the way you expected. A purpose-specific trigger expresses the event directly, so that whole class of surprise simply goes away.
Your automations are safe, and YAML isnβt going anywhere
Before anyone opens a forum thread in mild panic: no, you donβt need to rewrite anything.
Existing automations keep working. Generic triggers, conditions, templates, and YAML all keep working. The new triggers and conditions are simply the better starting point for the next automation you build, and a nicer option when you decide to improve an old one. It is not a migration tax.
And this isnβt Home Assistant walking away from YAML. We put real effort into making the new building blocks read well in YAML too, the same way we did when automations moved to triggers, conditions, and actions and swapped service for action. If text is your interface, it should feel just as natural. If you use YAML to write automations, we are sure youβll love the new triggers and conditions just as much!
Documentation is part of the feature
We also did the less flashy work, which on a project like this is often the work that matters most. Every trigger, condition, and action now has its own documentation page over at triggers, conditions, and actions. Each one explains what the building block is, when you would reach for it, how to use it from the automation editor, how it looks in YAML, and includes real examples to learn from.
There is a lot of it, on purpose. Approachability is not only about a friendlier button in the UI. It is also about helping you understand what that button does, and when to use it. Good documentation is product work, even when it does not get its own screenshot.
There is an AI angle here too, and it belongs in the right place: this is for people first. But many of you already use AI to help build automations, and clearer, well-described building blocks give those tools much better material to work with. Their suggestions can become more consistent, because there is less Home Assistant-specific guesswork to invent. It will not happen overnight, since most models are trained on older examples and may keep suggesting the old patterns for a while. The better the documentation, the faster both people and machines pick up the new way.
Havenβt tried building automations this way yet? Open the automation editor and start with what you want to happen. We think youβll like where it begins. π
Activity logbook
Activity, the feature many of you still know as the logbook, has always been there to answer a simple question: what happened, and when? The way it answered, though, was a flat list of full sentences. βLiving room lamp turned on.β βAuto lights was triggered by motion.β Every row was a complete sentence, the device name was repeated on every line, and it used its own wording (βturned onβ, βchanged toβ) that didnβt quite match how states are written everywhere else in Home Assistant. Reading back a busy day meant reading every single line.
This release rebuilds it from the ground up into a timeline.
Each entry now sits on a vertical rail: the time on the left, a colored dot with the 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]βs icon, and the text beside it. You read it top to bottom, like a feed. Entries are grouped by day, with Today, Yesterday, and dated headers, so you never lose track of where you are in time. The dot takes on the state color too, so an on and an off are easy to tell apart at a glance, without reading a word.
It also shows only the context you actually need. The timeline trims the name down to where youβre looking: on an entity page you just see the value, on a device page the device name is dropped, and on an area page the area is left out. No more reading the same device name on every row.
A few more touches make it feel right at home:
- The same words as the rest of the app. State text now comes from the backend, the same source the rest of Home Assistant uses, so it reads identically everywhere and in every language. No more logbook-only verbs.
- It shows the cause. When something was set in motion by a person, you see their avatar. An automation shows what triggered it, and an integration shows its brand icon. The βwhyβ sits right next to the βwhatβ.
- Time the way you want it. In the compact views, like the more info dialog, device and area pages, and on cards, select the timestamp to flip between absolute time and a relative β2 hours agoβ. A quick glance when you want it, exact precision when you need it.
The same component powers all of this, so the timeline stays consistent whether itβs filling the full Activity page on a wide screen or tucked into a card on your phone. Wide screens get the full timeline with the time column and icons; narrow screens and cards get a compact version with the cause icon and the time trailing the entry.
Update all
Weβve all been there. You open Settings > Updates after being away for a bit, and there it is: a wall of pending updates. A new Home Assistant release, a handful of apps, that one integration, and seven ESPHome devices that all decided to ship new firmware in the same week. Keeping up used to mean working down that list one entry at a time, selecting, waiting, selecting the next, and repeating until your finger got tired.
Not anymore. This release reorganizes the updates page around how you actually think about your system, and adds a single button that does the heavy lifting: Update all.
Instead of one long, flat list, your pending updates are now grouped into clear cards, each covering a part of your setup:
- Home Assistant sits right at the top, with Core, the Operating System, and the Supervisor. These run the core of your system, so theyβre kept on their own, without an Update all button. You apply them yourself, on purpose.
- Integrations with several pending updates get a card of their own. Those seven ESPHome devices? Bundled together, so a single selection brings them all up to date. The same goes for a stack of HACS integrations waiting on a new version.
- Integrations gathers the remaining one-off integration updates into one tidy card.
- Apps does the same for your apps (used to be called add-ons).
- Skipped updates show up in their own card once you turn on Show skipped updates. Keeping them separate means they never get swept along by an Update all you didnβt intend for them.
Select Update all on any card, and Home Assistant takes it from there, updating everything in that group in one go. No ticking boxes, no confirmation dialog to step through, just done.
Itβs a small change to a page you only visit now and then, but it turns a recurring chore into a couple of taps.
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:
-
Aqvify, added by @astrandb, launching at π platinum quality
Monitor your Aqvify water well and tank sensors in Home Assistant. The integration connects through Aqvifyβs public cloud API and exposes sensors for your well water level, so you can keep an eye on your supply and build automations around it.
-
Chef iQ, added by @Invader444
Read the temperatures from your Chef iQ wireless cooking probes directly over Bluetooth. No cloud account, base station, or hub is needed: the probe broadcasts its readings and Home Assistant listens passively.
-
Dropbox, added by @bdr99
Store your Home Assistant backups straight to your Dropbox account. Setup runs through the Home Assistant Cloud Account Linking service, so you do not need a Home Assistant Cloud subscription or your own application credentials to get started. Once connected, Dropbox shows up as a backup location alongside the rest.
-
Edifier Infrared, added by @abmantis
Control your Edifier speaker with any infrared transmitter you already have set up in Home Assistant. Built on the Infrared entity platform, so you can pair it with an ESPHome device with an IR LED, or any other supported IR emitter. Communication is one-way, so the integration uses assumed states.
-
energieleser, added by @AjinkyaGokhale
Bring real-time energy readings into Home Assistant from energieleser devices, such as stromleser, gasleser, wasserleser, and wΓ€rmeleser. The integration reads consumption data over a local HTTP API, so all communication stays on your network.
-
Envertech EVT800, added by @daniel-bergmann-00
Monitor your Envertech EVT800 solar microinverter in Home Assistant. The integration receives data locally over your network, exposing energy and power readings you can track on dashboards and use in automations.
-
Greencell, added by @BrzezowskiGC
Connect your Greencell EV charging devices to Home Assistant over MQTT. It monitors charger status and electrical measurements like voltage, current, and power, and exposes real-time telemetry and charging-session data for dashboards and automations.
-
Helty Flow, added by @ebaschiera
Control your Helty Flow decentralized heat-recovery ventilation units with the smart Wi-Fi interface. The integration talks to each unit directly on your local network, so it keeps working without an internet connection.
-
KlikAanKlikUit, added by @Phunkafizer
Control self-learning KlikAanKlikUit 433.92 MHz RF devices from Home Assistant. Because the integration sends commands over RF without a feedback channel, it uses assumed states.
-
MELCloud Home, added by @erwindouna
Bring your Mitsubishi Electric air conditioning and heat pump products into Home Assistant through MELCloud Home, Mitsubishi Electricβs cloud service. Monitor and control your devices alongside the rest of your home automations.
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:
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 ones keep getting better too. Here are some of the noteworthy improvements this release:
- Alexa Devices gained switches to toggle announcements and communications on your Amazon Echo devices, thanks to @chemelli74. It also added a to-do list platform, so you can manage your Alexa shopping and to-do lists from Home Assistant, thanks to @lonlazer.
- SwitchBot added a button event entity for the Contact Sensor, plus switch controls for the Standing Fan. Thanks, @prmx and @Onero-testdev!
- Overkiz now supports Rexel Energeasy Connect, through both its cloud and local API. Thanks, @iMicknl!
- SwitchBot Cloud can now upload images to the SwitchBot AI Art Frame. Thanks, @XiaoLing-git!
- SMTP gained notify entities, the modern way to send email notifications. Thanks, @tr4nt0r!
- GitHub added entities that track GitHub user accounts. Thanks, @joostlek!
- Environment Canada gained a
get_alerts action to fetch active weather alerts on demand. Thanks, @gwww!
- Wallbox added a button to resume the charging schedule, handy alongside EcoSmart solar charging. Thanks, @Rayman223!
- Tesla Powerwall now supports the Powerwall 3, and gained sensors for the operation mode and the maximum charge and discharge power. Thanks, @Bre77 and @BrettLynch123!
- Tedee added a connectivity binary sensor, so you can tell when a lock drops off the network. Thanks, @zweckj!
- BleBox added support for openSensor and drutexSmart devices, including CO2 sensors. Thanks, @bkobus-bbx!
- Droplet now reports leak alerts. Thanks, @sarahseidman!
- Whirlpool Appliances added a button to stop the oven. Thanks, @bdlcalvin!
- Yoto got a lot of attention this release: a media browser, plus new sensors, binary sensors, a time entity, and number controls for display brightness and maximum volume. Thanks, @piitaya!
- Samsung Infrared added buttons for individual remote commands. Thanks, @lmaertin!
- openSenseMap now exposes its environmental measurements as sensors. Thanks, @AlCalzone!
- OpenEVSE added binary sensors for your chargerβs status. Thanks, @firstof9!
- Rabbit Air added an air quality sensor. Thanks, @MagikalUnicorn!
- Green Planet Energy gained actions to find the cheapest stretch of energy prices. Thanks, @petschni!
- Duco added a select to set the ventilation state on your Duco box nodes. Thanks, @ronaldvdmeer!
- Hypontech Cloud added load, grid, and battery sensors. Thanks, @jcisio!
- Xthings Cloud added a switch platform. Thanks, @zhangluofeng!
- Kiosker added a button to clear the blackout, plus binary sensors and sensors with blackout details. Thanks, @Claeysson!
- PAJ GPS added battery sensors for your trackers. Thanks, @skipperro!
- Vistapool grew a lot, with new button, number, light, and binary sensor entities for your pool controller. Thanks, @fdebrus!
- Fluss+ now supports covers, like gates and garage doors. Thanks, @Marcello17!
- Imou added live camera streaming. Thanks, @Imou-OpenPlatform!
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:
-
1 integration reached platinum π
-
2 integrations reached gold π₯
-
3 integrations reached silver π₯
-
1 integration reached bronze π₯
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 integrations are now available via the Home Assistant UI:
Farewell to the following
Time for a little cleaning, and no, we did not wait for spring. The following integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] are no longer available as of this release. Most had been broken for a while, leaning on libraries or services that went unmaintained or offline years ago:
- Acer projector has been removed. It had been broken since 2019.
- Ampio Smog has been removed. The air quality service it polled is offline and its library has been unmaintained since 2019, so it no longer works.
- ATEN Rack PDU has been removed. It had been broken since 2024 over a dependency conflict, and its maintainer stepped down with no one to take over.
- Avi-on has been removed. It depended on the
bluepy library, which Home Assistant dropped back in 2022.7, and which has been unmaintained since 2018.
- BeeWi SmartClim has been removed for the same reason: it relied on the long-unmaintained
bluepy library that Home Assistant dropped in 2022.7.
- BlinkStick has been removed. It was disabled in 2024 because it relied on a non-open-source library that has been unmaintained since 2020.
- Clementine has been removed. It had been broken since 2023, and its library has been unmaintained since 2018.
- Dovado has been removed. It was disabled in 2024.7 because it relied on a non-open-source library that has been unmaintained since 2017.
- ELIQ Online has been removed. Its API endpoint no longer exists, and the underlying library has been unmaintained for years.
- Gitter has been removed. Gitter migrated to Matrix back in 2023 and its old API no longer works, so it is now a virtual integration handled by the Matrix integration, which you can use to connect instead.
- Greenwave Reality has been removed. It had been broken since around 2022, because the devices use an outdated encryption key that modern systems reject, and its library has been unmaintained since 2018.
- Logentries has been removed. The service was rebranded to InsightOps years ago and is no longer offered, and its API endpoint no longer responds.
- Microsoft Face has been removed, together with the Microsoft Face Detect and Microsoft Face Identify integrations that built on it. They had been broken since 2022 after a change to Microsoftβs Azure face API.
- MS Teams has been removed. The integration relied on Office 365 Connectors, which Microsoft discontinued on May 22, 2026, so it no longer works.
- Mycroft has been removed. It was disabled in 2023.6 over an unresolvable dependency conflict, and its library has not been updated since.
- SCSGate has been removed. It required obscure DIY hardware that is no longer available, its library has been unmaintained for a decade, and it had effectively no users left.
- ThermoWorks Smoke has been removed. It was disabled in 2024.10 over a dependency conflict, and its library has been unmaintained since 2019.
- Tikteck has been removed.
- UniFi LED has been removed. The hardware is discontinued and the integration had no remaining users.
- Watson TTS has been removed. It was disabled in 2023 over a dependency conflict, and no one stepped up to update it since.
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes:
- Edit a running timerβs duration. Change a timerβs duration straight from its dialog, no need to cancel and start over. Thanks, @chli1!
- A faster frontend. A big batch of performance work landed this release, most noticeably across the energy, history, and statistics graphs, so they draw quicker and feel snappier. Thanks, @MindFreeze!
- Device and area pages adapt to your screen. They now use a responsive column layout, and the device page lists its main entities first, so the important controls sit right at the top.
- More context in the scene editor. Entity rows now show their type and the integration they belong to, making large scenes easier to read. Thanks, @pszypowicz!
- Tags in the Apps store. The Apps store now shows tags and marks which apps you already have installed. Thanks, @bramkragten!
- A sub-editor for the statistics graph card. Tune each entity right from the cardβs visual editor. Thanks, @ildar170975!
- Live condition testing keeps improving. Conditions now show clearer status icons (addressing the red and green only accessibility concern from last release), the indicator works on mobile in the visibility editor, and live testing now covers conditions inside actions too. Thanks, @silamon and @marcinbauer-ohf!
- Hide columns in Developer tools. The States tab can now hide the Device and Area columns. Thanks, @vingerha!
- Matter soil moisture sensors. Matter-certified soil moisture sensors now show up in Home Assistant. Thanks, @lboue!
- A projector device class for media players. Projectors are now a proper media player device class, surfaced through Google Assistant, HomeKit, and SmartThings too. Thanks, @jtjart!
- Template lights gain xy color. Build template lights with full xy color support. Thanks, @Petro31!
- Clean a specific room from Google Assistant. Ask Google to send your robot vacuum to a particular room. Thanks, @joostlek!
- Snappier templates. Under the hood, a template engine optimization makes templates render up to 40% faster. Thanks, @frenck!
- Clearer automation traces. When you debug an automation or script, its trace now always includes template errors, making it easier to spot what went wrong. Thanks, @emontnemery!
Time format selection
Some 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] tell time. A sensor with the next sunrise, the timestamp of your last backup, a countdown to the next calendar event. How that moment should be shown is a matter of taste: sometimes you want the exact date and time, and sometimes a friendly βin 3 hoursβ or β2 days agoβ is far more useful at a glance.
Until now, picking how a timestamp was displayed meant editing YAML. This release brings that choice into the UI. When you add a timestamp entity to a tile card, the entities card, or as an entity badge, a Time format option shows up in the editor, so you can choose how the time is presented, including a new short or long style for the relative format.
Thanks, @karwosts!
Dedicated panels for infrared and radio frequency
Earlier this year, Home Assistant gained dedicated entity platforms for infrared and radio frequency devices, the building blocks behind integrations that reach your gear through an IR blaster or a 433 MHz transmitter. This release gives them a proper home.
Two new panels show up in the Settings menu, one for infrared and one for radio frequency. Each lists the proxies and transmitters youβve set up, so you can see your IR blasters and RF bridges at a glance and jump straight to the one youβre looking for, instead of hunting for them among everything else. The panels only appear when you actually have such devices, so they stay out of the way if you donβt.
Thanks, @balloob!
The ZHA Zigbee device management got an overhaul
Managing a Zigbee device through ZHA used to mean squinting at a cramped dialog. The clusters, bindings, signature, and neighbors tools were all there, but crammed into a small popup that left little room to breathe.
This release moves all of that onto a dedicated, full-page device view. The same tools are now laid out across tabbed navigation, with a device summary card up top, and the loading, empty, and error states have been cleaned up throughout. Itβs the same powerful Zigbee management, just far easier to work with.
Thanks, @jpbede!
Keeping your Raspberry Pi firmware up to date
Running Home Assistant Operating System on a Raspberry Pi? You are in good company: per our public, opt-in analytics, the Raspberry Pi platform currently powers about a third of all installations. As of this release, there is an βupdate entityβAn update entity is an entity that indicates if an update is available for a device or service. [Learn more] for the Piβs bootloader firmware, also often referred to as the EEPROM update. You can keep it current right from Settings > Updates, the same place you handle every other update.
This is more than a nice-to-have. Especially on the Raspberry Pi 5 and Compute Module 5, the firmware contains bug fixes, compatibility improvements for NVMe drives, thermal improvements, and much more. Until now, updating that firmware was cumbersome: you had to flash another SD card with a special image, or connect a keyboard and a display and run the rpi-eeprom-update command by hand. Now it takes a single step.
A few things to keep in mind:
- This needs Home Assistant Operating System 18 or newer, which provides the support the update entity builds on. On older versions, the entity simply isnβt there.
- On a Raspberry Pi 4, the firmware can only be updated when the board boots from an SD card. If your Pi 4 boots from USB storage, the update isnβt available. This is a limitation of the update system, and one more reason we recommend using USB only as a data disk while keeping an SD card as the main boot device.
- Not every board can update its firmware this way. Besides a Raspberry Pi 4 booting from USB storage, the Home Assistant Yellow with a Compute Module 4 isnβt supported either. Where an update canβt be applied, the entity doesnβt appear at all, so you donβt see an update that wouldnβt work.
- After the update is applied, Home Assistant prompts you to reboot to complete it.
Thanks, @sairon!
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:
Purpose-specific triggers and conditions
Several entity triggers and conditions, part of the new purpose-specific triggers and conditions, have been renamed so their keys are consistent across all domains. The old keys no longer work.
The following triggers changed:
battery.low is now battery.became_low
battery.not_low is now battery.no_longer_low
lawn_mower.docked is now lawn_mower.returned_to_dock
schedule.turned_off is now schedule.block_ended
schedule.turned_on is now schedule.block_started
timer.time_remaining is now timer.remaining_time_reached
update.update_became_available is now update.became_available
vacuum.docked is now vacuum.returned_to_dock
The following conditions changed:
climate.target_humidity is now climate.is_target_humidity
climate.target_temperature is now climate.is_target_temperature
If an automation or script uses one of these, it will stop working until updated. To fix it, open the affected automation or script, re-select the trigger or condition (it now appears under its new name), and save. If you edit in YAML, replace the old key with the new one from the list above.
(@frenck - #174463)
BSB-LAN
The BSB-LAN integration has reduced its support for the older version 1 JSON API. If your BSB-LAN device runs very old firmware that only speaks the version 1 API, update it to firmware that supports the version 2 API to keep everything working.
A repair notification will let you know if your device is affected.
(@liudger - #172843) (BSB-LAN documentation)
Person
Person entities no longer report the latitude and longitude of the home zone when their location comes from a presence scanner associated with the home zone.
If you have automations or scripts that check the coordinates of a person, adjust them. To check whether a person is in a specific zone, use the new in_zones state attribute instead.
(@emontnemery - #173042) (Person documentation)
Rabbit Air
The Rabbit Air fan preset mode values changed from title case to lowercase to match Home Assistantβs state convention: Auto is now auto, Manual is now manual, and Pollen is now pollen. The user-facing labels stay the same through translations.
Update any automations, scripts, templates, or action calls that reference the old title-case preset values.
(@MagikalUnicorn - #172931) (Rabbit Air documentation)
Reolink
Reolink Duo PoE and Duo WiFi dual-lens cameras now expose a sub-device per lens. The camera and motion/AI sensor entities that previously had a βlens 0β or βlens 1β suffix in their name are moved to the new lens sub-devices and lose that suffix. Entity IDs and custom names stay the same, so most automations keep working.
If you target these entities through the camera device, update them to use the new lens sub-devices.
(@Markus98 - #173037) (Reolink documentation)
Tesla Fleet
The route device tracker (device_tracker.<vehicle>_route) no longer reports the active routeβs destination name as its state. Its state is now derived from your zones like a normal device tracker (home, not_home, or a zone name), based on the routeβs coordinates.
The destination name is still available through the new destination sensor (sensor.<vehicle>_destination), which is disabled by default. Enable it from the entity settings if you have automations that relied on the destination name, and update any automations that matched the old route tracker state.
(@Bre77 - #172513) (Tesla Fleet documentation)
Teslemetry
The route device tracker no longer reports the active routeβs destination as its state or through a location_name attribute. Its state is now derived purely from the routeβs coordinates (zone-aware, like home or not_home).
If you relied on the destination name, enable the new Destination sensor (sensor.*_destination), which is disabled by default and reports the destination name as Tesla provides it.
(@Bre77 - #172514) (Teslemetry documentation)
Tractive
The battery_level attribute has been removed from Tractive device tracker entities. Use the dedicated battery sensor in your automations and scripts instead.
(@bieniu - #172756) (Tractive documentation)
Zeroconf
The legacy requires_api_password field has been removed from the Home Assistant zeroconf/mDNS discovery announcement (_home-assistant._tcp). It had been hardcoded to true since the http.api_password authentication mechanism was removed in Home Assistant 2024.7, so it no longer carried any meaning. The official companion apps already ignore it.
Third-party discovery clients that still read this field need to tolerate its absence.
(@agners - #173090) (Zeroconf documentation) (API documentation)
Zone
The state (person count) and persons attribute of zone entities are now calculated from the in_zones attribute of person entities. As a result, a person can now be counted in more than one zone at the same time. For example, a person who is home with in_zones: ["home", "near_home"] now counts toward both zone.home and zone.near_home, where previously they only counted toward zone.home.
In addition, the state of position-aware device trackers is now the smallest zone the device is in, instead of the zone whose center it is closest to.
Automations, scripts, or templates that depend on zone person counts or on device tracker zone states may need to be adjusted.
(@emontnemery - #172942, #173106) (Zone documentation)
Z-Wave JS
This release requires an updated Z-Wave JS server. You need zwave-js-server 3.9.0 or newer (schema 49):
- If you use the Z-Wave JS app, update it to at least version 1.4.0.
- If you use the Z-Wave JS UI Docker container, update it to at least version 11.19.1.
- If you run your own zwave-js-server, update it to at least version 3.9.0.
(@AlCalzone - #173309) (Z-Wave JS 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 2026.7.