--- layout: post title: "2025.2: Iterating on backups" description: "Lot of backup features including using Google Drive and Microsoft OneDrive as backup locations! Voice can now broadcast messages and control your thermostat. And much more!" date: 2025-02-05 00:00:00 date_formatted: "February 5, 2025" author: Franck Nijhof author_twitter: frenck comments: true categories: - Release-Notes - Core og_image: /images/blog/2025-02/social.jpg --- Home Assistant 2025.2! ❤️ In the previous release, we [overhauled our backup system](/blog/2025/01/03/release-20251/#overhaul-of-the-backup-system), and the response was overwhelming! Tons of suggestions and feature requests came in, so this release is—once again—focused on backups. Based on this community feedback, we’ve added loads of improvements, including the first integrations to store your backups in **Google Drive** and **Microsoft OneDrive**! This release also brings exciting new features to **Voice**! Home Assistant can now call your **analog phone**, and when dinner is ready, you can **broadcast** that message to all voice assistants in your home! But wait… there’s more! On **February 12, 2025**, we’re streaming live on YouTube all about Voice: [**Voice - Chapter 9**](https://www.youtube.com/live/k6VvzDSI8RU)! 🎙 Be sure to subscribe and hit the bell so you don’t miss it. 🛎 Before diving into the release notes, I also want to give a shoutout to our friends at [**ESPHome**](https://esphome.io/) powering so much of the Home Assistant ecosystem, including Home Assistant Voice PE! And on **February 19th**, they’ll be hosting a [**live release party for ESPHome 2025.2**](https://www.youtube.com/live/HtG3fjAO96c)! 🎉 Enjoy the release! ../Frenck _PS: It is almost Valentine's day, did you set up some romantic scenes yet? 🌹_ - [Iterating on backups](#iterating-on-backups) - [Unencrypted backups](#unencrypted-backups) - [Ability to turn off encryption for specific locations](#ability-to-turn-off-encryption-for-specific-locations) - [Downloading backups unencrypted](#downloading-backups-unencrypted) - [Customize the time of your backups](#customize-the-time-of-your-backups) - [Taking backups on an advanced schedule](#taking-backups-on-an-advanced-schedule) - [Re-introduction of the backup toggle on update](#re-introduction-of-the-backup-toggle-on-update) - [Backup on updating Home Assistant](#backup-on-updating-home-assistant) - [Backup on updating add-ons](#backup-on-updating-add-ons) - [Improved filenames for backups](#improved-filenames-for-backups) - [New locations](#new-locations) - [Voice](#voice) - [Home Assistant will be able to call your analog phone to tell you a message](#home-assistant-will-be-able-to-call-your-analog-phone-to-tell-you-a-message) - [New Broadcast intent](#new-broadcast-intent) - [Setting Temperature on Thermostat](#setting-temperature-on-thermostat) - [LLMs meet calendars](#llms-meet-calendars) - [Shared history between the default conversation agent and its LLM-based fallback](#shared-history-between-the-default-conversation-agent-and-its-llm-based-fallback) - [Model Context Protocol](#model-context-protocol) - [Integrations](#integrations) - [New integrations](#new-integrations) - [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations) - [Now available to set up from the UI](#now-available-to-set-up-from-the-ui) - [Other noteworthy changes](#other-noteworthy-changes) - [Bluetooth config panel](#bluetooth-config-panel) - [Preparing our graphs for the future](#preparing-our-graphs-for-the-future) - [Patch releases](#patch-releases) - [2025.2.1 - February 7](#202521---february-7) - [2025.2.2 - February 10](#202522---february-10) - [2025.2.3 - February 12](#202523---february-12) - [2025.2.4 - February 14](#202524---february-14) - [2025.2.5 - February 21](#202525---february-21) - [Need help? Join the community!](#need-help-join-the-community) - [Backward-incompatible changes](#backward-incompatible-changes) - [All changes](#all-changes) ## Iterating on backups In the previous release, we [fully revamped the entire backup experience](/blog/2025/01/03/release-20251/#overhaul-of-the-backup-system) and added many new features to make it easier to use. That release set the stage for the next iterations and opened up the ability for integrations to provide locations to store backups. We've received **a lot** of feedback on the new backup system, which is awesome! ❤️ All the feedback helped us prioritize the most requested features, and other improvements to the backup system. This release includes a lot of the most requested improvements and abilities. ### Unencrypted backups The new backup system came with a lot of security improvements, including encryption of backups. However, as it turns out, many users use these backups to extract and restore single files or configurations, a use case in which encryption made things more difficult. In this release we made two changes to the backup system to address this. #### Ability to turn off encryption for specific locations While our default recommendation remains to encrypt backups, as of this release, you can turn off encryption on a per location basis. This allows you to store backups on you local NAS, for example, in an unencrypted format. Screenshot showing the option to turn off encryption for a specific backup location. Screenshot showing the backup locations, one location indicates that encryption has been turned off. There is one exception to this, which is [Home Assistant Cloud](/cloud). Backups stored in Home Assistant Cloud will always be encrypted, and encryption cannot be turned off. At Nabu Casa, we take your privacy and security very seriously, and we never ever want to be able to access your data. #### Downloading backups unencrypted When downloading backups from the Home Assistant interface, you will now always download the backup in an unencrypted format that can be extracted using your favorite archive tool. This works for all backups, regardless of the encryption settings of the location in which they are stored. For instance, if you download an encrypted backup from Home Assistant Cloud through the Home Assistant interface, it will decrypt the backup on the fly while you download it. ### Customize the time of your backups The initial iteration of the backup system scheduled backups to run at 4:45 AM, but this time wasn't ideal for everyone. Some, for example, turned off their network storage during the night, meaning the backup would fail. This release, we added the ability to customize the time of your backups to your liking. Additionally, if you choose to make weekly backups, you can now select the days of the week you want the backup to run. Screenshot showing the backup configuration options, you can now set your own time and select which days to backup. ### Taking backups on an advanced schedule The above backup time changes not flexible enough for you? Well, you are in luck! In this release, we added an action (`backup.create_automatic`) that you can use to trigger a backup, with your preferred settings, in an automation. Screenshot showing an automation in the automation editor that is using the new action to create an automated backup. This allows you to create automated backups on any schedule you like, or even add conditions and actions around it. For example, you could make an automation that triggers on a calendar, wakes up your network storage, waits till it is online, and then starts a backup. ### Re-introduction of the backup toggle on update If you run Home Assistant OS, you get updates for Home Assistant along with all your add-ons. The update dialog used to have a toggle to create a backup before updating, which was removed in the previous release. This change was made because this feature was considered redundant when running regular automated backups. However, we’ve received a lot of feedback that many people relied on these backups to ensure they had the latest data, for instance, if they needed to roll back to a previous version of an add-on. We are re-introducing this backup on update toggle in this release, but in a smarter way. 🤓 #### Backup on updating Home Assistant When updating Home Assistant, the toggle is now turned off by default and shows the last time you made a backup. This allows you to decide whether to make a new backup before updating. Screenshot showing an Home Assistant Core update dialog, giving the option to make a backup before update. If you turn the switch on, a full automated backup is created and synced to your configured locations, before the update is started. This full sync is done to ensure you have the most recent backup available in case the update causes issues and you need to restore your system. In the rare case a Home Assistant update fatally fails and you can’t access the backup page, if you’ve configured a second backup location, you’ll be able to download it from there. #### Backup on updating add-ons Things are slightly different when updating add-ons. The toggle exists here too, and is disabled by default. However, when you enable it, only a backup of your add-on and its data is created. That way you can keep around the previous version of the add-on, so you can always roll back to it if needed. Screenshot showing an Home Assistant add-on update dialog, giving the option to make a backup before update. To prevent your system from filling up with old add-on backups, we only retain one backup per add-on, automatically deleting the previous backup whenever a new one is created. Add-on backups you created manually, of course, remain untouched and will not be deleted automatically. ### Improved filenames for backups One piece of feedback we’ve seen a lot, is that the filenames created by backups can be a bit cryptic and hard to understand for humans. This feedback was fair, as the filename was a hash and originally not designed to be human-readable. This method was not newly introduced in the last release, but it was made more apparent with the new backup system and locations. So, in this release, we've improved the filenames of the backups stored on your backup locations. The filename now includes the date and time the backup was created, making it easier to understand and identify the backup you are looking for, even outside of Home Assistant. ### New locations This release also introduces new locations to store your backups. There are new integrations for [Google Drive](/integrations/google_drive/) and [Microsoft OneDrive](/integrations/onedrive/), and backup support was added to the [Synology DSM](/integrations/synology_dsm) integration. Screenshot showing the backup configuration panel, with all possible backup integrations set up! ## Voice Assist, our [private voice assistant](/voice_control/), is getting a few new features in this release. If you don't have Assist set up yet, check out our [Home Assistant Voice: Preview Edition](/voice-pe/) to get started. ### Home Assistant will be able to call your analog phone to tell you a message Remember our tutorial on turning an analog phone into the [world's most private voice assistant](/voice_control/worlds-most-private-voice-assistant/)? Thanks to [Jamin](https://github.com/jaminh), we now have a way to call your analog phone from Home Assistant! You can use [`assist_satellite.announce`](/integrations/assist_satellite#action-assist_satelliteannounce) to have Home Assistant call your phone and play a message when someone picks up the phone. If you use an LLM as the brains for your voice assistant, you can take this one step further with the new [`assist_satellite.start_conversation`](/integrations/assist_satellite#action-assist_satellitestart_conversation) action. Instead of playing an announcement, it starts a conversation between Home Assistant and the user, with Home Assistant saying the first message. Left the garage door open for 30 minutes? No problem, let Home Assistant call and ask if they want to close it. _(Starting a conversation with the default conversation agent is a bit more work and did not make it this release)._ ### New Broadcast intent You can now broadcast messages to every other voice assistant in your home. Try it by saying _"Broadcast it is time for dinner"_. As always with new intents, support may vary [depending on your language](https://ohf-voice.github.io/intents/), but our language leaders are working hard on making sure it will be supported soon in your language! ### Setting Temperature on Thermostat A few releases ago we introduced an intent to get the current temperature from a climate device. As of this release, you can also set the target temperature of your thermostat by voice. By saying _"Set the temperature to 19 degrees"_ this will smartly target the area you are in (if you have a thermostat per area, such as thermostatic valves on your radiators) or the floor you are in (if you only have a central unit). You can also target specific devices by name if you prefer. ### LLMs meet calendars Without complex custom tooling, LLM-based conversation agents previously could not fetch events from your calendar. This release changes that. Out of the box, LLM-based agents can now retrieve today’s and this week’s events from any of your calendars. Don’t forget to [expose your calendar entities](/voice_control/voice_remote_expose_devices/) to enable this functionality. ### Shared history between the default conversation agent and its LLM-based fallback In [2024.12](/blog/2024/12/04/release-202412/) we introduced a lovely feature that allowed you to use our fast and local default conversation agent for most queries while still being able to fall back to a much more powerful LLM-based agent for more complex queries. This introduced some interesting behaviors. From a user perspective, it looked like you were talking to the same assistant, whereas, in reality, nothing was shared between the two agents. This led to some less-than-optimal scenarios, such as this one: Screenshot of missing history in the conversation The first command is processed locally by our default agent, but the follow-up request is processed by the LLM-based agent. Since no memory is shared, it does not understand what device you want to turn off. Starting with this release, both agents now share the same command history, helping address this issue. Screenshot of the new improved behavior ### Model Context Protocol This release adds the [Model Context Protocol](https://modelcontextprotocol.io/introduction) to Home Assistant thanks to [Allen][@allenporter]. Home Assistant can both be an [MCP server](/integrations/mcp_server/) and an [MCP client](/integrations/mcp/). From the MCP website: > MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools. To give it a try yourself, [check out this client demo](https://gist.github.com/allenporter/b0e9946feb2ab60901c4f467ac1ba6f9). ## Integrations Thanks to our community for keeping pace with the new {% term integrations %} and improvements to existing ones! You’re all awesome 🥰 ### New integrations We welcome the following new integrations in this release: - **[Google Drive]**, added by [@tronikos]
Add your Google Drive as a location to store your Home Assistant backups. - **[Homee]**, added by [@Taraman17]
Integrate your [Homee smart home system] into Home Assistant. - **[igloohome]**, added by [@keithle888]
Monitor the battery levels of your [igloo smart access device(s)]. - **[LetPot]**, added by [@jpelgrom]
Monitor and control your [LetPot indoor garden]. - **[OneDrive]**, added by [@zweckj]
Allows you to store your Home Assistant backups in your Microsoft OneDrive. - **[Overseerr]**, added by [@joostlek]
Interact with your [Overseerr media requests] directly from Home Assistant. - **[Model Context Protocol Server]**, added by [@allenporter]
Enables using Home Assistant to provide context for MCP LLM Client Applications. For example, you can expose your Google Tasks to-do list as a tool for [Claude Desktop]. - **[Model Context Protocol]**, added by [@allenporter]
Enables using [MCP Servers] in Home Assistant to provide additional tools to use with a conversation agent. - **[Qbus]**, added by [@thomasddn]
Allows you to integrate your [Qbus Control] into Home Assistant. This release also has a new virtual integration. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. The following virtual integration have been added: - **[Decorquip Dream]**, provided by [Motionblinds] added by [@starkillerOG] [@allenporter]: https://github.com/allenporter [@joostlek]: https://github.com/joostlek [@jpelgrom]: https://github.com/jpelgrom [@keithle888]: https://github.com/keithle888 [@starkillerOG]: https://github.com/starkillerOG [@Taraman17]: https://github.com/Taraman17 [@thomasddn]: https://github.com/thomasddn [@tronikos]: https://github.com/tronikos [@zweckj]: https://github.com/zweckj [Claude Desktop]: https://claude.ai/download [Decorquip Dream]: /integrations/decorquip/ [Google Drive]: /integrations/google_drive [Homee smart home system]: https://hom.ee/ [Homee]: /integrations/homee [igloo smart access device(s)]: https://www.igloohome.co/#products [igloohome]: /integrations/igloohome [LetPot indoor garden]: https://letpot.com/ [LetPot]: /integrations/letpot [MCP Servers]: https://modelcontextprotocol.io/ [Model Context Protocol Server]: /integrations/mcp_server [Model Context Protocol]: /integrations/mcp [Motionblinds]: /integrations/motion_blinds [OneDrive]: /integrations/onedrive [Overseerr media requests]: https://overseerr.dev/ [Overseerr]: /integrations/overseerr [Qbus Control]: https://www.qbus.be/ [Qbus]: /integrations/qbus/ ### Noteworthy improvements to existing integrations It is not just new {% term integrations %} that have been added; existing integrations are also being constantly improved. Here are some of the noteworthy changes to existing integrations: - A big shoutout to [@NoRi2909]! He has been reviewing and improving every single piece of text we show anywhere in Home Assistant. Thank you for your hard work! - Also, [@lboue]! This hero keeps extending the device support for the [Matter] integration by adding support for more and more devices. Home Assistant is close to reaching full Matter 1.4 device support! - [@chemelli74] added support for the [Shelly BLU TRV] to the [Shelly] integration. Nice! - The [HomeWizard Energy] integration now supports the [HomeWizard Plug-In Battery]. Awesome work [@DCSBL]! - Thanks to [@iprak], the [Vesync] integration now supports humidifiers! - [@rytilahti] added vacuum support to the [TP-Link Smart Home] integration. Sweet! - The [Reolink] integration keeps evolving, [@starkillerOG] added support for baby crying detection as a sensor. Nice! - The [Bang & Olufsen] integration now provides entities allowing you to react to physical button presses on all Bang & Olufsen devices. Thanks [@mj23000]! [@chemelli74]: https://github.com/chemelli74 [@DCSBL]: https://github.com/DCSBL [@iprak]: https://github.com/iprak [@lboue]: https://github.com/lboue [@mj23000]: https://github.com/mj23000 [@NoRi2909]: https://github.com/NoRi2909 [@rytilahti]: https://github.com/rytilahti [@starkillerOG]: https://github.com/starkillerOG [Bang & Olufsen]: /integrations/bang_olufsen [HomeWizard Energy]: /integrations/homewizard [HomeWizard Plug-In Battery]: https://www.homewizard.com/nl/plug-in-battery/ [Matter]: /integrations/matter [Reolink]: /integrations/reolink [Shelly BLU TRV]: https://www.shelly.com/products/shelly-blu-trv-single-pack [Shelly]: /integrations/shelly [TP-Link Smart Home]: /integrations/tplink [Vesync]: /integrations/vesync ### Now available to set up from the UI While most {% term integrations %} 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: - **[NMBS]**, done by [@silamon] - **[Filter]**, done by [@gjohansson-ST] [@gjohansson-ST]: https://github.com/gjohansson-ST [@silamon]: https://github.com/silamon [Filter]: /integrations/filter [NMBS]: /integrations/nmbs ## Other noteworthy changes - When using the [Generic thermostat], setting a temperature that matches one of the presets will automatically select that preset as active. Thanks [@domingues]! - [Time triggers] in automations can now be offset when using datetime input helpers. Thanks [@Petro31]! [@domingues]: https://github.com/domingues [@Petro31]: https://github.com/Petro31 [Generic thermostat]: /integrations/generic_thermostat [Time triggers]: /docs/automation/trigger/#time-trigger ## Bluetooth config panel The [Bluetooth integration] now has its own configuration panel! 💙 The panel is accessible by going to **Settings** > **Device & services**. Find and select the **Bluetooth** integration, and next select **Configure**. This new panel gives you access to the Bluetooth integration options and insights into the connection slot allocations. More importantly, it has an advertisement monitor! Selecting **Advertisement monitor** will open a new panel, where you can see information about your Bluetooth devices, including the raw advertisement data and how they are connected to your Home Assistant instance. This includes which [Bluetooth proxy] it connects through! Screenshot of the new advertisement panel [Bluetooth integration]: /integrations/bluetooth [Bluetooth proxy]: /integrations/bluetooth/#remote-adapters-bluetooth-proxies ## Preparing our graphs for the future This release includes a major overhaul of every graph we display and show in Home Assistant. We have entirely replaced the software library that renders these graphs in the frontend. You can most definitely tell things have changed, but everything still looks very similar. The latter was our goal for now, as we wanted the existing experience to be familiar. However, this change is a preparation for the future. We have many plans and ideas for our graphs, and this change was a necessary step to make those plans possible. ## Patch releases We will also release patch releases for Home Assistant 2025.2 in February. These patch releases only contain bug fixes. Our goal is to release a patch release every Friday. ### 2025.2.1 - February 7 - Fix hassio test using wrong fixture ([@emontnemery] - [#137516]) - Change Electric Kiwi authentication ([@mikey0000] - [#135231]) - Update govee-ble to 0.42.1 ([@cdce8p] - [#137371]) - Bump holidays to 0.66 ([@gjohansson-ST] - [#137449]) - Bump aiohttp-asyncmdnsresolver to 0.1.0 ([@bdraco] - [#137492]) - Bump aiohttp to 3.11.12 ([@bdraco] - [#137494]) - Bump govee-ble to 0.43.0 to fix compat with new H5179 firmware ([@bdraco] - [#137508]) - Bump habiticalib to v0.3.5 ([@tr4nt0r] - [#137510]) - Fix Mill issue, where no sensors were shown ([@Danielhiversen] - [#137521]) - Don't overwrite setup state in async_set_domains_to_be_loaded ([@emontnemery] - [#137547]) - Use separate metadata files for onedrive ([@zweckj] - [#137549]) - Fix sending polls to Telegram threads ([@jwhb] - [#137553]) - Skip building wheels for electrickiwi-api ([@cdce8p] - [#137556]) - Add excluded domains to broadcast intent ([@synesthesiam] - [#137566]) - Revert "Add `PaddleSwitchPico` (Pico Paddle Remote) device trigger to Lutron Caseta" ([@bdraco] - [#137571]) - Fix Overseerr webhook configuration JSON ([@denniseffing] - [#137572]) - Do not rely on pyserial for port scanning with the CM5 + ZHA ([@puddly] - [#137585]) - Bump eheimdigital to 1.0.6 ([@autinerd] - [#137587]) - Bump pyfireservicerota to 0.0.46 ([@cyberjunky] - [#137589]) - Bump reolink-aio to 0.11.10 ([@starkillerOG] - [#137591]) - Allow to omit the payload attribute to MQTT publish action to allow an empty payload to be sent by default ([@jbouwh] - [#137595]) - Handle previously migrated HEOS device identifier ([@andrewsayre] - [#137596]) - Bump `aioshelly` to version `12.4.1` ([@bieniu] - [#137598]) - Bump electrickiwi-api to 0.9.13 ([@mikey0000] - [#137601]) - Bump ZHA to 0.0.48 ([@TheJulianJES] - [#137610]) - Bump Electrickiwi-api to 0.9.14 ([@mikey0000] - [#137614]) - Update google-nest-sdm to 7.1.3 ([@allenporter] - [#137625]) - Don't use the current temperature from Shelly BLU TRV as a state for External Temperature number entity ([@bieniu] - [#137658]) - Fix LG webOS TV turn off when device is already off ([@thecode] - [#137675]) [#135231]: https://github.com/home-assistant/core/pull/135231 [#137371]: https://github.com/home-assistant/core/pull/137371 [#137448]: https://github.com/home-assistant/core/pull/137448 [#137449]: https://github.com/home-assistant/core/pull/137449 [#137492]: https://github.com/home-assistant/core/pull/137492 [#137494]: https://github.com/home-assistant/core/pull/137494 [#137508]: https://github.com/home-assistant/core/pull/137508 [#137510]: https://github.com/home-assistant/core/pull/137510 [#137516]: https://github.com/home-assistant/core/pull/137516 [#137521]: https://github.com/home-assistant/core/pull/137521 [#137547]: https://github.com/home-assistant/core/pull/137547 [#137549]: https://github.com/home-assistant/core/pull/137549 [#137553]: https://github.com/home-assistant/core/pull/137553 [#137556]: https://github.com/home-assistant/core/pull/137556 [#137566]: https://github.com/home-assistant/core/pull/137566 [#137571]: https://github.com/home-assistant/core/pull/137571 [#137572]: https://github.com/home-assistant/core/pull/137572 [#137585]: https://github.com/home-assistant/core/pull/137585 [#137587]: https://github.com/home-assistant/core/pull/137587 [#137589]: https://github.com/home-assistant/core/pull/137589 [#137591]: https://github.com/home-assistant/core/pull/137591 [#137595]: https://github.com/home-assistant/core/pull/137595 [#137596]: https://github.com/home-assistant/core/pull/137596 [#137598]: https://github.com/home-assistant/core/pull/137598 [#137601]: https://github.com/home-assistant/core/pull/137601 [#137610]: https://github.com/home-assistant/core/pull/137610 [#137614]: https://github.com/home-assistant/core/pull/137614 [#137625]: https://github.com/home-assistant/core/pull/137625 [#137658]: https://github.com/home-assistant/core/pull/137658 [#137675]: https://github.com/home-assistant/core/pull/137675 [@Danielhiversen]: https://github.com/Danielhiversen [@TheJulianJES]: https://github.com/TheJulianJES [@allenporter]: https://github.com/allenporter [@andrewsayre]: https://github.com/andrewsayre [@autinerd]: https://github.com/autinerd [@bdraco]: https://github.com/bdraco [@bieniu]: https://github.com/bieniu [@cdce8p]: https://github.com/cdce8p [@cyberjunky]: https://github.com/cyberjunky [@denniseffing]: https://github.com/denniseffing [@emontnemery]: https://github.com/emontnemery [@frenck]: https://github.com/frenck [@gjohansson-ST]: https://github.com/gjohansson-ST [@jbouwh]: https://github.com/jbouwh [@jwhb]: https://github.com/jwhb [@mikey0000]: https://github.com/mikey0000 [@puddly]: https://github.com/puddly [@starkillerOG]: https://github.com/starkillerOG [@synesthesiam]: https://github.com/synesthesiam [@thecode]: https://github.com/thecode [@tr4nt0r]: https://github.com/tr4nt0r [@zweckj]: https://github.com/zweckj ### 2025.2.2 - February 10 - LaCrosse View new endpoint ([@IceBotYT] - [#137284]) - Convert coinbase account amounts as floats to properly add them together ([@natekspencer] - [#137588]) - Bump ohmepy to 1.2.9 ([@dan-r] - [#137695]) - Bump onedrive_personal_sdk to 0.0.9 ([@zweckj] - [#137729]) - Limit habitica ConfigEntrySelect to integration domain ([@cdce8p] - [#137767]) - Limit nordpool ConfigEntrySelect to integration domain ([@cdce8p] - [#137768]) - Limit transmission ConfigEntrySelect to integration domain ([@cdce8p] - [#137769]) - Fix tplink child updates taking up to 60s ([@bdraco] - [#137782]) - Call backup listener during setup in Google Drive ([@tronikos] - [#137789]) - Use the external URL set in Settings > System > Network if my is disabled as redirect URL for Google Drive instructions ([@tronikos] - [#137791]) - Fix manufacturer_id matching for 0 ([@patman15] - [#137802]) - Fix DAB radio in Onkyo ([@arturpragacz] - [#137852]) - Fix LG webOS TV fails to setup when device is off ([@thecode] - [#137870]) - Fix heos migration ([@balloob] - [#137887]) - Bump pydrawise to 2025.2.0 ([@dknowles2] - [#137961]) - Bump aioshelly to version 12.4.2 ([@bieniu] - [#137986]) - Prevent crash if telegram message failed and did not generate an ID ([@CloCkWeRX] - [#137989]) - Bump habiticalib to v0.3.7 ([@tr4nt0r] - [#137993]) - Refresh the nest authentication token on integration start before invoking the pub/sub subsciber ([@allenporter] - [#138003]) - Use resumable uploads in Google Drive ([@tronikos] - [#138010]) - Bump py-synologydsm-api to 2.6.2 ([@mib1185] - [#138060]) - Handle generic agent exceptions when getting and deleting backups ([@abmantis] - [#138145]) - Bump onedrive-personal-sdk to 0.0.10 ([@zweckj] - [#138186]) - Keep one backup per backup agent when executing retention policy ([@emontnemery] - [#138189]) - Improve inexogy logging when failed to update ([@jpbede] - [#138210]) - Bump pyheos to v1.0.2 ([@andrewsayre] - [#138224]) - Update frontend to 20250210.0 ([@bramkragten] - [#138227]) - Bump lacrosse-view to 1.1.1 ([@IceBotYT] - [#137282]) [#137282]: https://github.com/home-assistant/core/pull/137282 [#137284]: https://github.com/home-assistant/core/pull/137284 [#137448]: https://github.com/home-assistant/core/pull/137448 [#137588]: https://github.com/home-assistant/core/pull/137588 [#137688]: https://github.com/home-assistant/core/pull/137688 [#137695]: https://github.com/home-assistant/core/pull/137695 [#137729]: https://github.com/home-assistant/core/pull/137729 [#137767]: https://github.com/home-assistant/core/pull/137767 [#137768]: https://github.com/home-assistant/core/pull/137768 [#137769]: https://github.com/home-assistant/core/pull/137769 [#137782]: https://github.com/home-assistant/core/pull/137782 [#137789]: https://github.com/home-assistant/core/pull/137789 [#137791]: https://github.com/home-assistant/core/pull/137791 [#137802]: https://github.com/home-assistant/core/pull/137802 [#137852]: https://github.com/home-assistant/core/pull/137852 [#137870]: https://github.com/home-assistant/core/pull/137870 [#137887]: https://github.com/home-assistant/core/pull/137887 [#137961]: https://github.com/home-assistant/core/pull/137961 [#137986]: https://github.com/home-assistant/core/pull/137986 [#137989]: https://github.com/home-assistant/core/pull/137989 [#137993]: https://github.com/home-assistant/core/pull/137993 [#138003]: https://github.com/home-assistant/core/pull/138003 [#138010]: https://github.com/home-assistant/core/pull/138010 [#138060]: https://github.com/home-assistant/core/pull/138060 [#138145]: https://github.com/home-assistant/core/pull/138145 [#138186]: https://github.com/home-assistant/core/pull/138186 [#138189]: https://github.com/home-assistant/core/pull/138189 [#138210]: https://github.com/home-assistant/core/pull/138210 [#138224]: https://github.com/home-assistant/core/pull/138224 [#138227]: https://github.com/home-assistant/core/pull/138227 [@CloCkWeRX]: https://github.com/CloCkWeRX [@IceBotYT]: https://github.com/IceBotYT [@abmantis]: https://github.com/abmantis [@allenporter]: https://github.com/allenporter [@andrewsayre]: https://github.com/andrewsayre [@arturpragacz]: https://github.com/arturpragacz [@balloob]: https://github.com/balloob [@bdraco]: https://github.com/bdraco [@bieniu]: https://github.com/bieniu [@bramkragten]: https://github.com/bramkragten [@cdce8p]: https://github.com/cdce8p [@dan-r]: https://github.com/dan-r [@dknowles2]: https://github.com/dknowles2 [@emontnemery]: https://github.com/emontnemery [@frenck]: https://github.com/frenck [@jpbede]: https://github.com/jpbede [@mib1185]: https://github.com/mib1185 [@natekspencer]: https://github.com/natekspencer [@patman15]: https://github.com/patman15 [@thecode]: https://github.com/thecode [@tr4nt0r]: https://github.com/tr4nt0r [@tronikos]: https://github.com/tronikos [@zweckj]: https://github.com/zweckj ### 2025.2.3 - February 12 - Bump hass-nabucasa from 0.88.1 to 0.89.0 ([@ludeeus] - [#137321]) - Move cloud backup upload/download handlers to lib ([@ludeeus] - [#137416]) - Handle non-retryable errors when uploading cloud backup ([@ludeeus] - [#137517]) - Add missing thermostat state EMERGENCY_HEAT to econet ([@jdanders] - [#137623]) - Fix broken issue creation in econet ([@jdanders] - [#137773]) - Fix version extraction for APsystems ([@alfwro13] - [#138023]) - Refresh nest access token before before building subscriber Credentials ([@allenporter] - [#138259]) - Fix BackupManager.async_delete_backup ([@emontnemery] - [#138286]) - Fix next authentication token error handling ([@allenporter] - [#138299]) - Bump pyenphase to 1.25.1 ([@catsmanac] - [#138327]) - Bump sentry-sdk to 1.45.1 ([@edenhaus] - [#138349]) - Bump zeroconf to 0.144.1 ([@bdraco] - [#138353]) - Bump cryptography to 44.0.1 ([@edenhaus] - [#138371]) - Fix tplink iot strip sensor refresh ([@sdb9696] - [#138375]) - Bump deebot-client to 12.1.0 ([@edenhaus] - [#138382]) - Bump hass-nabucasa from 0.89.0 to 0.90.0 ([@emontnemery] - [#138387]) - Update cloud backup agent to use calculate_b64md5 from lib ([@emontnemery] - [#138391]) [#137321]: https://github.com/home-assistant/core/pull/137321 [#137416]: https://github.com/home-assistant/core/pull/137416 [#137448]: https://github.com/home-assistant/core/pull/137448 [#137517]: https://github.com/home-assistant/core/pull/137517 [#137623]: https://github.com/home-assistant/core/pull/137623 [#137688]: https://github.com/home-assistant/core/pull/137688 [#137773]: https://github.com/home-assistant/core/pull/137773 [#138023]: https://github.com/home-assistant/core/pull/138023 [#138231]: https://github.com/home-assistant/core/pull/138231 [#138259]: https://github.com/home-assistant/core/pull/138259 [#138286]: https://github.com/home-assistant/core/pull/138286 [#138299]: https://github.com/home-assistant/core/pull/138299 [#138327]: https://github.com/home-assistant/core/pull/138327 [#138349]: https://github.com/home-assistant/core/pull/138349 [#138353]: https://github.com/home-assistant/core/pull/138353 [#138371]: https://github.com/home-assistant/core/pull/138371 [#138375]: https://github.com/home-assistant/core/pull/138375 [#138382]: https://github.com/home-assistant/core/pull/138382 [#138387]: https://github.com/home-assistant/core/pull/138387 [#138391]: https://github.com/home-assistant/core/pull/138391 [@alfwro13]: https://github.com/alfwro13 [@allenporter]: https://github.com/allenporter [@bdraco]: https://github.com/bdraco [@catsmanac]: https://github.com/catsmanac [@edenhaus]: https://github.com/edenhaus [@emontnemery]: https://github.com/emontnemery [@frenck]: https://github.com/frenck [@jdanders]: https://github.com/jdanders [@ludeeus]: https://github.com/ludeeus [@sdb9696]: https://github.com/sdb9696 ### 2025.2.4 - February 14 - Bump python-kasa to 0.10.2 ([@sdb9696] - [#138381]) - Bump hass-nabucasa from 0.90.0 to 0.91.0 ([@ludeeus] - [#138441]) - Bump aiowebostv to 0.6.2 ([@thecode] - [#138488]) - Bump ZHA to 0.0.49 to fix Tuya TRV issues ([@TheJulianJES] - [#138492]) - Bump pyseventeentrack to 1.0.2 ([@shaiu] - [#138506]) - Bump hass-nabucasa from 0.91.0 to 0.92.0 ([@emontnemery] - [#138510]) - Bump py-synologydsm-api to 2.6.3 ([@mib1185] - [#138516]) - Update frontend to 20250214.0 ([@bramkragten] - [#138521]) [#137448]: https://github.com/home-assistant/core/pull/137448 [#137688]: https://github.com/home-assistant/core/pull/137688 [#138231]: https://github.com/home-assistant/core/pull/138231 [#138381]: https://github.com/home-assistant/core/pull/138381 [#138408]: https://github.com/home-assistant/core/pull/138408 [#138441]: https://github.com/home-assistant/core/pull/138441 [#138488]: https://github.com/home-assistant/core/pull/138488 [#138492]: https://github.com/home-assistant/core/pull/138492 [#138506]: https://github.com/home-assistant/core/pull/138506 [#138510]: https://github.com/home-assistant/core/pull/138510 [#138516]: https://github.com/home-assistant/core/pull/138516 [#138521]: https://github.com/home-assistant/core/pull/138521 [@TheJulianJES]: https://github.com/TheJulianJES [@bramkragten]: https://github.com/bramkragten [@emontnemery]: https://github.com/emontnemery [@frenck]: https://github.com/frenck [@ludeeus]: https://github.com/ludeeus [@mib1185]: https://github.com/mib1185 [@sdb9696]: https://github.com/sdb9696 [@shaiu]: https://github.com/shaiu [@thecode]: https://github.com/thecode ### 2025.2.5 - February 21 - Adjust Tuya Water Detector to support 1 as an alarm state ([@petacz] - [#135933]) - Fix bug in set_preset_mode_with_end_datetime (wrong typo of frost_guard) ([@pectum83] - [#138402]) - Bump pyhive-integration to 1.0.2 ([@KJonline] - [#138569]) - Bump tesla-fleet-api to v0.9.10 ([@Bre77] - [#138575]) - Bump pysmarty2 to 0.10.2 ([@lucab-91] - [#138625]) - Rename "returned" state to "alert" ([@shaiu] - [#138676]) - Bump pyvesync for vesync ([@cdnninja] - [#138681]) - Opower: Fix unavailable "start date" and "end date" sensors ([@SaswatPadhi] - [#138694]) - Correct backup filename on delete or download of cloud backup ([@emontnemery] - [#138704]) - Correct invalid automatic backup settings when loading from store ([@emontnemery] - [#138716]) - Bump airgradient to 0.9.2 ([@joostlek] - [#138725]) - Clean up translations for mocked integrations inbetween tests ([@emontnemery] - [#138732]) - Bump pyrympro from 0.0.8 to 0.0.9 ([@nivstein] - [#138753]) - Don't allow setting backup retention to 0 days or copies ([@emontnemery] - [#138771]) - Fix TV input source option for Sonos Arc Ultra ([@PeteRager] - [#138778]) - Add assistant filter to expose entities list command ([@synesthesiam] - [#138817]) - Fix playback for encrypted Reolink files ([@starkillerOG] - [#138852]) - Correct backup date when reading a backup created by supervisor ([@emontnemery] - [#138860]) - Bump pyfritzhome to 0.6.15 ([@mib1185] - [#138879]) - Validate hassio backup settings ([@emontnemery] - [#138880]) - Catch zeep fault as well on GetSystemDateAndTime call. ([@DmitryKuzmenko] - [#138916]) - Fix Reolink callback id collision ([@starkillerOG] - [#138918]) - Fix handling of min/max temperature presets in AVM Fritz!SmartHome ([@mib1185] - [#138954]) - Bump pyprosegur to 0.0.13 ([@dgomes] - [#138960]) - Bump reolink-aio to 0.12.0 ([@starkillerOG] - [#138985]) - Bump deebot-client to 12.2.0 ([@edenhaus] - [#138986]) - Omit unknown hue effects ([@joostlek] - [#138992]) - Update frontend to 20250221.0 ([@bramkragten] - [#139006]) [#135933]: https://github.com/home-assistant/core/pull/135933 [#137448]: https://github.com/home-assistant/core/pull/137448 [#137688]: https://github.com/home-assistant/core/pull/137688 [#138231]: https://github.com/home-assistant/core/pull/138231 [#138402]: https://github.com/home-assistant/core/pull/138402 [#138408]: https://github.com/home-assistant/core/pull/138408 [#138530]: https://github.com/home-assistant/core/pull/138530 [#138569]: https://github.com/home-assistant/core/pull/138569 [#138575]: https://github.com/home-assistant/core/pull/138575 [#138625]: https://github.com/home-assistant/core/pull/138625 [#138676]: https://github.com/home-assistant/core/pull/138676 [#138681]: https://github.com/home-assistant/core/pull/138681 [#138694]: https://github.com/home-assistant/core/pull/138694 [#138704]: https://github.com/home-assistant/core/pull/138704 [#138716]: https://github.com/home-assistant/core/pull/138716 [#138725]: https://github.com/home-assistant/core/pull/138725 [#138732]: https://github.com/home-assistant/core/pull/138732 [#138753]: https://github.com/home-assistant/core/pull/138753 [#138771]: https://github.com/home-assistant/core/pull/138771 [#138778]: https://github.com/home-assistant/core/pull/138778 [#138817]: https://github.com/home-assistant/core/pull/138817 [#138852]: https://github.com/home-assistant/core/pull/138852 [#138860]: https://github.com/home-assistant/core/pull/138860 [#138879]: https://github.com/home-assistant/core/pull/138879 [#138880]: https://github.com/home-assistant/core/pull/138880 [#138916]: https://github.com/home-assistant/core/pull/138916 [#138918]: https://github.com/home-assistant/core/pull/138918 [#138954]: https://github.com/home-assistant/core/pull/138954 [#138960]: https://github.com/home-assistant/core/pull/138960 [#138985]: https://github.com/home-assistant/core/pull/138985 [#138986]: https://github.com/home-assistant/core/pull/138986 [#138992]: https://github.com/home-assistant/core/pull/138992 [#139006]: https://github.com/home-assistant/core/pull/139006 [@Bre77]: https://github.com/Bre77 [@DmitryKuzmenko]: https://github.com/DmitryKuzmenko [@KJonline]: https://github.com/KJonline [@PeteRager]: https://github.com/PeteRager [@SaswatPadhi]: https://github.com/SaswatPadhi [@bramkragten]: https://github.com/bramkragten [@cdnninja]: https://github.com/cdnninja [@dgomes]: https://github.com/dgomes [@edenhaus]: https://github.com/edenhaus [@emontnemery]: https://github.com/emontnemery [@frenck]: https://github.com/frenck [@joostlek]: https://github.com/joostlek [@lucab-91]: https://github.com/lucab-91 [@mib1185]: https://github.com/mib1185 [@nivstein]: https://github.com/nivstein [@pectum83]: https://github.com/pectum83 [@petacz]: https://github.com/petacz [@shaiu]: https://github.com/shaiu [@starkillerOG]: https://github.com/starkillerOG [@synesthesiam]: https://github.com/synesthesiam ## 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](/join-chat) is an excellent place to be at, and don't forget to join our amazing [forums](https://community.home-assistant.io/). Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues), to get it fixed! Or, check [our help page](/help) for guidance for more places you can go. Are you more into email? [Sign-up for our Building the Open Home Newsletter](/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: {% details "Ecovacs" %} The attributes on the vacuum entity for the lifespan of the main brush, side brush, and filter have been deprecated and are now removed. These attributes are superseded by dedicated sensor entities. ([@gjohansson-ST] - [#134492]) ([documentation](/integrations/ecovacs)) [@gjohansson-ST]: https://github.com/gjohansson-ST [#134492]: https://github.com/home-assistant/core/pull/134492 {% enddetails %} {% details "Home Connect" %} Some appliances might lose their power entity as the API does not report the power setting. ([@Diegorro98] - [#135930]) ([documentation](/integrations/home_connect)) [@Diegorro98]: https://github.com/Diegorro98 [#135930]: https://github.com/home-assistant/core/pull/135930 {% enddetails %} {% details "IMGW-PIB" %} Some hydrology data is no longer available to Home Assistant users via IMGW-PIB API and for this reason, the following entities are removed: - `flood alarm` binary sensor - `flood alarm level` sensor - `flood warning` binary sensor - `flood warning level` sensor ([@bieniu] - [#134668]) ([documentation](/integrations/imgw_pib)) [@bieniu]: https://github.com/bieniu [#134668]: https://github.com/home-assistant/core/pull/134668 {% enddetails %} {% details "KNX" %} The "State Updater" option in the integration settings now works as intended. Previously, the option wasn’t applied correctly. - When disabled: KNX will only read a `state_address` once when the connection is established. - When enabled: KNX will also read any `state_address` if no value has been received for one hour. Please review your integration settings to ensure this option is configured according to your preferences. ([@farmio] - [#135611]) ([documentation](/integrations/knx)) [@farmio]: https://github.com/farmio [#135611]: https://github.com/home-assistant/core/pull/135611 {% enddetails %} {% details "Litter-Robot" %} Remove extra_state_attributes from Litter-Robot vacuum entities. These were previously migrated to sensors. ([@natekspencer] - [#136196]) ([documentation](/integrations/litterrobot)) [@natekspencer]: https://github.com/natekspencer [#136196]: https://github.com/home-assistant/core/pull/136196 {% enddetails %} {% details "MQTT" %} To change the MQTT broker settings, you need to start a reconfiguration. When `CONFIGURE` is selected, MQTT shows a "MQTT settings" page with subscribe and publish tools. The `Re-configure MQTT` button will be replaced with an `MQTT options` page. The reconfiguration option will only be available from the MQTT integration entry context menu. ([@jbouwh] - [#133342]) ([documentation](/integrations/mqtt)) The MQTT publish action no longer supports the `topic_template` and `payload_template` attributes. Instead, only `topic` and `payload` should be used. In automation and scripts, users can use templates by default. Users were instructed to update their automations and scripts with a repair flow when the use of the deprecated action options was detected. ([@jbouwh] - [#134056]) ([documentation](/integrations/mqtt)) [@jbouwh]: https://github.com/jbouwh [#133342]: https://github.com/home-assistant/core/pull/133342 [#134056]: https://github.com/home-assistant/core/pull/134056 {% enddetails %} {% details "Pentair ScreenLogic" %} Raw states derived from ScreenLogic enums are now lowercase instead of Title Case. This change impacts: - pH/ORP dosing state sensor entities: - `Dosing` -> `dosing` - `Mixing` -> `mixing` - `Monitoring` -> `monitoring` - The `preset_mode` state attribute for ScreenLogic climate entities, where raw states have also been underscored-spaced and had any punctuation removed. - `Solar` -> `solar` - `Solar Preferred` -> `solar_preferred` - `Heater` -> `heater` - `Don't Change` -> `dont_change` These changes support the addition of translation keys for text-based entity states. You should update any references to the above states/preset_modes to the new, lowercase versions. ([@dieselrabbit] - [#133866]) ([documentation](/integrations/screenlogic)) [@dieselrabbit]: https://github.com/dieselrabbit [#133866]: https://github.com/home-assistant/core/pull/133866 {% enddetails %} 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][devblog]. The following are the most notable for this release: - [Energy by distance units](https://developers.home-assistant.io/blog/2025/01/31/energy-distance-units/) - [Relocate dhcp/ssdp/usb/zeroconf ServiceInfo models](https://developers.home-assistant.io/blog/2025/01/15/service-info) [devblog]: https://developers.home-assistant.io/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.2](/changelogs/core-2025.2)