2024.11: Slick dashboards and speedy cameras
Home Assistant 2024.11! 🎉
It is November already, and we are closing in on the end of the year, but we are not slowing down!
Before we dive into what this release has to offer, I want to take a moment to thank everyone who has contributed to the Home Assistant project. You might have heard this already, but going to share it again:
We are number one! 🥇
GitHub published its annual Octoverse report
Continuing the festivities, this release is a big one! The new dashboarding system we have been working on all year is now out of its experimental phase and generally available! 🥳 Exciting, everyone can now create beautiful dashboards with ease!
To top it off, this release also supports faster and lower-latency camera
streams using WebRTC, supported by the Open Home Foundation
Enjoy the release!
../Frenck
- Sections dashboard no longer experimental!
- Low latency cameras using WebRTC
- Integrations
- Other noteworthy changes
- Voice
- Patch releases
- Need help? Join the community!
- Backward-incompatible changes
- All changes
Sections dashboard no longer experimental!
This release marks a big milestone in our pursuit of making dashboards easier to customize and use for everyone, aka Project Grace! The sections view layout, together with its drag-and-drop 🐲 capabilities and responsive design, is now out of its experimental phase, and ready for primetime! This means that, as of this release, you will get our awesome feature-rich and easy-to-use dashboard editing experience when you create a new dashboard. 🎉
Over the past few months, we have worked hard to iterate and listen to your feedback to ensure that our new dashboard is easy to customize for both beginners and advanced users alike. We have added new capabilities such as resizing cards, visibility options, wider sections, new badges, and, most recently, adding the new heading card.
To finish this journey, we are adding two more features to this release.
Convert your old dashboards to sections view layout
Screenshots showing the conversion of a view in masonry into sections
This release includes a way to convert individual dashboard views from the old masonry view layout to the new sections view layout. When you change the view type to sections, you get a button to convert the view. All the cards of the old view are then copied and placed in an imported cards section in the new view, and you can then easily drag-and-drop them into the right sections.
Please note that cards placed within the imported cards section are only visible to users once moved to a section above the fold. This ensures that cards do not get accidentally shown in the wrong sections while you are still working on the dashboard.
Screenshot of the imported cards section
If you are not ready for the new layout yet, no worries! Your old dashboard view is kept when a new dashboard is created, giving an excellent way for masonry view veterans to try out sections while keeping all the hard work they have put into customizing their cards.
Alternatively, you can move each card one-by-one from another view. All moved cards will also be temporarily placed in the imported cards section.
Precise mode for card sizes
Examples of cards using precise mode
If you love tinkering with your dashboards and fine-tuning card sizes with more precision, you now have even more control over the size of cards. In the layout options of a card you can now enable “Precise mode”, which will give you three times more options for the card widths!
Precise mode is applied on a card-by-card level. While a normal section is divided into 4 columns, precise modes gives you 12 columns, which allows you to align 2, 3, 4, or 6 buttons side-by-side.
Low latency cameras using WebRTC
Lots of effort has gone into this new and amazing feature for this release: WebRTC! 🎉
Not sure what WebRTC is
Camera streams will now try to use WebRTC whenever possible.
WebRTC is a standard
The Open Home Foundation
Sometimes, a direct connection between the client (like your browser
or mobile app) and the camera is not possible; in those situations, the camera
stream needs to be relayed by an external server. Home Assistant Cloud now
provides this relay server (TURN server
So, no matter where you are, you should always be able to watch your cameras via this low-latency technology. If, for whatever reason, WebRTC is not available, it will fall back to using the old method of streaming to ensure you can always see your camera feeds.
So, after reading all of this, what changed? Well, camera feeds will do everything they did before, but will be faster, more responsive, and less delayed! 🎉
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:
-
LG ThinQ, added by @LG-ThinQ-Integration
Integrate your LG ThinQ devices, such as air conditioners, refrigerators, and washing machines. LG built and provided this integration! It’s super nice to see a manufacturer providing an integration for Home Assistant. -
Husqvarna Automower BLE, added by @alistair23
Integrate your Husqvarna lawnmower using Bluetooth. -
Palazzetti, added by @dotvav
Integrate your Palazzetti pellet stove; control the stove, fan speeds and get the current temperature.
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:
-
@joostlek
has extended the Spotify integration with a whole bunch of new sensors for the current song playing. You can now, for example, automate putting your house into party mode 🎉 when the song playing is danceable enough 😎 Awesome job! - The LinkPlay integration now has multiroom support! Group and ungroup your
devices to play music in sync or individually straight from Home Assistant.
Thanks @silamon
! - Staying in the audio department, @mj23000
added shuffle and repeat controls to the Bang & Olufsen integration. Nice! - The ViCare integration now supports room sensors and hot water storage
sensors. Thanks for that @CFenner
! -
@starkillerOG
added sensors to track the total number of installations and integrations to the Analytics Insights integration. Nice! - The Habitica integration now supports sensors for gems, mystic hourglasses,
and calendars for to-dos and daily tasks. Thanks @tr4nt0r
! -
@YogevBokobza
added support for the Switcher Runner S12 to the Switcher integration. Thanks for that! - The Husqvarna Automower integration keeps receiving love from @Thomas55555
. This release adds work area and progress sensors. Nice! -
@bdraco
added support for the SwitchBot Meter Pro to the SwitchBot integration. Thanks! - The SwitchBot Cloud integration now supports locks! Thanks @miterion
! - A little more technical, but @jbouwh
added support for MQTT device-based auto discovery. This allows MQTT devices to be set up and discovered once instead of separately for each entity; which is much more efficient. Nice improvement!
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:
-
Local file, done by @gjohansson-ST
-
Onkyo, done by @Nebula83
-
Smarty, done by @joostlek
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:
- Bloomsky. Their service shut down.
- Google Domains. The domain registration service by Google has been shut down.
- Spider. The service is no longer available.
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes:
-
Image entities now have a snapshot action, allowing you to save the current
image in the entity to a file. Nice @NickM-27
! -
@Petro31
added (limited) template support to the “at” field of time triggers. This allows you to template the time of that trigger in, for example, a blueprint automation. -
Nautical miles
( nmi
) is now a valid distance unit. This means you can now use this as a unit for your distance sensors. Thanks @mib1185! -
@tetele
added blueprints for template entities! This allows for easier re-use and sharing of common blueprints for sets of templated entities. This is an advanced feature and is only available using manual YAML configuration. -
@MindFreeze
and @matthiasdebaat have improved the network settings user interface. It is now easier to manage and configure your network settings, including nicer handling of IP addresses, improved Wi-Fi configuration, and better visibility on the URLs Home Assistant is using for your instance. - We now indicate if a custom integration is overriding a built-in integration.
This makes it easier to spot if a custom integration is taking over a
built-in integration while you are wondering why you didn’t get the latest
features Home Assistant releases bring. Thanks, @MindFreeze
!
Live logs
Sometimes, if something does not work as expected, you might resort to a more technical tool for finding out what is going on: The logs.
Previously, if you looked at the logs of, for example, an add-on or the Home Assistant Supervisor, you would only see the last 100 log lines. You would have had to refresh the page to see new log entries.
Well, no more! As of this release, the logs are now streaming live! 🎉
Screen recording demonstrating logs showing up as they happen.
And not just that, you can scroll back in time to see previous log items. That’s a pretty cool improvement. 😎
Voice
Last year, 2023, was the Year of the Voice for Home Assistant. And while this year isn’t specifically dedicated to voice, everyone is still working hard towards the goal of letting users control their homes with their voice in their own language.
As you might have heard through many community channels 🕵️♀️, we are working to make this a reality for everyone. We are hard at work getting our Home Assistant voice satellite hardware ready and available for selling and shipping! 🤗
Stay tuned for more information on that soon!
Home Assistant intents improvements
One of the things we are working on is the Home Assistant intents. This is a way for a voice assistant to understand the intention behind your spoken sentences. This is a very crucial part of a local voice assistant.
In this release, we decided to align and combine Canadian French and French languages for the time being. Though we understand it is a unique dialect, this is about giving Canadian French users a lot more voice features.
These intents are built and maintained by the community, and we are very
grateful for their work. For example, @piitaya
Nevertheless, we want to ensure everyone can use Home Assistant in their own language, so we need your help! Help the community by contributing to the intents for your language. You can find more information on how to do that in our developer documentation.
Join the Wake Word Collective
Another essential part of voice is the Wake Word! And this is where everyone, no matter your skill level, can help out with just a minute of your time!
Wake words are the words you say to wake up your voice assistant. For example, “Hey Google” or “Alexa”. As we are building our own voice assistant with our own wake words, we need to train our models to recognize these words, regardless of your accent, language, gender, or age.
So, get your whole home involved 🏠! Take a minute to help us out by recording your voice saying the wake word. It is super easy, and you can do it right from your browser or mobile, no need to install anything!
Help us improve our wake words today! ❤️
You can read more about the Wake Word Collective in our dedicated blog post.
Patch releases
We will also release patch releases for Home Assistant 2024.11 in November. These patch releases only contain bug fixes. Our goal is to release a patch release every Friday.
2024.11.1 - November 8
- Bump intents to 2024.11.6 (@synesthesiam
- #129982 ) - Fix Trunks in Teslemetry and Tesla Fleet (@Bre77
- #129986 ) - Update sense energy library to 0.13.3 (@kbickar
- #129998 ) - Bump google-nest-sdm to 6.1.4 (@allenporter
- #130005 ) - Add missing placeholder description to twitch (@epenet
- #130013 ) - Bump agent-py to 0.0.24 (@ispysoftware
- #130018 ) - Don’t create repairs asking user to remove duplicate ignored config entries (@emontnemery
- #130056 ) - Fix
KeyError
in nest integration when the old key format does not exist (@allenporter- #130057 ) - Don’t create repairs asking user to remove duplicate flipr config entries (@emontnemery
- #130058 ) - Add missing string to tedee plus test (@zweckj
- #130081 ) - Force int value on port in P1Monitor (@klaasnicolaas
- #130084 ) - Fix typo in insteon strings (@KelvinDekker
- #130085 ) - Update frontend to 20241106.1 (@bramkragten
- #130086 ) - Bump python-roborock to 2.7.2 (@Lash-L
- #130100 ) - Update frontend to 20241106.2 (@bramkragten
- #130128 ) - Fix issue when timestamp is None (@shaiu
- #130133 ) - Add go2rtc workaround for HA managed one until upstream fixes it (@edenhaus
- #130139 ) - Bump spotifyaio to 0.8.7 (@joostlek
- #130140 ) - Bump ha-ffmpeg to 3.2.2 (@MartinHjelmare
- #130142 ) - Fix volume_up not working in some cases in bluesound integration (@LouisChrist
- #130146 ) - Fix bugs in nest stream expiration handling (@allenporter
- #130150 ) - Refrase imap fetch service description string (@jbouwh
- #130152 )
2024.11.2 - November 15
- Bump aiohttp to 3.10.11 (@bdraco
- #130483 ) - Fix RecursionError in Husqvarna Automower coordinator (@Thomas55555
- #123085 ) - Bump python-linkplay to v0.0.18 (@silamon
- #130159 ) - Allow dynamic max preset in linkplay play preset (@silamon
- #130160 ) - No longer thrown an error when device is offline in linkplay (@silamon
- #130161 ) - Fix translations in ollama (@sheldonip
- #130164 ) - Bump nice-go to 0.3.10 (@IceBotYT
- #130173 ) - Fix wording in Google Calendar create_event strings for consistency (@maxshcherbina
- #130183 ) - Fix uptime sensor for Vodafone Station (@chemelli74
- #130215 ) - Bump pyTibber (@Danielhiversen
- #130216 ) - Bump SoCo to 0.30.6 (@jjlawren
- #130223 ) - Bump google-nest-sdm to 6.1.5 (@allenporter
- #130229 ) - Rename “CO2 Signal” display name to Electricity Maps for consistency (@corradio
- #130242 ) - Update generic thermostat strings for clarity and accuracy (@maxshcherbina
- #130243 ) - Fix translation key for
done
response in conversation (@mib1185- #130247 ) - Improve nest camera stream expiration to be defensive against errors (@allenporter
- #130265 ) - Add more f-series models to myuplink (@astrandb
- #130283 ) - Make Hydrawise poll non-critical data less frequently (@dknowles2
- #130289 ) - Ignore WebRTC candidates for nest cameras (@allenporter
- #130294 ) - Avoid Shelly data update during shutdown (@chemelli74
- #130301 ) - Fix Homekit error handling alarm state unknown or unavailable (@gjohansson-ST
- #130311 ) - Fix fan’s warning TURN_ON, TURN_OFF (@LG-ThinQ-Integration
- #130327 ) - Bump python-linkplay to 0.0.20 (@silamon
- #130348 ) - Add seek support to LinkPlay (@silamon
- #130349 ) - Add Spotify and Tidal to playingmode mapping (@silamon
- #130351 ) - Disable brightness from devices with no display in Cambridge Audio (@noahhusby
- #130369 ) - Use f-strings in go2rtc code and test and do not use abbreviation (@jbouwh
- #130158 ) - Fix typo in go2rtc (@jbouwh
- #130165 ) - Go2rtc bump and set ffmpeg logs to debug (@edenhaus
- #130371 ) - Bump spotifyaio to 0.8.8 (@joostlek
- #130372 ) - Bump Tibber 0.30.8 (@Danielhiversen
- #130388 ) - Fix missing title placeholders in powerwall reauth (@bdraco
- #130389 ) - Bump ring library ring-doorbell to 0.9.9 (@sdb9696
- #129966 ) - Bump ring-doorbell to 0.9.12 (@sdb9696
- #130419 ) - Do not trigger events for updated ring events (@sdb9696
- #130430 ) - Add title to water heater component (@joostlek
- #130446 ) - Fix translation in statistics (@gjohansson-ST
- #130455 ) - Fix typo in file strings (@KelvinDekker
- #130465 ) - Bump aiowithings to 3.1.2 (@joostlek
- #130469 ) - Ensure ZHA setup works with container installs (@puddly
- #130470 ) - Fix legacy _attr_state handling in AlarmControlPanel (@gjohansson-ST
- #130479 ) - Bump reolink_aio to 0.11.0 (@starkillerOG
- #130481 ) - Fix translations in subaru (@sheldonip
- #130486 ) - Bump aioruckus to 0.42 (@ms264556
- #130487 ) - Bump go2rtc-client to 0.1.1 (@edenhaus
- #130498 ) - Bump aiowithings to 3.1.3 (@joostlek
- #130504 ) - Add go2rtc recommended version (@edenhaus
- #130508 ) - fix translation in srp_energy (@briglx
- #130540 ) - Fix non-thread-safe operation in powerview number (@bdraco
- #130557 ) - Bump ZHA dependencies (@puddly
- #130563 ) - Update uptime deviation for Vodafone Station (@chemelli74
- #130571 ) - Fixes webhook schema for different temp and volume units (@JohNan
- #130578 ) - Bump reolink-aio to 0.11.1 (@starkillerOG
- #130600 ) - Fix hassfest by adding go2rtc reqs (@edenhaus
- #130602 ) - Add missing translation string to smarty (@epenet
- #130624 ) - Bump sense-energy to 0.13.4 (@kbickar
- #130625 ) - Fix scene loading issue (@alistairg
- #130627 ) - Add missing translation string to hvv_departures (@epenet
- #130634 ) - Add missing translation string to lg_netcast (@epenet
- #130635 ) - Add missing translation string to philips_js (@epenet
- #130637 ) - Bump pyplaato to 0.0.19 (@JohNan
- #130641 ) - Remove dumping config entry to log in setup of roborock (@jpbede
- #130648 ) - Fix missing translations in vilfo (@epenet
- #130650 ) - Fix missing translations in utility_meter (@epenet
- #130652 ) - Fix missing translations in tradfri (@epenet
- #130654 ) - Fix missing translations in toon (@epenet
- #130655 ) - Fix missing translations in madvr (@epenet
- #130656 ) - Fix missing translations in generic (@epenet
- #130672 ) - Fix missing translations in onewire (@epenet
- #130673 ) - Bump python-smarttub to 0.0.38 (@mdz
- #130679 )
2024.11.3 - November 22
- Prevent endless loop in recorder when using a filter and there are no more states to purge (@davinkevin
- #126149 ) - Fix and bump apsystems-ez1 to 2.4.0 (@patman15
- #130740 ) - Fix file uploads in MQTT config flow not processed in executor (@jbouwh
- #130746 ) - Update twentemilieu to 2.1.0 (@frenck
- #130752 ) - Fix unexpected stop of media playback via ffmpeg proxy for ESPhome devices (@mib1185
- #130788 ) - Bump homematicip to 1.1.3 (@hahn-th
- #130824 ) - UPB integration: Change unique ID from int to string. (@gwww
- #130832 ) - Reolink fix dev/entity id migration (@starkillerOG
- #130836 ) - Use default device sensors also for AirQ devices in Sensibo (@gjohansson-ST
- #130841 ) - Pass config_entry explicitly in rachio (@epenet
- #130865 ) - Bump bluetooth-adapters to 0.20.2 (@bdraco
- #130877 ) - Fixed Small Inaccuracy in Description String for myUplink (@CharlesYuan02
- #130900 ) - Unscape HTML Entities from RSS feeds (@skgsergio
- #130915 ) - Update elmax_api to v0.0.6.1 (@ElmaxSrl
- #130917 ) - Bump aioairq to 0.4.3 (@Sibgatulin
- #130963 ) - Strip whitespaces from host in ping config flow (@jpbede
- #130970 ) - Add more UI user-friendly description to six Supervisor actions (@NoRi2909
- #130971 ) - Add missing catholic category in workday (@gjohansson-ST
- #130983 ) - Bump holidays to 0.61 (@gjohansson-ST
- #130984 ) - Bump aioairzone to 0.9.6 (@Noltari
- #130559 ) - Update aioairzone to v0.9.7 (@Noltari
- #131033 ) - Replace “service” with “action” in zha:reconfigure_device (@NoRi2909
- #131111 ) - Fix typo in name of “Alarm arm home instant” action (@NoRi2909
- #131151 ) - Fix cast translation string (@NoRi2909
- #131156 ) - Fix typo in ESPHome repair text (@jesserockz
- #131200 ) - Reolink log fast poll errors once (@starkillerOG
- #131203 ) - Fix fibaro cover state is not always correct (@rappenze
- #131206 ) - Bump reolink_aio to 0.11.2 (@starkillerOG
- #131237 )
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
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:
A. O. Smith
A. O. Smith now provides the hot water status as a percentage rather than low, medium, or high. The hot water status entity has been updated accordingly.
(@bdr99
Google Calendar
Google Calendar events that are declined are now omitted from the calendar.
HomeKit
Historically, many integrations implemented doorbells as binary sensors with a device class of occupancy. This design was replaced with the new event entities, which use a purpose-built device class of doorbell.
HomeKit will no longer automatically link binary sensors with device class occupancy as linked doorbell sensors. However, linked doorbell sensors can still be configured manually via YAML.
(@bdraco
Litter-Robot
Previously, Litter-Robot could have an off state. This has now changed to
docked
, as off
isn’t a valid state for vacuum entities.
Netatmo
The preset modes of the thermostat have been renamed in order to support
translations Schedule
, Frost guard
, and Manual
have been renamed to
schedule
, frost_guard
, and manual
.
(@piitaya
Tibber
The tibber.get_prices
action has been adjusted to return datetimes as strings
instead of raw datetime objects.
Automations or template sensors using this may need to be modified with an
as_datetime
filter. See our templating documentation
for more information on using these filters.
Updates
State attributes of update entities have been changed:
- The
in_progress
state attribute is now always abool
, never an integer. - A new state attribute
update_percentage
has been added. Theupdate_percentage
is a number between 0-100 if an update is in progress and the entity supports reporting progress, orNone
if an update is not in progress or an update is in progress but the entity does not support reporting progress.
Scripts, automations, custom frontend components, etc., which consume the
in_progress
state attribute of update entities, need to be updated accordingly.
(@emontnemery
WMS WebControl pro
The open/closed state of awnings will be inverted so that the UI visualization and positioning match reality. This means open (100%) now refers to the awning being completely retracted, and closed (0%) now means the awning is fully expanded. This is not in line with industry terminology, but Home Assistant does not yet natively support awnings of type patio.
(@mback2k
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:
- Changes to the UnitOfConductivity enum
- Changes to the update entity
- Deprecating state constants for cover
- Extend deprecation period of hass.helpers
- New alarm control panel state property and state enum
- New helpers and best practises for reauth and reconfigure flows
- Reauth and reconfigure flows need to be linked to a config entry
- The core config class has been moved
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.11