2024.8: Beautiful badges!

Home Assistant 2024.8! 🎉

Warning! An awesome and huge release is coming your way this month!

11! new integrations and 7! integrations are now available via the UI; We have many noteworthy improvements to integrations and even more noteworthy improvements to Home Assistant itself. And that… is just the tip of the iceberg! 🗻

I’m most excited about the new badges for your dashboard. I mean, the old ones weren’t the prettiest, but these new ones are definitely gorgeous! Oh! And if you missed the last dashboard stream, I would highly recommend watching the recording of it, as it is very insightful!

This release also marks a significant milestone in the history of Home Assistant, as we are saying goodbye to service calls. Services have been around since day one, but we are now moving to actions, making things much easier to explain to people new to Home Assistant.

Enjoy the release! 🎉

../Frenck

Dashboards - Chapter 2

As part of our roadmap, work has continued on making dashboard customization and organization easier and more intuitive.

Last week, we had the “Dashboards Chapter 2” live stream, talking about the current state of the dashboards, the progress we have made, the upcoming features, and improvements we are working on, but more importantly: The great insights in all our research and the design philosophy behind the dashboards. In case you missed it, you can watch the 1-hour recording on our YouTube channel or read the recap blog post.

As part of our continuous improvement, this month we have fully redesigned and revamped the badges for your dashboards!

New badges for your dashboard

We already wrote about it extensively in our Dashboard Chapter 2 blog post and this release introduces our redesigned badges!

This is a big revamp of the original badges that have been in Home Assistant since, well, forever. The new badges are designed to match the design of the Mushroom chip cards, and are meant to sit at the top of a dashboard view, providing a summary of the most important information that you need to know at a glance.

New badges sitting on top of a dashboard view!

These new badges match the functionality of the previous design but are now even more feature-rich. Of course, they are fully configurable from the UI, allowing you to tweak them to your needs. You can specify whether the icon, name, and/or state will be visible, and you can configure the contents within each of them.

Everything can, of course, be dragged and dropped in the order you like 😎

Not just that, the new badges also come with visibility options, the same as we have introduced for cards in Home Assistant 2024.6. This means you can show or hide them based on who is viewing the dashboard, what screen size it is displayed within, whether an entity is in a certain state, and more.

Screenshots; left showing the add badge dialog wich include the custom mushroom template badge, on the right shows the visibility tab and options badges now have.

The best news of all? The new badges work across both the new sections view and the old masonry view! 🎉 Heck!, we even have support for custom badges, like the custom template one released by the Mushroom project 🍄.

If you have existing old-style badges today, don’t worry! They will be automatically converted to the new badges when you upgrade to this release.

Optimized information density for the Sections view

For this release, we have also fine-tuned the design grid for our experimental Sections view.

The height of each row has been reduced, allowing more information to be displayed on the screen. Hours of pixel pushing have also reduced the gap between the Tile card contents and its features, resulting in a cleaner and more uniform appearance.

Screenshot showing the difference between the previous and current release. The 2024.7 release on the left and this 2024.8 release on the right.

If you have been experimenting with sections and have resized some of your cards, you may need to readjust the sizes to accommodate these changes.

Goodbye service calls, hello actions 👋

This release marks an important milestone in the evolution of Home Assistant: we are saying goodbye to service calls and hello to actions!

If you are a long-time user of Home Assistant reading this now: don’t be alarmed by this change, nothing breaks with this, and everything will continue to work just as it did before.

In the 2024.1 release, we unified the actions in the Home Assistant automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] & script editors. The goal of that change was to make our automation editor easier for newer users to understand by removing the “Service call” layer and terminology.

Screenshot showing the new add action dialog utilizing the search function to find whatever you need.

The above screenshot shows the UI that has been in use since the January release, and was very well received in general. However, the underlying terminology in our documentation and all other places in Home Assistant still used the “service call” terminology.

Additionally, the term “services” in Home Assistant is overloaded and ambiguous. It is used for both the services you can call in Home Assistant and services you might integrate with, like weather or music services. In the latter case, we are talking about integrating with a service provided by a program or website, which is referenced in our Settings page as Devices & services. 😵‍💫

To make things clearer, we are now changing the terminology around service calls in Home Assistant from “services” to “actions” everywhere.

Every occurrence in the documentation, the UI, the code, and everywhere else in Home Assistant, has been replaced with “action”. Unlike the previous services which were “called”, actions are “performed”.

Screenshot of the developers tools, which also renamed all occurances of services to actions.

Important

If you write automations in YAML, you will notice that the service key in your actions is now called action. For example:

- action: light.turn_on
  target:
    area: living_room

Existing UI-managed automations will be automatically converted the next time they are edited and saved. If you write automation in YAML, you can use either action or service, as this change is fully backward compatible, but we recommend using action from now on.

Sort data tables by created or last modified

You’ve added a new integration, a new device, or maybe just updated Home Assistant and wondering what new entities or devices you have available?

This release will help you with that. Home Assistant now tracks when entities and devices, and many other things were created or last modified. If these are shown in a table, it means you can now sort them by the date they were created or last modified; helping you find those recently added or modified items.

Screenshot showing the new created and modified columns of the entities table, allowing one to sort on these new values.

The created and modified columns are hidden by default, but you can make them visible by clicking the icon at the top right of the table. Sorting is always available, regardless of the columns’ visibility.

You might notice that most entities and devices do not have this created or modified data populated yet. Well this data has only started being recorded in this release, and cannot be applied retroactively, but going forward it should only get more useful.

Control Home Assistant using AI with Ollama

In the 2024.6 release, we introduced the ability to use the OpenAI and GoogleAI integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] to control your home using Large Language Models (LLMs). Many of you requested this to work with a local hosted LLM as well.

Today we are happy to announce that Home Assistant now supports control via local LLMs too!

This is achieved thanks to @Shulyaka adding support for the brand new tools API in Ollama. The performance of the local models has been fine tuned by @AllenPorter.

Allen created a new LLM benchmark suite that is more balanced, less focused on edge cases, and uses fewer exposed entities. We scored the different models with this new benchmark, and the cloud-based models scored 98%, but local LLMs did not do nearly as well.

Through prompt tuning and fixes included in this release, we have gotten local LLMs to score a reasonable 84%. We will continue to test new models while improving our prompts and tools to achieve a higher score.

Picture showing the results of the LLM benchmark suite ran against different models. Overview of performance of Ollama running different local models ran against the LLM benchmark suite.

If you want to experiment with local LLMs using Home Assistant, we currently recommend using the Llama 3.1 8B model and exposing fewer than 25 entities. Note that smaller models are more likely to make mistakes.

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:

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 integrations are also being constantly improved. Here are some of the noteworthy changes to existing integrations:

  • The HomeKit Bridge integration now supports the event entities representing doorbells and motion sensors. Big thanks @bdraco!
  • To use the above HomeKit feature, @bdraco added support for event entities to the UniFi Protect, Doorbird, and August integrations. Awesome!
  • Talking about event entities, @mib1185 added event entities to the Feedreader integration. So you can now easily automate when a new article shows up in one of the news feeds you follow. Great!
  • The OpenAI conversation integration now defaults to the, much cheaper, gpt-4o-mini model. Thanks @allenporter!
  • The WLED integration now supports CCT LED strips, thanks to @Suxsem!
  • Tessie received lots of attention from @Bre77 this release, adding tons of new entities and features to the integration. Great job!
  • @joostlek and @andrew-codechimp have been extending the Mealie integration with a lot of new actions and features. Most notably, the ability to import recipes, set meal plans, and view shopping lists. Thanks!
  • You can now control your Reolink chime with the Reolink integration, thanks to @starkillerOG!
  • The Roborock integration now supports the Roborock Zeo washer/dryer. Cool @Lash-L!
  • @tr4nt0r migrated the Habitica Dailies and to-do’s to support our to-do entities. Nice!
  • Thanks to @tanchu, the Xiaomi Miio integration now supports Xiaomi air purifiers and humidifiers. Great!
  • @bieniu extended the Shelly integration to support Shelly virtual components. These virtual components can be used to add Home Assistant entities to your Shelly device, such as the Shelly WallDisplay dashboard, or pass Home Assistant sensor data to Shelly scripts. Nice!

Integrations reaching platinum quality level

The following integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] have reached the platinum 🏆 level on our integration quality scale. These integrations are the best of the best and give you an excellent out-of-the-box experience.

Congratulations to all the developers who worked on these 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 integrations are 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:

  • UE Smart Radio has been removed; the service has been discontinued.

Zigbee Home Automation (ZHA) updates

The Zigbee Home Automation (ZHA) got a massive overhaul this release!

What this means for you? Well… basically: nothing! And this sounds odd, but that is a good thing!

The whole integration has been split into a separate codebase, making it easier to maintain and improve. This is a huge step forward for the integration, and took months of work to get done.

You will not notice anything different right now, but this change will make the integration easier to maintain and improve in the future, including allowing code contributors to contribute more easily.

Thanks for the dedication and the huge amounts of hard work on this integration @dmulcahey, @puddly, and @TheJulianJES! 🥰

Matter updates

There are a couple of updates for the Matter integration this release, while we are working hard to get the integration ready for official Matter certification.

The Matter integration can now provide update entities. If your Matter device has a firmware update available, Home Assistant will now be able to inform you about it and update the device for you. 🎉

Screenshot showing an firmware update for an Matter device being able and can be installed straight from the Home Assistant UI.

This update feature is available for all Matter devices, where manufacturers provide firmware updates via the official Matter update channels. Not many manufacturers are involved in delivering these updates yet, but this is a great step forward, and we hope many manufacturers using Matter will follow this example.

Event entities provided by the Matter integration have been improved. They will now provide more event types, allowing you to react to things like single press or double press events with ease.

Additionally, @jvmahon contributed support for select entities to the Matter integration. This is used to select modes if your Matter device supports them, such as laundry, oven, or dishwasher modes.

These last two features, are amazing improvements to the Matter integration, but they are mainly a highlight. Many Matter device types have seen improvements, including more (configuration) entities and other improvements.

KNX can now be managed via the UI

The KNX integration introduces the ability to manage entities directly from the UI. 🎉

If you have an ETS project file, configuring your devices is now more intuitive; you can easily select an actuator from the side panel and drag and drop its assigned group addresses into the configuration. Alternatively, addresses can be found by name or number using dropdown menus.

Create, update, and delete KNX switch and light entities directly from the KNX panel without touching any YAML. 😎

Screenshot showing the KNX panel that allows to create entities right from the UI.

More improvements have been made under the hood. One of the most notable changes is the support for a broader range of Data Point Type (DPT) definitions. These can be used directly within actions and triggers and inspected in the KNX GroupMonitor.

Thank you for working so hard on this one @farmio; this is awesome! 🥰

Other noteworthy changes

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

  • We are proud of our Open Home Foundation, so we will now show its pretty logo on the Home Assistant loading and information screens. Thanks @balloob!
  • Timer support using Assist for mobile devices. This means you can now control timers from your mobile device or tablet. Thanks @balloob!
  • You can now ask Assist for the current time and date, thanks @synesthesiam!
  • @synesthesiam also switched our voice activity detection to microVAD! Using this we are able to detect the end of a speech command much better in noisy environments, even with music in the background. Cool!
  • The picture elements card can now be fully managed in the UI using a brand-new visual editor. Fantastic work there @karwosts!
  • Home Assistant will now raise a repair issue if a script can’t be set up (for example, because of YAML syntax errors). Thanks @emontnemery!
  • If Home Assistant finds an integration set up that has been removed (like when you remove a custom integration), it will now raise a repair issue to help you clean up anything left behind. Thanks @joostlek!
  • Group now has support for grouping two new entity types. @joostlek added support for grouping notify entities, and @frenck added support for grouping button entities. Nice!
  • The Generic Thermostat and Hygrostat helpers will now be linked to the device that provided the actuator entity, thanks @dougiteixeira!
  • @gjohansson-ST did the same, he added a link to the History stats helper to the device that provided the sensor entity.
  • You can now set up button, image, select, and switch templates entities, straight from the UI. Awesome job @dougiteixeira!
  • @karwosts added a button to the actions developer tools to copy the action response as JSON for use in templates. Nice!
  • The picture, picture elements, picture entity, and picture glance cards can now get their image from the person entity! You don’t need to set a static image to represent a person, it will now automatically fetch the person’s picture for you. Thanks @Quentame!

Integrations and helpers set up via YAML, now visible in the UI!

Most popular integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] and helpers can be set up directly from the Home Assistant user interface. However, we still have a lot of older or less used integrations that can only be set up using manual YAML configuration. We are working hard to move more and more of these integrations to the UI, however, this takes time and effort.

The problem with these integrations is that they are not visible in the UI when they are set up using YAML. What we often see is that someone sets up an integration using YAML and then cannot see it on the integrations page, often resulting in questions in our community about where to find it.

As of this release, we have drastically improved this situation. All integrations, regardless of how they are set up, are now visible on the integrations page in the UI. This means that even if you set up an integration using YAML, you can now find it in the UI and view its provided entities.

Screenshot showing the demo integration, which is set up manually via YAML, showing up in the UI on the integrations dashboard.

Integrations originating from manual YAML configuration can be recognized by the icon showing on their cards.

Similarly, we also have many helpers that can be set up using YAML configuration. These sometimes showed up in the UI, but often did not. We have adjusted this as well, and made sure that all helpers are now visible in the UI, regardless of how they are set up.

Note

Things set up manually using YAML are still managed using YAML. This means that if you want to change the configuration of these integrations or helpers, you will need to do so in the YAML configuration files.

Patch releases

We will also release patch releases for Home Assistant 2024.8 in August. These patch releases only contain bug fixes. Our goal is to release a patch every week (around Friday).

2024.8.1 - August 10

2024.8.2 - August 16

2024.8.3 - August 25

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:

Recorder database upgrade notice

This notice applies only if you use the recorder integration with a MySQL or PostgreSQL database. If you are using the default SQLite database, you can ignore it.

This release includes a database upgrade/migration that increases the size of the number we can store for the identifier fields. For a more technical explanation, we are upgrading integer fields for ID columns from a 32-bit integer to BIGINT, which is a 64-bit integer.

This can cause the database upgrade to take longer than usual, depending on the size of your database.

Please be patient and let the upgrade process finish. Do not interrupt the upgrade process, as this can lead to a corrupted database.

(@emontnemery - #121025) (documentation)

BlinkStick

The Blinksticklight integration is disabled because it requires software that is not open source. Any help or contributions to make this integration work without the closed-source software is welcome.

(@joostlek - #121846) (documentation)

Bluesound

Sources behave slightly differently. Radio station providers (like TuneIn and Radio Paradise) are no longer part of the source list and are not selectable as sources.

Presets that play a specific radio station can be created in the BluOS app and are displayed as sources in Home Assistant.

The currently selected source tries to match those presets and falls back to the radio station provider (like TuneIn, Radio Paradise).

(@LouisChrist - #117257) (documentation)

BMW Connected Drive

Describing attributes car and vin have been removed from BMW entities. If you need to look them up, please get them from the device info screen.

(@rikroe - [#120830]) (documentation)

Climate

Scenes that use the deprecated auxiliary heat (aux_heat attribute) will no longer restore/set the auxiliary heat state when the scene is activated.

(@bjpetit - #121873) (documentation)

Concord232

The Concord232 integration is disabled because it requires software that is not open source. Any help or contributions to make this integration work without the closed-source software is welcomed.

(@joostlek - #121974) (documentation)

DoorBird

Previously, resetting the device favorites required working out a complicated URL. A button is now available to perform this operation.

(@bdraco - #121720) (documentation)

Dovado

The Dovado integration is disabled because it requires software that is not open source. Any help or contributions to make this integration work without the closed-source software is welcomed.

(@joostlek - #121871) (documentation)

Ecovacs

The attributes on the vacuum entity for the lifespan of the main brush, side brush, and filter are deprecated and will be removed in 2025.2.

These attributes are superseded by dedicated sensor entities.

(@mib1185 - #122740) (documentation)

HomeKit Bridge

PM2.5 air quality sensors are now mapped to the US EPA AQI scale. The new cutoff value for US AQI Good (0-50) is 9.0 µg/m3 is thus now used to match the 2024 US EPA AQI standard.

(@sarabveer - #121093) (documentation)

Lights

The following attributes are no longer saved in the database for light entities because their combinations would quickly fill up the database, and they are never used by Home Assistant:

  • brightness
  • color_mode
  • color_temp
  • color_temp_kelvin
  • effect
  • hs_color
  • rgb_color
  • rgbw_color
  • rgbww_color
  • xy_color

This change will not impact the operation of your lights, but it will reduce the amount of data stored in the database.

(@bdraco - #121776) (documentation)

Matter

Multi-press events are now split into their own dedicated event type, such as multi_press_1multi_press_2, etc., making it easier to automate multiple presses instead of looking manually at the number of presses count.

If you have used the current event type in your automations, you will need to update them to use the new event types.

(@marcelveldt - #122191) (documentation)

MQTT

The schema option has been removed from the MQTT vacuum schema. YAML configs still containing this option will break after 6 months of deprecation. Users have been warned with a repair. Discovery configs will not break if the schema options are still in the config, but they will be ignored, and an error message will be logged to notice.

(@jbouwh - #121093) (documentation)

MVG

(@joostlek - #121975) (documentation)

The MVG integration is disabled because it requires software that is not open source. Any help or contributions to make this integration work without the closed-source software is welcome.

National Weather Service (NWS)

NWS weather entities no longer have a detailed_description in the return from the weather.get_forecasts service.

A new service, nws.get_forecasts_extra, is provided that includes detailed_description. The detailed_description is no longer provided for hourly forecasts in the nws.get_forecasts_extra service as the API does not return data. However a short_description is now available.

(@MatthewFlamm - #117254) (documentation)

NextBus

The messages, directions, and attribution attributes have been removed from the sensor. The new API doesn’t provide these anymore.

(@ViViDboarder - #121133) (documentation)

OpenAI Conversation

The previously deprecated 256, 512, and 1024 values for the size argument for the generate_image action have been removed. They have already been unsupported in the past (replaced with 1024x1024 by default).

If you still use these values in your automations or scripts, you will need to update them to use “1024x1024”, “1024x1792”, or “1792x1024” values.

(@Shulyaka - #122388) (documentation)

Reolink

The password used for the Reolink device can only contain characters a-z, A-Z, 0-9 or @$*~_-+=!?.,:;'()[]. Other special characters will cause encoding issues in the video streams used by this integration and are therefore not allowed. When using an incompatible special character in the password, the integration will prompt you to change the password.

(@StarkillerOG - #34196) (documentation)

WLED

The WLED integration now requires a WLED device running at least WLED 0.14.0

(@frenck - #122101) (documentation)

Xiaomi Miio

The Nature and Normal preset modes will be renamed to nature and normal to support translations.

If you have automations or scripts that use the Nature or Normal preset modes, you will need to update them to use nature and normal instead.

(@piitaya - #122367) (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 2024.8