2024.2: More voice, more icons, more integrations, more... everything!


Home Assistant Core 2024.2! 🥰

Undoubtedly, you’ve heard about last year’s “The Year of the Voice”. 2023 might be over, but we are definitely not done with voice yet! This release contains some very cool new features for voice.

Not just that, we’ve also launched a voice assistant contest that you could join, and I’m happy to inform you that we will have another voice-related live stream on 21 February 2024, at 12:00 PST / 21:00 CET: Chapter 6!

But there is more in this release besides voice! There’s drag ’n drop magic for our automation editor, and you can now update Zigbee devices directly from Home Assistant. We also have icons in more places 🤩, and quite a lot of new functionalities for Matter devices.

In general, contributions to our open-source project have been amazing this month. I’ve never seen so many contributed bug fixes, improvements, and new features in a single release. Like… 21 new integrations! This is, without a doubt, the largest release we’ve ever put out. A big shout-out to everyone who helped! ❤️

Enjoy the release!


Oh! And don’t forget Valentine’s Day is coming up! 😘

Don’t forget to join our release party live stream on YouTube 7 February 2024, at 12:00 PST / 21:00 CET!

Better drag & drop support for automations

Let’s start with some old-fashioned drag ’n drop magic! 🪄

As of this release, dragging and dropping triggers, conditions, and actions in the automation editor are always enabled. Previously, you had to explicitly enable re-ordering in the automation editor settings, but now, it is just always active.

But even more exciting is that you can now drag and drop elements into other nested elements! For example, you can now drag a condition into the condition of an if-then or choose action. 🤯

Screen recording showing you can now also drag and drop into nested elements in the automation editor.

Export data from the history dashboard

The following feature might be small, but it is a big deal for many. Home Assistant stores your data privately and locally; it is your data. To make this data more accessible, we’ve added a new feature to the history dashboard.

You can now download the data you are viewing in the history dashboard. This allows you to further analyze the data in, for example, Excel or to visualize it in other ways.

The button will export and download the data you currently view in the history dashboard as a CSV file.

Screenshot showing the new export button in the top right of the history dashboard.

Thanks for this one @balloob!

Improved error responses when using Assist

If you use Assist, our private voice assistant, you may have noticed that its responses were not meaningful when something was not understood.

Some of the errors encountered while using Assist can easily be fixed on your side by adding aliases to entities or areas, exposing entities to Assist, or assigning entities and devices to the correct areas.

So we are taking the first step to help you fix these errors: as of this release, Assist provides much better errors in case your intention is understood, but something else is missing (An unknown name, area, device class, or domain).

Screenshot showing the new errors Assist will return in case the intention is understood, but something else is missing.

Custom Assist responses in automations using the sentence trigger

Like almost every other component and feature of Home Assistant, Assist can be customized and extended to understand more sentences.

A few releases ago, we introduced a very simple way to extend what Assist understands: The sentence trigger in our automation engine.

Up until now, using a sentence trigger always led to the same Assist response: “Done”. In fact, the only way to define a custom response was to write complex custom sentences in YAML.

This release introduces a new action to set a custom response in your sentence-triggered automations directly inside the automation editor.

Screenshot showing how to build a custom response in our automation editor.

The response field accepts templates, so it can be used to build complex responses, for example, listing all your room temperatures.

Screenshot showing a custom response in Assist.

A very cool feature that might come in handy if you build an automation blueprint to submit as an entry for our voice assistant contest!

All known Assist devices

Last addition for voice, we’ve added a small additional page to give you an overview of all the Assist devices you have active in your Home. You can find this on the Assist configuration dashboard by selecting the new “Assist devices” button.

Screenshot showing a custom response in Assist.

Or, use this My Home Assistant button below to navigate to the voice assistants configuration dashboard:

Updating your Zigbee devices

ZHA (Zigbee Home Automation, our built-in Zigbee integration) now provides update entities to Home Assistant!

This means you can get notified when a device has a firmware update available, and you can trigger the update from Home Assistant!

Screenshot showing an Zigbee device connected via ZHA being updated.

Noticed the weird version numbers? Unfortunately, that is how version numbers in the Zigbee standard work and look. We haven’t figured out a way to translate them to something more human-readable format that matches what the manufacturer communicates.

Currently, it supports updating Inovelli, OSRAM/Ledvance, Sonoff, and ThirdReality devices, and we are looking at adding support for more brands in the future. Be aware, Zigbee is a slow protocol, and firmware updates can take a long time (sometimes hours).

Matter diagnostics and actions

Home Assistant works actively to provide the best support for Matter devices out of the box. To help with that, we have added more information and controls for your Matter devices in the UI.

On the device page of the Matter device in Home Assistant, we will now show additional diagnostic information about the device. This information can be used to troubleshoot issues with the device or when reporting issues. Some examples include the network type the device uses, its addresses, and IDs, device types and its connected fabrics.

Screenshots showing a matter device in the UI with additional diagnostic information. The other screenshots shows the overflow menu on the device, that provides more actions.

Besides more information, you can also take new actions on the device. For example, ping the device to check if it is available, force a full device interview to sync all its information, remove it from another controller, and even a new button to share your Matter device from Home Assistant with another Matter controller.

Screenshots the result of pinging a Matter device and sharing a Matter device with another controller.

Icons everywhere

We completely changed how Home Assistant handles icons under the hood. A big effort from many people, with almost… no change! That is right, almost everything looks just the same as before. 😁

We did make some improvements! For example, integrations can now provide icons for things like fan speeds or thermostat presets. Also, service call actions can now have their own icon as well:

Screenshots showing that each media player service, now has its own icons matching the action.

Areas now have icons too! You can set them in the area configuration. They show up in the area selectors and in the area dashboard itself (in case you didn’t upload a picture).

Screenshots the areas dashboard, with new icons used on each area.

Integrations with authentication issues are now shown in the repairs dashboards

When one of your integrations has authentication issues, Home Assistant will now report this in the repairs dashboard.

Previously, this was only visible on the integration dashboard, but now it shows up in the repairs dashboard, as this is the place where Home Assistant reports all issues with your system.

Screenshots showing a repair issue being raised for an integration that needs re-authentication.

Revamped Proximity integration

For this release, @mib1185 completely revamped our Proximity integration. In case you are unfamiliar with it, it allows you to monitor the proximity of persons to a particular zone. It provides information on how close one is to a zone and if they are traveling towards or away from it.

It is an extremely powerful tool for automations. It allows you to create automations based on the proximity of people. For example, if you are within a certain range from your home and traveling towards it, you could use Home Assistant to turn on the lights, open the garage door, turn up the heating, and start your favorite playlist in the living room. Welcome home! 🤗

The best part? This integration is now available to set up from the UI! Not just that, but it now uses normal sensor entities that we are all already familiar with. This will make automating and displaying the data a breeze!

Screenshots of a set up proximity integration, and the proximity of a person moving towards the home zone.

Thanks @mib1185! You did an outstanding job on this one!

If you are already using this integration, this change will come with the deprecation of the old entities. See our backwards-incompatible changes for more information.

Shipping on a new Python version

This release ships running on Python 3.12! In case you are wondering, what is that? Well, Python is the programming language Home Assistant is written in.

Why it matters? It provides many improvements to the foundation we are building Home Assistant on, most notably: It is faster! 🚀

Don’t worry! If you run the Home Assistant Operating System or are using the Home Assistant Container installation type: You won’t have to do anything, as we handle the upgrade to Python 3.12 for you. Just upgrade Home Assistant as you normally would, and you are good to go! 😎

Other noteworthy changes

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

  • @edenhaus improved how we handle errors in our form fields. We no longer show the technical coding gibberish that often showed up in the past. Nice!
  • When you change the type of a switch entity to, for example, a garage door entity, you will now have the option to invert its behavior. Thanks, @emontnemery!
  • The Ecovacs integration received lots of love from @edenhaus and now has support for many Deebot vacuum models with tons of entities to automate with. Nice job!
  • @mib1185 added automatic cleanups of old/unused refresh tokens 🧹. This means you will be logged out on a device that hasn’t used Home Assistant for 90 days. Clean and tidy!
  • The Tuya integration can now be set up directly using the Tuya Smart or Smart Life app. No more need for developer accounts or complicated procedures!
  • Using the utility meter integration on, for example, your solar inverter, which turns off at night? You can now set the sensor to always be available, even when the source entity is unavailable. Thanks, @dougiteixeira!
  • The TP-Link Smart Home integration now supports newer devices, including Tapo-branded devices! Awesome job @sdb9696, @bdraco, and @rytilahti!
  • @AngellusMortis added new sound event sensors introduced in UniFi Protect version 2.11 to the UniFi Protect integration. Nice!
  • Are you a Jinja templating Ninja? @TNTLarsn added a new bitwise_xor filter for you to use. Awesome!
  • The Google Generative AI Conversation allows using the new Gemini Pro models, including support for the Vision models. This allows you to use images in your prompts too! See an example in the screenshot down below. Super impressive, thanks @tronikos!

Screenshot showing Google Generative AI with the Gemini models describing what it sees in the image that was taken from the doorbell. In this case, a package that is being delivered. The Google Generative AI Conversation integration using the new Gemini Pro Vision models to describe what is seen on the doorbell camera.

New integrations

We welcome the following new integrations in this release:

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 integrations have been added:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2024.2.1 - February 9

Release 2024.2.2 - February 16

Release 2024.2.3 - February 22

Release 2024.2.4 - February 25

Release 2024.2.5 - February 27

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

If you are a custom integration developer and want to learn about breaking changes and new features available for your integration: Be sure to follow our developer blog. The following are the most notable for this release:

Farewell to the following

The following integrations are also no longer available as of this release:

  • Facebox has been removed. It is no longer possible to get API keys, and thus, it is no longer possible to use this integration. (@reedy - #107005)
  • Legrand Home+ Control has been removed as their API shut down in December. Use the Netatmo integration as an alternative to integrate your Legrand Home+ Control devices. (@jpbede - #107587)
  • Life360 has been removed. They are now actively blocking third-party access, including Home Assistant. The Home Assistant Companion app is a good and (above all) privacy-friendly alternative. (@pnbruckner - #107805)

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 2024.2