---
layout: post
title: "2024.2: More voice, more icons, more integrations, more... everything!"
description: "Improved drag 'n drop in automations, proximity, custom Assist responses, export your data, ZHA firmware updates, Matter diagnostics and actions, icons everywhere, and more!"
date: 2024-02-07 00:00:00
date_formatted: "February 7, 2024"
author: Franck Nijhof
author_twitter: frenck
comments: true
categories:
- Release-Notes
- Core
og_image: /images/blog/2024-02/social.png
---
Home Assistant Core 2024.2! 🥰
Undoubtedly, you've heard about last year's ["The Year of the Voice"](/blog/2022/12/20/year-of-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](/blog/2024/01/17/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](https://www.youtube.com/watch?v=NQIv3nsu7dE)!
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!
../Frenck
_Oh! And don't forget Valentine's Day is coming up!_ 😘
- [Better drag \& drop support for automations](#better-drag--drop-support-for-automations)
- [Export data from the history dashboard](#export-data-from-the-history-dashboard)
- [Improved error responses when using Assist](#improved-error-responses-when-using-assist)
- [Custom Assist responses in automations using the sentence trigger](#custom-assist-responses-in-automations-using-the-sentence-trigger)
- [All known Assist devices](#all-known-assist-devices)
- [Updating your Zigbee devices](#updating-your-zigbee-devices)
- [Matter diagnostics and actions](#matter-diagnostics-and-actions)
- [Icons everywhere](#icons-everywhere)
- [Integrations with authentication issues are now shown in the repairs dashboards](#integrations-with-authentication-issues-are-now-shown-in-the-repairs-dashboards)
- [Revamped Proximity integration](#revamped-proximity-integration)
- [Shipping on a new Python version](#shipping-on-a-new-python-version)
- [Other noteworthy changes](#other-noteworthy-changes)
- [New integrations](#new-integrations)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Release 2024.2.1 - February 9](#release-202421---february-9)
- [Release 2024.2.2 - February 16](#release-202422---february-16)
- [Release 2024.2.3 - February 22](#release-202423---february-22)
- [Release 2024.2.4 - February 25](#release-202424---february-25)
- [Release 2024.2.5 - February 27](#release-202425---february-27)
- [Need help? Join the community!](#need-help-join-the-community)
- [Backward-incompatible changes](#backward-incompatible-changes)
- [Farewell to the following](#farewell-to-the-following)
- [All changes](#all-changes)
Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=8-YwXkgD3CY)
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. 🤯
## 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](https://en.wikipedia.org/wiki/Comma-separated_values).
Thanks for this one [@balloob]!
[@balloob]: https://github.com/balloob
## Improved error responses when using Assist
If you use [Assist](/voice_control/), 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).
## 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](/docs/automation/trigger/#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.
The response field accepts templates, so it can be used to build complex
responses, for example, listing all your room temperatures.
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](/blog/2024/01/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 {% my voice_assistants title="Assist configuration dashboard" %}
by selecting the new "Assist devices" button.
Or, use this My Home Assistant button below to navigate to the voice assistants
configuration dashboard:
{% my voice_assistants badge %}
## Updating your Zigbee devices
[ZHA](/integrations/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!
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](/integrations/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](/integrations/matter#multi-fabric-join-to-multiple-controllers).
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.
## 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:
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).
## 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 {% my repairs title="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.
## 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!
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](#backwards-incompatible-changes)
for more information.
[@mib1185]: https://github.com/mib1185
[Proximity]: /integrations/proximity
[zone]: /integrations/zone
## 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](https://blog.google/products/bard/google-bard-gemini-pro-image-generation/),
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]!
The Google Generative AI Conversation integration using the new Gemini Pro Vision models to describe what is seen on the doorbell camera.
[Google Generative AI Conversation]: /integrations/google_generative_ai_conversation
[@tronikos]: https://github.com/tronikos
[@AngellusMortis]: https://github.com/AngellusMortis
[@bdraco]: https://github.com/bdraco
[@dougiteixeira]: https://github.com/dougiteixeira
[@edenhaus]: https://github.com/edenhaus
[@emontnemery]: https://github.com/emontnemery
[@mib1185]: https://github.com/mib1185
[@rytilahti]: https://github.com/rytilahti
[@sdb9696]: https://github.com/sdb9696
[@TNTLarsn]: https://github.com/TNTLarsn
[change the type of a switch entity]: /integrations/switch_as_x
[Ecovacs]: /integrations/ecovacs
[Tapo-branded]: /integrations/tplink_tapo
[TP-Link Smart Home]: /integrations/tplink
[Tuya]: /integrations/tuya
[UniFi Protect]: /integrations/unifiprotect
[utility meter]: /integrations/utility_meter
## New integrations
We welcome the following new integrations in this release:
- **[AirTouch 5]**, added by [@danzel]
Control your AirTouch 5 ducted air conditioning systems.
- **[Bang & Olufsen]**, added by [@mj23000]
Control your Bang & Olufsen Beolab and Beosound devices.
- **[Bring]**, added by [@miaucl]
Use Bring to create shopping lists and share them with your family.
- **[Elvia]**, added by [@ludeeus]
Import your historic energy usage from an Elvia-operated grid.
- **[Epion]**, added by [@lhgravendeel]
Monitor your Epion air quality sensors.
- **[Govee lights local]**, added by [@Galorhallen]
Control your Govee lights locally.
- **[Home Assistant Analytics Insights]**, added by [@joostlek]
This integration allows you to monitor information from the public and open [Home Assistant Analytics](https://analytics.home-assistant.io/).
- **[Hong Kong Observatory]**, added by [@MisterCommand]
Get weather information from the Hong Kong Observatory.
- **[Huum]**, added by [@frwickst]
Control your Huum smart sauna heaters.
- **[La Marzocco]**, added by [@zweckj]
Control your La Marzocco espresso machines.
- **[LeaOne]**, added by [@bdraco]
Monitor your LeaOne health device under the Xiaogui and BAGAIL brands.
- **[myUplink]**, added by [@pajzo]
Monitor myUplink-supported devices in Home Assistant.
- **[Rabbit Air]**, added by [@al-s]
Locally control and monitor your Rabbit Air air purifiers.
- **[Rainforest RAVEn]**, added by [@cottsay]
Pull in energy data from your Rainforest RAVEn energy monitor.
- **[Romy]**, added by [@xeniter]
Control your Romy vacuum cleaners.
- **[Tedee]**, added by [@zweckj]
Use your Tedee smart locks in Home Assistant.
- **[Teslemetry]**, added by [@Bre77]
Pull in live telemetry data from your Tesla vehicle via the Tesla Fleet API.
- **[TechnoVE]**, added by [@Moustachauve]
Control of TechnoVE Smart Charging Station using a local API.
- **[Traccar server]**, added by [@ludeeus]
Track your GPS devices by pulling data from a Traccar server.
[@al-s]: https://github.com/al-s
[@bdraco]: https://github.com/bdraco
[@Bre77]: https://github.com/Bre77
[@cottsay]: https://github.com/cottsay
[@danzel]: https://github.com/danzel
[@frwickst]: https://github.com/frwickst
[@Galorhallen]: https://github.com/Galorhallen
[@joostlek]: https://github.com/joostlek
[@lhgravendeel]: https://github.com/lhgravendeel
[@ludeeus]: https://github.com/ludeeus
[@miaucl]: https://github.com/miaucl
[@MisterCommand]: https://github.com/MisterCommand
[@mj23000]: https://github.com/mj23000
[@Moustachauve]: https://github.com/Moustachauve
[@pajzo]: https://github.com/pajzo
[@xeniter]: https://github.com/xeniter
[@zweckj]: https://github.com/zweckj
[AirTouch 5]: /integrations/airtouch5
[Bang & Olufsen]: /integrations/bang_olufsen
[Bring]: /integrations/bring
[Elvia]: /integrations/elvia
[Epion]: /integrations/epion
[Govee lights local]: /integrations/govee_light_local
[Home Assistant Analytics Insights]: /integrations/analytics_insights
[Hong Kong Observatory]: /integrations/hko
[Huum]: /integrations/huum
[La Marzocco]: /integrations/lamarzocco
[LeaOne]: /integrations/leaone
[myUplink]: /integrations/myuplink
[Rabbit Air]: /integrations/rabbitair
[Rainforest RAVEn]: /integrations/rainforest_raven
[Romy]: /integrations/romy
[TechnoVE]: /integrations/technove
[Tedee]: /integrations/tedee
[Teslemetry]: /integrations/teslemetry
[Traccar server]: /integrations/traccar_server
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:
- **[City of Austin Utilities]**, provided by [Opower]
- **[Tapo]**, provided by [TP-Link Smart Home]
[City of Austin Utilities]: /integrations/coautilities
[Opower]: /integrations/opower
[Tapo]: /integrations/tplink_tapo
[TP-Link Smart Home]: /integrations/tplink
## Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
- **[Ecovacs]**, done by [@edenhaus]
- **[GPSD]**, done by [@jrieger]
- **[Lupus Electronics LUPUSEC]**, done by [@suaveolent]
- **[Lutron]**, done by [@wilburCforce]
- **[Proximity]**, done by [@mib1185]
- **[Time & Date]**, done by [@gjohansson-ST]
[@edenhaus]: https://github.com/edenhaus
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@jrieger]: https://github.com/jrieger
[@mib1185]: https://github.com/mib1185
[@suaveolent]: https://github.com/suaveolent
[@wilburCforce]: https://github.com/wilburCforce
[Ecovacs]: /integrations/ecovacs
[GPSD]: /integrations/gpsd
[Lupus Electronics LUPUSEC]: /integrations/lupusec
[Lutron]: /integrations/lutron
[Proximity]: /integrations/proximity
[Time & Date]: /integrations/time_date
## Release 2024.2.1 - February 9
- Catch APIRateLimit in Honeywell ([@mkmer] - [#107806])
- Allow disabling home assistant watchdog ([@mdegat01] - [#109818])
- Assist fixes ([@synesthesiam] - [#109889])
- Bump Python matter server to 5.5.0 ([@marcelveldt] - [#109894])
- Bump aioelectricitymaps to 0.4.0 ([@jpbede] - [#109895])
- Skip polling of unavailable Matter nodes ([@marcelveldt] - [#109917])
- Bump aio-geojson-geonetnz-volcano to 0.9 ([@exxamalte] - [#109940])
- Handle Matter nodes that become available after startup is done ([@marcelveldt] - [#109956])
- Allow modbus "scale" to be negative. ([@janiversen] - [#109965])
- Don't blow up if config entries have unhashable unique IDs ([@emontnemery] - [#109966])
- Bump pyMicrobot to 0.0.12 ([@spycle] - [#109970])
- Allow modbus min/max temperature to be negative. ([@janiversen] - [#109977])
- Bump deebot-client to 5.1.1 ([@edenhaus] - [#109994])
- Allow modbus negative min/max value. ([@janiversen] - [#109995])
- Bump aioecowitt to 2024.2.1 ([@edenhaus] - [#109999])
- Avoid key_error in modbus climate with non-defined fan_mode. ([@janiversen] - [#110017])
- Update frontend to 20240207.1 ([@bramkragten] - [#110039])
- Matching duplicate named entities is now an error in Assist ([@synesthesiam] - [#110050])
- Log error and continue on parsing issues of translated strings ([@mib1185] - [#110046])
- Bump evohome-async to 0.4.18 ([@zxdavb] - [#110056])
- Bump py-aosmith to 1.0.8 ([@bdr99] - [#110061])
[#107806]: https://github.com/home-assistant/core/pull/107806
[#109818]: https://github.com/home-assistant/core/pull/109818
[#109883]: https://github.com/home-assistant/core/pull/109883
[#109889]: https://github.com/home-assistant/core/pull/109889
[#109894]: https://github.com/home-assistant/core/pull/109894
[#109895]: https://github.com/home-assistant/core/pull/109895
[#109917]: https://github.com/home-assistant/core/pull/109917
[#109940]: https://github.com/home-assistant/core/pull/109940
[#109956]: https://github.com/home-assistant/core/pull/109956
[#109965]: https://github.com/home-assistant/core/pull/109965
[#109966]: https://github.com/home-assistant/core/pull/109966
[#109970]: https://github.com/home-assistant/core/pull/109970
[#109977]: https://github.com/home-assistant/core/pull/109977
[#109994]: https://github.com/home-assistant/core/pull/109994
[#109995]: https://github.com/home-assistant/core/pull/109995
[#109999]: https://github.com/home-assistant/core/pull/109999
[#110017]: https://github.com/home-assistant/core/pull/110017
[#110039]: https://github.com/home-assistant/core/pull/110039
[#110046]: https://github.com/home-assistant/core/pull/110046
[#110050]: https://github.com/home-assistant/core/pull/110050
[#110056]: https://github.com/home-assistant/core/pull/110056
[#110061]: https://github.com/home-assistant/core/pull/110061
[@bdr99]: https://github.com/bdr99
[@bramkragten]: https://github.com/bramkragten
[@edenhaus]: https://github.com/edenhaus
[@emontnemery]: https://github.com/emontnemery
[@exxamalte]: https://github.com/exxamalte
[@frenck]: https://github.com/frenck
[@janiversen]: https://github.com/janiversen
[@jpbede]: https://github.com/jpbede
[@marcelveldt]: https://github.com/marcelveldt
[@mdegat01]: https://github.com/mdegat01
[@mib1185]: https://github.com/mib1185
[@mkmer]: https://github.com/mkmer
[@spycle]: https://github.com/spycle
[@synesthesiam]: https://github.com/synesthesiam
[@zxdavb]: https://github.com/zxdavb
## Release 2024.2.2 - February 16
- Better teardown and setup of Roborock connections ([@Lash-L] - [#106092])
- Fix freebox pairing in bridge mode ([@agrenott] - [#106131])
- Update pytechnove to 1.2.2 ([@Moustachauve] - [#110074])
- Bump aio-geojson-usgs-earthquakes to 0.3 ([@exxamalte] - [#110084])
- Bump yalexs to 1.11.1, fixing camera snapshots from Yale Home ([@abjorck] - [#110089])
- Fix typo in sensor icons configuration ([@bieniu] - [#110133])
- Only schedule august activity update when a new activity is seen ([@bdraco] - [#110141])
- Bump yalexs to 1.11.2 ([@bdraco] - [#110144])
- Properly report cover positions to prometheus ([@agoode] - [#110157])
- Fix device class repairs issues placeholders in Group ([@silamon] - [#110181])
- Bump datapoint to 0.9.9 + re-enable Met Office Integration ([@DustyArmstrong] - [#110206])
- Bump evohome-async to 0.4.19 ([@zxdavb] - [#110225])
- Fix state classes issue translation in Group ([@silamon] - [#110238])
- Handle no data error in Electricity Maps config flow ([@jpbede] - [#110259])
- Fix cpu percentage in System Monitor ([@gjohansson-ST] - [#110268])
- Bump aiopegelonline to 0.0.8 ([@mib1185] - [#110274])
- Bump PySwitchbot to 0.45.0 ([@bdraco] - [#110275])
- Update xknxproject to 3.6.0 ([@farmio] - [#110282])
- Fix TDBU naming in Motionblinds ([@starkillerOG] - [#110283])
- Bump linear-garage-door to 0.2.9 ([@IceBotYT] - [#110298])
- Fix Starline GPS count sensor ([@Anonym-tsk] - [#110348])
- Fix zone radius calculation when radius is not 0 ([@bdraco] - [#110354])
- Bump py-sucks to 0.9.9 ([@mib1185] - [#110397])
- Bump async-upnp-client to 0.38.2 ([@StevenLooman] - [#110411])
- Mitigate session closed error in Netgear LTE ([@tkdrob] - [#110412])
- Update pylutron to 0.2.11 ([@wilburCforce] - [#109853])
- Update pylutron to 0.2.12 ([@wilburCforce] - [#110414])
- Fix Raspberry Pi utilities installation on Alpine 3.19 ([@agners] - [#110463])
- Coerce to float in Sensibo climate react custom service ([@gjohansson-ST] - [#110508])
- Bump orjson to 3.9.14 ([@bdraco] - [#110552])
- Fix tplink not updating IP from DHCP discovery and discovering twice ([@bdraco] - [#110557])
- Modbus, allow received int to be a float. ([@janiversen] - [#110648])
- Fix elkm1 service calls running in the executor ([@bdraco] - [#110655])
- Bump aiounifi to v71 ([@Kane610] - [#110658])
- Bump deebot-client to 5.2.1 ([@edenhaus] - [#110683])
[#106092]: https://github.com/home-assistant/core/pull/106092
[#106131]: https://github.com/home-assistant/core/pull/106131
[#109853]: https://github.com/home-assistant/core/pull/109853
[#109883]: https://github.com/home-assistant/core/pull/109883
[#110074]: https://github.com/home-assistant/core/pull/110074
[#110078]: https://github.com/home-assistant/core/pull/110078
[#110084]: https://github.com/home-assistant/core/pull/110084
[#110089]: https://github.com/home-assistant/core/pull/110089
[#110133]: https://github.com/home-assistant/core/pull/110133
[#110141]: https://github.com/home-assistant/core/pull/110141
[#110144]: https://github.com/home-assistant/core/pull/110144
[#110157]: https://github.com/home-assistant/core/pull/110157
[#110181]: https://github.com/home-assistant/core/pull/110181
[#110206]: https://github.com/home-assistant/core/pull/110206
[#110225]: https://github.com/home-assistant/core/pull/110225
[#110238]: https://github.com/home-assistant/core/pull/110238
[#110259]: https://github.com/home-assistant/core/pull/110259
[#110268]: https://github.com/home-assistant/core/pull/110268
[#110274]: https://github.com/home-assistant/core/pull/110274
[#110275]: https://github.com/home-assistant/core/pull/110275
[#110282]: https://github.com/home-assistant/core/pull/110282
[#110283]: https://github.com/home-assistant/core/pull/110283
[#110298]: https://github.com/home-assistant/core/pull/110298
[#110348]: https://github.com/home-assistant/core/pull/110348
[#110354]: https://github.com/home-assistant/core/pull/110354
[#110397]: https://github.com/home-assistant/core/pull/110397
[#110411]: https://github.com/home-assistant/core/pull/110411
[#110412]: https://github.com/home-assistant/core/pull/110412
[#110414]: https://github.com/home-assistant/core/pull/110414
[#110463]: https://github.com/home-assistant/core/pull/110463
[#110508]: https://github.com/home-assistant/core/pull/110508
[#110552]: https://github.com/home-assistant/core/pull/110552
[#110557]: https://github.com/home-assistant/core/pull/110557
[#110648]: https://github.com/home-assistant/core/pull/110648
[#110655]: https://github.com/home-assistant/core/pull/110655
[#110658]: https://github.com/home-assistant/core/pull/110658
[#110683]: https://github.com/home-assistant/core/pull/110683
[@Anonym-tsk]: https://github.com/Anonym-tsk
[@DustyArmstrong]: https://github.com/DustyArmstrong
[@IceBotYT]: https://github.com/IceBotYT
[@Kane610]: https://github.com/Kane610
[@Lash-L]: https://github.com/Lash-L
[@Moustachauve]: https://github.com/Moustachauve
[@StevenLooman]: https://github.com/StevenLooman
[@abjorck]: https://github.com/abjorck
[@agners]: https://github.com/agners
[@agoode]: https://github.com/agoode
[@agrenott]: https://github.com/agrenott
[@bdraco]: https://github.com/bdraco
[@bieniu]: https://github.com/bieniu
[@edenhaus]: https://github.com/edenhaus
[@exxamalte]: https://github.com/exxamalte
[@farmio]: https://github.com/farmio
[@frenck]: https://github.com/frenck
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@janiversen]: https://github.com/janiversen
[@jpbede]: https://github.com/jpbede
[@mib1185]: https://github.com/mib1185
[@silamon]: https://github.com/silamon
[@starkillerOG]: https://github.com/starkillerOG
[@tkdrob]: https://github.com/tkdrob
[@wilburCforce]: https://github.com/wilburCforce
[@zxdavb]: https://github.com/zxdavb
## Release 2024.2.3 - February 22
- Fix reauth in Overkiz for config entries created prior to 2022.12 ([@iMicknl] - [#106251])
- Handle deep standby and poweroffs of enigma2 devices gracefully ([@autinerd] - [#107462])
- Add wake up timeout to Teslemetry ([@Bre77] - [#109037])
- Fix set_temperature in Tessie climate platform ([@Bre77] - [#110445])
- Fix uuid issue in Lutron ([@wilburCforce] - [#110524])
- Update rokuecp to 0.19.1 ([@ctalkington] - [#110670])
- Fix scene activation with climate entities with `None` attribute values ([@mib1185] - [#110684])
- Remove matplotlib pinning due to Python 3.12 incompatibility ([@sbyx] - [#110706])
- Bump roombapy to 1.6.12 ([@mib1185] - [#110762])
- Ensure Tile timestamps are reported as UTC ([@bachya] - [#110773])
- Detect reached API rate limit in Tankerkoenig ([@mib1185] - [#110432])
- Bump aiotankerkoenig to 0.4.1 ([@jpbede] - [#110840])
- Update govee-local-api library to 1.4.4 ([@Galorhallen] - [#110854])
- Allow loading of more then 1 defined Apprise URL ([@caronc] - [#110868])
- Reolink continue setup when internet blocked ([@starkillerOG] - [#110888])
- Bump deluge-client to 1.10.0 ([@tkdrob] - [#110663])
- Bump deluge-client to 1.10.2 ([@dsander] - [#110905])
- Bump reolink-aio to 0.8.8 ([@starkillerOG] - [#110959])
- Reset error state when Ecovacs bot is operational again ([@mib1185] - [#110962])
- Bump motionblinds to 0.6.21 ([@starkillerOG] - [#110970])
- Bump holidays to 0.43 ([@gjohansson-ST] - [#111039])
- Fixes UniFi Protect light state check ([@AngellusMortis] - [#111058])
- Bump pywebpush to 1.14.1 ([@thecode] - [#111082])
- Bump aioairzone to v0.7.4 ([@Noltari] - [#111105])
- Bump deebot-client to 5.2.2 ([@edenhaus] - [#111112])
- Ignore cloudhook already removed in mobile app ([@joostlek] - [#111122])
[#106251]: https://github.com/home-assistant/core/pull/106251
[#107462]: https://github.com/home-assistant/core/pull/107462
[#109037]: https://github.com/home-assistant/core/pull/109037
[#109883]: https://github.com/home-assistant/core/pull/109883
[#110078]: https://github.com/home-assistant/core/pull/110078
[#110432]: https://github.com/home-assistant/core/pull/110432
[#110445]: https://github.com/home-assistant/core/pull/110445
[#110524]: https://github.com/home-assistant/core/pull/110524
[#110663]: https://github.com/home-assistant/core/pull/110663
[#110670]: https://github.com/home-assistant/core/pull/110670
[#110684]: https://github.com/home-assistant/core/pull/110684
[#110706]: https://github.com/home-assistant/core/pull/110706
[#110720]: https://github.com/home-assistant/core/pull/110720
[#110762]: https://github.com/home-assistant/core/pull/110762
[#110773]: https://github.com/home-assistant/core/pull/110773
[#110840]: https://github.com/home-assistant/core/pull/110840
[#110854]: https://github.com/home-assistant/core/pull/110854
[#110868]: https://github.com/home-assistant/core/pull/110868
[#110888]: https://github.com/home-assistant/core/pull/110888
[#110905]: https://github.com/home-assistant/core/pull/110905
[#110959]: https://github.com/home-assistant/core/pull/110959
[#110962]: https://github.com/home-assistant/core/pull/110962
[#110970]: https://github.com/home-assistant/core/pull/110970
[#111035]: https://github.com/home-assistant/core/pull/111035
[#111039]: https://github.com/home-assistant/core/pull/111039
[#111058]: https://github.com/home-assistant/core/pull/111058
[#111082]: https://github.com/home-assistant/core/pull/111082
[#111105]: https://github.com/home-assistant/core/pull/111105
[#111112]: https://github.com/home-assistant/core/pull/111112
[#111122]: https://github.com/home-assistant/core/pull/111122
[@AngellusMortis]: https://github.com/AngellusMortis
[@Bre77]: https://github.com/Bre77
[@Galorhallen]: https://github.com/Galorhallen
[@Noltari]: https://github.com/Noltari
[@autinerd]: https://github.com/autinerd
[@bachya]: https://github.com/bachya
[@caronc]: https://github.com/caronc
[@ctalkington]: https://github.com/ctalkington
[@dsander]: https://github.com/dsander
[@edenhaus]: https://github.com/edenhaus
[@frenck]: https://github.com/frenck
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@iMicknl]: https://github.com/iMicknl
[@joostlek]: https://github.com/joostlek
[@jpbede]: https://github.com/jpbede
[@mib1185]: https://github.com/mib1185
[@sbyx]: https://github.com/sbyx
[@starkillerOG]: https://github.com/starkillerOG
[@thecode]: https://github.com/thecode
[@tkdrob]: https://github.com/tkdrob
[@wilburCforce]: https://github.com/wilburCforce
## Release 2024.2.4 - February 25
- Return group unit of measurement when device_class is None ([@PoppyPop] - [#110973]) ([group docs])
- Bump roombapy to 1.6.13 ([@Orhideous] - [#111187]) ([roomba docs])
- Bump orjson to 3.9.15 ([@bdraco] - [#111233])
- Set Lutron switch to device name ([@joostlek] - [#111293]) ([lutron docs])
- Bump opower to 0.3.0 ([@swartzd] - [#109248]) ([opower docs])
- Bump opower to 0.3.1 ([@benhoff] - [#111307])
- Fix another name missing in wyoming getLogger ([@llluis] - [#111390]) ([wyoming docs])
- Update caldav to 1.3.9 ([@cdce8p] - [#111429]) ([caldav docs])
- Update guppy3 to 3.1.4.post1 ([@cdce8p] - [#111430]) ([profiler docs])
- Bump openwebifpy to 4.2.4 ([@autinerd] - [#110676]) ([enigma2 docs])
[@autinerd]: https://github.com/autinerd
[enigma2 docs]: /integrations/enigma2/
[#110676]: https://github.com/home-assistant/core/pull/110676
[#109248]: https://github.com/home-assistant/core/pull/109248
[#109883]: https://github.com/home-assistant/core/pull/109883
[#110078]: https://github.com/home-assistant/core/pull/110078
[#110720]: https://github.com/home-assistant/core/pull/110720
[#110973]: https://github.com/home-assistant/core/pull/110973
[#111133]: https://github.com/home-assistant/core/pull/111133
[#111187]: https://github.com/home-assistant/core/pull/111187
[#111233]: https://github.com/home-assistant/core/pull/111233
[#111293]: https://github.com/home-assistant/core/pull/111293
[#111307]: https://github.com/home-assistant/core/pull/111307
[#111390]: https://github.com/home-assistant/core/pull/111390
[#111429]: https://github.com/home-assistant/core/pull/111429
[#111430]: https://github.com/home-assistant/core/pull/111430
[@Orhideous]: https://github.com/Orhideous
[@PoppyPop]: https://github.com/PoppyPop
[@bdraco]: https://github.com/bdraco
[@benhoff]: https://github.com/benhoff
[@cdce8p]: https://github.com/cdce8p
[@frenck]: https://github.com/frenck
[@joostlek]: https://github.com/joostlek
[@llluis]: https://github.com/llluis
[@swartzd]: https://github.com/swartzd
[abode docs]: /integrations/abode/
[caldav docs]: /integrations/caldav/
[group docs]: /integrations/group/
[lutron docs]: /integrations/lutron/
[opower docs]: /integrations/opower/
[profiler docs]: /integrations/profiler/
[roomba docs]: /integrations/roomba/
[wyoming docs]: /integrations/wyoming/
## Release 2024.2.5 - February 27
- Add title to reauthenticate integration issue ([@timmo001] - [#111275])
[#111275]: https://github.com/home-assistant/core/pull/111275
[@timmo001]: https://github.com/timmo001
## 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
{% details "Authentication" %}
We changed the way refresh tokens are handled. Refresh tokens are part of what
keeps you logged in to Home Assistant.
Refresh tokens will be automatically deleted when unused. A refresh token
is considered unused if it has not been used for a login within 90 days.
If your logged-in session hasn’t been used for 90 days, you will be logged out.
You will need to log in again.
We recommend using [Long-lived access tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token)
if you need a permanent token.
([@mib1185] - [#108428]) ([documentation](/docs/authentication/))
[@mib1185]: https://github.com/mib1185
[#108428]: https://github.com/home-assistant/core/pull/108428
{% enddetails %}
{% details "Blink" %}
The options flow that gave the option to set a custom scan interval has been
removed.
Adjustable scan interval is no longer allowed, but the option has
had no effect on the integration since 2023.11.
You can use an automation as an alternative to create a custom polling rate
([documentation](/common-tasks/general/#defining-a-custom-polling-interval)).
Updating one entity in a blink configuration will update all entities in each
blink configuration.
([@mkmer] - [#106735]) ([documentation](/integrations/blink))
[@mkmer]: https://github.com/mkmer
[#106735]: https://github.com/home-assistant/core/pull/106735
---
Update Wi-Fi diagnostic to match new API units - previously Blink reported RSSI
dBm, now they report generic 0-5 for signal strength.
([@mkmer] - [#107539]) ([documentation](/integrations/blink))
[@mkmer]: https://github.com/mkmer
[#107539]: https://github.com/home-assistant/core/pull/107539
{% enddetails %}
{% details "Cisco Webex Teams" %}
This integration has been disabled. The upstream libraries used by
Home Assistant are not compatible with Python 3.12.
This compatibility issue has been [reported upstream](https://github.com/WebexCommunity/WebexPythonSDK/issues/139).
([@frenck] - [#108163]) ([documentation](/integrations/cisco_webex_teams))
[@frenck]: https://github.com/frenck
[#108163]: https://github.com/home-assistant/core/pull/108163
{% enddetails %}
{% details "EZVIZ" %}
The services `ezviz.ptz`, `ezviz.sound_alarm`, and `alarm_sound` have been moved
to button and select entities in release 2023.8. Support for the deprecated
services has now been completely removed.
If you are using these services in automations or scripts, you will need to
update them to match this change.
([@jpbede] - [#107582]) ([documentation](/integrations/ezviz))
[@jpbede]: https://github.com/jpbede
[#107582]: https://github.com/home-assistant/core/pull/107582
{% enddetails %}
{% details "Google Generative AI Conversation" %}
Any previous integration setups might have to be recreated or reconfigured with
the new `models/gemini-pro` instead of the legacy `models/chat-bison-001`.
([@tronikos] - [#105789]) ([documentation](/integrations/google_generative_ai_conversation))
[@tronikos]: https://github.com/tronikos
[#105789]: https://github.com/home-assistant/core/pull/105789
{% enddetails %}
{% details "HomeWizard Energy" %}
The Gas meter ID sensor is removed and the meter ID is now shown as a serial
number in the device info panel instead.
([@DCSBL] - [#100684]) ([documentation](/integrations/homewizard))
[@DCSBL]: https://github.com/DCSBL
[#100684]: https://github.com/home-assistant/core/pull/100684
{% enddetails %}
{% details "Honeywell Total Connect Comfort (US)" %}
The preset mode was returning "unknown" rather than "none".
Any references to `preset_mode` may need to be updated.
([@mkmer] - [#108599]) ([documentation](/integrations/honeywell))
[@mkmer]: https://github.com/mkmer
[#108599]: https://github.com/home-assistant/core/pull/108599
{% enddetails %}
{% details "Huawei LTE" %}
The services `huawei_lte.clear_traffic_statistics` and `huawei_lte.reboot` have
been moved to button entities in release 2023.8. Support for the deprecated
services has now been completely removed.
If you are using these services in automations or scripts, you will need to
update them to match this change.
([@jpbede] - [#107578]) ([documentation](/integrations/huawei_lte))
[@jpbede]: https://github.com/jpbede
[#107578]: https://github.com/home-assistant/core/pull/107578
{% enddetails %}
{% details "JustNimbus" %}
The following sensors have been removed from the JustNimbus integration
since they're no longer available through JustNimbus' API:
- Pump starts
- Pump hours
- Error code
- Total replenished
- Pump flow
- Drink flow
The following sensors have been renamed:
- Total saved (`total_saved`) -> Total saved (`water_saved`)
- Total use (`totver`) -> Total use (`water_used`)
- Maximum reservoir content (`reservoir_content_max`) -> Reservoir capacity (`reservoir_capacity`)
Automations or scripts using any of the removed or renamed entities should be
updated. Once updated, the old entities can be safely removed.
([@kvanzuijlen] - [#99212]) ([documentation](/integrations/justnimbus))
[@kvanzuijlen]: https://github.com/kvanzuijlen
[#99212]: https://github.com/home-assistant/core/pull/99212
{% enddetails %}
{% details "Litter-Robot" %}
The services `vacuum.turn_on` and `vacuum.turn_off` were deprecated in 2023.11.
Support for the deprecated services has now been completely removed.
If you are still using them, please adjust your automations and scripts and
use `vacuum.start` and `vacuum.stop` instead.
([@jpbede] - [#107882]) ([documentation](/integrations/litterrobot))
[@jpbede]: https://github.com/jpbede
[#107882]: https://github.com/home-assistant/core/pull/107882
{% enddetails %}
{% details "Lutron" %}
The Lutron integration previously created fans as light entities. This has been
changed to create actual fan entities instead.
If you have automations, scripts, scenes, or dashboards that used these light
entities, you will need to update them to use the new fan entities.
([@wilburCforce] - [#107402]) ([documentation](/integrations/lutron))
[@wilburCforce]: https://github.com/wilburCforce
[#107402]: https://github.com/home-assistant/core/pull/107402
{% enddetails %}
{% details "MELCloud" %}
The daily energy sensors have been removed to prevent being throttled by the
external API. This mostly affects ATW devices.
For ATA devices, this sensor is also removed. However, the total energy consumed
(if your device supports that) remains available. The latter supports long-term
statistics, providing insights into daily energy usage via the energy dashboard
or statistic card.
([@vilppuvuorinen] - [#109832]) ([documentation](/integrations/melcloud))
[@vilppuvuorinen]: https://github.com/vilppuvuorinen
[#109832]: https://github.com/home-assistant/core/pull/109832
{% enddetails %}
{% details "Met Office" %}
This integration has been disabled. The upstream libraries used by
Home Assistant are not compatible with Python 3.12.
This compatibility issue has been [reported upstream](https://github.com/EJEP/datapoint-python/issues/183).
([@frenck] - [#108163]) ([documentation](/integrations/metoffice))
[@frenck]: https://github.com/frenck
[#108163]: https://github.com/home-assistant/core/pull/108163
{% enddetails %}
{% details "MQTT" %}
MQTT `sensor` or `binary_sensor` configuration with an `entity_category`
explicitly set to `config` will fail to set up. Maintainers should set the
`entity_category` attribute to `diagnostic` or omit the config attribute.
[Related developer blogpost](https://developers.home-assistant.io/blog/2021/10/26/config-entity/)
([@jbouwh] - [#107199]) ([documentation](/integrations/mqtt))
[@jbouwh]: https://github.com/jbouwh
[#107199]: https://github.com/home-assistant/core/pull/107199
---
When an MQTT entity has a device name equal to the entity name or starts with
the device name, this will no longer be corrected.
When entities like these are created, they will have device and entity names in
the friendly name. Suppose the device name is omitted because it is the same
as the entity name. In that case, the entity name attribute should be null
in the JSON payload or YAML configuration.
[Related developer blogpost](https://developers.home-assistant.io/blog/2023/07/21/change-naming-mqtt-entities)
([@jbouwh] - [#107188]) ([documentation](/integrations/mqtt))
[@jbouwh]: https://github.com/jbouwh
[#107188]: https://github.com/home-assistant/core/pull/107188
---
The support for MQTT vacuum entities with a `legacy` schema is removed after 6
months of deprecation. Users can use the `state` schema instead,
which is now the default.
([@jbouwh] - [#107274]) ([documentation](/integrations/mqtt))
[@jbouwh]: https://github.com/jbouwh
[#107274]: https://github.com/home-assistant/core/pull/107274
{% enddetails %}
{% details "Proximity" %}
The proximity entity (`proximity.*`) is deprecated and will be removed in 2024.8.
It is superseded by sensor entities.
For each tracked person or device, one sensor for the distance and the
direction of travel to/from the monitored zone is created. Further, for each
Proximity configuration, one sensor that shows the nearest device or person
and its distance and direction of travel to the monitored zone is created.
([@mib1185] - [#108730]) ([documentation](/integrations/proximity))
[@mib1185]: https://github.com/mib1185
[#108730]: https://github.com/home-assistant/core/pull/108730
{% enddetails %}
{% details "Renson" %}
The start time of day and start time of night sensors have been replaced by
time entities. If you used these sensors in automations or scripts, you will
need to update them to use the new time entities.
([@jimmyd-be] - [#105031]) ([documentation](/integrations/renson))
[@jimmyd-be]: https://github.com/jimmyd-be
[#105031]: https://github.com/home-assistant/core/pull/105031
{% enddetails %}
{% details "RESTful Command" %}
Call to RESTful command services will no longer silently fail and will raise an
exception on, for example, timeout or decoding errors.
You could consider using [`continue_on_error`](/docs/scripts/#continuing-on-error)
for scripts and automations that use RESTful commands that are allowed to fail
occasionally.
([@RoboMagus] - [#97208]) ([documentation](/integrations/rest_command))
[@RoboMagus]: https://github.com/RoboMagus
[#97208]: https://github.com/home-assistant/core/pull/97208
{% enddetails %}
{% details "Roborock" %}
The service `vacuum.start_pause` was deprecated in 2023.8. Support for the
deprecated service has now been completely removed.
If you are still using this service, please adjust your automations and scripts,
to use `vacuum.pause` or `vacuum.start` instead.
([@jpbede] - [#107895]) ([documentation](/integrations/roborock))
[@jpbede]: https://github.com/jpbede
[#107895]: https://github.com/home-assistant/core/pull/107895
{% enddetails %}
{% details "Sensors" %}
Setting `last_reset` for entities with a `state_class` other than `total` is
no longer supported. Please update your configuration if `state_class`
is manually configured (for example, in templates or when using customize to
override this attribute).
([@jpbede] - [#108391]) ([documentation](/integrations/sensor))
[@jpbede]: https://github.com/jpbede
[#108391]: https://github.com/home-assistant/core/pull/108391
{% enddetails %}
{% details "Swiss public transport" %}
The state value of the sensor is now a standardized timestamp.
Further, all `timestamps` and `durations` in the additional fields are now also
proper datetime/durations.
([@miaucl] - [#12341064855]) ([documentation](/integrations/swiss_public_transport))
[@miaucl]: https://github.com/miaucl
[#106485]: https://github.com/home-assistant/core/pull/106485
{% enddetails %}
{% details "TP-Link Smart Home" %}
To prevent overloading the power strips, the energy data is now polled every
60 seconds. If you need to poll the data faster, please use an automation that
calls the `homeassistant.update_entity` service.
([@bdraco] - [#104208]) ([documentation](/integrations/tplink))
[@bdraco]: https://github.com/bdraco
[#104208]: https://github.com/home-assistant/core/pull/104208
{% enddetails %}
{% details "Traccar" %}
The YAML configuration for the Traccar integration has been deprecated
and will be removed in Home Assistant 2024.8.0. Your YAML configuration will
be automatically imported to the new [Traccar Server](/integrations/traccar_server)
integration.
If you previously used the `scan_interval` option, this is not being imported.
If you are in need of a custom polling interval, you can use an automation
to define your own custom polling behavior.
[Learn more about that here.](/common-tasks/general/#defining-a-custom-polling-interval)
([@ludeeus] - [#109226]) ([documentation](/integrations/traccar_server))
[@ludeeus]: https://github.com/ludeeus
[#109226]: https://github.com/home-assistant/core/pull/109226
{% enddetails %}
{% details "Tuya" %}
Tuya has provided an easier and improved login method for Home Assistant users.
Having a developer account with Tuya is no longer required; instead, you can
scan a QR code with your Tuya Smart or Smart Life app to authenticate it
with Home Assistant.
After updating to this release, Home Assistant will ask you to re-authenticate
your Tuya Smart or Smart Life account using this new method.
([@frenck] - [#109155]) ([documentation](/integrations/tuya))
[@frenck]: https://github.com/frenck
[#109155]: https://github.com/home-assistant/core/pull/109155
---
The services `vacuum.turn_on` and `vacuum.turn_off` were deprecated in 2023.8.
Support for the deprecated services has now been completely removed.
If still use them, please adjust your automations and scripts and
use `vacuum.start` and `vacuum.stop` instead.
([@jpbede] - [#107896]) ([documentation](/integrations/tuya))
[@jpbede]: https://github.com/jpbede
[#107896]: https://github.com/home-assistant/core/pull/107896
---
Previously, Tuya would fall back to using the metric system if the temperature
unit was not reported by a climate device. This behavior has been changed to
use the default unit configured on your system instead.
([@DellanX] - [#108050]) ([documentation](/integrations/tuya))
[@DellanX]: https://github.com/DellanX
[#108050]: https://github.com/home-assistant/core/pull/108050
{% enddetails %}
{% details "Webhooks" %}
Since version 2023.7 you have been informed that the "local only" option of
webhooks will become the default. With this release this change is now put
into effect. Please, if needed, adjust your automation triggers.
([@jpbede] - [#107670]) ([documentation](/integrations/webhook))
[@jpbede]: https://github.com/jpbede
[#107670]: https://github.com/home-assistant/core/pull/107670
{% enddetails %}
{% details "Withings" %}
In withings, the unit of measurement of all duration-related sensors
(for example, sleep, goal, and active time today) has been changed from
measuring in seconds to measuring in either hours or minutes.
If you want to measure in a different unit, please change the
preferred unit of measurement in the entity settings.
([@joostlek]) ([documentation](/integrations/withings))
[@joostlek]: https://github.com/joostlek
{% enddetails %}
{% details "Z-Wave" %}
The default rounding of numeric sensors to two decimals has been removed.
We now let the device and driver decide what precision should be reported. This
allows devices with greater precision to report accurately.
You can change the display precision in the UI for the sensor or use a template
sensor if you want to change the precision.
([@MartinHjelmare] - [#107100]) ([documentation](/integrations/zwave_js))
[@MartinHjelmare]: https://github.com/MartinHjelmare
[#107100]: https://github.com/home-assistant/core/pull/107100
---
Set suggested precision to 0 decimals for voltage sensors with a native unit in V.
This will uniform the display precision of voltage sensors where there otherwise
seems to be a variety of precision reported from different devices.
If you want to change the precision, you can do that in the sensor options in the
UI or with a template sensor.
([@MartinHjelmare] - [#107116]) ([documentation](/integrations/zwave_js))
[@MartinHjelmare]: https://github.com/MartinHjelmare
[#107116]: https://github.com/home-assistant/core/pull/107116
---
The Fan and Dry climate Preset modes have been removed after a period of
deprecation. If you haven't done so, you should update your automations or
scripts to use the corresponding Dry and Fan **HVAC modes** instead.
([@jbouwh] - [#108124]) ([documentation](/integrations/zwave_js))
[@jbouwh]: https://github.com/jbouwh
[#108124]: https://github.com/home-assistant/core/pull/108124
{% enddetails %}
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][devblog]. The following are the most notable for this release:
- [Changes to FlowManager.async_show_progress](https://developers.home-assistant.io/blog/2024/01/11/async-show-progress-changes)
- [Changes to light color mode when lights display an effect](https://developers.home-assistant.io/blog/2024/01/23/light-color-mode-changes/)
- [Deprecate invalid use of sensor unit of measurement and state class](https://developers.home-assistant.io/blog/2024/01/17/deprecate-invalid-sensor-uom-state-class-use)
- [Enumerating services](https://developers.home-assistant.io/blog/2024/01/22/async_services_for_domain)
- [Icon translations](https://developers.home-assistant.io/blog/2024/01/19/icon-translations)
- [Introducing entity translation placeholders](https://developers.home-assistant.io/blog/2024/01/19/entity-translations-placeholders)
- [New entity features in Climate entity](https://developers.home-assistant.io/blog/2024/01/24/climate-climateentityfeatures-expanded)
- [Properties changes for ha-state-icon](https://developers.home-assistant.io/blog/2024/01/30/ha-state-icon-properties-changes)
[devblog]: https://developers.home-assistant.io/blog/
## 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](/integrations/netatmo/) 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](https://companion.home-assistant.io/)
is a good and (above all) privacy-friendly alternative.
([@pnbruckner] - [#107805])
[@jpbede]: https://github.com/jpbede
[@pnbruckner]: https://github.com/pnbruckner
[@reedy]: https://github.com/reedy
[#107005]: https://github.com/home-assistant/core/pull/107005
[#107587]: https://github.com/home-assistant/core/pull/107587
[#107805]: https://github.com/home-assistant/core/pull/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](/changelogs/core-2024.2)