2025.1: Backing Up into 2025!

Home Assistant 2025.1! 🥂

Happy New Year! The whole Home Assistant project wishes you and your loved ones a fantastic and healthy 2025! ❤️ Let’s make this year even better than the last!

We are all super excited to kick off the new year with an absolute massive release! 🎆

This release brings a complete overhaul of the backup system in Home Assistant, which has been in the works for months! And I’m not just talking about some user interface changes—no, we are talking about a complete overhaul from front to back!

Automated backups, encrypted Home Assistant Cloud backup storage, retention policies, configuration wizards, and even the ability for integrations to offer backup storage locations! 🤯

But that is not all! We also had the Month of “What the Heck?!” in December, which resulted in a lot of quality-of-life improvements raised by the community that month!

There is so much to unwrap in this release, seriously, let’s just dive in!

Enjoy the release!

../Frenck

Overhaul of the backup system

Let’s talk about backups. Let’s be honest: they’re one of the most important yet often overlooked tasks. But when disaster strikes, like a hardware failure, having a reliable backup can save the day. Wouldn’t you love to be back up and running after disaster strikes?

While Home Assistant’s previous backup system has proven to be solid and reliable over the years, it didn’t exactly make following best practices—like regular backups, encryption, and off-site storage—easy. Many of you had to rely on custom add-ons, automations, or blueprints for backups to fill the gaps.

That changes with this release! 🎉

We’ve completely reworked the Home Assistant backup experience to help you set up a solid backup strategy, using best practices in just a few clicks; giving you peace of mind when it comes to your backups.

No worries, if you are using any custom solution for backups, they will continue to work today. Even with everything new, we’ve made sure to keep everything backward compatible.

So, without further ado, let’s dive into the new backup system!

Automated backups 🤖

Yes, you read that right—Home Assistant now supports automated backups!

Using a schedule, backups will be created on a regular basis without you having to lift a finger. This ensures you always have a recent backup available, without having to worry about it.

Screenshot showing the bew backup overview page which shows you exactly when your last backup took place

When you navigate to your backups in the settings menu, you will be greeted with a new overview page that shows you exactly when your last backup took place and when the next one is scheduled. Instant peace of mind!

Automated backups are taking place at 4:45 AM. So, while everyone in your home is sleeping, Home Assistant makes sure your data is safe and sound. Backing up at this early hour also means Home Assistant is done with its internal database maintenance, ensuring your backup is as compact as possible.

If something ever goes wrong during the automated scheduled backup process, Home Assistant will notify you through the repair center, ensuring you are aware of it and can take action.

Triggering an off-schedule automated backup 👆

Automated backups on a schedule are great, but sometimes, you might want to trigger a backup right now! Maybe you are about to make big changes or upgrade a whole bunch of things during an evening of tinkering.

No worries! You can now trigger an off-schedule automated backup from the backup page at any time. This will immediately create a backup with the same configuration as your scheduled automated backups.

Screenshot showing the backup now button + dialog that allows you to trigger an off-schedule backup at any time

The ability to trigger an on-demand automated backup is excellent, as it covers all your backup settings in a single click. However, the ability to create manual backups also still exists. This allows you to create a very specific backup with the exact contents you want to have in it.

Home Assistant Cloud backups 😎

Are you a Home Assistant Cloud by Nabu Casa subscriber? Then you’re in for a treat! You can now automatically store your latest, fully encrypted, backup in your Home Assistant Cloud account.

This feature provides 5GB of storage at no extra cost, offering fully encrypted off-site protection for your data! 🎁

Home Assistant Cloud is now a backup target location, that is included with the Home Assistant Cloud subscription at no additional costs

The backup can be downloaded from Home Assistant itself, but also from the Home Assistant Cloud account page @ Nabu Casa in case you need it. This way, you can always access your latest backup, even in case your Home Assistant hardware completely fails.

Backup locations are extendable by design 🧩

So, automated backups can be stored on your local disk and in Home Assistant Cloud, but what if you want to store your backups somewhere else?

Choice is an important aspect of Home Assistant; we want to make everything as flexible as possible without vendor lock-in. Therefore, the backup system is designed to be extendable.

This means integrations can offer new storage locations—such as NAS devices, Google Drive, Backblaze B2, or other storage providers—in the future.

Screenshot showing an potential example storage provider provided by an integration

Currently, this feature is brand new ✨, so no integrations offer additional locations yet. However, we expect to see a few more integrations that provide backup locations in the next release.

This extensibility ensures you can store your backups where you want them, giving you the flexibility and choice to choose the storage solution you prefer and trust.

Encrypted backups by default 🔒

With the addition of Home Assistant Cloud as an off-site backup location, and the potential for integrations to offer even more (off-site) backup locations, security has become more important than ever. Your backups not only contain the access credentials to your smart home devices but also the history of your home, and no one should be able to access information that sensitive! Ever!

That is why all backups are now AES-128 encrypted by default. To prioritize your backups’ security we replaced the previous optional password with a mandatory encryption key.

The new backup overview page shows you exactly when your last backup took place

When you set up your backups for the first time, an encryption key will be generated for you. Make sure to store this key in a safe place, as you will need it to restore your backups. To make this easier, you can download the key as part of an emergency kit during setup—or anytime later from the backup settings page. Keep it safe! 🔑

Restoring backups available to all installation methods 🤗

More good news—restoring backups is now supported across all installation methods! 🎉

Previously, only Home Assistant OS installations could restore backups. But with this release, this feature is now available for all installation methods! No matter how you run Home Assistant, even if you use our containers in a Docker environment, you can now restore your Home Assistant backups.

This also means you can restore backups from local storage, Home Assistant Cloud, or any future backup locations added through integrations.

As a matter of fact, all backup features, including everything we release today, will be available regardless of the installation method you are using. We want everyone to have a solid backup strategy.

Backup retention 🗑

Our previous backup system made solid backups, which was good, but if you didn’t clean them up manually, eventually, you’d annoyingly run out of disk space. 😬

So! Backup retention is now a thing! You can now configure how many backups you want to keep, and Home Assistant will handle the rest.

You can now configure a retention policy for your backups, allowing Home Assistant to clean it up automatically

This cleanup will happen automatically after each backup. If you create a backup manually for whatever reason, those will remain untouched, giving you full control over special cases and workflows.

Setting up backups for the first time 🚀

Getting started with the new backup system is quick and easy!

The first time you open the backup settings after upgrading, you will be greeted by a setup wizard that will guide you through setting up your backups step-by-step.

Screenshot of the our friendly wizard that will help you setting up your backups

The wizard will help you set up your encryption key, configure your backup frequency, and set up your backup retention policy. And when it is ready, it will immediately kick off your first backup!

All set! One less thing to worry about 🎉

3…2…1… Backups 🎊

We are super excited about this new backup system! As we enter the new year, we encourage you to get serious about your backups. A good New Year’s resolution, maybe? 😉

So, stop what you are doing right now and set up your backups! Go ahead and set up that 3-2-1 backup strategy. Not sure what that is?

You can read all about it in our 3…2…1… Backup blog post.

Month of “What the Heck?!”

December’s Month of “What the Heck?!” was an absolute blast! 🎉

A big thank you to everyone who contributed by sharing their “What the Heck?!” moments and ideas for improving Home Assistant. Your input is incredibly valuable and helps shape our roadmap and priorities moving forward.

Quite a bunch of shared “What the Heck?!” moments have been addressed in this release already 🚀 —and we’re not stopping there! Expect to see even more improvements inspired by your feedback in upcoming releases.

Setting categories and labels when creating automations and scripts

For the first WTH item that has been resolved, we have @jpbede to thank! And this one is also one of the higher-voted ones, so it is a good one! Andrew Jackson wrote:

“WTH can you not add categories, labels etc when creating an automation”

Yeah, that is a good WTH! Whenever you create a new automation or script, you probably want to organize it right away and not have to go back to the settings. FIXED! 🎉

If you press the d on your keyboard, it will pop up the Quickbar for devices

When you create a new automation or script, and also when renaming it, you can now set the description, category, labels, and areas right away! 🏷️ Nice!

Quickly navigate to a device

You might be aware that you can bring up our quick navigation bar anywhere in Home Assistant by pressing the c key on your keyboard to navigate various places and the e key to search and navigate to any entity. However…

“WTH is there no quick bar for devices?”

Well, that is a good question that Andreas Brett raised! There is indeed no such thing for devices. @jpbede to the rescue! You can now navigate to any device using the quick bar by pressing the d key on your keyboard.

If you press the d on your keyboard, it will pop up the quick bar for devices

Zoom & Pan for charts

KNXBroker raised the following WTH topic:

“WTH lets upgrade History Graphs”

You are right! The history graphs in Home Assistant are basic but functional! Nevertheless, we can do better! 🚀

One of the bigger items in that WTH topic was the ability to zoom and pan… Thanks to @MindFreeze, you can now zoom and pan in any graph in Home Assistant! 📈

Zoom any graph in Home Assistant, by holding ctrl or command and scrolling your mouse wheel! Zoom and drag any graph in Home Assistant, by holding ctrl (or command on mac) and scrolling your mouse wheel!

Hold the control key (or command on macOS) and scroll to zoom in and out using your mouse. You can also click and drag to pan around the zoomed graph.

In addition to this change, @MindFreeze enabled small micro-animation for the history graphs, making them look more alive and less static.

Controlling the default exposure of new entities to Assist

mathd made the following point in a Month of “What the Heck?!” topic:

“WTH Are all new entities exposed to Assist by default?”

We hear you! Thanks to @jpbede, you can now control the default exposure of new entities to Assist. You can now toggle this on or off in the Home Assistant Voice Assistant settings.

Zoom any graph in Home Assistant, by holding ctrl or command and scroll your mouse wheel!

More “What the Heck?!” improvements

Many smaller improvements originate from the Month of “What the Heck?!” in this release. Here are some of the other noteworthy ones:

“WTH there is no hotkey for Assist”**

Well, thanks to @jpbede, you can now press the a key on your keyboard anywhere in Home Assistant to summon Assist! 🎙️ Nice!

“WTH doesn’t HA ask if I want to save automations?”

Whoa! That is a good one! Thanks to @jpbede, Home Assistant will now ask if you want to save your automation before leaving the editor if there are unsaved changes. 🤖

“WTH Is in Energy Dashboard the individual devices not able to reorder”

Thanks for that one yormedia! Honestly, this one has been raised in previous editions of the Month of “What the Heck?!” a few times. Reason enough for @karwosts to pick this up and make it happen! You can now reorder them in the setting for categorization purposes. 🔡

“WTH Can’t I filter labels within a table filter?”

Good question. If you have a lot of labels, scrolling through the list of labels in the filter option can be a bit cumbersome. Thanks to @silamon, you can now search and filter through the labels in the filter option! 🔎

WTH sentence trigger doesn’t contain any context

Great idea! Thanks to @balloob, the full conversation input is now available to sentence triggers! 🗣️ This was actually the first WTH item to be resolved in this edition! 😎

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:

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:

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:

  • DTE Energy Bridge has been removed after being deprecated. The integration was no longer functional.
  • Simulated has been previously deprecated and is now removed.
  • Stookalert has been removed. The upstream data is no longer updated. The Stookwijzer integration is a good alternative to get the same information.

Other noteworthy changes

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

  • When viewing data tables and using ctrl+f in your browser to search, the search input will now be focused automatically. As native browser searches will not work on data tables. Thanks @jpbede!
  • @marcinbauer85 adjusted the “Add card” dialog, to automatically focus on the search field when you add a card, so you can start typing to search right away! Nice touch!
  • Images uploaded through Home Assistant (for example, as background or as a user profile picture) are now browsable in the media browser. Thanks @karwosts!
  • The unit of measurement is now shown next to the numeric slider in the more-info dialog of number entities. Thanks, @abmantis!
  • Home Assistant now supports mWh as a unit of measurement for energy sensors and mW for electrical potential power sensors. Thanks @agners!
  • @wendevlin added settings and category overflow actions to the automation and script editor (the three-dotted menu in the top right corner), making it easier to access those straight from the editor. Nice!
  • The logbook card supports picking a target for things it should show events for. You can now pick based on entities, devices, areas, floors, and labels! Thanks, @silamon!

Dashboard background settings

A few releases ago, we made adding a background image to your dashboard easier. This release, @silamon takes it a step further by adding a lot of settings to customize how the background image is displayed.

This includes support for tiled backgrounds, transparency, size settings, alignment, and allowing the background to scroll with the page or stay fixed.

You can now fully customize the background of your dashboard, with the options to changing tiling, transparency, alignment, and size seettings

Nice! Thanks, @silamon!

Media player volume feature for Tile card

This is a super nice addition from @simon-zumbrunnen! The Tile card now supports a media player volume slider feature. This feature allows you to control the volume of a media player directly from the Tile card. 🔉 Nice work Simon!

The tile card with a media player entity, having the volume feature slider enabled

Need help? Join the community!

Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!

Our very active Discord chat server is an excellent place to be at, and don’t forget to join our amazing forums.

Found a bug or issue? Please report it in our issue tracker, to get it fixed! Or, check our help page for guidance for more places you can go.

Are you more into email? Sign-up for our Building the Open Home Newsletter to get the latest news about features, things happening in our community and other news about building an Open Home; straight into your inbox.

Backward-incompatible changes

We do our best to avoid making changes to existing functionality that might unexpectedly impact your Home Assistant installation. Unfortunately, sometimes, it is inevitable.

We always make sure to document these changes to make the transition as easy as possible for you. This release has the following backward-incompatible changes:

1-Wire

The unit of measurement has been removed from 1-Wire counters because count is not a unit 😁

(@jrieger - #132076) (documentation)

Denon HEOS

Grouping a HEOS media player will now raise an exception if one of the members is not a valid HEOS player. Previously unknown or invalid members would be silently dropped.

(@andrewsayre - #132213) (documentation)

devolo Home Control

The integration with devolo Home Control has been updated to remove the option to set the mydevolo URL. This option was used to integrate with the devolo Home Control Cloud for development purposes only. This option is no longer available.

(@Shutgun - #132821) (documentation)

FXCOM RFXtrx

The unit of measurement has been removed from FXCOM RFXtrx counters because count is not a unit 😁

(@jrieger - #133108) (documentation)

HomeWizard Energy

The unit of measurement for the “Water usage” sensor has been updated from l/min to L/min. This change standardizes the unit to improve consistency across Home Assistant.

Any automations, scripts, or templates that rely on the old unit may need to be adjusted. Long-term statistics will remain intact, but repair issues will be created to ensure the data is updated with the new unit.

(@DCSBL - #132261) (documentation)

LIFX

The options color_temp and kelvin are no longer valid arguments for LIFX actions. Please use color_temp_kelvin instead.

(@epenet - #132730) (documentation)

Tesla Fleet

The included OAuth application credentials have been removed, as Tesla no longer supports Open Source application registrations and is moving to a pay-per-use model.

Read more about this announcement in this blog post.

(@Bre77 - #132431) (documentation)

UniFi Network

The states of “Device State” sensors have been standardized to match Home Assistant core rules and be translatable. This affects the following UniFi sensor states:

  • Connected, which now became connected
  • Pending, which now became pending
  • Firmware Mismatch, which now became firmware_mismatch
  • Upgrading, which now became upgrading
  • Provisioning, which now became provisioning
  • Heartbeat Missed, which now became heartbeat_missed
  • Adopting, which now became adopting
  • Deleting, which now became deleting
  • Inform Error, which now became inform_error
  • Adoption Failed, which now became adoption_failed
  • Isolated, which now became isolated
  • Unknown, which now became unknown

If you used those states directly in your automations, scripts, or templates; you will need to adjust those to match these changes.

(@bieniu - #131921) (documentation)

Zabbix

The integration now uses the official Zabbix Python API. Because of this, the minimum supported Zabbix version is now 5.0. This change drops support for Zabbix 4 and before.

(@kruton - #131674) (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 are the most notable for this release:

All changes

Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2025.1