diff --git a/CODEOWNERS b/CODEOWNERS
index 377ff667766..2213f8935e1 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -23,7 +23,7 @@ source/_integrations/air_quality.markdown @home-assistant/core
source/_integrations/airly.markdown @bieniu
source/_integrations/airnow.markdown @asymworks
source/_integrations/airq.markdown @Sibgatulin @dl2080
-source/_integrations/airthings.markdown @danielhiversen
+source/_integrations/airthings.markdown @danielhiversen @LaStrada
source/_integrations/airthings_ble.markdown @vincegio @LaStrada
source/_integrations/airtouch4.markdown @samsinnamon
source/_integrations/airtouch5.markdown @danzel
@@ -42,6 +42,7 @@ source/_integrations/ambient_station.markdown @bachya
source/_integrations/amcrest.markdown @flacjacket
source/_integrations/amp_motorization.markdown @starkillerOG
source/_integrations/analytics.markdown @home-assistant/core @ludeeus
+source/_integrations/analytics_insights.markdown @joostlek
source/_integrations/android_ip_webcam.markdown @engrbm87
source/_integrations/androidtv.markdown @JeffLIrion @ollo69
source/_integrations/androidtv_remote.markdown @tronikos @Drafteed
@@ -83,6 +84,7 @@ source/_integrations/azure_service_bus.markdown @hfurubotten
source/_integrations/backup.markdown @home-assistant/core
source/_integrations/baf.markdown @bdraco @jfroy
source/_integrations/balboa.markdown @garbled1 @natekspencer
+source/_integrations/bang_olufsen.markdown @mj23000
source/_integrations/bayesian.markdown @HarvsG
source/_integrations/beewi_smartclim.markdown @alemuro
source/_integrations/bge.markdown @tronikos
@@ -104,6 +106,7 @@ source/_integrations/bosch_shc.markdown @tschamm
source/_integrations/brandt.markdown @imicknl @vlebourl @tetienne @nyroDev
source/_integrations/braviatv.markdown @bieniu @Drafteed
source/_integrations/brel_home.markdown @starkillerOG
+source/_integrations/bring.markdown @miaucl @tr4nt0r
source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am @eifinger
source/_integrations/brother.markdown @bieniu
source/_integrations/brottsplatskartan.markdown @gjohansson-ST
@@ -129,6 +132,7 @@ source/_integrations/climate.markdown @home-assistant/core
source/_integrations/cloud.markdown @home-assistant/cloud
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
source/_integrations/co2signal.markdown @jpbede @VIKTORVAV99
+source/_integrations/coautilities.markdown @tronikos
source/_integrations/coinbase.markdown @tombrien
source/_integrations/color_extractor.markdown @GenericStudent
source/_integrations/comed.markdown @tronikos
@@ -194,7 +198,7 @@ source/_integrations/eastron.markdown @DCSBL
source/_integrations/easyenergy.markdown @klaasnicolaas
source/_integrations/ecoforest.markdown @pjanuario
source/_integrations/econet.markdown @w1ll1am23
-source/_integrations/ecovacs.markdown @OverloadUT @mib1185
+source/_integrations/ecovacs.markdown @OverloadUT @mib1185 @edenhaus
source/_integrations/ecowitt.markdown @pvizeli
source/_integrations/efergy.markdown @tkdrob
source/_integrations/egardia.markdown @jeroenterheerdt
@@ -204,6 +208,7 @@ source/_integrations/elgato.markdown @frenck
source/_integrations/elkm1.markdown @gwww @bdraco
source/_integrations/elmax.markdown @albertogeniola
source/_integrations/elv.markdown @majuss
+source/_integrations/elvia.markdown @ludeeus
source/_integrations/emby.markdown @mezz64
source/_integrations/emoncms.markdown @borpin
source/_integrations/emonitor.markdown @bdraco
@@ -219,6 +224,7 @@ source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek
source/_integrations/entur_public_transport.markdown @hfurubotten
source/_integrations/environment_canada.markdown @gwww @michaeldavie
source/_integrations/ephember.markdown @ttroy50
+source/_integrations/epion.markdown @lhgravendeel
source/_integrations/epson.markdown @pszafer
source/_integrations/epsonworkforce.markdown @ThaStealth
source/_integrations/escea.markdown @lazdavila
@@ -294,7 +300,8 @@ source/_integrations/google_sheets.markdown @tkdrob
source/_integrations/google_tasks.markdown @allenporter
source/_integrations/google_travel_time.markdown @eifinger
source/_integrations/govee_ble.markdown @bdraco @PierreAronnax
-source/_integrations/gpsd.markdown @fabaff
+source/_integrations/govee_light_local.markdown @Galorhallen
+source/_integrations/gpsd.markdown @fabaff @jrieger
source/_integrations/gree.markdown @cmroche
source/_integrations/greeneye_monitor.markdown @jkeljo
source/_integrations/group.markdown @home-assistant/core
@@ -316,10 +323,11 @@ source/_integrations/hikvisioncam.markdown @fbradyirl
source/_integrations/hisense_aehw4a1.markdown @bannhead
source/_integrations/history.markdown @home-assistant/core
source/_integrations/hive.markdown @Rendili @KJonline
+source/_integrations/hko.markdown @MisterCommand
source/_integrations/hlk_sw16.markdown @jameshilliard
-source/_integrations/holiday.markdown @jrieger
+source/_integrations/holiday.markdown @jrieger @gjohansson-ST
source/_integrations/home_connect.markdown @DavidMStraub
-source/_integrations/home_plus_control.markdown @chemaaa
+source/_integrations/home_plus_control.markdown @cgtobi
source/_integrations/homeassistant.markdown @home-assistant/core
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
source/_integrations/homeassistant_green.markdown @home-assistant/core
@@ -403,6 +411,7 @@ source/_integrations/kostal_plenticore.markdown @stegm
source/_integrations/kraken.markdown @eifinger
source/_integrations/kulersky.markdown @emlove
source/_integrations/lacrosse_view.markdown @IceBotYT
+source/_integrations/lamarzocco.markdown @zweckj
source/_integrations/lametric.markdown @robbiet480 @frenck @bachya
source/_integrations/landisgyr_heat_meter.markdown @vpathuis
source/_integrations/lastfm.markdown @joostlek
@@ -411,6 +420,7 @@ source/_integrations/laundrify.markdown @xLarry
source/_integrations/lawn_mower.markdown @home-assistant/core
source/_integrations/lcn.markdown @alengwenus
source/_integrations/ld2410_ble.markdown @930913
+source/_integrations/leaone.markdown @bdraco
source/_integrations/led_ble.markdown @bdraco
source/_integrations/legrand.markdown @cgtobi
source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave
@@ -434,8 +444,8 @@ source/_integrations/lookin.markdown @ANMalko @bdraco
source/_integrations/loqed.markdown @mikewoudenberg
source/_integrations/luci.markdown @mzdrale
source/_integrations/luftdaten.markdown @fabaff @frenck
-source/_integrations/lupusec.markdown @majuss
-source/_integrations/lutron.markdown @cdheiser
+source/_integrations/lupusec.markdown @majuss @suaveolent
+source/_integrations/lutron.markdown @cdheiser @wilburCForce
source/_integrations/lutron_caseta.markdown @swails @bdraco @danaues
source/_integrations/luxaflex.markdown @bdraco @kingy444 @trullock
source/_integrations/lyric.markdown @timmo001
@@ -482,9 +492,9 @@ source/_integrations/msteams.markdown @peroyvind
source/_integrations/mullvad.markdown @meichthys
source/_integrations/mutesync.markdown @currentoor
source/_integrations/my.markdown @home-assistant/core
-source/_integrations/mypermobil.markdown @IsakNyberg
source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
source/_integrations/mystrom.markdown @fabaff
+source/_integrations/myuplink.markdown @pajzo
source/_integrations/nam.markdown @bieniu
source/_integrations/nanoleaf.markdown @milanmeu
source/_integrations/neato.markdown @dshokouhi @Santobert
@@ -561,6 +571,7 @@ source/_integrations/peco.markdown @IceBotYT
source/_integrations/peco_opower.markdown @tronikos
source/_integrations/pegel_online.markdown @mib1185
source/_integrations/pepco.markdown @tronikos
+source/_integrations/permobil.markdown @IsakNyberg
source/_integrations/persistent_notification.markdown @home-assistant/core
source/_integrations/pge.markdown @tronikos
source/_integrations/philips_js.markdown @elupus
@@ -604,13 +615,15 @@ source/_integrations/quadrafire.markdown @jeeftor
source/_integrations/quantum_gateway.markdown @cisasteelersfan
source/_integrations/qvr_pro.markdown @oblogic7
source/_integrations/qwikswitch.markdown @kellerza
-source/_integrations/rachio.markdown @bdraco
+source/_integrations/rabbitair.markdown @rabbit-air
+source/_integrations/rachio.markdown @bdraco @rfverbruggen
source/_integrations/radarr.markdown @tkdrob
source/_integrations/radio_browser.markdown @frenck
source/_integrations/radiotherm.markdown @vinnyfuria
source/_integrations/rainbird.markdown @konikvranik @allenporter
source/_integrations/raincloud.markdown @vanstinator
source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert @hastarin
+source/_integrations/rainforest_raven.markdown @cottsay
source/_integrations/rainmachine.markdown @bachya
source/_integrations/random.markdown @fabaff
source/_integrations/rapt_ble.markdown @sairon
@@ -639,6 +652,7 @@ source/_integrations/rituals_perfume_genie.markdown @milanmeu @frenck
source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roborock.markdown @humbertogontijo @Lash-L
source/_integrations/roku.markdown @ctalkington
+source/_integrations/romy.markdown @xeniter
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1
source/_integrations/roon.markdown @pavoni
source/_integrations/rpi_power.markdown @shenxn @swetoast
@@ -759,24 +773,27 @@ source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
source/_integrations/synology_srm.markdown @aerialls
source/_integrations/system_bridge.markdown @timmo001
source/_integrations/systemmonitor.markdown @gjohansson-ST
-source/_integrations/tado.markdown @michaelarnauts @chiefdragon @erwindouna
+source/_integrations/tado.markdown @chiefdragon @erwindouna
source/_integrations/tag.markdown @balloob @dmulcahey
source/_integrations/tailscale.markdown @frenck
source/_integrations/tailwind.markdown @frenck
source/_integrations/tami4.markdown @Guy293
-source/_integrations/tankerkoenig.markdown @guillempages @mib1185
+source/_integrations/tankerkoenig.markdown @guillempages @mib1185 @jpbede
source/_integrations/tapsaff.markdown @bazwilliams
source/_integrations/tasmota.markdown @emontnemery
source/_integrations/tautulli.markdown @ludeeus @tkdrob
+source/_integrations/technove.markdown @Moustachauve
+source/_integrations/tedee.markdown @patrickhilker @zweckj
source/_integrations/tellduslive.markdown @fredrike
source/_integrations/template.markdown @PhracturedBlue @tetienne @home-assistant/core
source/_integrations/tesla_wall_connector.markdown @einarhauks
+source/_integrations/teslemetry.markdown @Bre77
source/_integrations/tessie.markdown @Bre77
source/_integrations/text.markdown @home-assistant/core
source/_integrations/tfiac.markdown @fredrike @mellado
source/_integrations/thermobeacon.markdown @bdraco
source/_integrations/thermoplus.markdown @bdraco
-source/_integrations/thermopro.markdown @bdraco
+source/_integrations/thermopro.markdown @bdraco @h3ss
source/_integrations/thethingsnetwork.markdown @fabaff
source/_integrations/thread.markdown @home-assistant/core
source/_integrations/tibber.markdown @danielhiversen
@@ -790,9 +807,10 @@ source/_integrations/todoist.markdown @boralyl
source/_integrations/tolo.markdown @MatthiasLohr
source/_integrations/tomorrowio.markdown @raman325 @lymanepp
source/_integrations/totalconnect.markdown @austinmroczek
-source/_integrations/tplink.markdown @rytilahti @thegardenmonkey @bdraco
+source/_integrations/tplink.markdown @rytilahti @thegardenmonkey @bdraco @sdb9696
source/_integrations/tplink_omada.markdown @MarkGodwin
source/_integrations/traccar.markdown @ludeeus
+source/_integrations/traccar_server.markdown @ludeeus
source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu
source/_integrations/trafikverket_camera.markdown @gjohansson-ST
source/_integrations/trafikverket_ferry.markdown @gjohansson-ST
@@ -899,6 +917,6 @@ source/_integrations/zeversolar.markdown @kvanzuijlen
source/_integrations/zha.markdown @dmulcahey @adminiuga @puddly @TheJulianJES
source/_integrations/zodiac.markdown @JulienTant
source/_integrations/zone.markdown @home-assistant/core
-source/_integrations/zoneminder.markdown @rohankapoorcom
+source/_integrations/zoneminder.markdown @rohankapoorcom @nabbi
source/_integrations/zwave_js.markdown @home-assistant/z-wave
source/_integrations/zwave_me.markdown @lawfulchaos @Z-Wave-Me @PoltoS
diff --git a/_config.yml b/_config.yml
index b9d69844e40..5836a05d45f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -109,9 +109,9 @@ social:
# Home Assistant release details
current_major_version: 2024
-current_minor_version: 1
-current_patch_version: 6
-date_released: 2024-01-30
+current_minor_version: 2
+current_patch_version: 0
+date_released: 2024-02-07
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_integrations/airtouch5.markdown b/source/_integrations/airtouch5.markdown
index 94e25b51248..a12508f8c84 100644
--- a/source/_integrations/airtouch5.markdown
+++ b/source/_integrations/airtouch5.markdown
@@ -23,4 +23,3 @@ The AirTouch 5 integration allows you to control ducted air conditioning systems
### Climate
The integration will create a climate entity for each AC unit and each zone.
-
diff --git a/source/_integrations/alexa.markdown b/source/_integrations/alexa.markdown
index 4759d581e5b..fd6a60df095 100644
--- a/source/_integrations/alexa.markdown
+++ b/source/_integrations/alexa.markdown
@@ -12,6 +12,8 @@ ha_codeowners:
- '@jbouwh'
ha_domain: alexa
ha_integration_type: integration
+ha_platforms:
+ - diagnostics
---
## Automatic setup via Home Assistant Cloud
diff --git a/source/_integrations/aosmith.markdown b/source/_integrations/aosmith.markdown
index 9036039db5f..49747f2a5ba 100644
--- a/source/_integrations/aosmith.markdown
+++ b/source/_integrations/aosmith.markdown
@@ -10,6 +10,7 @@ ha_config_flow: true
ha_codeowners:
- '@bdr99'
ha_platforms:
+ - diagnostics
- sensor
- water_heater
ha_integration_type: integration
diff --git a/source/_integrations/bang_olufsen.markdown b/source/_integrations/bang_olufsen.markdown
index 76052263814..ddb939932e7 100644
--- a/source/_integrations/bang_olufsen.markdown
+++ b/source/_integrations/bang_olufsen.markdown
@@ -10,10 +10,10 @@ ha_domain: bang_olufsen
ha_platforms:
- media_player
ha_codeowners:
- - "@mj23000"
+ - '@mj23000'
ha_config_flow: true
ha_zeroconf: true
-ha_integration_type: integration
+ha_integration_type: device
---
The Bang & Olufsen integration enables control of some of the features of certain [Bang & Olufsen](https://www.bang-olufsen.com/) devices through Home Assistant.
diff --git a/source/_integrations/bring.markdown b/source/_integrations/bring.markdown
index 84bd4274801..91e64bb628d 100644
--- a/source/_integrations/bring.markdown
+++ b/source/_integrations/bring.markdown
@@ -10,7 +10,7 @@ ha_codeowners:
- '@miaucl'
- '@tr4nt0r'
ha_domain: bring
-ha_integration_type: integration
+ha_integration_type: service
ha_platforms:
- todo
---
diff --git a/source/_integrations/bticino.markdown b/source/_integrations/bticino.markdown
index aa09269ca12..52fd08de35e 100644
--- a/source/_integrations/bticino.markdown
+++ b/source/_integrations/bticino.markdown
@@ -6,6 +6,7 @@ ha_category:
- Climate
- Cover
- Environment
+ - Fan
- Hub
- Light
- Media source
@@ -25,6 +26,7 @@ ha_platforms:
- climate
- cover
- diagnostics
+ - fan
- light
- select
- sensor
diff --git a/source/_integrations/bubendorff.markdown b/source/_integrations/bubendorff.markdown
index 37b8690edac..505466de6ab 100644
--- a/source/_integrations/bubendorff.markdown
+++ b/source/_integrations/bubendorff.markdown
@@ -6,6 +6,7 @@ ha_category:
- Climate
- Cover
- Environment
+ - Fan
- Hub
- Light
- Media source
@@ -25,6 +26,7 @@ ha_platforms:
- climate
- cover
- diagnostics
+ - fan
- light
- select
- sensor
diff --git a/source/_integrations/coautilities.markdown b/source/_integrations/coautilities.markdown
index a8e57f8e04b..295b00f7aa6 100644
--- a/source/_integrations/coautilities.markdown
+++ b/source/_integrations/coautilities.markdown
@@ -4,7 +4,7 @@ description: Get energy usage from City of Austin Utilities using the Opower int
ha_category:
- Energy
- Sensor
-ha_release: 2024.2
+ha_release: 2023.8
ha_domain: coautilities
ha_integration_type: virtual
ha_supporting_domain: opower
diff --git a/source/_integrations/comelit.markdown b/source/_integrations/comelit.markdown
index 59245686ad9..14af2e909ea 100644
--- a/source/_integrations/comelit.markdown
+++ b/source/_integrations/comelit.markdown
@@ -16,7 +16,6 @@ ha_platforms:
- light
- sensor
- switch
-ha_ssdp: false
ha_integration_type: integration
---
diff --git a/source/_integrations/coned.markdown b/source/_integrations/coned.markdown
index 482ab3dc817..0af5b2e515c 100644
--- a/source/_integrations/coned.markdown
+++ b/source/_integrations/coned.markdown
@@ -4,7 +4,7 @@ description: Get energy usage from Consolidated Edison (ConEd) using the Opower
ha_category:
- Energy
- Sensor
-ha_release: 2023.9
+ha_release: 2023.8
ha_domain: coned
ha_integration_type: virtual
ha_supporting_domain: opower
diff --git a/source/_integrations/epion.markdown b/source/_integrations/epion.markdown
index 42e3155a580..c54127deea8 100644
--- a/source/_integrations/epion.markdown
+++ b/source/_integrations/epion.markdown
@@ -12,7 +12,7 @@ ha_config_flow: true
ha_domain: epion
ha_platforms:
- sensor
-ha_integration_type: integration
+ha_integration_type: hub
---
Integrates Epion Air sensors into Home Assistant.
diff --git a/source/_integrations/gpsd.markdown b/source/_integrations/gpsd.markdown
index a1c51ab1db7..9c76443f401 100644
--- a/source/_integrations/gpsd.markdown
+++ b/source/_integrations/gpsd.markdown
@@ -8,6 +8,7 @@ ha_config_flow: true
ha_iot_class: Local Polling
ha_codeowners:
- '@fabaff'
+ - '@jrieger'
ha_domain: gpsd
ha_platforms:
- sensor
diff --git a/source/_integrations/holiday.markdown b/source/_integrations/holiday.markdown
index 2ff746ec160..5744366345c 100644
--- a/source/_integrations/holiday.markdown
+++ b/source/_integrations/holiday.markdown
@@ -11,6 +11,7 @@ ha_platforms:
- calendar
ha_codeowners:
- '@jrieger'
+ - '@gjohansson-ST'
ha_integration_type: integration
---
diff --git a/source/_integrations/home_plus_control.markdown b/source/_integrations/home_plus_control.markdown
index 63e444d3d45..7ae7f2dfbe5 100644
--- a/source/_integrations/home_plus_control.markdown
+++ b/source/_integrations/home_plus_control.markdown
@@ -1,19 +1,38 @@
---
title: Legrand Home+ Control
-description: Instructions on how to integrate Legrand Home+ Control into Home Assistant.
+description: Connect and control your Legrand Home+ Control devices using the Netatmo integration
ha_category:
+ - Camera
+ - Climate
+ - Cover
+ - Environment
+ - Fan
+ - Hub
+ - Light
+ - Media source
+ - Sensor
- Switch
-ha_release: 2021.4
-ha_iot_class: Cloud Polling
-ha_codeowners:
- - '@chemaaa'
-ha_config_flow: true
+ - Weather
+ha_release: '0.20'
ha_domain: home_plus_control
-ha_platforms:
- - switch
ha_integration_type: virtual
ha_supporting_domain: netatmo
ha_supporting_integration: Netatmo
+ha_codeowners:
+ - '@cgtobi'
+ha_config_flow: true
+ha_platforms:
+ - camera
+ - climate
+ - cover
+ - diagnostics
+ - fan
+ - light
+ - select
+ - sensor
+ - switch
+ha_iot_class: Cloud Polling
+ha_homekit: true
---
{% include integrations/supported_brand.md %}
diff --git a/source/_integrations/jvc_projector.markdown b/source/_integrations/jvc_projector.markdown
index 7216cdd6973..2d1b72df591 100644
--- a/source/_integrations/jvc_projector.markdown
+++ b/source/_integrations/jvc_projector.markdown
@@ -11,8 +11,8 @@ ha_codeowners:
- '@msavazzi'
ha_domain: jvc_projector
ha_platforms:
- - remote
- binary_sensor
+ - remote
ha_integration_type: device
---
diff --git a/source/_integrations/lamarzocco.markdown b/source/_integrations/lamarzocco.markdown
index b69bc7788b5..a431cfaafc2 100644
--- a/source/_integrations/lamarzocco.markdown
+++ b/source/_integrations/lamarzocco.markdown
@@ -4,11 +4,19 @@ description: Instructions on how to integrate your La Marzocco coffee machine wi
ha_release: 2024.2
ha_category:
- Switch
+ - Update
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_domain: lamarzocco
ha_platforms:
+ - binary_sensor
+ - button
+ - diagnostics
+ - number
+ - select
+ - sensor
- switch
+ - update
ha_codeowners:
- '@zweckj'
ha_integration_type: device
@@ -91,4 +99,3 @@ Host:
|-------------|-------------| ------------------------| ---------------------- |
| Prebrew/-infusion mode | Whether to use prebrew, preinfusion, or neither | Disabled, Prebrew, Preinfusion | Linea Micra, Linea Mini, GS3 AV |
| Steam level | The level your steam boiler should run at | 1,2,3 | Linea Micra |
-
diff --git a/source/_integrations/legrand.markdown b/source/_integrations/legrand.markdown
index a2d56087012..385839bbfe2 100644
--- a/source/_integrations/legrand.markdown
+++ b/source/_integrations/legrand.markdown
@@ -6,6 +6,7 @@ ha_category:
- Climate
- Cover
- Environment
+ - Fan
- Hub
- Light
- Media source
@@ -25,6 +26,7 @@ ha_platforms:
- climate
- cover
- diagnostics
+ - fan
- light
- select
- sensor
diff --git a/source/_integrations/lupusec.markdown b/source/_integrations/lupusec.markdown
index 62d4ef9e6b6..da1cb24761f 100644
--- a/source/_integrations/lupusec.markdown
+++ b/source/_integrations/lupusec.markdown
@@ -17,6 +17,7 @@ ha_platforms:
- binary_sensor
- switch
ha_integration_type: integration
+ha_config_flow: true
---
The `lupusec` integration allows the user to integrate their Lupusec alarm control panel and ultimately all connected sensors and other devices. For more information about the LUPUS-Electronics security system please visit their [website](https://www.lupus-electronics.de).
diff --git a/source/_integrations/lutron.markdown b/source/_integrations/lutron.markdown
index d1915ae2295..95feca01b8d 100644
--- a/source/_integrations/lutron.markdown
+++ b/source/_integrations/lutron.markdown
@@ -12,7 +12,7 @@ ha_release: 0.37
ha_iot_class: Local Polling
ha_codeowners:
- '@cdheiser'
- - '@wilburCforce'
+ - '@wilburCForce'
ha_domain: lutron
ha_platforms:
- binary_sensor
@@ -22,6 +22,7 @@ ha_platforms:
- scene
- switch
ha_integration_type: integration
+ha_config_flow: true
---
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches/dimmers, occupancy sensors, HVAC controls, etc. The `lutron` integration in Home Assistant is responsible for communicating with the main hub for these systems.
diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown
index 3be0cd5dabd..407bf7c3c3d 100644
--- a/source/_integrations/matter.markdown
+++ b/source/_integrations/matter.markdown
@@ -303,4 +303,4 @@ If you experience any issues with discovering devices (for example, if the initi
### Related guides
-- [Adding an Apple HomeKit device through Thread](/integrations/homekit_controller/#adding-a-homekit-device-through-thread)
\ No newline at end of file
+- [Adding an Apple HomeKit device through Thread](/integrations/homekit_controller/#adding-a-homekit-device-through-thread)
diff --git a/source/_integrations/myuplink.markdown b/source/_integrations/myuplink.markdown
index 66953e8c935..727a4b9aa50 100644
--- a/source/_integrations/myuplink.markdown
+++ b/source/_integrations/myuplink.markdown
@@ -10,6 +10,8 @@ ha_codeowners:
- '@pajzo'
ha_config_flow: true
ha_integration_type: integration
+ha_platforms:
+ - sensor
---
The myUplink integration lets you get information about the devices supporting myUplink using the [official cloud API](https://dev.myuplink.com).
diff --git a/source/_integrations/permobil.markdown b/source/_integrations/permobil.markdown
index 089a8f4f59f..c9c25edf4ed 100644
--- a/source/_integrations/permobil.markdown
+++ b/source/_integrations/permobil.markdown
@@ -10,8 +10,8 @@ ha_codeowners:
- '@IsakNyberg'
ha_config_flow: true
ha_platforms:
- - Sensor
-ha_integration_type: hub
+ - sensor
+ha_integration_type: integration
---
The **MyPermobil** integration allows you to view various sensors with information about your Permobil wheelchair. For example: battery status, distance traveled, and number of seating adjustments. The values of the sensors may be delayed by several minutes and should not be relied on for any crucial applications. For the integration to work, you must ensure that _voice assistant linking_ is activated in the MyPermobil app. To do this, open the app and navigate to **Settings** > **My Account** > **Connection Settings**.
diff --git a/source/_integrations/piper.markdown b/source/_integrations/piper.markdown
index 2a672d44763..51c54fdc06d 100644
--- a/source/_integrations/piper.markdown
+++ b/source/_integrations/piper.markdown
@@ -13,10 +13,14 @@ ha_codeowners:
- '@synesthesiam'
ha_config_flow: true
ha_platforms:
+ - binary_sensor
+ - number
+ - select
- stt
+ - switch
- tts
- - wake_word
ha_iot_class: Local Push
+ha_zeroconf: true
---
{% include integrations/supported_brand.md %}
diff --git a/source/_integrations/qbittorrent.markdown b/source/_integrations/qbittorrent.markdown
index 64cb4547f13..c2fab00dff9 100644
--- a/source/_integrations/qbittorrent.markdown
+++ b/source/_integrations/qbittorrent.markdown
@@ -8,8 +8,8 @@ ha_config_flow: true
ha_iot_class: Local Polling
ha_domain: qbittorrent
ha_codeowners:
- - "@geoffreylagaisse"
- - "@finder39"
+ - '@geoffreylagaisse'
+ - '@finder39'
ha_platforms:
- sensor
ha_integration_type: service
diff --git a/source/_integrations/rabbitair.markdown b/source/_integrations/rabbitair.markdown
index 372ce722ead..3f449eabcbe 100644
--- a/source/_integrations/rabbitair.markdown
+++ b/source/_integrations/rabbitair.markdown
@@ -12,6 +12,7 @@ ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- fan
+ha_integration_type: integration
---
The Rabbit Air integration lets you control your air purifier over the local network. The following device models are currently supported:
diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown
index 0f33473fcc8..3898de7b15b 100644
--- a/source/_integrations/rachio.markdown
+++ b/source/_integrations/rachio.markdown
@@ -10,6 +10,7 @@ ha_release: 0.73
ha_domain: rachio
ha_codeowners:
- '@bdraco'
+ - '@rfverbruggen'
ha_config_flow: true
ha_homekit: true
ha_dhcp: true
diff --git a/source/_integrations/rainforest_raven.markdown b/source/_integrations/rainforest_raven.markdown
index 334f030cb4f..183f2d78e90 100644
--- a/source/_integrations/rainforest_raven.markdown
+++ b/source/_integrations/rainforest_raven.markdown
@@ -10,6 +10,7 @@ ha_codeowners:
- '@cottsay'
ha_domain: rainforest_raven
ha_platforms:
+ - diagnostics
- sensor
ha_config_flow: true
ha_integration_type: integration
diff --git a/source/_integrations/renson.markdown b/source/_integrations/renson.markdown
index bfb0a49e5a9..bcbaa481fea 100644
--- a/source/_integrations/renson.markdown
+++ b/source/_integrations/renson.markdown
@@ -5,8 +5,8 @@ ha_category:
- Binary sensor
- Button
- Fan
- - Time
- Number
+ - Time
ha_release: 2023.7
ha_iot_class: Local Polling
ha_config_flow: true
diff --git a/source/_integrations/romy.markdown b/source/_integrations/romy.markdown
index 39be4e9d217..f4b0300c45c 100644
--- a/source/_integrations/romy.markdown
+++ b/source/_integrations/romy.markdown
@@ -1,5 +1,5 @@
---
-title: ROMY
+title: ROMY Vacuum Cleaner
description: Integrate your ROMY vacuum robot with Home Assistant.
ha_category:
- Vacuum
@@ -12,6 +12,7 @@ ha_domain: romy
ha_platforms:
- vacuum
ha_integration_type: integration
+ha_zeroconf: true
---
The **ROMY** integration allows you to control your [ROMY](https://www.romyrobot.com) vacuum robot.
diff --git a/source/_integrations/smarther.markdown b/source/_integrations/smarther.markdown
index 27d4fd83124..837e7f4e9c7 100644
--- a/source/_integrations/smarther.markdown
+++ b/source/_integrations/smarther.markdown
@@ -6,6 +6,7 @@ ha_category:
- Climate
- Cover
- Environment
+ - Fan
- Hub
- Light
- Media source
@@ -25,6 +26,7 @@ ha_platforms:
- climate
- cover
- diagnostics
+ - fan
- light
- select
- sensor
diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown
index f0187342d61..04c32b15402 100644
--- a/source/_integrations/tado.markdown
+++ b/source/_integrations/tado.markdown
@@ -12,7 +12,6 @@ ha_category:
ha_release: 0.41
ha_iot_class: Cloud Polling
ha_codeowners:
- - '@michaelarnauts'
- '@chiefdragon'
- '@erwindouna'
ha_domain: tado
diff --git a/source/_integrations/tami4.markdown b/source/_integrations/tami4.markdown
index 55e543692d1..33e8a8b2cd3 100644
--- a/source/_integrations/tami4.markdown
+++ b/source/_integrations/tami4.markdown
@@ -10,6 +10,7 @@ ha_codeowners:
- '@Guy293'
ha_domain: tami4
ha_platforms:
+ - button
- sensor
ha_integration_type: integration
---
diff --git a/source/_integrations/tankerkoenig.markdown b/source/_integrations/tankerkoenig.markdown
index 9f2cbe704c5..5f80e8d6352 100755
--- a/source/_integrations/tankerkoenig.markdown
+++ b/source/_integrations/tankerkoenig.markdown
@@ -10,6 +10,7 @@ ha_domain: tankerkoenig
ha_codeowners:
- '@guillempages'
- '@mib1185'
+ - '@jpbede'
ha_platforms:
- binary_sensor
- diagnostics
diff --git a/source/_integrations/technove.markdown b/source/_integrations/technove.markdown
index ce676245c85..35c4c4b62cc 100644
--- a/source/_integrations/technove.markdown
+++ b/source/_integrations/technove.markdown
@@ -13,7 +13,7 @@ ha_codeowners:
ha_platforms:
- binary_sensor
- sensor
-ha_integration_type: integration
+ha_integration_type: device
---
The TechnoVE integration provides connectivity with TechnoVE Smart Charging Station through the station local API.
@@ -43,4 +43,4 @@ The {% term integration %} adds the following sensors:
- Last session energy usage
- Wi-Fi signal strength
- Wi-Fi network name
-- Status
\ No newline at end of file
+- Status
diff --git a/source/_integrations/tedee.markdown b/source/_integrations/tedee.markdown
index 99dc4f4d64b..dcb16e4824d 100644
--- a/source/_integrations/tedee.markdown
+++ b/source/_integrations/tedee.markdown
@@ -11,11 +11,12 @@ ha_config_flow: true
ha_domain: tedee
ha_platforms:
- binary_sensor
+ - diagnostics
- lock
- sensor
ha_codeowners:
- - '@zweckj'
- '@patrickhilker'
+ - '@zweckj'
ha_integration_type: integration
---
@@ -48,4 +49,4 @@ We have three binary sensors: One that indicates whether the battery is currentl
## Sensors
-The integration currently offers two sensors: A battery sensor, indicating the charge of your lock, and a "pull spring duration" sensor, indicating how long (in seconds) your latch will stay pulled after a pull operation (if supported).
+The integration currently offers two sensors: A battery sensor, indicating the charge of your lock, and a "pull spring duration" sensor, indicating how long (in seconds) your latch will stay pulled after a pull operation (if supported).
diff --git a/source/_integrations/teslemetry.markdown b/source/_integrations/teslemetry.markdown
index 6126ba3c5e2..cc976baae99 100644
--- a/source/_integrations/teslemetry.markdown
+++ b/source/_integrations/teslemetry.markdown
@@ -30,4 +30,4 @@ The integration will create a climate entity to control the vehicle's climate co
- Turn on and off
- Change the set temperature
-- Change to one of the four modes: Off, Keep mode, Dog mode, and Camp mode
+- Change to one of the four modes: Off, Keep mode, Dog mode, and Camp mode
diff --git a/source/_integrations/thermopro.markdown b/source/_integrations/thermopro.markdown
index 5a9b32b6a95..e9868e7e3a2 100644
--- a/source/_integrations/thermopro.markdown
+++ b/source/_integrations/thermopro.markdown
@@ -8,6 +8,7 @@ ha_release: 2022.9
ha_iot_class: Local Push
ha_codeowners:
- '@bdraco'
+ - '@h3ss'
ha_domain: thermopro
ha_config_flow: true
ha_platforms:
diff --git a/source/_integrations/thread.markdown b/source/_integrations/thread.markdown
index 3c9f98b4a64..49cc52c4bd1 100644
--- a/source/_integrations/thread.markdown
+++ b/source/_integrations/thread.markdown
@@ -181,4 +181,4 @@ Currently, combining Thread networks seems to lead to instabilities. Therefore,
- [Adding a Matter device to Home Assistant](/integrations/matter/#adding-a-matter-device-to-home-assistant)
- [Adding an Apple HomeKit device through Thread](/integrations/homekit_controller/#adding-a-homekit-device-through-thread)
- [Enabling Thread on SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-thread/)
-- [Enabling Thread on Yellow](https://yellow.home-assistant.io/procedures/enable-thread/)
\ No newline at end of file
+- [Enabling Thread on Yellow](https://yellow.home-assistant.io/procedures/enable-thread/)
diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown
index 0622283ce9f..cfac87ee2a8 100644
--- a/source/_integrations/time_date.markdown
+++ b/source/_integrations/time_date.markdown
@@ -12,7 +12,7 @@ ha_codeowners:
ha_domain: time_date
ha_platforms:
- sensor
-ha_integration_type: integration
+ha_integration_type: service
---
The time and date (`time_date`) integration allows one to create sensors for the current date or time in different formats. All values are based on the timezone which is set in "General Configuration".
diff --git a/source/_integrations/zoneminder.markdown b/source/_integrations/zoneminder.markdown
index 79f3debcd5a..4613ab07518 100644
--- a/source/_integrations/zoneminder.markdown
+++ b/source/_integrations/zoneminder.markdown
@@ -11,6 +11,7 @@ ha_release: 0.31
ha_iot_class: Local Polling
ha_codeowners:
- '@rohankapoorcom'
+ - '@nabbi'
ha_domain: zoneminder
ha_platforms:
- binary_sensor
diff --git a/source/_posts/2024-02-07-release-20242.markdown b/source/_posts/2024-02-07-release-20242.markdown
new file mode 100644
index 00000000000..5bb6376db57
--- /dev/null
+++ b/source/_posts/2024-02-07-release-20242.markdown
@@ -0,0 +1,811 @@
+---
+layout: post
+title: "2024.2: Beta release notes"
+description: "The beta release notes for Home Assistant 2024.2"
+date: 2024-01-31 00:00:00
+date_formatted: "Febuary 7, 2024"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories:
+ - Release-Notes
+ - Core
+og_image: /images/blog/2024-02/social.png
+---
+
+
+
+
+
+These are the beta release notes for Home Assistant Core 2024.2 (and is thus a
+work in progress).
+
+If you encounter any issues with the beta release, please report them on GitHub:
+
+- Issues with integrations, automations and such (Core related):
+
+- Issues with the frontend/UI/dashboards:
+
+- Issues with the documentation:
+
+
+Please be sure to include the beta version you are running in the issue
+version field (not title), so we can classify your issue correctly.
+
+Issues introduced in the beta are processed with priority.
+
+---
+
+
+
+Home Assistant Core 2024.2! π
+
+Thanks for helping out testing the beta! β€οΈ
+
+Enjoy the (beta) release!
+
+../Frenck
+
+
+
+- [Improved drag \& drop support for automations](#improved-drag--drop-support-for-automations)
+- [Download statistics from the history dashboard](#download-statistics-from-the-history-dashboard)
+- [Shipping on a new Python version](#shipping-on-a-new-python-version)
+- [Update entities for ZHA devices](#update-entities-for-zha-devices)
+- [Matter diagnostics and actions](#matter-diagnostics-and-actions)
+- [All known assist devices](#all-known-assist-devices)
+- [Icons everywhere](#icons-everywhere)
+- [Integration authentication issues are now shown in the repairs dashboards](#integration-authentication-issues-are-now-shown-in-the-repairs-dashboards)
+- [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)
+- [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!
+
+
+
+## Improved drag & drop support for automations
+
+As of this release, dragging and dropping triggers, conditions and actions in
+the automation editor is always possible. Previously, you had to enable
+re-ordering explicitly in the automation editor settings, now it is always
+possible.
+
+
+
+But what is 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.
+
+
+
+## Download statistics from the history dashboard
+
+You can now download the statistics you are viewing, from the history dashboard
+as a CSV file. This allows you to do further analysis on the data, in for
+example Excel, or to visualize it in other ways. Thanks, [@balloob]!
+
+
+
+[@balloob]: https://github.com/balloob
+
+## 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 noteably: 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! π
+
+## Update entities for ZHA 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!
+
+
+
+## Matter diagnostics and actions
+
+Home Assistant works actively on providing 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 type of network the device is using, its addresses and IDs,
+device types and its connected [fabrics](/integrations/matter#multi-fabric-join-to-multiple-controllers).
+
+
+
+Besides more information, there are also new actions you can take on the device.
+For example, ping the device, start comissioning or removing a fabric, or force
+a full device interview to sync all its information.
+
+## All known assist devices
+
+We've added a small additional page, to give you insight into 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.
+
+
+
+{% my voice_assistants badge %}
+
+## Icons everywhere
+
+This release, we completely changed how Home Assistant handles icons. An big
+effort from many people, with almost... no change! That is right, _almost_
+everthing 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, but also
+actions can now have their own icons to match their specific goal:
+
+
+
+Areas now have icons! You can set them in the area configuration. They show
+up in the area target pickers/selectors and in the area dashboard itself
+(in case you didn't upload a picture).
+
+
+
+## Integration authentication issues are now shown in the repairs dashboards
+
+When one of your integrations is having 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.
+
+
+
+_(This temporary video is not the best example, as it doesn't really ask for
+new authentication details. We will update this video before the release.)_
+
+## 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 to 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 using the the Tuya Smart or Smart
+ Life app directly. No more need for developer accounts or complicated
+ procedures!
+- Are you an Jinja templating Ninja? [@TNTLarsn] added a new `bitwise_xor`
+ filter for you to use. Awesome!
+
+[@edenhaus]: https://github.com/edenhaus
+[@emontnemery]: https://github.com/emontnemery
+[@mib1185]: https://github.commib1185
+[@TNTLarsn]: https://github.com/TNTLarsn
+[change the type of a switch entity]: /integrations/switch_as_x
+[Ecovacs]: /integrations/ecovacs
+[Tuya]: /integrations/tuya
+
+{% details "To process" %}
+
+- Add binary sensor platform to JVC Projector ([@msavazzi] - [#108668]) ([jvc_projector docs]) (new-platform)
+- Add binary sensors to flexit_bacnet integration ([@lellky] - [#108571]) ([flexit_bacnet docs]) (new-platform)
+- Add button platform to Opengarage ([@jkrall] - [#103569]) ([opengarage docs]) (new-platform)
+- Add color temp support for older HomeKit devices ([@bdraco] - [#107206]) ([homekit_controller docs])
+- Add device info to Netgear LTE ([@tkdrob] - [#106568]) ([netgear_lte docs])
+- Add GPS satellites count to Starline sensor ([@Anonym-tsk] - [#105740]) ([starline docs])
+- Add new event sensors from UniFi Protect 2.11 ([@AngellusMortis] - [#107773]) ([unifiprotect docs])
+- Add Record distance sensor to MyPermobil ([@IsakNyberg] - [#106519]) ([permobil docs])
+- Add sensor platform to Proximity ([@mib1185] - [#101497]) ([proximity docs]) (new-platform)
+- Add sensors to the flexit_bacnet integration ([@lellky] - [#108297]) ([flexit_bacnet docs]) (new-platform)
+- Add SpeakerHub support to YoLink ([@matrixd2] - [#104678]) ([yolink docs]) (new-platform)
+- Add Tami4 integration boil water button ([@Guy293] - [#103400]) ([tami4 docs]) (new-platform)
+- Add utility meter option for the sensor to always be available ([@dougiteixeira] - [#103481]) ([utility_meter docs])
+- Flow rate unit conversions and device class ([@elupus] - [#106077]) ([recorder docs]) ([sensor docs]) ([number docs])
+- Improved Assist debug ([@synesthesiam] - [#108889]) ([conversation docs])
+- Move core fundamental components into bootstrap ([@frenck] - [#105560]) ([default_config docs])
+
+{% enddetails %}
+
+## 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]
+
+[City of Austin Utilities]: /integrations/coautilities
+[Opower]: /integrations/opower
+
+## 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
+
+## 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 changes 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.
+
+This means that if your logged in session hasn't been used for 90 days, you
+will be logged out. You will need to log in again.
+
+If you need a permanent token, then we recommend using [Long-lived access tokens](/docs/auth_api/#long-lived-access-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 to option to set a custom scan interval, has been
+removed.
+
+Adjustable scan interval is no longer allowed, but above all, 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 WIFI 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 script, 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 "Honeywell Total Connect Comfort (US)" %}
+
+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 script, 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 arestill 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 "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 that have 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 that is 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 both device and entity name
+in the friendly name. If the device name is to be omitted because it is the same
+as the entity name, then the entity `name` attribute sould be set to `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/lorem))
+
+[@jbouwh]: https://github.com/jbouwh
+[#107274]: https://github.com/home-assistant/core/pull/107274
+
+{% 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 your automations 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 services `vacuum.start_pause` was deprecated in 2023.8. Support for the
+deprecated services has now been completely removed.
+
+If you are still using them, please adjust your automations and scripts,
+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 "Swiss public transport" %}
+
+The state value of the sensor is now a standardize 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 "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 of 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 you are still using 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 "Webooks" %}
+
+Since version 2023.7 you have been informed that the "local only" option of
+webhooks would become the default. With this release this change was now put
+into affect. 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 "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 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. You should update your automations or scripts to use the
+corresponding Dry and Fan **HVAC modes** instead, if you haven't done so
+already.
+
+([@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 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)
\ No newline at end of file
diff --git a/source/changelogs/core-2024.2.markdown b/source/changelogs/core-2024.2.markdown
new file mode 100644
index 00000000000..f5f49ae90a0
--- /dev/null
+++ b/source/changelogs/core-2024.2.markdown
@@ -0,0 +1,2676 @@
+---
+title: Full changelog for Home Assistant Core 2024.2
+description: Detailed changelog for the Home Assistant Core 2024.2 release
+replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$
+---
+
+These are all the changes included in the Home Assistant Core 2024.2 release.
+
+For a summary in a more readable format:
+[Release notes blog for this release](/blog/2024/01/31/release-20242/).
+
+## All changes
+
+- Bump dawidd6/action-download-artifact from 2 to 3.0.0 (@dependabot - [#105712])
+- Use converter factory in sensor platform ([@bdraco] - [#106508])
+- Bump version to 2024.2.0dev0 ([@frenck] - [#106504])
+- Improve trace helper typing ([@cdce8p] - [#105964])
+- Add myself as codeowner for holiday ([@gjohansson-ST] - [#106560])
+- Update aioairzone-cloud to v0.3.7 ([@Noltari] - [#106544])
+- Add device info to Netgear LTE ([@tkdrob] - [#106568])
+- Add Record distance sensor to MyPermobil ([@IsakNyberg] - [#106519])
+- Refactor screenlogic numbers to use subclasses ([@dieselrabbit] - [#106574])
+- Small speed up to compressed state diff ([@bdraco] - [#106624])
+- Use built-in set methods for light supported checks ([@bdraco] - [#106625])
+- Add GPS satellites count to Starline sensor ([@Anonym-tsk] - [#105740])
+- Minor improvements to Tessie device entries ([@Bre77] - [#106623])
+- Add entity name and translations to Netgear LTE ([@tkdrob] - [#106599])
+- Improve tests of inheriting entity descriptions ([@emontnemery] - [#106647])
+- Add tedee integration ([@zweckj] - [#102846])
+- Add roomba total cleaned area sensor ([@Xitee1] - [#106640])
+- Bump SQLAlchemy to 2.0.24 ([@bdraco] - [#106672])
+- Avoid recreating ReadOnly dicts when attributes do not change ([@bdraco] - [#106687])
+- Use volume up/down from enigma2 API ([@autinerd] - [#106674])
+- DNS IP implement retry ([@gjohansson-ST] - [#105675])
+- Add ffmpeg to dev-container ([@mib1185] - [#106710])
+- Upper case tedee device name ([@zweckj] - [#106685])
+- Add reauth to Blue Current integration ([@Floris272] - [#106658])
+- Use call_soon_threadsafe in render_will_timeout of template helper ([@jpbede] - [#106514])
+- Mark date entity component as strictly typed ([@frenck] - [#106716])
+- Mark todo entity component as strictly typed ([@frenck] - [#106718])
+- Add support for cookie file to media_extractor ([@RickeyWard] - [#104973])
+- Mark datetime entity component as strictly typed ([@frenck] - [#106717])
+- Mark wake_word entity component as strictly typed ([@frenck] - [#106724])
+- Mark siren entity component as strictly typed ([@frenck] - [#106719])
+- Use more shorthand attrs in bond fan ([@bdraco] - [#106740])
+- Mark time entity component as strictly typed ([@frenck] - [#106720])
+- Update aioairzone-cloud to v0.3.8 ([@Noltari] - [#106736])
+- Add sensor platform for tedee integration ([@zweckj] - [#106722])
+- Add binary sensors for tedee ([@zweckj] - [#106773])
+- Add Tami4 integration boil water button ([@Guy293] - [#103400])
+- Update pytest to 7.4.4 ([@cdce8p] - [#106802])
+- Use shorthand attrs for tplink color temp min/max ([@bdraco] - [#106796])
+- Use walrus operator for roomba total cleaned area sensor value ([@Xitee1] - [#106772])
+- Enable strict typing for aprs ([@cdce8p] - [#106824])
+- Enable strict typing for anel_pwrctrl ([@cdce8p] - [#106821])
+- Enable strict typing for androidtv ([@cdce8p] - [#106820])
+- Enable strict typing for alpha_vantage ([@cdce8p] - [#106816])
+- Enable strict typing for aquostv ([@cdce8p] - [#106836])
+- Enable strict typing for aruba ([@cdce8p] - [#106839])
+- Enable strict typing for airq ([@cdce8p] - [#106813])
+- Enable strict typing for amberelectric ([@cdce8p] - [#106817])
+- Enable strict typing for asterisk_cdr + asterisk_mbox ([@cdce8p] - [#106841])
+- Enable strict typing for arris_tg2492lg ([@cdce8p] - [#106838])
+- Enable strict typing for arcam_fmj ([@cdce8p] - [#106837])
+- Improve acmeda typing ([@cdce8p] - [#106812])
+- Enable strict typing for ambiclimate ([@cdce8p] - [#106819])
+- Reduce duplicate code in json_loads ([@bdraco] - [#106859])
+- Set entity category and device class for Netgear LTE entities ([@tkdrob] - [#106661])
+- Add diagnostics for tedee ([@zweckj] - [#106662])
+- Bump bleak-esphome to 0.4.1 ([@bdraco] - [#106832])
+- Enable strict typing for airthings ([@cdce8p] - [#106814])
+- Use identity checks for HassJobType ([@bdraco] - [#106860])
+- Xiaomi MIIO: fix typo in error log ([@angristan] - [#106852])
+- Refactor restore state saving to avoid a dict lookup of ATTR_RESTORED ([@bdraco] - [#106854])
+- Use shorthand attr for screenlogic climate preset modes ([@bdraco] - [#106858])
+- Refactor light platform to avoid duplicate property calls ([@bdraco] - [#106857])
+- Migrate vizio tests to use freezegun ([@jpbede] - [#105417])
+- Migrate geo_rss_events test to use freezegun ([@jpbede] - [#105895])
+- Enable strict typing for arwn ([@cdce8p] - [#106840])
+- Improve entity descriptions in Tami4 ([@joostlek] - [#106776])
+- Add reauthentication for tedee integration ([@zweckj] - [#106667])
+- Avoid unnecessary domain dataclass in Discovergy ([@jpbede] - [#106869])
+- Mark humidifier entity component as strictly typed ([@frenck] - [#106721])
+- Enable strict typing for apache_kafka ([@cdce8p] - [#106823])
+- Add translatable title to logbook ([@steffenrapp] - [#106810])
+- Enable strict typing of date_time ([@emontnemery] - [#106868])
+- Deprecate 'beat' display option in Time & Date ([@emontnemery] - [#106871])
+- Index entities by domain for entity services ([@bdraco] - [#106759])
+- Add Reolink image settings ([@starkillerOG] - [#105415])
+- Improve time_date tests ([@emontnemery] - [#106878])
+- Fix state update in time_date sensor ([@emontnemery] - [#106879])
+- Handle time zone change in time_date ([@emontnemery] - [#106880])
+- Disable polling in time_date sensor ([@emontnemery] - [#106881])
+- Mark stt entity component as strictly typed ([@frenck] - [#106723])
+- Remove deprecated Life360 yaml configuration ([@pnbruckner] - [#106286])
+- Replace intersection with isdisjoint in apple_tv config flow ([@bdraco] - [#106633])
+- Add strict typing to command_line ([@cdce8p] - [#106889])
+- Enable strict typing for co2signal ([@cdce8p] - [#106888])
+- Avoid tuple construction to check HKC available ([@bdraco] - [#106902])
+- Enable strict typing for blueprint ([@cdce8p] - [#106887])
+- Bump aiohttp-zlib-ng to 0.2.0 ([@bdraco] - [#106691])
+- Enable strict typing for axis ([@cdce8p] - [#106844])
+- Remove assert for unique_id ([@cdce8p] - [#106910])
+- Add tedee bridge as via_device for tedee integration ([@zweckj] - [#106914])
+- Add translatable title to holiday ([@steffenrapp] - [#106825])
+- Bump aioelectricitymaps to v0.1.6 ([@jpbede] - [#106932])
+- Enable strict typing for counter ([@cdce8p] - [#106906])
+- Bump SQLAlchemy to 2.0.25 ([@bdraco] - [#106931])
+- Speed up getting the mean of statistics ([@bdraco] - [#106930])
+- Removed double assignment of _attr_target_temperature_step in __init__ ([@crug80] - [#106611])
+- Add support for placeholders in entity name translations ([@mib1185] - [#104453])
+- Bump rachiopy to 1.1.0 ([@rfverbruggen] - [#106975])
+- Fix ESPHome service removal when the device name contains a dash ([@bdraco] - [#107015])
+- Bump pyinsteon ([@teharris1] - [#107010])
+- Small cleanups to ESPHome light platform ([@bdraco] - [#107003])
+- Add missing coverage for esphome_state_property decorator ([@bdraco] - [#106998])
+- Fix first ESPHome device update entity not offering install feature ([@bdraco] - [#106993])
+- Use call_soon_threadsafe in token updater of Ring ([@jpbede] - [#106984])
+- Ring: Add partial back ([@balloob] - [#107040])
+- Issue warning if glances server version is 2 ([@engrbm87] - [#105887])
+- Re-architect Guardian to use better entity descriptions and properties ([@bachya] - [#107028])
+- Add button platform to Opengarage ([@jkrall] - [#103569])
+- Small cleanups to denonavr ([@bdraco] - [#107050])
+- Update pydrawise to 2024.1.0 ([@thomaskistler] - [#107032])
+- Add test coverage for ESPHome service calls ([@bdraco] - [#107042])
+- Remove dead code in fibaro light ([@rappenze] - [#106890])
+- Add sensor tests to Streamlabs water ([@joostlek] - [#107065])
+- Update home-assistant/builder to 2024.01.0 ([@frenck] - [#107069])
+- Refactor drop sensor tests ([@jbouwh] - [#106965])
+- Add entity descriptions to Streamlabs water ([@joostlek] - [#107071])
+- Refactor drop tests for binary_sensor ([@jbouwh] - [#107090])
+- Remove zwave_js numeric sensor rounding ([@MartinHjelmare] - [#107100])
+- Revert "Bump aiohttp-zlib-ng to 0.2.0 (#106691)" ([@bdraco] - [#107109])
+- Rework drop_connect switch, select and coordinator tests and cleanup fixtures ([@jbouwh] - [#107119])
+- Move group helpers into their own module ([@bdraco] - [#106924])
+- Reorganize drop_connect tests ([@jbouwh] - [#107148])
+- Migrate Emonitor to has entity name ([@joostlek] - [#107153])
+- Migrate AVM FRITZ!Box Call monitor to has entity name ([@jrieger] - [#99752])
+- Cache homekit_controller supported features ([@bdraco] - [#106702])
+- Use snapshots in Glances sensor tests ([@joostlek] - [#107159])
+- Pass down language to hassil ([@Luap99] - [#106490])
+- Remove precision in streamlabs water ([@joostlek] - [#107096])
+- Update Home Assistant base image to 2024.01.0 - Python 3.12 ([@frenck] - [#107175])
+- Pass aiohttp clientsession to tedee integration ([@zweckj] - [#107089])
+- Add conversation_id parameter to conversation.process service ([@Shulyaka] - [#106078])
+- Clean up outdated entity replacement logic in Guardian ([@bachya] - [#107160])
+- Introduce base entity in streamlabs water ([@joostlek] - [#107095])
+- Update sensorpush-ble library to 1.6.1 ([@ashleigh-hopkins] - [#107168])
+- Fix tplink overloading power strips ([@bdraco] - [#104208])
+- Report missing entities/areas instead of failing to match in Assist ([@synesthesiam] - [#107151])
+- Fix conversation snapshots ([@joostlek] - [#107196])
+- Bump bluetooth-adapters to 0.17.0 ([@bdraco] - [#107195])
+- Set zwave_js voltage sensor suggested precision ([@MartinHjelmare] - [#107116])
+- Change default python version to 3.12 for image builds ([@bdraco] - [#107209])
+- Attempt to fix 32bit docker builds ([@bdraco] - [#107210])
+- Remove work-a-round for mqtt sensors with an entity_category set to `config` ([@jbouwh] - [#107199])
+- Remove unneeded preset_mode checks for mqtt climate ([@jbouwh] - [#107190])
+- Remove naming warnings and work-a-rounds for incorrectly configured MQTT entities ([@jbouwh] - [#107188])
+- Add color temp support for older HomeKit devices ([@bdraco] - [#107206])
+- Finish Efergy entity translations ([@joostlek] - [#107152])
+- Use identity checks for unifiprotect enums ([@bdraco] - [#106795])
+- Add Tyua Product Category "dsd" for Filament Light ([@ThePapaG] - [#106709])
+- Bump velbus-aio to 2023.12.0 ([@Cereal2nd] - [#107066])
+- Add test coverage for ESPHome device info ([@bdraco] - [#107034])
+- Add Rainforest RAVEn integration ([@cottsay] - [#80061])
+- Add support for service response to RESTful command ([@RoboMagus] - [#97208])
+- Bump aiohttp-zlib-ng to 0.3.0 ([@bdraco] - [#107184])
+- Add python_script response ([@rikroe] - [#97937])
+- Add Hong Kong Observatory integration ([@MisterCommand] - [#98703])
+- Make exceptions in rest_command services translatable ([@jpbede] - [#107252])
+- Add new Rabbit Air integration ([@al-s] - [#66130])
+- Update Home Assistant Wheels action to 2024.01.0 ([@frenck] - [#107240])
+- Add Lutron config flow ([@wilburCforce] - [#98489])
+- Allow selecting of counter entities in derivative/integration config flow ([@SLaks] - [#105321])
+- Sort Lutron platforms ([@joostlek] - [#107257])
+- Remove duplicate assignment of `median` and `statistical_mode` jinja2 filter ([@jpbede] - [#106953])
+- Improve denonavr typing ([@cdce8p] - [#106907])
+- Enable strict typing for downloader ([@cdce8p] - [#107263])
+- Migrate Suez Water to has entity name ([@joostlek] - [#107251])
+- Enable strict typing for minecraft_server ([@cdce8p] - [#107262])
+- Enable strict typing for duotecno ([@cdce8p] - [#107261])
+- Improve conversation typing ([@cdce8p] - [#106905])
+- Cleanup and migrate rest_command tests to be async ([@jpbede] - [#107264])
+- Convert cert_expiry to use asyncio ([@bdraco] - [#106919])
+- Expose all areas to Assist and ignore empty aliases ([@synesthesiam] - [#107267])
+- Use call_soon_threadsafe in mqtt client unsubscribe callback ([@jpbede] - [#107266])
+- Add test coverage for ESPHome state subscription ([@bdraco] - [#107045])
+- Add code owner for Lutron ([@wilburCforce] - [#107280])
+- Extract LutronDevice into separate file ([@joostlek] - [#107285])
+- Fix typo in recorder strings.json ([@rsiv] - [#107278])
+- Move Lutron entry data to typed class ([@joostlek] - [#107256])
+- Fix duplicate unique_ids in emonitor ([@joostlek] - [#107320])
+- Fix lutron test AttributeError ([@cdce8p] - [#107323])
+- Fix lutron test AttributeError (2) ([@cdce8p] - [#107324])
+- Disable thermobeacon voltage sensors by default ([@bdraco] - [#107326])
+- Add API to fetch Assist devices ([@balloob] - [#107333])
+- Add time entity to Renson ([@jimmyd-be] - [#105031])
+- Use faster identity checks for SupportsResponse Enum ([@bdraco] - [#107351])
+- Small cleanup to zeroconf properties matcher ([@bdraco] - [#107342])
+- Avoid fetching logger in check_if_deprecated_constant if there is nothing to log ([@bdraco] - [#107341])
+- Enable strict typing for easyenergy ([@cdce8p] - [#107299])
+- Enable strict typing for energyzero ([@cdce8p] - [#107300])
+- Enable strict typing for p1_monitor ([@cdce8p] - [#107301])
+- Fix rainforest_raven typing ([@cdce8p] - [#107309])
+- Fix name of 64bit intel/amd arch in builder and wheels workflow ([@bdraco] - [#107335])
+- Only mock config_entries.HANDLERS for the current test in mock_config_flow ([@jbouwh] - [#107357])
+- Add new locks automatically to tedee integration ([@zweckj] - [#107372])
+- remove marcolivierarsenault from ecobee codeowners ([@marcolivierarsenault] - [#107377])
+- Improve homekit_controller typing ([@cdce8p] - [#107381])
+- Bump py-aosmith to 1.0.6 ([@bdr99] - [#107409])
+- Update Apprise to 1.7.1 ([@Flash1232] - [#107383])
+- Streamline exception handling in Guardian ([@bachya] - [#107053])
+- Clean up buggy Guardian `switch` context managers ([@bachya] - [#107426])
+- Remove leftover Guardian mixin ([@bachya] - [#107424])
+- Enable strict typing for oralb ([@cdce8p] - [#107438])
+- Enable strict typing for led_ble ([@cdce8p] - [#107437])
+- Enable strict typing for enphase_envoy ([@cdce8p] - [#107436])
+- Enable strict typing for waqi ([@cdce8p] - [#107439])
+- Enable strict typing for youtube ([@cdce8p] - [#107440])
+- Add select platform to Vogel's MotionMount integration ([@RJPoelstra] - [#107132])
+- Add missing wifi data in AVM!Fritz Tools tests ([@mib1185] - [#107373])
+- Improve flume typing ([@cdce8p] - [#107444])
+- Clean up zwave_js test_removed_device test ([@raman325] - [#107346])
+- Fix local_todo typo ([@miaucl] - [#107454])
+- Add typing to Lutron platforms ([@joostlek] - [#107408])
+- Small cleanups to ESPHome callbacks ([@bdraco] - [#107428])
+- Remove calls to distribution and legacy zip support from package util ([@bdraco] - [#107427])
+- Improve harmony typing ([@cdce8p] - [#107447])
+- Google Generative AI: Add a service for prompts consisting of text and images using Gemini Pro Vision ([@tronikos] - [#105789])
+- Mark Ring battery and signal strength sensors as diagnostic ([@joostlek] - [#107503])
+- Move KNX service registration to `async_setup` ([@farmio] - [#106635])
+- Refactor translations to reduce dict lookups ([@bdraco] - [#107425])
+- Refactor recorder for common event case ([@bdraco] - [#106753])
+- Improve logbook context augment performance ([@bdraco] - [#106926])
+- Refactor sensor recorder _get_sensor_states to check for state class first ([@bdraco] - [#107046])
+- Add support for JSON fragments ([@bdraco] - [#107213])
+- Reduce overhead to compile statistics ([@bdraco] - [#106927])
+- Signficantly reduce executor contention during bootstrap ([@bdraco] - [#107312])
+- Add support for bluetooth local name matchers shorter than 3 chars ([@bdraco] - [#107411])
+- Use constants in Alpha2 config flow ([@joostlek] - [#107518])
+- Clean up met config flow ([@joostlek] - [#107480])
+- Introduce heat area property in moehlenhoff alpha2 ([@joostlek] - [#107488])
+- Bump sensorpush-ble to 1.6.2 ([@bdraco] - [#107410])
+- Increase pip timeout in image builds to match core ([@bdraco] - [#107514])
+- Bump aiowithings to 2.1.0 ([@joostlek] - [#107417])
+- Reduce duplicate code in ESPHome connection callback ([@bdraco] - [#107338])
+- Add Met eireann to strict typing ([@joostlek] - [#107486])
+- Migrate Mullvad to has entity name ([@joostlek] - [#107520])
+- Migrate kmtronic to has entity name ([@joostlek] - [#107469])
+- Add coverage for scanning tags with ESPHome ([@bdraco] - [#107337])
+- Remove MQTT legacy vacuum support ([@jbouwh] - [#107274])
+- Reduce overhead to call entity services ([@bdraco] - [#106908])
+- Enable long term statistics for Flume water usage current sensor ([@tronikos] - [#107512])
+- Remove deprecated YAML for freebox ([@jpbede] - [#107497])
+- Handle unknown state in HomeKit ([@bdraco] - [#107039])
+- Improve dispatcher typing ([@cdce8p] - [#106872])
+- Enable strict typing for google_assistant_sdk ([@cdce8p] - [#107306])
+- Bump SunWEG to 2.1.0 ([@rokam] - [#107459])
+- Improve typing for Tado ([@erwindouna] - [#106992])
+- Enable strict typing for history_stats ([@cdce8p] - [#107273])
+- Enable strict typing for generic_hygrostat ([@cdce8p] - [#107272])
+- Fully type homeassistant integration ([@cdce8p] - [#107380])
+- Improve hassio typing ([@cdce8p] - [#107292])
+- Improve hunterdouglas_powerview typing ([@cdce8p] - [#107445])
+- Enable strict typing for intent ([@cdce8p] - [#107282])
+- Add zone devices to AnthemAV ([@joostlek] - [#107192])
+- Cleanup device registry for tedee when a lock is removed ([@zweckj] - [#106994])
+- Use parametrize in drop connect binary sensor tests ([@joostlek] - [#107111])
+- Enable strict typing for system_health ([@cdce8p] - [#107283])
+- Enable strict typing for nightscout ([@cdce8p] - [#107307])
+- Enable strict typing for tod ([@cdce8p] - [#107284])
+- Enable strict typing for dlna_dms ([@cdce8p] - [#107305])
+- Improve folder_watcher typing ([@cdce8p] - [#107271])
+- Remove tedee device safely from registry ([@zweckj] - [#107529])
+- Unlock the precision of sensors of the opentherm_gw integration ([@FlorianOosterhof] - [#107227])
+- Bump pytedee_async to 0.2.10 ([@zweckj] - [#107540])
+- Pop the mocked config flow, restore the original with mock_config_flow ([@jbouwh] - [#107567])
+- Specific Assist errors for domain/device class ([@synesthesiam] - [#107302])
+- Add software version to Blink device info ([@mkmer] - [#107548])
+- Improve led_ble generic typing ([@cdce8p] - [#107534])
+- Remove deprecated YAML support from OpenSky ([@jpbede] - [#107585])
+- Let babel handle the locale separator in holiday ([@jrieger] - [#107571])
+- Bump pymeteoclimatic to 0.1.0 ([@bdraco] - [#107583])
+- Fix tractive tests using a dict for the unique_id ([@bdraco] - [#107602])
+- Bump aiohttp-zlib-ng to 0.3.1 ([@bdraco] - [#107595])
+- Bump pywemo to 1.4.0 ([@esev] - [#107623])
+- Small cleanups to number entity ([@bdraco] - [#107624])
+- Fix cloudflare tests using a dict for the unique id ([@bdraco] - [#107601])
+- Avoid duplicate property lookups in camera state_attributes ([@bdraco] - [#107627])
+- Tado unavailable state to device tracker ([@erwindouna] - [#107542])
+- Small cleanups to temperature helper ([@bdraco] - [#107625])
+- Add caching to the distance calculation utility ([@bdraco] - [#107626])
+- Bump idasen-ha to 2.5 ([@abmantis] - [#107607])
+- Remove deprecated line in osoenergy ([@xeniter] - [#107553])
+- Correct state class in `mobile_app` tests ([@jpbede] - [#107646])
+- Remove deprecated YAML support from zodiac ([@jpbede] - [#107584])
+- Fix dlink test mutating config entry after its adding to hass ([@bdraco] - [#107604])
+- Airthings cloud: Add myself as codeowner ([@LaStrada] - [#107654])
+- Remove unused option flow from blink ([@mkmer] - [#106735])
+- Use right state class for kWh sensor in `homekit_controller` ([@jpbede] - [#107644])
+- Use right state class in `filter` test ([@jpbede] - [#107643])
+- Correct device class in `sql` tests ([@jpbede] - [#107663])
+- Bump Python-Roborock to 0.39.0 ([@Lash-L] - [#107547])
+- Remove deprecated services from Ezviz ([@jpbede] - [#107582])
+- Remove deprecated services from Huawei LTE ([@jpbede] - [#107578])
+- Add test for avoid triggering ping device tracker `home` after reload ([@jpbede] - [#107107])
+- Avoid total_seconds conversion in bond keep alive ([@bdraco] - [#107618])
+- Add missing 'state class' to Airvisual ([@yuvalabou] - [#107666])
+- Add 'bitwise_xor' filter to jinja templates ([@TNTLarsn] - [#104942])
+- Bump pytedee_async to 0.2.11 ([@zweckj] - [#107707])
+- Remove myself as a codeowner from tado ([@michaelarnauts] - [#107708])
+- Set proper sensor device class for swiss_public_transport ([@miaucl] - [#106485])
+- Bump govee-ble to 0.26.0 ([@bdraco] - [#107706])
+- Improve debug logs in Minecraft Server ([@elmurato] - [#107672])
+- Add decorator typing [toon] ([@cdce8p] - [#107597])
+- Add decorator typing [soma] ([@cdce8p] - [#107559])
+- Add decorator typing [modern_forms] ([@cdce8p] - [#107558])
+- Improvements for tedee integration ([@zweckj] - [#107238])
+- Use new AEMET library data for sensor platform ([@Noltari] - [#102972])
+- Reduce discovery flow matching overhead ([@bdraco] - [#107709])
+- Rename AEMET weather_update_coordinator ([@Noltari] - [#107740])
+- Update powerwall for tesla_powerwall 0.5.0 which is async ([@bubonicbob] - [#107164])
+- Make to-do list item exception wording consistent ([@allenporter] - [#107743])
+- Add comment to ConfigEntry.async_setup about race safety ([@bdraco] - [#107756])
+- Add `valve` platform to Guardian ([@bachya] - [#107423])
+- Bump bthome-ble to 3.4.1 ([@Ernst79] - [#107757])
+- Add leak sensor for UP Sense for UniFi Protect ([@AngellusMortis] - [#107762])
+- Bump sonos-websocket to 0.1.3 ([@jjlawren] - [#107765])
+- Bump aioambient to 2024.01.0 ([@thomaskistler] - [#107767])
+- Rework state change detection for UniFi Protect entities ([@AngellusMortis] - [#107766])
+- Add new event sensors from UniFi Protect 2.11 ([@AngellusMortis] - [#107773])
+- Fastdotcom service optimization ([@erwindouna] - [#107179])
+- Revert "Revert "Add preselect_remember_me to `/auth/providers`"" ([@edenhaus] - [#106867])
+- Add SpeakerHub support to YoLink ([@matrixd2] - [#104678])
+- Bump govee-ble to 0.27.2 ([@bdraco] - [#107778])
+- Improve ergonomics of FlowManager.async_show_progress ([@emontnemery] - [#107668])
+- Improve calls to async_show_progress in zwave_js ([@emontnemery] - [#107794])
+- Improve calls to async_show_progress in matter ([@emontnemery] - [#107791])
+- Improve calls to async_show_progress in google ([@emontnemery] - [#107788])
+- Make step_id parameter to FlowHandler.async_show_progress optional ([@emontnemery] - [#107802])
+- Fix call to async_setup_component in translation test ([@emontnemery] - [#107807])
+- Fix Netatmo camera name does not show under Media -> Media sources -> Camera ([@codyc1515] - [#107696])
+- Remove Life360 integration ([@pnbruckner] - [#107805])
+- Bump PySwitchbot to 0.44.0 ([@dcmeglio] - [#107833])
+- Improved tracking of switchbot opening/closing states ([@dcmeglio] - [#106741])
+- Move Guardian valve attributes to diagnostics sensors ([@bachya] - [#107834])
+- Add YoLink SpeakerHub Service ([@matrixd2] - [#107787])
+- Bump govee-ble to 0.27.3 ([@bdraco] - [#107839])
+- Bump actions/cache from 3.3.2 to 3.3.3 (@dependabot - [#107840])
+- Bump github/codeql-action from 3.22.12 to 3.23.0 (@dependabot - [#107628])
+- Bump nexia to 2.0.8 ([@bdraco] - [#107835])
+- Migrate unifiprotect descriptions to be kw_only ([@bdraco] - [#107832])
+- Restrict Version Disclosure to Authenticated Requests in Home Assistant ([@emtunc] - [#107458])
+- Add jinja_pass_arg to reserved template names ([@bdraco] - [#107822])
+- Use identity checks for CoreState ([@bdraco] - [#107846])
+- Add decorator typing [limitlessled] ([@cdce8p] - [#107557])
+- Revert "Fix Netatmo camera name does not show under Media -> Media sources -> Camera" ([@cgtobi] - [#107856])
+- Rename netatmo base entity file ([@joostlek] - [#107857])
+- Add decorator typing [izone] ([@cdce8p] - [#107556])
+- Add decorator typing [homematicip_cloud] ([@cdce8p] - [#107555])
+- Add decorator typing [zha] ([@cdce8p] - [#107599])
+- Add myUplink integration ([@pajzo] - [#86522])
+- Enable strict typing for cert_expiry ([@cdce8p] - [#107860])
+- Improve onboarding provider call ([@cdce8p] - [#107864])
+- Enable strict typing for bthome ([@cdce8p] - [#107859])
+- Improve meteo_france typing ([@cdce8p] - [#107863])
+- Enable strict typing for ecowitt ([@cdce8p] - [#107861])
+- Add decorator typing [spotify] ([@cdce8p] - [#107560])
+- Bump xiaomi-ble to 0.21.2 ([@Ernst79] - [#107779])
+- Enable strict typing for ios ([@cdce8p] - [#107382])
+- Update frontend to 20240112.0 ([@bramkragten] - [#107886])
+- Extend Nuki integration to expose ringer through Nuki Opener ([@steffenrapp] - [#107745])
+- Handle missing fields from Roomba ([@Xitee1] - [#107893])
+- Fix missing timeout exception check in powerwall config flow ([@bdraco] - [#107899])
+- Bump orjson to 3.9.10 ([@bdraco] - [#107898])
+- Revert "Restrict Version Disclosure to Authenticated Requests in Home Assistant" ([@bdraco] - [#107904])
+- Remove deprecated YAML support from litejet ([@jpbede] - [#107884])
+- Improve Netatmo tests ([@joostlek] - [#107902])
+- Enable strict typing for system_log ([@cdce8p] - [#107914])
+- Enable strict typing for rest_command ([@cdce8p] - [#107911])
+- Avoid duplicate search for existing config entries in homekit_controller ([@bdraco] - [#107613])
+- Add snapshot tests to Netatmo platforms ([@joostlek] - [#107932])
+- Snapshot Netatmo devices ([@joostlek] - [#107935])
+- Give name to Netatmo device snapshots ([@joostlek] - [#107938])
+- Warn if integrations call async_show_progress without passing a task ([@emontnemery] - [#107796])
+- Enable strict typing for xiaomi_ble ([@cdce8p] - [#107948])
+- Bump python-holidays to 0.40 ([@jrieger] - [#107888])
+- Add fan mode support to SmartThings fan entity ([@ThePapaG] - [#106794])
+- Add account sensors to electric kiwi integration ([@mikey0000] - [#97681])
+- Add charge cable lock to Tessie ([@Bre77] - [#107212])
+- Remove useless _update function in ESPHome ([@bdraco] - [#107927])
+- Bump zamg to 0.3.5 ([@killer0071234] - [#107939])
+- Add support for Uonet+ Vulcan integration on Python 3.12 ([@Antoni-Czaplicki] - [#107959])
+- Enable strict typing for webhook ([@cdce8p] - [#107946])
+- Fix atag test mutating config entry after its adding to hass ([@bdraco] - [#107603])
+- Add an index for devices and config entries to the entity registry ([@bdraco] - [#107516])
+- Refactor User attribute caching to be safer and more efficient ([@bdraco] - [#96723])
+- Small cleanups to ESPHome ([@bdraco] - [#107924])
+- Use more shorthand attributes in ESPHome fans ([@bdraco] - [#107923])
+- Refactor config entry storage and index ([@bdraco] - [#107590])
+- Enable strict typing for search ([@cdce8p] - [#107912])
+- Use faster is_admin check for websocket state and event subscriptions ([@bdraco] - [#107621])
+- Add TICMeter Energy Metering sensors ([@xmow49] - [#107956])
+- Use prometheus_client module directly ([@cdce8p] - [#107918])
+- Fix duplicate config entry additions in tests ([@bdraco] - [#107984])
+- Add H5106 support to govee-ble ([@bdraco] - [#107781])
+- Avoid entity registry check in live logbook on each state update ([@bdraco] - [#107622])
+- Avoid total_seconds conversion every state write when context is set ([@bdraco] - [#107617])
+- Bump lxml to 5.1.0 ([@bdraco] - [#106696])
+- Fix logger creating many thread locks when reloading the integrations page ([@bdraco] - [#93768])
+- Migrate powerwall unique ids to use the gateway din ([@bdraco] - [#107509])
+- Refactor event time trackers to avoid using nonlocal ([@bdraco] - [#107997])
+- Break long lines in powerwall integration ([@bdraco] - [#108002])
+- Avoid useless time fetch in DataUpdateCoordinator ([@bdraco] - [#107999])
+- Save the HassJob type in wemo discovery to avoid checking it each time ([@bdraco] - [#107998])
+- Update habluetooth to 2.2.0 ([@bdraco] - [#108000])
+- Add route sensors to Tessie ([@Bre77] - [#106530])
+- Remove YAML support from gdacs ([@jbouwh] - [#107962])
+- Remove deprecated YAML import from generic camera ([@jbouwh] - [#107992])
+- Improve apple_tv typing ([@bdraco] - [#107694])
+- Improve calls to async_show_progress in improv_ble ([@emontnemery] - [#107790])
+- Enable strict typing for shopping_list ([@cdce8p] - [#107913])
+- Enable strict typing for trace ([@cdce8p] - [#107945])
+- Enable strict typing for timer ([@cdce8p] - [#107915])
+- Remove deprecated vacuum service from roborock ([@jpbede] - [#107895])
+- Drop facebox integration ([@reedy] - [#107005])
+- Improve calls to async_show_progress in homeassistant_hardware ([@emontnemery] - [#107789])
+- Refactor async_track_utc_time_change to avoid using nonlocal ([@bdraco] - [#108007])
+- Update pipdeptree to 2.13.2 ([@frenck] - [#108009])
+- Fix wifi sensor units in Blink ([@mkmer] - [#107539])
+- Improve calls to async_show_progress in snooz ([@emontnemery] - [#107793])
+- Improve calls to async_show_progress in octoprint ([@emontnemery] - [#107792])
+- Remove file/line annotations after config has been validated ([@emontnemery] - [#107139])
+- Add entity translations to Glances ([@joostlek] - [#107189])
+- Dynamically adjust Netatmo polling frequency ([@cgtobi] - [#106742])
+- Bump plugwise to v0.36.2 ([@bouwew] - [#108012])
+- Fix autoChangeoverActive for lyric LCC devices ([@nprez83] - [#106925])
+- Fix lyric TCC set temperature when in Auto mode ([@nprez83] - [#106853])
+- Update sentry-sdk to 1.39.2 ([@frenck] - [#108010])
+- Add Netatmo fan platform ([@cgtobi] - [#107989])
+- Remove deprecated services from Litterrobot ([@jpbede] - [#107882])
+- Add cached_property to State.name ([@bdraco] - [#108011])
+- Reset UniFi bandwidth sensor when client misses heartbeat ([@wittypluck] - [#104522])
+- Sensibo include mac in diagnostics redact filter ([@gjohansson-ST] - [#107986])
+- Improve the test class used for testing FlowManager.async_show_progress ([@emontnemery] - [#107786])
+- Bump SoCo to 0.30.2 ([@jjlawren] - [#108033])
+- Update shelly bluetooth scanner to version 2.0 ([@bdraco] - [#107917])
+- Update framework for Airthings cloud ([@LaStrada] - [#107653])
+- Update asyncsleepiq to 1.4.2 ([@kbickar] - [#108054])
+- Remove YAML auth setup support from home_connect ([@jbouwh] - [#108072])
+- Enable strict typing for prometheus ([@cdce8p] - [#108025])
+- Enable strict typing for duckdns ([@cdce8p] - [#108022])
+- Bump pychromecast to 13.1.0 ([@emontnemery] - [#108073])
+- Remove obsolete .txt extension from diagnostics download ([@mib1185] - [#108028])
+- Enable strict typing for generic_thermostat ([@cdce8p] - [#108024])
+- Improve gdacs typing ([@cdce8p] - [#108040])
+- Deprecate passing step_id to FlowHandler methods ([@emontnemery] - [#107944])
+- Bump evohome client to 0.4.17 ([@zxdavb] - [#108051])
+- Set webhook `local_only` to True by default ([@jpbede] - [#107670])
+- Improve ffmpeg and freebox typing ([@cdce8p] - [#108026])
+- Harden zone schedule processing for evohome ([@zxdavb] - [#108079])
+- Fix comment for SmartThings fan capability ([@ThePapaG] - [#108086])
+- Enable strict typing for onboarding ([@cdce8p] - [#108097])
+- Add availability to command_line ([@gjohansson-ST] - [#105300])
+- Add tests for System Monitor ([@gjohansson-ST] - [#107891])
+- Fix test_sensor_process_fails test in System Monitor ([@gjohansson-ST] - [#108110])
+- Make ATTR_SERIAL_NUMBER a generic homeassistant constant ([@jbouwh] - [#108106])
+- Improve electric_kiwi generic typing ([@cdce8p] - [#108084])
+- Improve google_translate typing ([@cdce8p] - [#108093])
+- Improve typing for the generic integration ([@cdce8p] - [#108094])
+- Improve risco typing ([@cdce8p] - [#108041])
+- Add Epion integration ([@lhgravendeel] - [#107570])
+- Remove deprecated vacuum services from tuya ([@jpbede] - [#107896])
+- Hide FlowResultType.SHOW_PROGRESS_DONE from frontend ([@emontnemery] - [#107799])
+- Add pylint plugin to check for sorted platforms list ([@jpbede] - [#108115])
+- bump pyfritzhome to 0.6.10 ([@mib1185] - [#108128])
+- Bump holidays to 0.41 ([@gjohansson-ST] - [#108132])
+- Update python-bsblan version to 0.5.18 ([@liudger] - [#108145])
+- Enable compression on frontend index page ([@bdraco] - [#108148])
+- Remove YAML import support for plum_lightpad ([@jbouwh] - [#108114])
+- Remove config import in meteo_france ([@gjohansson-ST] - [#107970])
+- Remove MELCloud YAML import support ([@jbouwh] - [#108113])
+- Add config flow for Ecovacs ([@edenhaus] - [#108111])
+- Avoid keeping config dir in path ([@elupus] - [#107760])
+- Default tuya climate temperature unit to system unit ([@DellanX] - [#108050])
+- Bump opower to 0.2.0 ([@max2697] - [#108067])
+- Handle renaming of evohome zones ([@zxdavb] - [#108089])
+- Add serial_number attribute to MQTT device properties ([@jbouwh] - [#108105])
+- Avoid duplicate timestamp conversions for websocket api and recorder ([@bdraco] - [#108144])
+- Add gateway_mode Select to Plugwise ([@bouwew] - [#108019])
+- Add integration lamarzocco ([@zweckj] - [#102291])
+- Refactor demo vacuum's to only use StateVacuum base class and features ([@jbouwh] - [#108150])
+- Bump vallox_websocket_api to 4.0.3 ([@slovdahl] - [#108109])
+- Add debugging to assist in debugging already configured error ([@allenporter] - [#108134])
+- Add late PR improvements to La Marzocco ([@zweckj] - [#108162])
+- Add Govee local light integration ([@Galorhallen] - [#106697])
+- Remove config import from surepetcare ([@gjohansson-ST] - [#107971])
+- Add Translation for Roborock exceptions ([@Lash-L] - [#105427])
+- Cache commonly called Integration manifest properties ([@bdraco] - [#108141])
+- Delete removed channel devices in Youtube ([@joostlek] - [#107907])
+- Remove config import in Neato ([@gjohansson-ST] - [#107967])
+- Avoid bytes to string to bytes conversion in websocket api ([@bdraco] - [#108139])
+- Add entity name translations to System Monitor ([@gjohansson-ST] - [#107952])
+- Deprecate Python 3.11 ([@frenck] - [#108160])
+- Remove config import from netatmo ([@gjohansson-ST] - [#107972])
+- Wyoming satellite ping and bugfix for local wake word ([@synesthesiam] - [#108164])
+- Set minimal value for modules power - Forecast.solar ([@klaasnicolaas] - [#108166])
+- Upgrade python-mpd2 to v3.1.1 ([@2franix] - [#108143])
+- Bump dbus-fast to 2.21.1 ([@bdraco] - [#108176])
+- Bump `aiokafka` to 0.10.0 ([@bachya] - [#108165])
+- Add decorator typing [yeelight] ([@cdce8p] - [#107598])
+- Move Guardian coordinator to suggested location ([@bachya] - [#108182])
+- Dynamically map state class, device class and UoM in ZHA smart energy metering sensor ([@jpbede] - [#107685])
+- Remove unnecessary OpenUV entity description mixins ([@bachya] - [#108195])
+- Remove unnecessary SimpliSafe entity description mixins ([@bachya] - [#108197])
+- Remove unnecessary PurpleAir entity description mixins ([@bachya] - [#108196])
+- Remove unnecessary Notion entity description mixins ([@bachya] - [#108194])
+- Remove unnecessary AirVisual Pro entity description mixins ([@bachya] - [#108192])
+- Remove unnecessary Ambient PWS entity description mixins ([@bachya] - [#108191])
+- Remove unnecessary RainMachine entity description mixins ([@bachya] - [#108190])
+- Create update coordinator for Systemmonitor ([@gjohansson-ST] - [#106693])
+- Bump actions/cache from 3.3.3 to 4.0.0 (@dependabot - [#108209])
+- Fix translation keys in Tessie ([@Bre77] - [#108203])
+- Add sensor platform to La Marzocco integration ([@zweckj] - [#108157])
+- Implement TechnoVE integration ([@Moustachauve] - [#106029])
+- Change the way an entity is supported in La Marzocco ([@zweckj] - [#108216])
+- Add binary sensor platforms to La Marzocco ([@zweckj] - [#108212])
+- Allow selecting camera in Trafikverket Camera ([@gjohansson-ST] - [#105927])
+- Improve aurora typing ([@cdce8p] - [#108217])
+- Add select platform to La Marzocco integration ([@zweckj] - [#108222])
+- Add number platform to La Marzocco ([@zweckj] - [#108229])
+- Remove unused entity_sources argument from shared_attrs_bytes_from_event ([@bdraco] - [#108210])
+- Disable Python 3.12 incompatible integrations ([@frenck] - [#108163])
+- Add update platform to La Marzocco ([@zweckj] - [#108235])
+- Add button platform to La Marzocco ([@zweckj] - [#108236])
+- Assert default response from conversation trigger ([@emontnemery] - [#108231])
+- Remove deprecated redundant dry and fan modes from `zwave_js` climates ([@jbouwh] - [#108124])
+- Decrease fitbit logging verbosity on connection error ([@MartinHjelmare] - [#108228])
+- Fix state after La Marzocco update ([@zweckj] - [#108244])
+- Improve systemmonitor generic typing ([@cdce8p] - [#108220])
+- Switch for swiss_public_transport to unique_id instead of unique_entry ([@miaucl] - [#107910])
+- Let zigpy decide on default manufacturer id ([@elupus] - [#108257])
+- Remove legacy VacuumEntity base class support ([@jbouwh] - [#108189])
+- Allow multiple config entries in Honeywell ([@mkmer] - [#108263])
+- Remove unused variables in honeywell ([@mkmer] - [#108252])
+- Fix apple_tv IP Address not being updated from discovery ([@bdraco] - [#107611])
+- Fix benign typo in entity registry ([@bdraco] - [#108270])
+- Bump github/codeql-action from 3.23.0 to 3.23.1 (@dependabot - [#108275])
+- Small cleanups to the websocket api handler ([@bdraco] - [#108274])
+- Avoid many replace calls in find_next_time_expression_time ([@bdraco] - [#108273])
+- Add state caching to button entities ([@bdraco] - [#108272])
+- Enable strict typing for config ([@cdce8p] - [#108023])
+- Improve daikin typing ([@cdce8p] - [#108039])
+- Add diagnostics to La Marzocco ([@zweckj] - [#108240])
+- Bump lmcloud to 0.4.35 ([@zweckj] - [#108288])
+- Add tests to flexit_bacnet integration ([@lellky] - [#108291])
+- Add test for failed initialization in Flexit BACnet ([@joostlek] - [#108294])
+- Add coordinator to Flexit bacnet ([@lellky] - [#108295])
+- Don't always set first thread dataset as preferred ([@emontnemery] - [#108278])
+- Small speed up to checking core state ([@bdraco] - [#107845])
+- Add task to install all requirements of an integration ([@edenhaus] - [#108262])
+- Improve august typing (1) ([@cdce8p] - [#108325])
+- Improve august typing (2) ([@cdce8p] - [#108327])
+- Fix remote control codes for jvc_projector ([@SteveEasley] - [#108253])
+- Improve api typing ([@cdce8p] - [#108307])
+- Add iBeacon UUID allowlist ([@chatziko] - [#104790])
+- Improve august typing (3) ([@cdce8p] - [#108329])
+- Improve august typing (4) ([@cdce8p] - [#108331])
+- Improve august typing (5) ([@cdce8p] - [#108332])
+- Improve person typing ([@cdce8p] - [#108218])
+- Adjust require_admin decorator typing ([@cdce8p] - [#108306])
+- Improve ffmpeg* typing ([@cdce8p] - [#108092])
+- Bump plugwise to v0.36.3 ([@bouwew] - [#108347])
+- Bump pyDuotecno to 2024.1.2 ([@Cereal2nd] - [#108314])
+- Bump orjson to 3.9.12 ([@bdraco] - [#108350])
+- Fix homekit_controller test ([@emontnemery] - [#108375])
+- Avoid json default fallback for area registry ([@bdraco] - [#108358])
+- Enable strict typing for bluetooth_adapters ([@cdce8p] - [#108365])
+- Enable strict typing for api ([@cdce8p] - [#108363])
+- Enable strict typing for default_config ([@cdce8p] - [#108366])
+- Enable strict typing for my ([@cdce8p] - [#108369])
+- Enable strict typing for map ([@cdce8p] - [#108368])
+- Enable strict typing for intent_script ([@cdce8p] - [#108367])
+- Avoid json encoder default fallback for APIComponentsView ([@bdraco] - [#108359])
+- Improve ifttt typing ([@cdce8p] - [#108308])
+- Use shorthand attributes for mobile_app sensor platforms ([@bdraco] - [#108353])
+- Add icon to entity registry list for display ([@frenck] - [#108313])
+- Expose TimeoutError during google_travel_time config_flow ([@eifinger] - [#108179])
+- Update dwdwfsapi to 1.0.7 ([@cdce8p] - [#108377])
+- Add binary sensor to MotionMount integration ([@RJPoelstra] - [#107659])
+- Update types packages ([@cdce8p] - [#108371])
+- Add support for MQTT based ecovacs vacuums ([@edenhaus] - [#108167])
+- Add icon translations support ([@frenck] - [#103294])
+- Update coverage to 7.4.0 ([@cdce8p] - [#108370])
+- Improve tplink_lte typing ([@cdce8p] - [#108393])
+- Update boto3 to 1.33.13 and aiobotocore to 2.9.1 ([@cdce8p] - [#108384])
+- Add icon translations to Anova ([@joostlek] - [#108399])
+- Add icon translations to AirQ ([@joostlek] - [#108402])
+- Add icon translations to Aurora ([@joostlek] - [#108410])
+- Add icon translations to August ([@joostlek] - [#108396])
+- Add icon translations to Aussie Broadband ([@joostlek] - [#108409])
+- Add icon translations to awair ([@joostlek] - [#108408])
+- Add icon translations to Airnow ([@joostlek] - [#108403])
+- Add icon translations to AsusWRT ([@joostlek] - [#108397])
+- Add icon translations to Airthings BLE ([@joostlek] - [#108401])
+- Add icon translations to Ambient station ([@joostlek] - [#108400])
+- Add icon translations to Aseko ([@joostlek] - [#108398])
+- Use async_create_clientsession for enigma2 ([@autinerd] - [#108395])
+- Add alarm_control_panel icon translations ([@frenck] - [#108413])
+- Add button icon translations ([@frenck] - [#108415])
+- Add calendar icon translations ([@frenck] - [#108416])
+- Update psutil to 5.9.8 ([@frenck] - [#108421])
+- Add air_quality icon translations ([@frenck] - [#108420])
+- Bump thermopro-ble to 0.8.0 ([@bdraco] - [#108319])
+- Avoid json encoder default fallback when serializing config ([@bdraco] - [#108360])
+- Add light icon translations ([@frenck] - [#108414])
+- Mark flaky fritz update test as xfail ([@frenck] - [#108447])
+- Add climate icon translations ([@frenck] - [#108418])
+- Add date icon translations ([@frenck] - [#108448])
+- Add datetime icon translations ([@frenck] - [#108449])
+- Add sensor icon translations ([@frenck] - [#108450])
+- Add image icon translations ([@frenck] - [#108455])
+- Add number icon translations ([@frenck] - [#108452])
+- Add event icon translations ([@frenck] - [#108453])
+- Add scene icon translations ([@frenck] - [#108456])
+- Add icon translations to AVM FRITZ!Box Call Monitor ([@jrieger] - [#108417])
+- Add camera icon translations ([@frenck] - [#108419])
+- Add lock icon translations ([@frenck] - [#108467])
+- Ensure pre-commit runs hassfest when icons change ([@frenck] - [#108470])
+- Add text icon translations ([@frenck] - [#108457])
+- Add humidifier icon translations ([@frenck] - [#108465])
+- Add geo_location icon translations ([@frenck] - [#108463])
+- Add fan icon translations ([@frenck] - [#108461])
+- Use right state class for volume and timestamp sensor in bthome ([@jpbede] - [#107675])
+- Add siren icon translations ([@frenck] - [#108473])
+- Add icon translations to Tankerkoenig ([@jrieger] - [#108499])
+- Update knx-frontend to 2024.1.20.105944 ([@farmio] - [#108511])
+- Upgrade nibe to 2.7.0 ([@elupus] - [#108507])
+- Add icon translations to HomeWizard Energy ([@frenck] - [#108506])
+- Add icon translations to Plugwise ([@frenck] - [#108498])
+- Add water heater icon translations ([@frenck] - [#108491])
+- Add weather icon translations ([@frenck] - [#108488])
+- Add media player icon translations ([@frenck] - [#108486])
+- Add wake word icon translations ([@frenck] - [#108482])
+- Add update icon translations ([@frenck] - [#108481])
+- Add valve icon translations ([@frenck] - [#108480])
+- Add vacuum icon translations ([@frenck] - [#108479])
+- Bump bthome-ble to 3.5.0 ([@Ernst79] - [#108475])
+- Add tts icon translations ([@frenck] - [#108476])
+- Add todo icon translations ([@frenck] - [#108477])
+- Add select icon translations ([@frenck] - [#108472])
+- Add stt icon translations ([@frenck] - [#108474])
+- Add remote icon translations ([@frenck] - [#108469])
+- Add lawn mower icon translations ([@frenck] - [#108466])
+- Add cover icon translations ([@frenck] - [#108460])
+- Fix hassfest icon schema for service only ([@frenck] - [#108494])
+- Remove unused TypeVar from config.py ([@emontnemery] - [#108495])
+- Add time icon translations ([@frenck] - [#108458])
+- Change calendar icon based on state ([@jrieger] - [#108451])
+- Add sun icon translations ([@jrieger] - [#108462])
+- Add nut icon translations ([@jrieger] - [#108471])
+- Remove OrderedDict from auth_store ([@bdraco] - [#108546])
+- Add icon translations for Pegelonline ([@mib1185] - [#108554])
+- Always load auth storage at startup ([@bdraco] - [#108543])
+- Ensure icon translations aren't the same as the default ([@frenck] - [#108568])
+- Ensure button platform does not restore unavailable state ([@bdraco] - [#108316])
+- Add sensors to the flexit_bacnet integration ([@lellky] - [#108297])
+- Add binary sensors to flexit_bacnet integration ([@lellky] - [#108571])
+- Add icon translations for lamarzocco ([@zweckj] - [#108569])
+- Add icon translation to Jellyfin ([@jrieger] - [#108559])
+- Add icon translations to Roborock ([@jrieger] - [#108508])
+- Add icon translations to DWD Weather Warnings ([@jrieger] - [#108501])
+- Make remaining WLED entities translatable ([@jpbede] - [#108534])
+- Add unique id to geonetnz_volcano sensors ([@exxamalte] - [#108556])
+- Icon translation for imap mail count sensor ([@jbouwh] - [#108576])
+- Add authentication to tplink integration for newer devices ([@sdb9696] - [#105143])
+- Fix numbered list in github config flow ([@emontnemery] - [#108587])
+- Add bthome event platform ([@bdraco] - [#108268])
+- Add missing property in flexit bacnet test ([@lellky] - [#108606])
+- Add icon translations to co2signal ([@jpbede] - [#108611])
+- Use more shorthand attributes in tplink ([@bdraco] - [#108284])
+- Add icon translations to Withings ([@joostlek] - [#108385])
+- Tweak evohome code quality ([@zxdavb] - [#107596])
+- Fix FlowHandler show progress ([@emontnemery] - [#108586])
+- Send recurrence data when updating a task in todoist ([@boralyl] - [#108269])
+- Update August diagnostics.py to redact contentToken ([@codyc1515] - [#108626])
+- Significantly reduce websocket api connection auth phase latency ([@bdraco] - [#108564])
+- Speed up run time of admin services by using HassJob ([@bdraco] - [#108623])
+- Avoid recreating persistent notification update function when subscribing ([@bdraco] - [#108624])
+- Small performance improvements to handing revoke token callbacks ([@bdraco] - [#108625])
+- Refactor async_listen_once to remove nonlocal ([@bdraco] - [#108627])
+- Avoid string decode/encode round trip in websocket_api get_services ([@bdraco] - [#108632])
+- Small cleanups to async_get_all_descriptions ([@bdraco] - [#108633])
+- Bump habluetooth to 2.3.1 ([@bdraco] - [#108628])
+- Small cleanup to zone async_active_zone ([@bdraco] - [#108629])
+- Fix unifi test_tracked_clients test ([@bdraco] - [#108638])
+- Remove numbering from GitHub progress step to not deal with styling of list entries ([@ludeeus] - [#108639])
+- Remove obsolete services.yaml and translations from WLED ([@jpbede] - [#108605])
+- Add icon translations to WLED ([@jpbede] - [#108604])
+- Add icon translations to Abode ([@joostlek] - [#108407])
+- Bump songpal dependency to 0.16.1 ([@rytilahti] - [#108637])
+- Use default icon in Agent DVR ([@joostlek] - [#108405])
+- Add icon translations to Adguard ([@joostlek] - [#108406])
+- Reduce lock contention when all translations are already cached ([@bdraco] - [#108634])
+- Update python-slugify to 8.0.1 ([@cdce8p] - [#108373])
+- Add binary_sensor to Ecovacs ([@edenhaus] - [#108544])
+- Update Pillow to 10.2.0 ([@frenck] - [#108422])
+- Convert AreaEntry to dataclass ([@emontnemery] - [#108648])
+- Bump asyncsleepiq to 1.5.2 ([@jmwaldrip] - [#108431])
+- Add device to Lutron ([@joostlek] - [#107467])
+- Add cloud tts entity ([@MartinHjelmare] - [#108293])
+- Add helper function to update and reload config entry to config flow ([@jpbede] - [#108034])
+- Cleanup Discovergy config flow ([@jpbede] - [#108381])
+- Update iOS configuration adding Action toggles to show in CarPlay and Watch ([@bgoncal] - [#108355])
+- Move core fundamental components into bootstrap ([@frenck] - [#105560])
+- Prevent runtime issue during entity registration in coordinator of AVM Fritz!Tools ([@mib1185] - [#108667])
+- Use snapshot testing in Airly sensor ([@joostlek] - [#108608])
+- Add icon translations to Airly ([@joostlek] - [#108404])
+- Add time to charge sensor to Tessie ([@Bre77] - [#108342])
+- Fix flaky sensibo test ([@jpbede] - [#108669])
+- Use new config entry update/abort helper in esphome ([@bdraco] - [#108672])
+- Use new config entry update/abort helper in august ([@bdraco] - [#108673])
+- Use new config entry update/abort helper in powerwall ([@bdraco] - [#108674])
+- Use new config entry update/abort helper in bthome ([@bdraco] - [#108676])
+- Use new config entry update/abort helper in xiaomi_ble ([@bdraco] - [#108677])
+- Use new config entry update/abort helper in yalexs_ble ([@bdraco] - [#108675])
+- Use new config entry update/abort helper in isy994 ([@bdraco] - [#108678])
+- Use new config entry update/abort helper in synology_dsm ([@bdraco] - [#108682])
+- Use new config entry update/abort helper in enphase_envoy ([@bdraco] - [#108679])
+- Use new config entry update/abort helper in shelly ([@bdraco] - [#108684])
+- Use new config entry update/abort helper in samsungtv ([@bdraco] - [#108683])
+- Use new config entry update/abort helper in onvif ([@bdraco] - [#108680])
+- Extend config entry update/abort helper to also update unique id ([@jpbede] - [#108681])
+- Use new config entry update/abort helper in enphase-envoy (part 2) ([@bdraco] - [#108689])
+- Use new config entry update/abort helper in apple_tv ([@bdraco] - [#108688])
+- Use new config entry update/abort helper in sense ([@bdraco] - [#108691])
+- Handle tplink credential change at run time ([@bdraco] - [#108692])
+- Refactor service enumeration methods to better match existing use cases ([@bdraco] - [#108671])
+- Use new config entry update/abort helper in bond ([@bdraco] - [#108690])
+- Add zeroconf to TechnoVE integration ([@Moustachauve] - [#108340])
+- Add OUI 5C628B to tplink ([@bdraco] - [#108699])
+- Bump habluetooth to 2.4.0 ([@bdraco] - [#108695])
+- Convert getting and removing access tokens to normal functions ([@bdraco] - [#108670])
+- Store area registry entries in a UserDict ([@emontnemery] - [#108656])
+- Group sensor calculate attributes ([@gjohansson-ST] - [#106972])
+- Fix for justnimbus integration ([@kvanzuijlen] - [#99212])
+- Scrub internal data for newer tplink devices ([@rytilahti] - [#108704])
+- Add Homeassistant Analytics Insights integration ([@joostlek] - [#107634])
+- Add sensor platform to Proximity ([@mib1185] - [#101497])
+- Add config flow for Time & Date ([@gjohansson-ST] - [#104183])
+- Use new config entry update/abort handler in co2signal ([@jpbede] - [#108715])
+- Bump python-homeassistant-analytics to 0.6.0 ([@joostlek] - [#108713])
+- Add ZHA entities for snzb06p ([@peterkh] - [#107379])
+- Add airtouch5 ([@danzel] - [#98136])
+- Add set_conversation_response script action ([@emontnemery] - [#108233])
+- Return PRESET_NONE in Honeywell ([@mkmer] - [#108599])
+- Remove home_plus_control and mark as virtual integration supported by Netatmo ([@jpbede] - [#107587])
+- Bump AIOSomecomort to 0.0.25 ([@mkmer] - [#107815])
+- Use new config entry update/abort handler in Honeywell ([@mkmer] - [#108726])
+- Improve tests of script trace ([@emontnemery] - [#108717])
+- Bump pymodbus to v2.6.3 ([@janiversen] - [#108736])
+- Add sensors to Ecovacs ([@edenhaus] - [#108686])
+- Improve vizio typing ([@cdce8p] - [#108042])
+- Get modbus coverage back to 100% ([@janiversen] - [#108734])
+- Randomize thread network names ([@emontnemery] - [#108302])
+- Fix intent loading and incorporate unmatched entities more ([@synesthesiam] - [#108423])
+- Pause Wyoming satellite on mute ([@synesthesiam] - [#108322])
+- Add 3C52A1 oui to tplink for tapo l5 devices ([@bdraco] - [#108750])
+- Add translation placeholders for TPLink power strip ([@joostlek] - [#108710])
+- Bumb python-homewizard-energy to 4.2.1 ([@DCSBL] - [#108738])
+- Use fixed state icon for climate domain ([@piitaya] - [#108723])
+- Add fan attributes icon translations ([@piitaya] - [#108722])
+- Add humidifier attributes icon translations ([@piitaya] - [#108718])
+- Add LeaOne integration ([@bdraco] - [#108617])
+- Bump lupupy to 0.3.2 ([@suaveolent] - [#108756])
+- Add more device info to foscam camera ([@krmarien] - [#108177])
+- Handle IP address changes properly for tplink ([@sdb9696] - [#108731])
+- Add bang_olufsen integration ([@mj23000] - [#93462])
+- Parse template result in async_render_with_possible_json_value ([@danieldotnl] - [#99670])
+- Bump py-switchbot-api to 2.0.0 ([@jklausa] - [#108721])
+- Bump comments in light indicating backwards compatibility plan ([@emontnemery] - [#108770])
+- Add ZHA metering summation received sensor ([@jeverley] - [#107576])
+- Fix race when deleting an automation ([@emontnemery] - [#108772])
+- Fix light color mode in fritzbox ([@emontnemery] - [#108758])
+- Fix light color mode in tplink ([@emontnemery] - [#108760])
+- Fix light color mode in advantage_air ([@emontnemery] - [#108757])
+- Fix light color mode in netatmo ([@emontnemery] - [#108759])
+- Improve tests of script trace ([@emontnemery] - [#108733])
+- Adjust color_mode checks when lights render effects ([@emontnemery] - [#108737])
+- Add invert option to switch_as_x ([@emontnemery] - [#107535])
+- Fix light color mode in tradfri ([@emontnemery] - [#108761])
+- Add Ecovacs select entities ([@edenhaus] - [#108766])
+- Stabilize alexa discovery ([@jbouwh] - [#108787])
+- Add Shelly CoAP port to default container port ([@chemelli74] - [#108016])
+- Add icon to areas ([@emontnemery] - [#108650])
+- Bump python-roborock to 39.1 ([@Lash-L] - [#108751])
+- Fix changed_variables in automation and script traces ([@emontnemery] - [#108788])
+- Complete device tracker entity tests ([@MartinHjelmare] - [#108768])
+- Avoid copying translations for single components ([@bdraco] - [#108645])
+- Bump area registry storage minor version to 4 ([@jpbede] - [#108798])
+- Set right icon for set_humidity climate service ([@piitaya] - [#108801])
+- Add write_registers support for Fan Mode in modbus ([@crug80] - [#108053])
+- Bump aioshelly to 8.0.1 ([@bdraco] - [#108805])
+- Add super chlorination services to screenlogic ([@dieselrabbit] - [#108048])
+- Add Ecovacs diagnostics ([@edenhaus] - [#108791])
+- Add expiration of unused refresh tokens ([@mib1185] - [#108428])
+- Bump thermopro-ble to 0.9.0 ([@h3ss] - [#108820])
+- Fix ESPHome not fully removing entities when entity info changes ([@bdraco] - [#108823])
+- Convert http auth internals to normal functions ([@bdraco] - [#108815])
+- Add basic tests for powerview scenes ([@bdraco] - [#108818])
+- Fix lights reporting unsupported colormodes in deCONZ ([@Kane610] - [#108812])
+- Update pytedee_async to 0.2.12 ([@zweckj] - [#108800])
+- Fix matter color modes ([@MartinHjelmare] - [#108804])
+- Fix light color mode in zwave_js ([@emontnemery] - [#108783])
+- Do not try to cleanup invalid config entries without an AccessoryPairingID ([@bdraco] - [#108830])
+- Bump dorny/paths-filter from 2.11.1 to 2.12.0 (@dependabot - [#108826])
+- Bump python-kasa to 0.6.1 ([@rytilahti] - [#108831])
+- Add 'last_reset' for 'total' state_class template sensor ([@RoboMagus] - [#100806])
+- Add support for externally connected utility devices in HomeWizard ([@DCSBL] - [#100684])
+- Update Lutron in callback ([@joostlek] - [#108779])
+- Add Teslemetry Integration ([@Bre77] - [#108147])
+- Add Huum integration ([@frwickst] - [#106420])
+- Use feed name as entity name in GeoJSON ([@codyc1515] - [#108753])
+- Use entity translations placeholders in HomeWizard ([@DCSBL] - [#108741])
+- Make device tracker latitude and longitude optional ([@MartinHjelmare] - [#108838])
+- Use Zigpy definition objects in ZHA cluster handlers ([@dmulcahey] - [#108383])
+- Bump blinkpy to 0.22.6 ([@mkmer] - [#108727])
+- Bump pyhuum to 0.7.10 ([@frwickst] - [#108853])
+- Address late review on auth ([@mib1185] - [#108852])
+- Add ConfigFlow for Lupusec ([@suaveolent] - [#108740])
+- Add utility meter option for the sensor to always be available ([@dougiteixeira] - [#103481])
+- Filter only utility_meter select entities in reset service ([@dgomes] - [#108855])
+- Add switch to flexit bacnet integration ([@lellky] - [#108866])
+- Fix ESPHome color modes for older firmwares ([@bdraco] - [#108870])
+- Bump aiocomelit to 0.8.2 ([@chemelli74] - [#108862])
+- Add binary sensor platform to JVC Projector ([@msavazzi] - [#108668])
+- Apply consistent naming to ZHA cluster handler implementations ([@dmulcahey] - [#108851])
+- Small cleanup to entity platform translation fetching ([@bdraco] - [#108890])
+- Speed up security filter middleware ([@bdraco] - [#108703])
+- Small speed up to listing config entries in the websocket api ([@bdraco] - [#108892])
+- Remove "max_current" from TechnoVE sensors ([@Moustachauve] - [#108898])
+- Add entity registry test to Withings ([@joostlek] - [#108900])
+- Add webhook support to tedee integration ([@zweckj] - [#106846])
+- Use unknown color_mode for MQTT json lights if color mode is not set ([@jbouwh] - [#108909])
+- Fix light color mode in advantage_air ([@emontnemery] - [#108875])
+- Deprecate legacy Proximity entity ([@mib1185] - [#108730])
+- Add Ecovacs image entities ([@edenhaus] - [#108924])
+- Switch imap to use async_update_reload_and_abort helper ([@bdraco] - [#108935])
+- Switch unifiprotect to use async_update_reload_and_abort helper ([@bdraco] - [#108934])
+- Convert referenced registry functions to use cached_property ([@bdraco] - [#108895])
+- Improved Assist debug ([@synesthesiam] - [#108889])
+- Refactor logbook helpers to reduce splits and lookups ([@bdraco] - [#108933])
+- Add more Thread vendor to brand mappings ([@agners] - [#108899])
+- Matter sensors for air quality measurements ([@matt7aylor] - [#108173])
+- Add comment to explain not using the core API in MQTT client ([@jbouwh] - [#108942])
+- Reorganize ZHA device availability code ([@dmulcahey] - [#108856])
+- Add snapshot testing to Tessie ([@Bre77] - [#108346])
+- Replace modbus number_validator by HA standard ([@janiversen] - [#108939])
+- Add model check to ZHA Sonoff manufacturer specific cluster handler ([@dmulcahey] - [#108947])
+- Use version property in Blink ([@mkmer] - [#108911])
+- Bump pyenphase to 1.19.0 ([@catsmanac] - [#108951])
+- Bump cryptography to 42.0.1 and pyOpenSSL to 24.0.0 ([@bdraco] - [#108956])
+- Add options flow to Analytics Insights ([@joostlek] - [#108716])
+- Separate ecobee start and end date/times for create_vacation service ([@myztillx] - [#107255])
+- Bump pytrafikverket to 0.3.10 ([@gjohansson-ST] - [#108984])
+- Fix error when passing a whole number to location selector ([@karwosts] - [#108952])
+- Add enum sensor to Vogel's MotionMount integration ([@RJPoelstra] - [#108643])
+- Add device info to lupusec ([@suaveolent] - [#108910])
+- Add clima support to Comelit integration ([@chemelli74] - [#108858])
+- Bump tesla-fleet-api to 0.2.3 ([@Bre77] - [#108992])
+- Added type information to lupusec ([@suaveolent] - [#109004])
+- Improve display of errors with no message in script trace ([@emontnemery] - [#108735])
+- Fix statuses for ZHA attribute reporting configuration event ([@dmulcahey] - [#108532])
+- Add new virtual integration for opower City of Austin Utilities provider ([@max2697] - [#108337])
+- Update pylutron-caseta to 0.19.0 ([@eclair4151] - [#108987])
+- Remove extra confirmation step in tplink authenticated discovery flow ([@bdraco] - [#109016])
+- Bump dorny/paths-filter from 2.12.0 to 3.0.0 (@dependabot - [#108894])
+- Add translation placeholder to Hue ([@joostlek] - [#108848])
+- Add tests to Teslemetry ([@Bre77] - [#108884])
+- Remove follow symlinks support from CachingStaticResource ([@bdraco] - [#109015])
+- Separate fixture in Sensibo ([@gjohansson-ST] - [#109000])
+- Add phase entities to Enphase Envoy ([@catsmanac] - [#108725])
+- Bump pytest-asyncio to 0.23.4 ([@joostlek] - [#109027])
+- Bump python-homewizard-energy to v4.2.2 ([@joostlek] - [#109038])
+- Add pylint plugin to check if coordinator is placed in its own module ([@jpbede] - [#108174])
+- Update attributes in Entity.__init__ in matter ([@emontnemery] - [#108877])
+- Move asyncio lock in Teslemetry ([@Bre77] - [#109044])
+- Add binary sensors to TechnoVE integration ([@Moustachauve] - [#108938])
+- Bump github/codeql-action from 3.23.1 to 3.23.2 (@dependabot - [#109039])
+- Fix Permobil eula error ([@IsakNyberg] - [#107290])
+- Simplify HomeWizard sensor names ([@DCSBL] - [#108854])
+- Remove deprecated event_loop fixtures in tests ([@cdce8p] - [#109048])
+- Avoid re-encoding the hassio command URL each request ([@bdraco] - [#109031])
+- Set hassio api json encoding to avoid looking it up every request ([@bdraco] - [#109032])
+- Add new sensors exposed by HomeWizard kWh meter ([@DCSBL] - [#108850])
+- Add bring integration ([@miaucl] - [#108027])
+- Bump aio-geojson-nsw-rfs-incidents to 0.7 ([@exxamalte] - [#108885])
+- Code quality for Shelly tests ([@chemelli74] - [#109054])
+- Allow delete_all_refresh_tokens to delete a specific token_type ([@karwosts] - [#106119])
+- Fix zwave_js set_config_parameter WS api regression ([@kpine] - [#109042])
+- Add default parameter to as_datetime template function/filter ([@TheFes] - [#107229])
+- Use constants instead of literals for api ([@jpbede] - [#105955])
+- Use unique artifact names for db jobs [ci] ([@cdce8p] - [#108653])
+- Allow system and helper integrations to provide entity_component icons ([@piitaya] - [#109045])
+- Add discovery support for the 2023 pro check model to mopkea ([@bdraco] - [#109033])
+- Prepare Analytics insights for more sensors ([@joostlek] - [#108976])
+- Raise ValueError when `last_reset` set and not `total` state class ([@jpbede] - [#108391])
+- Reject unifi uptime sensor updates if time delta is small ([@BHSPitMonkey] - [#108464])
+- Don't check SSL certificate retrieving webos image ([@emichael] - [#104014])
+- Add lutron fan entity ([@wilburCforce] - [#107402])
+- Bump python-kasa to 0.6.2 ([@rytilahti] - [#109064])
+- Try to reconnect to UniFi on 403 ([@Kane610] - [#109067])
+- Fix light color mode in govee_light_local ([@emontnemery] - [#108762])
+- Bump deebot-client to 5.0.0 ([@edenhaus] - [#109066])
+- Use right initial attribute value for demo climate ([@piitaya] - [#108719])
+- Add doors and charge cable binary sensors to Tessie ([@Bre77] - [#107172])
+- Bump tesla-powerwall to 0.5.1 ([@bdraco] - [#109069])
+- Extract foscam base entity for reuse ([@krmarien] - [#108893])
+- Update apprise to 1.7.2 ([@frenck] - [#109071])
+- Update colorlog to 6.8.2 ([@frenck] - [#109072])
+- Bump python-matter-server to version 5.3.0 ([@marcelveldt] - [#109068])
+- Fix duplicate Windy values showing in automations state selector ([@codyc1515] - [#108062])
+- Code quality for Comelit tests ([@chemelli74] - [#109077])
+- Don't remove zwave_js devices automatically ([@raman325] - [#98145])
+- Update calendar tests to use mock entities instead of demo platform ([@allenporter] - [#105317])
+- Bump/flush mypy cache ([@frenck] - [#109101])
+- Bump simplisafe-python to 2024.01.0 ([@peebles] - [#109091])
+- Code quality for Shelly integration ([@chemelli74] - [#109061])
+- Add support for ignoring zwave_js device config file changes ([@raman325] - [#108990])
+- Add configure option to Vodafone Station for consider home ([@chemelli74] - [#108594])
+- Fix tessie tests ([@Bre77] - [#109113])
+- Add person icon translations ([@piitaya] - [#109106])
+- Update attrs to 23.2.0 ([@cdce8p] - [#109115])
+- Improve invalid error messages in the config flows ([@edenhaus] - [#108075])
+- Add device tracker icon translations ([@piitaya] - [#109109])
+- Remove erroneous reference to Google from Calendar integration ([@codyc1515] - [#109089])
+- Intents package combines sentences/responses per language ([@synesthesiam] - [#109079])
+- Bump pytechnove to 1.2.1 ([@Moustachauve] - [#109098])
+- Clean up Fritz options flow ([@chemelli74] - [#109111])
+- Bump python-matter-server to 5.3.1 ([@marcelveldt] - [#109118])
+- Add script icon translations ([@piitaya] - [#109107])
+- Add input boolean icon translations ([@piitaya] - [#109108])
+- Add missing status's to Nut ([@cbrherms] - [#109085])
+- Update coverage to 7.4.1 ([@cdce8p] - [#109116])
+- Clean up ZHA cover entity and add support for inverting cover entities derived from the window covering cluster ([@dmulcahey] - [#108238])
+- Fix readme images ([@xMohamd] - [#108767])
+- Flow rate unit conversions and device class ([@elupus] - [#106077])
+- Add TURN_OFF and TURN_ON to ClimateEntityFeature ([@gjohansson-ST] - [#101673])
+- Add TURN_ON/OFF ClimateEntityFeature for Shelly ([@gjohansson-ST] - [#108967])
+- Update climate snapshots to fix CI ([@edenhaus] - [#109141])
+- Add support for custom integrations in Analytics Insights ([@joostlek] - [#109110])
+- Add TURN_ON/OFF ClimateEntityFeature for smartthings ([@gjohansson-ST] - [#108979])
+- Add TURN_ON/OFF ClimateEntityFeature for ZHA ([@gjohansson-ST] - [#108978])
+- Add TURN_ON/OFF ClimateEntityFeature for Balboa ([@gjohansson-ST] - [#109139])
+- Add TURN_ON/OFF ClimateEntityFeature for Vicare ([@gjohansson-ST] - [#109135])
+- Add TURN_ON/OFF ClimateEntityFeature for TOLO Sauna ([@gjohansson-ST] - [#108965])
+- Add TURN_ON/OFF ClimateEntityFeature for Overkiz ([@gjohansson-ST] - [#109132])
+- Add TURN_ON/OFF ClimateEntityFeature for Sensibo ([@gjohansson-ST] - [#108962])
+- Add TURN_ON/OFF ClimateEntityFeature for IntesisHome ([@gjohansson-ST] - [#109134])
+- Add TURN_ON/OFF ClimateEntityFeature for Fritzbox ([@gjohansson-ST] - [#108964])
+- Add TURN_ON/OFF ClimateEntityFeature for Adax ([@gjohansson-ST] - [#108966])
+- Add TURN_ON/OFF ClimateEntityFeature for Vera ([@gjohansson-ST] - [#108969])
+- Add TURN_ON/OFF ClimateEntityFeature for Nexia ([@gjohansson-ST] - [#108970])
+- Add TURN_ON/OFF ClimateEntityFeature for Advantage Air ([@gjohansson-ST] - [#108971])
+- Add TURN_ON/OFF ClimateEntityFeature for CoolMasterNet ([@gjohansson-ST] - [#108972])
+- Add TURN_ON/OFF ClimateEntityFeature for Netatmo ([@gjohansson-ST] - [#108973])
+- Add TURN_ON/OFF ClimateEntityFeature for Mill ([@gjohansson-ST] - [#108977])
+- Update Ecovacs binary sensor keys ([@edenhaus] - [#109145])
+- Add check for valid initial_suggested_unit ([@edenhaus] - [#108902])
+- Set TURN_ON and TURN_OFF feature on MQTT climate entities ([@jbouwh] - [#109146])
+- Update reload icons for automation and person service ([@piitaya] - [#109147])
+- Add event entity to Xiaomi-BLE integration ([@Ernst79] - [#108811])
+- Add TURN_ON/OFF ClimateEntityFeature for HomeKit Device ([@gjohansson-ST] - [#109137])
+- Simplify MQTT device triggers in automations ([@jbouwh] - [#108309])
+- Speed up listing issues via the repairs websocket api ([@bdraco] - [#109149])
+- Add missing ZHA metering device types ([@jeverley] - [#109126])
+- Filter ZHA light group color modes ([@puddly] - [#108861])
+- Remove Shelly RSSI sensor if Wi-FI is not configured ([@chemelli74] - [#108390])
+- Create an issue when database backups fail because the system runs out of resources ([@bdraco] - [#109020])
+- Fix precipitation typo in icons ([@karwosts] - [#109156])
+- Fix ZHA cover inversion handling missing attributes ([@puddly] - [#109151])
+- Handle deprecated cloud tts voice ([@MartinHjelmare] - [#109124])
+- Add a repair issue for Shelly devices with unsupported firmware ([@chemelli74] - [#109076])
+- Bump zha-quirks to 0.0.110 ([@TheJulianJES] - [#109161])
+- Add Nextcloud update entity ([@escoand] - [#106690])
+- Add DurationConverter ([@edenhaus] - [#108865])
+- Fix ZHA handling of power factor ElectricalMeasurement attribute sensor ([@jeverley] - [#107641])
+- Bump regenmaschine to 2024.01.0 ([@bdraco] - [#109157])
+- Convert gather calls into TaskGroups ([@bubonicbob] - [#109010])
+- Fix "deprecated" typo in ZHA smartenergy comment ([@TheJulianJES] - [#109173])
+- Fix Ecovacs duration sensors ([@edenhaus] - [#108868])
+- Store preferred border agent extended address for each thread dataset ([@emontnemery] - [#109065])
+- Bump python-matter-server to 5.4.0 ([@marcelveldt] - [#109178])
+- Fix schema validation for product_id in picnic integration ([@codesalatdev] - [#109083])
+- Bumb python-homewizard-energy to 4.3.0 ([@DCSBL] - [#109131])
+- Add alexa PowerController on enabled features for climate entities ([@jbouwh] - [#109174])
+- Migrate Tuya integration to new sharing SDK ([@frenck] - [#109155])
+- Add ZHA ZCL thermostat entities ([@Caius-Bonus] - [#106563])
+- Add OnOff trait for climate entities in google_assistant ([@jbouwh] - [#109160])
+- Add generic typing for powerwall sensors ([@bubonicbob] - [#109008])
+- Add update platform to ZHA (bumps zigpy to 0.61.0) ([@dmulcahey] - [#107612])
+- Add additional entities for the Aqara E1 curtain motor to ZHA ([@dmulcahey] - [#108243])
+- Add icon and state translations for zwave_js sensors ([@raman325] - [#109186])
+- Change the suggested energy units to kWh ([@bubonicbob] - [#109184])
+- allow songcast source to be stopped and played ([@bazwilliams] - [#109180])
+- Ensure bluetooth auto recovery does not run in tests ([@bdraco] - [#109163])
+- Remove unused constants from QNAP ([@jrieger] - [#109152])
+- Bump aioelectricitymaps to 0.2.0 ([@jpbede] - [#109150])
+- Intellifire: fix incorrect name attribute in debug log when setting flame height ([@julienfreche] - [#109168])
+- Add individual battery banks as devices ([@bubonicbob] - [#108339])
+- Add last seen sensor for zwave_js devices ([@raman325] - [#107345])
+- Add log to show last received UniFi websocket message ([@Kane610] - [#109167])
+- Add Ecovacs button entities ([@edenhaus] - [#109189])
+- Use constants in Picnic service functions ([@codesalatdev] - [#109170])
+- Add test case for binary sensors in ViCare ([@CFenner] - [#108769])
+- Add state_class to Kostal plenticore sensors ([@stegm] - [#108096])
+- Add coordinator to ring integration ([@sdb9696] - [#107088])
+- Add romy vacuum integration ([@xeniter] - [#93750])
+- Add session energy sensor for Tesla Wall Connector ([@mandarons] - [#102635])
+- Minor fixes to A. O. Smith integration ([@bdr99] - [#107421])
+- Migrate QNAP to has entity name ([@jrieger] - [#107232])
+- Add configflow to Proximity integration ([@mib1185] - [#103894])
+- Use home/sleep preset in ViCare climate entity ([@CFenner] - [#105636])
+- Make google_assistant report_state test timezone aware ([@jbouwh] - [#109200])
+- Apply late review comments for Comelit climate ([@chemelli74] - [#109114])
+- Add Qnap icon translations ([@jrieger] - [#108484])
+- Code quality for Vodafone tests ([@chemelli74] - [#109078])
+- Update Ecovacs config_flow to support self-hosted instances ([@edenhaus] - [#108944])
+- Make flexit bacnet switch more generic and prepare for more switches ([@lellky] - [#109154])
+- Add fuelcell gas consumption sensors to ViCare integration ([@CFenner] - [#105461])
+- Set entity category for QNAP sensors ([@jrieger] - [#109207])
+- Add Matter Websocket commands for node actions and diagnostics ([@marcelveldt] - [#109127])
+- Add Ecovacs number entities ([@edenhaus] - [#109209])
+- Add Elvia integration ([@ludeeus] - [#107405])
+- Add Traccar server integration ([@ludeeus] - [#109002])
+- Move tankerkoenig to new aiotankerkoenig package ([@jpbede] - [#108913])
+- Create issues for reauth flows ([@emontnemery] - [#109105])
+- Fix Huisbaasje negative periodic gas readings (#103457) ([@JeroenvIS] - [#108090])
+- Support alternative modelid for LIDL doorbell in deCONZ device triggers ([@Kane610] - [#107937])
+- Add Ecovacs switch entities ([@edenhaus] - [#109216])
+- Improve enabling of Google local fulfillment ([@emontnemery] - [#109192])
+- Modify climate turn_on/off backwards compatibility check ([@gjohansson-ST] - [#109195])
+- Add readable state for tesla wall connector ([@piitaya] - [#107909])
+- Rename Traccar to Traccar Client ([@ludeeus] - [#109217])
+- Use EnumSensor instead of custom formatter() in ZHA Sensor entities ([@Caius-Bonus] - [#109218])
+- Add ZHA support for Bosch Twinguard and siren install QR codes ([@idstein] - [#107460])
+- Add brands definition for Traccar ([@ludeeus] - [#109219])
+- Import Traccar YAML configuration to Traccar Server ([@ludeeus] - [#109226])
+- Add config flow to GPSD ([@jrieger] - [#106196])
+- Add qr code selector ([@bramkragten] - [#109214])
+- Fix ring chimes data update ([@sdb9696] - [#109220])
+- Update frontend to 20240131.0 ([@bramkragten] - [#109231])
+- Add test for integration migrated in climate ([@gjohansson-ST] - [#109224])
+- Suppress log warnings when a sensor group has non numeric members ([@mill1000] - [#102828])
+- Add reauth flow to kitchen sink ([@emontnemery] - [#109202])
+- Sort script actions ([@emontnemery] - [#108247])
+- Add translations to GPSd ([@jrieger] - [#108600])
+
+[#100684]: https://github.com/home-assistant/core/pull/100684
+[#100806]: https://github.com/home-assistant/core/pull/100806
+[#101497]: https://github.com/home-assistant/core/pull/101497
+[#101673]: https://github.com/home-assistant/core/pull/101673
+[#102291]: https://github.com/home-assistant/core/pull/102291
+[#102635]: https://github.com/home-assistant/core/pull/102635
+[#102828]: https://github.com/home-assistant/core/pull/102828
+[#102846]: https://github.com/home-assistant/core/pull/102846
+[#102972]: https://github.com/home-assistant/core/pull/102972
+[#103294]: https://github.com/home-assistant/core/pull/103294
+[#103400]: https://github.com/home-assistant/core/pull/103400
+[#103481]: https://github.com/home-assistant/core/pull/103481
+[#103569]: https://github.com/home-assistant/core/pull/103569
+[#103894]: https://github.com/home-assistant/core/pull/103894
+[#104014]: https://github.com/home-assistant/core/pull/104014
+[#104183]: https://github.com/home-assistant/core/pull/104183
+[#104208]: https://github.com/home-assistant/core/pull/104208
+[#104453]: https://github.com/home-assistant/core/pull/104453
+[#104522]: https://github.com/home-assistant/core/pull/104522
+[#104678]: https://github.com/home-assistant/core/pull/104678
+[#104790]: https://github.com/home-assistant/core/pull/104790
+[#104942]: https://github.com/home-assistant/core/pull/104942
+[#104973]: https://github.com/home-assistant/core/pull/104973
+[#105031]: https://github.com/home-assistant/core/pull/105031
+[#105143]: https://github.com/home-assistant/core/pull/105143
+[#105300]: https://github.com/home-assistant/core/pull/105300
+[#105317]: https://github.com/home-assistant/core/pull/105317
+[#105321]: https://github.com/home-assistant/core/pull/105321
+[#105415]: https://github.com/home-assistant/core/pull/105415
+[#105417]: https://github.com/home-assistant/core/pull/105417
+[#105427]: https://github.com/home-assistant/core/pull/105427
+[#105461]: https://github.com/home-assistant/core/pull/105461
+[#105560]: https://github.com/home-assistant/core/pull/105560
+[#105636]: https://github.com/home-assistant/core/pull/105636
+[#105675]: https://github.com/home-assistant/core/pull/105675
+[#105712]: https://github.com/home-assistant/core/pull/105712
+[#105740]: https://github.com/home-assistant/core/pull/105740
+[#105789]: https://github.com/home-assistant/core/pull/105789
+[#105887]: https://github.com/home-assistant/core/pull/105887
+[#105895]: https://github.com/home-assistant/core/pull/105895
+[#105927]: https://github.com/home-assistant/core/pull/105927
+[#105955]: https://github.com/home-assistant/core/pull/105955
+[#105964]: https://github.com/home-assistant/core/pull/105964
+[#106029]: https://github.com/home-assistant/core/pull/106029
+[#106077]: https://github.com/home-assistant/core/pull/106077
+[#106078]: https://github.com/home-assistant/core/pull/106078
+[#106119]: https://github.com/home-assistant/core/pull/106119
+[#106196]: https://github.com/home-assistant/core/pull/106196
+[#106286]: https://github.com/home-assistant/core/pull/106286
+[#106420]: https://github.com/home-assistant/core/pull/106420
+[#106485]: https://github.com/home-assistant/core/pull/106485
+[#106490]: https://github.com/home-assistant/core/pull/106490
+[#106504]: https://github.com/home-assistant/core/pull/106504
+[#106508]: https://github.com/home-assistant/core/pull/106508
+[#106514]: https://github.com/home-assistant/core/pull/106514
+[#106519]: https://github.com/home-assistant/core/pull/106519
+[#106530]: https://github.com/home-assistant/core/pull/106530
+[#106544]: https://github.com/home-assistant/core/pull/106544
+[#106560]: https://github.com/home-assistant/core/pull/106560
+[#106563]: https://github.com/home-assistant/core/pull/106563
+[#106568]: https://github.com/home-assistant/core/pull/106568
+[#106574]: https://github.com/home-assistant/core/pull/106574
+[#106599]: https://github.com/home-assistant/core/pull/106599
+[#106611]: https://github.com/home-assistant/core/pull/106611
+[#106623]: https://github.com/home-assistant/core/pull/106623
+[#106624]: https://github.com/home-assistant/core/pull/106624
+[#106625]: https://github.com/home-assistant/core/pull/106625
+[#106633]: https://github.com/home-assistant/core/pull/106633
+[#106635]: https://github.com/home-assistant/core/pull/106635
+[#106640]: https://github.com/home-assistant/core/pull/106640
+[#106647]: https://github.com/home-assistant/core/pull/106647
+[#106658]: https://github.com/home-assistant/core/pull/106658
+[#106661]: https://github.com/home-assistant/core/pull/106661
+[#106662]: https://github.com/home-assistant/core/pull/106662
+[#106667]: https://github.com/home-assistant/core/pull/106667
+[#106672]: https://github.com/home-assistant/core/pull/106672
+[#106674]: https://github.com/home-assistant/core/pull/106674
+[#106685]: https://github.com/home-assistant/core/pull/106685
+[#106687]: https://github.com/home-assistant/core/pull/106687
+[#106690]: https://github.com/home-assistant/core/pull/106690
+[#106691]: https://github.com/home-assistant/core/pull/106691
+[#106693]: https://github.com/home-assistant/core/pull/106693
+[#106696]: https://github.com/home-assistant/core/pull/106696
+[#106697]: https://github.com/home-assistant/core/pull/106697
+[#106702]: https://github.com/home-assistant/core/pull/106702
+[#106709]: https://github.com/home-assistant/core/pull/106709
+[#106710]: https://github.com/home-assistant/core/pull/106710
+[#106716]: https://github.com/home-assistant/core/pull/106716
+[#106717]: https://github.com/home-assistant/core/pull/106717
+[#106718]: https://github.com/home-assistant/core/pull/106718
+[#106719]: https://github.com/home-assistant/core/pull/106719
+[#106720]: https://github.com/home-assistant/core/pull/106720
+[#106721]: https://github.com/home-assistant/core/pull/106721
+[#106722]: https://github.com/home-assistant/core/pull/106722
+[#106723]: https://github.com/home-assistant/core/pull/106723
+[#106724]: https://github.com/home-assistant/core/pull/106724
+[#106735]: https://github.com/home-assistant/core/pull/106735
+[#106736]: https://github.com/home-assistant/core/pull/106736
+[#106740]: https://github.com/home-assistant/core/pull/106740
+[#106741]: https://github.com/home-assistant/core/pull/106741
+[#106742]: https://github.com/home-assistant/core/pull/106742
+[#106753]: https://github.com/home-assistant/core/pull/106753
+[#106759]: https://github.com/home-assistant/core/pull/106759
+[#106772]: https://github.com/home-assistant/core/pull/106772
+[#106773]: https://github.com/home-assistant/core/pull/106773
+[#106776]: https://github.com/home-assistant/core/pull/106776
+[#106794]: https://github.com/home-assistant/core/pull/106794
+[#106795]: https://github.com/home-assistant/core/pull/106795
+[#106796]: https://github.com/home-assistant/core/pull/106796
+[#106802]: https://github.com/home-assistant/core/pull/106802
+[#106810]: https://github.com/home-assistant/core/pull/106810
+[#106812]: https://github.com/home-assistant/core/pull/106812
+[#106813]: https://github.com/home-assistant/core/pull/106813
+[#106814]: https://github.com/home-assistant/core/pull/106814
+[#106816]: https://github.com/home-assistant/core/pull/106816
+[#106817]: https://github.com/home-assistant/core/pull/106817
+[#106819]: https://github.com/home-assistant/core/pull/106819
+[#106820]: https://github.com/home-assistant/core/pull/106820
+[#106821]: https://github.com/home-assistant/core/pull/106821
+[#106823]: https://github.com/home-assistant/core/pull/106823
+[#106824]: https://github.com/home-assistant/core/pull/106824
+[#106825]: https://github.com/home-assistant/core/pull/106825
+[#106832]: https://github.com/home-assistant/core/pull/106832
+[#106836]: https://github.com/home-assistant/core/pull/106836
+[#106837]: https://github.com/home-assistant/core/pull/106837
+[#106838]: https://github.com/home-assistant/core/pull/106838
+[#106839]: https://github.com/home-assistant/core/pull/106839
+[#106840]: https://github.com/home-assistant/core/pull/106840
+[#106841]: https://github.com/home-assistant/core/pull/106841
+[#106844]: https://github.com/home-assistant/core/pull/106844
+[#106846]: https://github.com/home-assistant/core/pull/106846
+[#106852]: https://github.com/home-assistant/core/pull/106852
+[#106853]: https://github.com/home-assistant/core/pull/106853
+[#106854]: https://github.com/home-assistant/core/pull/106854
+[#106857]: https://github.com/home-assistant/core/pull/106857
+[#106858]: https://github.com/home-assistant/core/pull/106858
+[#106859]: https://github.com/home-assistant/core/pull/106859
+[#106860]: https://github.com/home-assistant/core/pull/106860
+[#106867]: https://github.com/home-assistant/core/pull/106867
+[#106868]: https://github.com/home-assistant/core/pull/106868
+[#106869]: https://github.com/home-assistant/core/pull/106869
+[#106871]: https://github.com/home-assistant/core/pull/106871
+[#106872]: https://github.com/home-assistant/core/pull/106872
+[#106878]: https://github.com/home-assistant/core/pull/106878
+[#106879]: https://github.com/home-assistant/core/pull/106879
+[#106880]: https://github.com/home-assistant/core/pull/106880
+[#106881]: https://github.com/home-assistant/core/pull/106881
+[#106887]: https://github.com/home-assistant/core/pull/106887
+[#106888]: https://github.com/home-assistant/core/pull/106888
+[#106889]: https://github.com/home-assistant/core/pull/106889
+[#106890]: https://github.com/home-assistant/core/pull/106890
+[#106902]: https://github.com/home-assistant/core/pull/106902
+[#106905]: https://github.com/home-assistant/core/pull/106905
+[#106906]: https://github.com/home-assistant/core/pull/106906
+[#106907]: https://github.com/home-assistant/core/pull/106907
+[#106908]: https://github.com/home-assistant/core/pull/106908
+[#106910]: https://github.com/home-assistant/core/pull/106910
+[#106914]: https://github.com/home-assistant/core/pull/106914
+[#106919]: https://github.com/home-assistant/core/pull/106919
+[#106924]: https://github.com/home-assistant/core/pull/106924
+[#106925]: https://github.com/home-assistant/core/pull/106925
+[#106926]: https://github.com/home-assistant/core/pull/106926
+[#106927]: https://github.com/home-assistant/core/pull/106927
+[#106930]: https://github.com/home-assistant/core/pull/106930
+[#106931]: https://github.com/home-assistant/core/pull/106931
+[#106932]: https://github.com/home-assistant/core/pull/106932
+[#106953]: https://github.com/home-assistant/core/pull/106953
+[#106965]: https://github.com/home-assistant/core/pull/106965
+[#106972]: https://github.com/home-assistant/core/pull/106972
+[#106975]: https://github.com/home-assistant/core/pull/106975
+[#106984]: https://github.com/home-assistant/core/pull/106984
+[#106992]: https://github.com/home-assistant/core/pull/106992
+[#106993]: https://github.com/home-assistant/core/pull/106993
+[#106994]: https://github.com/home-assistant/core/pull/106994
+[#106998]: https://github.com/home-assistant/core/pull/106998
+[#107003]: https://github.com/home-assistant/core/pull/107003
+[#107005]: https://github.com/home-assistant/core/pull/107005
+[#107010]: https://github.com/home-assistant/core/pull/107010
+[#107015]: https://github.com/home-assistant/core/pull/107015
+[#107028]: https://github.com/home-assistant/core/pull/107028
+[#107032]: https://github.com/home-assistant/core/pull/107032
+[#107034]: https://github.com/home-assistant/core/pull/107034
+[#107039]: https://github.com/home-assistant/core/pull/107039
+[#107040]: https://github.com/home-assistant/core/pull/107040
+[#107042]: https://github.com/home-assistant/core/pull/107042
+[#107045]: https://github.com/home-assistant/core/pull/107045
+[#107046]: https://github.com/home-assistant/core/pull/107046
+[#107050]: https://github.com/home-assistant/core/pull/107050
+[#107053]: https://github.com/home-assistant/core/pull/107053
+[#107065]: https://github.com/home-assistant/core/pull/107065
+[#107066]: https://github.com/home-assistant/core/pull/107066
+[#107069]: https://github.com/home-assistant/core/pull/107069
+[#107071]: https://github.com/home-assistant/core/pull/107071
+[#107088]: https://github.com/home-assistant/core/pull/107088
+[#107089]: https://github.com/home-assistant/core/pull/107089
+[#107090]: https://github.com/home-assistant/core/pull/107090
+[#107095]: https://github.com/home-assistant/core/pull/107095
+[#107096]: https://github.com/home-assistant/core/pull/107096
+[#107100]: https://github.com/home-assistant/core/pull/107100
+[#107107]: https://github.com/home-assistant/core/pull/107107
+[#107109]: https://github.com/home-assistant/core/pull/107109
+[#107111]: https://github.com/home-assistant/core/pull/107111
+[#107116]: https://github.com/home-assistant/core/pull/107116
+[#107119]: https://github.com/home-assistant/core/pull/107119
+[#107132]: https://github.com/home-assistant/core/pull/107132
+[#107139]: https://github.com/home-assistant/core/pull/107139
+[#107148]: https://github.com/home-assistant/core/pull/107148
+[#107151]: https://github.com/home-assistant/core/pull/107151
+[#107152]: https://github.com/home-assistant/core/pull/107152
+[#107153]: https://github.com/home-assistant/core/pull/107153
+[#107159]: https://github.com/home-assistant/core/pull/107159
+[#107160]: https://github.com/home-assistant/core/pull/107160
+[#107164]: https://github.com/home-assistant/core/pull/107164
+[#107168]: https://github.com/home-assistant/core/pull/107168
+[#107172]: https://github.com/home-assistant/core/pull/107172
+[#107175]: https://github.com/home-assistant/core/pull/107175
+[#107179]: https://github.com/home-assistant/core/pull/107179
+[#107184]: https://github.com/home-assistant/core/pull/107184
+[#107188]: https://github.com/home-assistant/core/pull/107188
+[#107189]: https://github.com/home-assistant/core/pull/107189
+[#107190]: https://github.com/home-assistant/core/pull/107190
+[#107192]: https://github.com/home-assistant/core/pull/107192
+[#107195]: https://github.com/home-assistant/core/pull/107195
+[#107196]: https://github.com/home-assistant/core/pull/107196
+[#107199]: https://github.com/home-assistant/core/pull/107199
+[#107206]: https://github.com/home-assistant/core/pull/107206
+[#107209]: https://github.com/home-assistant/core/pull/107209
+[#107210]: https://github.com/home-assistant/core/pull/107210
+[#107212]: https://github.com/home-assistant/core/pull/107212
+[#107213]: https://github.com/home-assistant/core/pull/107213
+[#107227]: https://github.com/home-assistant/core/pull/107227
+[#107229]: https://github.com/home-assistant/core/pull/107229
+[#107232]: https://github.com/home-assistant/core/pull/107232
+[#107238]: https://github.com/home-assistant/core/pull/107238
+[#107240]: https://github.com/home-assistant/core/pull/107240
+[#107251]: https://github.com/home-assistant/core/pull/107251
+[#107252]: https://github.com/home-assistant/core/pull/107252
+[#107255]: https://github.com/home-assistant/core/pull/107255
+[#107256]: https://github.com/home-assistant/core/pull/107256
+[#107257]: https://github.com/home-assistant/core/pull/107257
+[#107261]: https://github.com/home-assistant/core/pull/107261
+[#107262]: https://github.com/home-assistant/core/pull/107262
+[#107263]: https://github.com/home-assistant/core/pull/107263
+[#107264]: https://github.com/home-assistant/core/pull/107264
+[#107266]: https://github.com/home-assistant/core/pull/107266
+[#107267]: https://github.com/home-assistant/core/pull/107267
+[#107271]: https://github.com/home-assistant/core/pull/107271
+[#107272]: https://github.com/home-assistant/core/pull/107272
+[#107273]: https://github.com/home-assistant/core/pull/107273
+[#107274]: https://github.com/home-assistant/core/pull/107274
+[#107278]: https://github.com/home-assistant/core/pull/107278
+[#107280]: https://github.com/home-assistant/core/pull/107280
+[#107282]: https://github.com/home-assistant/core/pull/107282
+[#107283]: https://github.com/home-assistant/core/pull/107283
+[#107284]: https://github.com/home-assistant/core/pull/107284
+[#107285]: https://github.com/home-assistant/core/pull/107285
+[#107290]: https://github.com/home-assistant/core/pull/107290
+[#107292]: https://github.com/home-assistant/core/pull/107292
+[#107299]: https://github.com/home-assistant/core/pull/107299
+[#107300]: https://github.com/home-assistant/core/pull/107300
+[#107301]: https://github.com/home-assistant/core/pull/107301
+[#107302]: https://github.com/home-assistant/core/pull/107302
+[#107305]: https://github.com/home-assistant/core/pull/107305
+[#107306]: https://github.com/home-assistant/core/pull/107306
+[#107307]: https://github.com/home-assistant/core/pull/107307
+[#107309]: https://github.com/home-assistant/core/pull/107309
+[#107312]: https://github.com/home-assistant/core/pull/107312
+[#107320]: https://github.com/home-assistant/core/pull/107320
+[#107323]: https://github.com/home-assistant/core/pull/107323
+[#107324]: https://github.com/home-assistant/core/pull/107324
+[#107326]: https://github.com/home-assistant/core/pull/107326
+[#107333]: https://github.com/home-assistant/core/pull/107333
+[#107335]: https://github.com/home-assistant/core/pull/107335
+[#107337]: https://github.com/home-assistant/core/pull/107337
+[#107338]: https://github.com/home-assistant/core/pull/107338
+[#107341]: https://github.com/home-assistant/core/pull/107341
+[#107342]: https://github.com/home-assistant/core/pull/107342
+[#107345]: https://github.com/home-assistant/core/pull/107345
+[#107346]: https://github.com/home-assistant/core/pull/107346
+[#107351]: https://github.com/home-assistant/core/pull/107351
+[#107357]: https://github.com/home-assistant/core/pull/107357
+[#107372]: https://github.com/home-assistant/core/pull/107372
+[#107373]: https://github.com/home-assistant/core/pull/107373
+[#107377]: https://github.com/home-assistant/core/pull/107377
+[#107379]: https://github.com/home-assistant/core/pull/107379
+[#107380]: https://github.com/home-assistant/core/pull/107380
+[#107381]: https://github.com/home-assistant/core/pull/107381
+[#107382]: https://github.com/home-assistant/core/pull/107382
+[#107383]: https://github.com/home-assistant/core/pull/107383
+[#107402]: https://github.com/home-assistant/core/pull/107402
+[#107405]: https://github.com/home-assistant/core/pull/107405
+[#107408]: https://github.com/home-assistant/core/pull/107408
+[#107409]: https://github.com/home-assistant/core/pull/107409
+[#107410]: https://github.com/home-assistant/core/pull/107410
+[#107411]: https://github.com/home-assistant/core/pull/107411
+[#107417]: https://github.com/home-assistant/core/pull/107417
+[#107421]: https://github.com/home-assistant/core/pull/107421
+[#107423]: https://github.com/home-assistant/core/pull/107423
+[#107424]: https://github.com/home-assistant/core/pull/107424
+[#107425]: https://github.com/home-assistant/core/pull/107425
+[#107426]: https://github.com/home-assistant/core/pull/107426
+[#107427]: https://github.com/home-assistant/core/pull/107427
+[#107428]: https://github.com/home-assistant/core/pull/107428
+[#107436]: https://github.com/home-assistant/core/pull/107436
+[#107437]: https://github.com/home-assistant/core/pull/107437
+[#107438]: https://github.com/home-assistant/core/pull/107438
+[#107439]: https://github.com/home-assistant/core/pull/107439
+[#107440]: https://github.com/home-assistant/core/pull/107440
+[#107444]: https://github.com/home-assistant/core/pull/107444
+[#107445]: https://github.com/home-assistant/core/pull/107445
+[#107447]: https://github.com/home-assistant/core/pull/107447
+[#107454]: https://github.com/home-assistant/core/pull/107454
+[#107458]: https://github.com/home-assistant/core/pull/107458
+[#107459]: https://github.com/home-assistant/core/pull/107459
+[#107460]: https://github.com/home-assistant/core/pull/107460
+[#107467]: https://github.com/home-assistant/core/pull/107467
+[#107469]: https://github.com/home-assistant/core/pull/107469
+[#107480]: https://github.com/home-assistant/core/pull/107480
+[#107486]: https://github.com/home-assistant/core/pull/107486
+[#107488]: https://github.com/home-assistant/core/pull/107488
+[#107497]: https://github.com/home-assistant/core/pull/107497
+[#107503]: https://github.com/home-assistant/core/pull/107503
+[#107509]: https://github.com/home-assistant/core/pull/107509
+[#107512]: https://github.com/home-assistant/core/pull/107512
+[#107514]: https://github.com/home-assistant/core/pull/107514
+[#107516]: https://github.com/home-assistant/core/pull/107516
+[#107518]: https://github.com/home-assistant/core/pull/107518
+[#107520]: https://github.com/home-assistant/core/pull/107520
+[#107529]: https://github.com/home-assistant/core/pull/107529
+[#107534]: https://github.com/home-assistant/core/pull/107534
+[#107535]: https://github.com/home-assistant/core/pull/107535
+[#107539]: https://github.com/home-assistant/core/pull/107539
+[#107540]: https://github.com/home-assistant/core/pull/107540
+[#107542]: https://github.com/home-assistant/core/pull/107542
+[#107547]: https://github.com/home-assistant/core/pull/107547
+[#107548]: https://github.com/home-assistant/core/pull/107548
+[#107553]: https://github.com/home-assistant/core/pull/107553
+[#107555]: https://github.com/home-assistant/core/pull/107555
+[#107556]: https://github.com/home-assistant/core/pull/107556
+[#107557]: https://github.com/home-assistant/core/pull/107557
+[#107558]: https://github.com/home-assistant/core/pull/107558
+[#107559]: https://github.com/home-assistant/core/pull/107559
+[#107560]: https://github.com/home-assistant/core/pull/107560
+[#107567]: https://github.com/home-assistant/core/pull/107567
+[#107570]: https://github.com/home-assistant/core/pull/107570
+[#107571]: https://github.com/home-assistant/core/pull/107571
+[#107576]: https://github.com/home-assistant/core/pull/107576
+[#107578]: https://github.com/home-assistant/core/pull/107578
+[#107582]: https://github.com/home-assistant/core/pull/107582
+[#107583]: https://github.com/home-assistant/core/pull/107583
+[#107584]: https://github.com/home-assistant/core/pull/107584
+[#107585]: https://github.com/home-assistant/core/pull/107585
+[#107587]: https://github.com/home-assistant/core/pull/107587
+[#107590]: https://github.com/home-assistant/core/pull/107590
+[#107595]: https://github.com/home-assistant/core/pull/107595
+[#107596]: https://github.com/home-assistant/core/pull/107596
+[#107597]: https://github.com/home-assistant/core/pull/107597
+[#107598]: https://github.com/home-assistant/core/pull/107598
+[#107599]: https://github.com/home-assistant/core/pull/107599
+[#107601]: https://github.com/home-assistant/core/pull/107601
+[#107602]: https://github.com/home-assistant/core/pull/107602
+[#107603]: https://github.com/home-assistant/core/pull/107603
+[#107604]: https://github.com/home-assistant/core/pull/107604
+[#107607]: https://github.com/home-assistant/core/pull/107607
+[#107611]: https://github.com/home-assistant/core/pull/107611
+[#107612]: https://github.com/home-assistant/core/pull/107612
+[#107613]: https://github.com/home-assistant/core/pull/107613
+[#107617]: https://github.com/home-assistant/core/pull/107617
+[#107618]: https://github.com/home-assistant/core/pull/107618
+[#107621]: https://github.com/home-assistant/core/pull/107621
+[#107622]: https://github.com/home-assistant/core/pull/107622
+[#107623]: https://github.com/home-assistant/core/pull/107623
+[#107624]: https://github.com/home-assistant/core/pull/107624
+[#107625]: https://github.com/home-assistant/core/pull/107625
+[#107626]: https://github.com/home-assistant/core/pull/107626
+[#107627]: https://github.com/home-assistant/core/pull/107627
+[#107628]: https://github.com/home-assistant/core/pull/107628
+[#107634]: https://github.com/home-assistant/core/pull/107634
+[#107641]: https://github.com/home-assistant/core/pull/107641
+[#107643]: https://github.com/home-assistant/core/pull/107643
+[#107644]: https://github.com/home-assistant/core/pull/107644
+[#107646]: https://github.com/home-assistant/core/pull/107646
+[#107653]: https://github.com/home-assistant/core/pull/107653
+[#107654]: https://github.com/home-assistant/core/pull/107654
+[#107659]: https://github.com/home-assistant/core/pull/107659
+[#107663]: https://github.com/home-assistant/core/pull/107663
+[#107666]: https://github.com/home-assistant/core/pull/107666
+[#107668]: https://github.com/home-assistant/core/pull/107668
+[#107670]: https://github.com/home-assistant/core/pull/107670
+[#107672]: https://github.com/home-assistant/core/pull/107672
+[#107675]: https://github.com/home-assistant/core/pull/107675
+[#107685]: https://github.com/home-assistant/core/pull/107685
+[#107694]: https://github.com/home-assistant/core/pull/107694
+[#107696]: https://github.com/home-assistant/core/pull/107696
+[#107706]: https://github.com/home-assistant/core/pull/107706
+[#107707]: https://github.com/home-assistant/core/pull/107707
+[#107708]: https://github.com/home-assistant/core/pull/107708
+[#107709]: https://github.com/home-assistant/core/pull/107709
+[#107740]: https://github.com/home-assistant/core/pull/107740
+[#107743]: https://github.com/home-assistant/core/pull/107743
+[#107745]: https://github.com/home-assistant/core/pull/107745
+[#107756]: https://github.com/home-assistant/core/pull/107756
+[#107757]: https://github.com/home-assistant/core/pull/107757
+[#107760]: https://github.com/home-assistant/core/pull/107760
+[#107762]: https://github.com/home-assistant/core/pull/107762
+[#107765]: https://github.com/home-assistant/core/pull/107765
+[#107766]: https://github.com/home-assistant/core/pull/107766
+[#107767]: https://github.com/home-assistant/core/pull/107767
+[#107773]: https://github.com/home-assistant/core/pull/107773
+[#107778]: https://github.com/home-assistant/core/pull/107778
+[#107779]: https://github.com/home-assistant/core/pull/107779
+[#107781]: https://github.com/home-assistant/core/pull/107781
+[#107786]: https://github.com/home-assistant/core/pull/107786
+[#107787]: https://github.com/home-assistant/core/pull/107787
+[#107788]: https://github.com/home-assistant/core/pull/107788
+[#107789]: https://github.com/home-assistant/core/pull/107789
+[#107790]: https://github.com/home-assistant/core/pull/107790
+[#107791]: https://github.com/home-assistant/core/pull/107791
+[#107792]: https://github.com/home-assistant/core/pull/107792
+[#107793]: https://github.com/home-assistant/core/pull/107793
+[#107794]: https://github.com/home-assistant/core/pull/107794
+[#107796]: https://github.com/home-assistant/core/pull/107796
+[#107799]: https://github.com/home-assistant/core/pull/107799
+[#107802]: https://github.com/home-assistant/core/pull/107802
+[#107805]: https://github.com/home-assistant/core/pull/107805
+[#107807]: https://github.com/home-assistant/core/pull/107807
+[#107815]: https://github.com/home-assistant/core/pull/107815
+[#107822]: https://github.com/home-assistant/core/pull/107822
+[#107832]: https://github.com/home-assistant/core/pull/107832
+[#107833]: https://github.com/home-assistant/core/pull/107833
+[#107834]: https://github.com/home-assistant/core/pull/107834
+[#107835]: https://github.com/home-assistant/core/pull/107835
+[#107839]: https://github.com/home-assistant/core/pull/107839
+[#107840]: https://github.com/home-assistant/core/pull/107840
+[#107845]: https://github.com/home-assistant/core/pull/107845
+[#107846]: https://github.com/home-assistant/core/pull/107846
+[#107856]: https://github.com/home-assistant/core/pull/107856
+[#107857]: https://github.com/home-assistant/core/pull/107857
+[#107859]: https://github.com/home-assistant/core/pull/107859
+[#107860]: https://github.com/home-assistant/core/pull/107860
+[#107861]: https://github.com/home-assistant/core/pull/107861
+[#107863]: https://github.com/home-assistant/core/pull/107863
+[#107864]: https://github.com/home-assistant/core/pull/107864
+[#107882]: https://github.com/home-assistant/core/pull/107882
+[#107884]: https://github.com/home-assistant/core/pull/107884
+[#107886]: https://github.com/home-assistant/core/pull/107886
+[#107888]: https://github.com/home-assistant/core/pull/107888
+[#107891]: https://github.com/home-assistant/core/pull/107891
+[#107893]: https://github.com/home-assistant/core/pull/107893
+[#107895]: https://github.com/home-assistant/core/pull/107895
+[#107896]: https://github.com/home-assistant/core/pull/107896
+[#107898]: https://github.com/home-assistant/core/pull/107898
+[#107899]: https://github.com/home-assistant/core/pull/107899
+[#107902]: https://github.com/home-assistant/core/pull/107902
+[#107904]: https://github.com/home-assistant/core/pull/107904
+[#107907]: https://github.com/home-assistant/core/pull/107907
+[#107909]: https://github.com/home-assistant/core/pull/107909
+[#107910]: https://github.com/home-assistant/core/pull/107910
+[#107911]: https://github.com/home-assistant/core/pull/107911
+[#107912]: https://github.com/home-assistant/core/pull/107912
+[#107913]: https://github.com/home-assistant/core/pull/107913
+[#107914]: https://github.com/home-assistant/core/pull/107914
+[#107915]: https://github.com/home-assistant/core/pull/107915
+[#107917]: https://github.com/home-assistant/core/pull/107917
+[#107918]: https://github.com/home-assistant/core/pull/107918
+[#107923]: https://github.com/home-assistant/core/pull/107923
+[#107924]: https://github.com/home-assistant/core/pull/107924
+[#107927]: https://github.com/home-assistant/core/pull/107927
+[#107932]: https://github.com/home-assistant/core/pull/107932
+[#107935]: https://github.com/home-assistant/core/pull/107935
+[#107937]: https://github.com/home-assistant/core/pull/107937
+[#107938]: https://github.com/home-assistant/core/pull/107938
+[#107939]: https://github.com/home-assistant/core/pull/107939
+[#107944]: https://github.com/home-assistant/core/pull/107944
+[#107945]: https://github.com/home-assistant/core/pull/107945
+[#107946]: https://github.com/home-assistant/core/pull/107946
+[#107948]: https://github.com/home-assistant/core/pull/107948
+[#107952]: https://github.com/home-assistant/core/pull/107952
+[#107956]: https://github.com/home-assistant/core/pull/107956
+[#107959]: https://github.com/home-assistant/core/pull/107959
+[#107962]: https://github.com/home-assistant/core/pull/107962
+[#107967]: https://github.com/home-assistant/core/pull/107967
+[#107970]: https://github.com/home-assistant/core/pull/107970
+[#107971]: https://github.com/home-assistant/core/pull/107971
+[#107972]: https://github.com/home-assistant/core/pull/107972
+[#107984]: https://github.com/home-assistant/core/pull/107984
+[#107986]: https://github.com/home-assistant/core/pull/107986
+[#107989]: https://github.com/home-assistant/core/pull/107989
+[#107992]: https://github.com/home-assistant/core/pull/107992
+[#107997]: https://github.com/home-assistant/core/pull/107997
+[#107998]: https://github.com/home-assistant/core/pull/107998
+[#107999]: https://github.com/home-assistant/core/pull/107999
+[#108000]: https://github.com/home-assistant/core/pull/108000
+[#108002]: https://github.com/home-assistant/core/pull/108002
+[#108007]: https://github.com/home-assistant/core/pull/108007
+[#108009]: https://github.com/home-assistant/core/pull/108009
+[#108010]: https://github.com/home-assistant/core/pull/108010
+[#108011]: https://github.com/home-assistant/core/pull/108011
+[#108012]: https://github.com/home-assistant/core/pull/108012
+[#108016]: https://github.com/home-assistant/core/pull/108016
+[#108019]: https://github.com/home-assistant/core/pull/108019
+[#108022]: https://github.com/home-assistant/core/pull/108022
+[#108023]: https://github.com/home-assistant/core/pull/108023
+[#108024]: https://github.com/home-assistant/core/pull/108024
+[#108025]: https://github.com/home-assistant/core/pull/108025
+[#108026]: https://github.com/home-assistant/core/pull/108026
+[#108027]: https://github.com/home-assistant/core/pull/108027
+[#108028]: https://github.com/home-assistant/core/pull/108028
+[#108033]: https://github.com/home-assistant/core/pull/108033
+[#108034]: https://github.com/home-assistant/core/pull/108034
+[#108039]: https://github.com/home-assistant/core/pull/108039
+[#108040]: https://github.com/home-assistant/core/pull/108040
+[#108041]: https://github.com/home-assistant/core/pull/108041
+[#108042]: https://github.com/home-assistant/core/pull/108042
+[#108048]: https://github.com/home-assistant/core/pull/108048
+[#108050]: https://github.com/home-assistant/core/pull/108050
+[#108051]: https://github.com/home-assistant/core/pull/108051
+[#108053]: https://github.com/home-assistant/core/pull/108053
+[#108054]: https://github.com/home-assistant/core/pull/108054
+[#108062]: https://github.com/home-assistant/core/pull/108062
+[#108067]: https://github.com/home-assistant/core/pull/108067
+[#108072]: https://github.com/home-assistant/core/pull/108072
+[#108073]: https://github.com/home-assistant/core/pull/108073
+[#108075]: https://github.com/home-assistant/core/pull/108075
+[#108079]: https://github.com/home-assistant/core/pull/108079
+[#108084]: https://github.com/home-assistant/core/pull/108084
+[#108086]: https://github.com/home-assistant/core/pull/108086
+[#108089]: https://github.com/home-assistant/core/pull/108089
+[#108090]: https://github.com/home-assistant/core/pull/108090
+[#108092]: https://github.com/home-assistant/core/pull/108092
+[#108093]: https://github.com/home-assistant/core/pull/108093
+[#108094]: https://github.com/home-assistant/core/pull/108094
+[#108096]: https://github.com/home-assistant/core/pull/108096
+[#108097]: https://github.com/home-assistant/core/pull/108097
+[#108105]: https://github.com/home-assistant/core/pull/108105
+[#108106]: https://github.com/home-assistant/core/pull/108106
+[#108109]: https://github.com/home-assistant/core/pull/108109
+[#108110]: https://github.com/home-assistant/core/pull/108110
+[#108111]: https://github.com/home-assistant/core/pull/108111
+[#108113]: https://github.com/home-assistant/core/pull/108113
+[#108114]: https://github.com/home-assistant/core/pull/108114
+[#108115]: https://github.com/home-assistant/core/pull/108115
+[#108124]: https://github.com/home-assistant/core/pull/108124
+[#108128]: https://github.com/home-assistant/core/pull/108128
+[#108132]: https://github.com/home-assistant/core/pull/108132
+[#108134]: https://github.com/home-assistant/core/pull/108134
+[#108139]: https://github.com/home-assistant/core/pull/108139
+[#108141]: https://github.com/home-assistant/core/pull/108141
+[#108143]: https://github.com/home-assistant/core/pull/108143
+[#108144]: https://github.com/home-assistant/core/pull/108144
+[#108145]: https://github.com/home-assistant/core/pull/108145
+[#108147]: https://github.com/home-assistant/core/pull/108147
+[#108148]: https://github.com/home-assistant/core/pull/108148
+[#108150]: https://github.com/home-assistant/core/pull/108150
+[#108157]: https://github.com/home-assistant/core/pull/108157
+[#108160]: https://github.com/home-assistant/core/pull/108160
+[#108162]: https://github.com/home-assistant/core/pull/108162
+[#108163]: https://github.com/home-assistant/core/pull/108163
+[#108164]: https://github.com/home-assistant/core/pull/108164
+[#108165]: https://github.com/home-assistant/core/pull/108165
+[#108166]: https://github.com/home-assistant/core/pull/108166
+[#108167]: https://github.com/home-assistant/core/pull/108167
+[#108173]: https://github.com/home-assistant/core/pull/108173
+[#108174]: https://github.com/home-assistant/core/pull/108174
+[#108176]: https://github.com/home-assistant/core/pull/108176
+[#108177]: https://github.com/home-assistant/core/pull/108177
+[#108179]: https://github.com/home-assistant/core/pull/108179
+[#108182]: https://github.com/home-assistant/core/pull/108182
+[#108189]: https://github.com/home-assistant/core/pull/108189
+[#108190]: https://github.com/home-assistant/core/pull/108190
+[#108191]: https://github.com/home-assistant/core/pull/108191
+[#108192]: https://github.com/home-assistant/core/pull/108192
+[#108194]: https://github.com/home-assistant/core/pull/108194
+[#108195]: https://github.com/home-assistant/core/pull/108195
+[#108196]: https://github.com/home-assistant/core/pull/108196
+[#108197]: https://github.com/home-assistant/core/pull/108197
+[#108203]: https://github.com/home-assistant/core/pull/108203
+[#108209]: https://github.com/home-assistant/core/pull/108209
+[#108210]: https://github.com/home-assistant/core/pull/108210
+[#108212]: https://github.com/home-assistant/core/pull/108212
+[#108216]: https://github.com/home-assistant/core/pull/108216
+[#108217]: https://github.com/home-assistant/core/pull/108217
+[#108218]: https://github.com/home-assistant/core/pull/108218
+[#108220]: https://github.com/home-assistant/core/pull/108220
+[#108222]: https://github.com/home-assistant/core/pull/108222
+[#108228]: https://github.com/home-assistant/core/pull/108228
+[#108229]: https://github.com/home-assistant/core/pull/108229
+[#108231]: https://github.com/home-assistant/core/pull/108231
+[#108233]: https://github.com/home-assistant/core/pull/108233
+[#108235]: https://github.com/home-assistant/core/pull/108235
+[#108236]: https://github.com/home-assistant/core/pull/108236
+[#108238]: https://github.com/home-assistant/core/pull/108238
+[#108240]: https://github.com/home-assistant/core/pull/108240
+[#108243]: https://github.com/home-assistant/core/pull/108243
+[#108244]: https://github.com/home-assistant/core/pull/108244
+[#108247]: https://github.com/home-assistant/core/pull/108247
+[#108252]: https://github.com/home-assistant/core/pull/108252
+[#108253]: https://github.com/home-assistant/core/pull/108253
+[#108257]: https://github.com/home-assistant/core/pull/108257
+[#108262]: https://github.com/home-assistant/core/pull/108262
+[#108263]: https://github.com/home-assistant/core/pull/108263
+[#108268]: https://github.com/home-assistant/core/pull/108268
+[#108269]: https://github.com/home-assistant/core/pull/108269
+[#108270]: https://github.com/home-assistant/core/pull/108270
+[#108272]: https://github.com/home-assistant/core/pull/108272
+[#108273]: https://github.com/home-assistant/core/pull/108273
+[#108274]: https://github.com/home-assistant/core/pull/108274
+[#108275]: https://github.com/home-assistant/core/pull/108275
+[#108278]: https://github.com/home-assistant/core/pull/108278
+[#108284]: https://github.com/home-assistant/core/pull/108284
+[#108288]: https://github.com/home-assistant/core/pull/108288
+[#108291]: https://github.com/home-assistant/core/pull/108291
+[#108293]: https://github.com/home-assistant/core/pull/108293
+[#108294]: https://github.com/home-assistant/core/pull/108294
+[#108295]: https://github.com/home-assistant/core/pull/108295
+[#108297]: https://github.com/home-assistant/core/pull/108297
+[#108302]: https://github.com/home-assistant/core/pull/108302
+[#108306]: https://github.com/home-assistant/core/pull/108306
+[#108307]: https://github.com/home-assistant/core/pull/108307
+[#108308]: https://github.com/home-assistant/core/pull/108308
+[#108309]: https://github.com/home-assistant/core/pull/108309
+[#108313]: https://github.com/home-assistant/core/pull/108313
+[#108314]: https://github.com/home-assistant/core/pull/108314
+[#108316]: https://github.com/home-assistant/core/pull/108316
+[#108319]: https://github.com/home-assistant/core/pull/108319
+[#108322]: https://github.com/home-assistant/core/pull/108322
+[#108325]: https://github.com/home-assistant/core/pull/108325
+[#108327]: https://github.com/home-assistant/core/pull/108327
+[#108329]: https://github.com/home-assistant/core/pull/108329
+[#108331]: https://github.com/home-assistant/core/pull/108331
+[#108332]: https://github.com/home-assistant/core/pull/108332
+[#108337]: https://github.com/home-assistant/core/pull/108337
+[#108339]: https://github.com/home-assistant/core/pull/108339
+[#108340]: https://github.com/home-assistant/core/pull/108340
+[#108342]: https://github.com/home-assistant/core/pull/108342
+[#108346]: https://github.com/home-assistant/core/pull/108346
+[#108347]: https://github.com/home-assistant/core/pull/108347
+[#108350]: https://github.com/home-assistant/core/pull/108350
+[#108353]: https://github.com/home-assistant/core/pull/108353
+[#108355]: https://github.com/home-assistant/core/pull/108355
+[#108358]: https://github.com/home-assistant/core/pull/108358
+[#108359]: https://github.com/home-assistant/core/pull/108359
+[#108360]: https://github.com/home-assistant/core/pull/108360
+[#108363]: https://github.com/home-assistant/core/pull/108363
+[#108365]: https://github.com/home-assistant/core/pull/108365
+[#108366]: https://github.com/home-assistant/core/pull/108366
+[#108367]: https://github.com/home-assistant/core/pull/108367
+[#108368]: https://github.com/home-assistant/core/pull/108368
+[#108369]: https://github.com/home-assistant/core/pull/108369
+[#108370]: https://github.com/home-assistant/core/pull/108370
+[#108371]: https://github.com/home-assistant/core/pull/108371
+[#108373]: https://github.com/home-assistant/core/pull/108373
+[#108375]: https://github.com/home-assistant/core/pull/108375
+[#108377]: https://github.com/home-assistant/core/pull/108377
+[#108381]: https://github.com/home-assistant/core/pull/108381
+[#108383]: https://github.com/home-assistant/core/pull/108383
+[#108384]: https://github.com/home-assistant/core/pull/108384
+[#108385]: https://github.com/home-assistant/core/pull/108385
+[#108390]: https://github.com/home-assistant/core/pull/108390
+[#108391]: https://github.com/home-assistant/core/pull/108391
+[#108393]: https://github.com/home-assistant/core/pull/108393
+[#108395]: https://github.com/home-assistant/core/pull/108395
+[#108396]: https://github.com/home-assistant/core/pull/108396
+[#108397]: https://github.com/home-assistant/core/pull/108397
+[#108398]: https://github.com/home-assistant/core/pull/108398
+[#108399]: https://github.com/home-assistant/core/pull/108399
+[#108400]: https://github.com/home-assistant/core/pull/108400
+[#108401]: https://github.com/home-assistant/core/pull/108401
+[#108402]: https://github.com/home-assistant/core/pull/108402
+[#108403]: https://github.com/home-assistant/core/pull/108403
+[#108404]: https://github.com/home-assistant/core/pull/108404
+[#108405]: https://github.com/home-assistant/core/pull/108405
+[#108406]: https://github.com/home-assistant/core/pull/108406
+[#108407]: https://github.com/home-assistant/core/pull/108407
+[#108408]: https://github.com/home-assistant/core/pull/108408
+[#108409]: https://github.com/home-assistant/core/pull/108409
+[#108410]: https://github.com/home-assistant/core/pull/108410
+[#108413]: https://github.com/home-assistant/core/pull/108413
+[#108414]: https://github.com/home-assistant/core/pull/108414
+[#108415]: https://github.com/home-assistant/core/pull/108415
+[#108416]: https://github.com/home-assistant/core/pull/108416
+[#108417]: https://github.com/home-assistant/core/pull/108417
+[#108418]: https://github.com/home-assistant/core/pull/108418
+[#108419]: https://github.com/home-assistant/core/pull/108419
+[#108420]: https://github.com/home-assistant/core/pull/108420
+[#108421]: https://github.com/home-assistant/core/pull/108421
+[#108422]: https://github.com/home-assistant/core/pull/108422
+[#108423]: https://github.com/home-assistant/core/pull/108423
+[#108428]: https://github.com/home-assistant/core/pull/108428
+[#108431]: https://github.com/home-assistant/core/pull/108431
+[#108447]: https://github.com/home-assistant/core/pull/108447
+[#108448]: https://github.com/home-assistant/core/pull/108448
+[#108449]: https://github.com/home-assistant/core/pull/108449
+[#108450]: https://github.com/home-assistant/core/pull/108450
+[#108451]: https://github.com/home-assistant/core/pull/108451
+[#108452]: https://github.com/home-assistant/core/pull/108452
+[#108453]: https://github.com/home-assistant/core/pull/108453
+[#108455]: https://github.com/home-assistant/core/pull/108455
+[#108456]: https://github.com/home-assistant/core/pull/108456
+[#108457]: https://github.com/home-assistant/core/pull/108457
+[#108458]: https://github.com/home-assistant/core/pull/108458
+[#108460]: https://github.com/home-assistant/core/pull/108460
+[#108461]: https://github.com/home-assistant/core/pull/108461
+[#108462]: https://github.com/home-assistant/core/pull/108462
+[#108463]: https://github.com/home-assistant/core/pull/108463
+[#108464]: https://github.com/home-assistant/core/pull/108464
+[#108465]: https://github.com/home-assistant/core/pull/108465
+[#108466]: https://github.com/home-assistant/core/pull/108466
+[#108467]: https://github.com/home-assistant/core/pull/108467
+[#108469]: https://github.com/home-assistant/core/pull/108469
+[#108470]: https://github.com/home-assistant/core/pull/108470
+[#108471]: https://github.com/home-assistant/core/pull/108471
+[#108472]: https://github.com/home-assistant/core/pull/108472
+[#108473]: https://github.com/home-assistant/core/pull/108473
+[#108474]: https://github.com/home-assistant/core/pull/108474
+[#108475]: https://github.com/home-assistant/core/pull/108475
+[#108476]: https://github.com/home-assistant/core/pull/108476
+[#108477]: https://github.com/home-assistant/core/pull/108477
+[#108479]: https://github.com/home-assistant/core/pull/108479
+[#108480]: https://github.com/home-assistant/core/pull/108480
+[#108481]: https://github.com/home-assistant/core/pull/108481
+[#108482]: https://github.com/home-assistant/core/pull/108482
+[#108484]: https://github.com/home-assistant/core/pull/108484
+[#108486]: https://github.com/home-assistant/core/pull/108486
+[#108488]: https://github.com/home-assistant/core/pull/108488
+[#108491]: https://github.com/home-assistant/core/pull/108491
+[#108494]: https://github.com/home-assistant/core/pull/108494
+[#108495]: https://github.com/home-assistant/core/pull/108495
+[#108498]: https://github.com/home-assistant/core/pull/108498
+[#108499]: https://github.com/home-assistant/core/pull/108499
+[#108501]: https://github.com/home-assistant/core/pull/108501
+[#108506]: https://github.com/home-assistant/core/pull/108506
+[#108507]: https://github.com/home-assistant/core/pull/108507
+[#108508]: https://github.com/home-assistant/core/pull/108508
+[#108511]: https://github.com/home-assistant/core/pull/108511
+[#108532]: https://github.com/home-assistant/core/pull/108532
+[#108534]: https://github.com/home-assistant/core/pull/108534
+[#108543]: https://github.com/home-assistant/core/pull/108543
+[#108544]: https://github.com/home-assistant/core/pull/108544
+[#108546]: https://github.com/home-assistant/core/pull/108546
+[#108554]: https://github.com/home-assistant/core/pull/108554
+[#108556]: https://github.com/home-assistant/core/pull/108556
+[#108559]: https://github.com/home-assistant/core/pull/108559
+[#108564]: https://github.com/home-assistant/core/pull/108564
+[#108568]: https://github.com/home-assistant/core/pull/108568
+[#108569]: https://github.com/home-assistant/core/pull/108569
+[#108571]: https://github.com/home-assistant/core/pull/108571
+[#108576]: https://github.com/home-assistant/core/pull/108576
+[#108586]: https://github.com/home-assistant/core/pull/108586
+[#108587]: https://github.com/home-assistant/core/pull/108587
+[#108594]: https://github.com/home-assistant/core/pull/108594
+[#108599]: https://github.com/home-assistant/core/pull/108599
+[#108600]: https://github.com/home-assistant/core/pull/108600
+[#108604]: https://github.com/home-assistant/core/pull/108604
+[#108605]: https://github.com/home-assistant/core/pull/108605
+[#108606]: https://github.com/home-assistant/core/pull/108606
+[#108608]: https://github.com/home-assistant/core/pull/108608
+[#108611]: https://github.com/home-assistant/core/pull/108611
+[#108617]: https://github.com/home-assistant/core/pull/108617
+[#108623]: https://github.com/home-assistant/core/pull/108623
+[#108624]: https://github.com/home-assistant/core/pull/108624
+[#108625]: https://github.com/home-assistant/core/pull/108625
+[#108626]: https://github.com/home-assistant/core/pull/108626
+[#108627]: https://github.com/home-assistant/core/pull/108627
+[#108628]: https://github.com/home-assistant/core/pull/108628
+[#108629]: https://github.com/home-assistant/core/pull/108629
+[#108632]: https://github.com/home-assistant/core/pull/108632
+[#108633]: https://github.com/home-assistant/core/pull/108633
+[#108634]: https://github.com/home-assistant/core/pull/108634
+[#108637]: https://github.com/home-assistant/core/pull/108637
+[#108638]: https://github.com/home-assistant/core/pull/108638
+[#108639]: https://github.com/home-assistant/core/pull/108639
+[#108643]: https://github.com/home-assistant/core/pull/108643
+[#108645]: https://github.com/home-assistant/core/pull/108645
+[#108648]: https://github.com/home-assistant/core/pull/108648
+[#108650]: https://github.com/home-assistant/core/pull/108650
+[#108653]: https://github.com/home-assistant/core/pull/108653
+[#108656]: https://github.com/home-assistant/core/pull/108656
+[#108667]: https://github.com/home-assistant/core/pull/108667
+[#108668]: https://github.com/home-assistant/core/pull/108668
+[#108669]: https://github.com/home-assistant/core/pull/108669
+[#108670]: https://github.com/home-assistant/core/pull/108670
+[#108671]: https://github.com/home-assistant/core/pull/108671
+[#108672]: https://github.com/home-assistant/core/pull/108672
+[#108673]: https://github.com/home-assistant/core/pull/108673
+[#108674]: https://github.com/home-assistant/core/pull/108674
+[#108675]: https://github.com/home-assistant/core/pull/108675
+[#108676]: https://github.com/home-assistant/core/pull/108676
+[#108677]: https://github.com/home-assistant/core/pull/108677
+[#108678]: https://github.com/home-assistant/core/pull/108678
+[#108679]: https://github.com/home-assistant/core/pull/108679
+[#108680]: https://github.com/home-assistant/core/pull/108680
+[#108681]: https://github.com/home-assistant/core/pull/108681
+[#108682]: https://github.com/home-assistant/core/pull/108682
+[#108683]: https://github.com/home-assistant/core/pull/108683
+[#108684]: https://github.com/home-assistant/core/pull/108684
+[#108686]: https://github.com/home-assistant/core/pull/108686
+[#108688]: https://github.com/home-assistant/core/pull/108688
+[#108689]: https://github.com/home-assistant/core/pull/108689
+[#108690]: https://github.com/home-assistant/core/pull/108690
+[#108691]: https://github.com/home-assistant/core/pull/108691
+[#108692]: https://github.com/home-assistant/core/pull/108692
+[#108695]: https://github.com/home-assistant/core/pull/108695
+[#108699]: https://github.com/home-assistant/core/pull/108699
+[#108703]: https://github.com/home-assistant/core/pull/108703
+[#108704]: https://github.com/home-assistant/core/pull/108704
+[#108710]: https://github.com/home-assistant/core/pull/108710
+[#108713]: https://github.com/home-assistant/core/pull/108713
+[#108715]: https://github.com/home-assistant/core/pull/108715
+[#108716]: https://github.com/home-assistant/core/pull/108716
+[#108717]: https://github.com/home-assistant/core/pull/108717
+[#108718]: https://github.com/home-assistant/core/pull/108718
+[#108719]: https://github.com/home-assistant/core/pull/108719
+[#108721]: https://github.com/home-assistant/core/pull/108721
+[#108722]: https://github.com/home-assistant/core/pull/108722
+[#108723]: https://github.com/home-assistant/core/pull/108723
+[#108725]: https://github.com/home-assistant/core/pull/108725
+[#108726]: https://github.com/home-assistant/core/pull/108726
+[#108727]: https://github.com/home-assistant/core/pull/108727
+[#108730]: https://github.com/home-assistant/core/pull/108730
+[#108731]: https://github.com/home-assistant/core/pull/108731
+[#108733]: https://github.com/home-assistant/core/pull/108733
+[#108734]: https://github.com/home-assistant/core/pull/108734
+[#108735]: https://github.com/home-assistant/core/pull/108735
+[#108736]: https://github.com/home-assistant/core/pull/108736
+[#108737]: https://github.com/home-assistant/core/pull/108737
+[#108738]: https://github.com/home-assistant/core/pull/108738
+[#108740]: https://github.com/home-assistant/core/pull/108740
+[#108741]: https://github.com/home-assistant/core/pull/108741
+[#108750]: https://github.com/home-assistant/core/pull/108750
+[#108751]: https://github.com/home-assistant/core/pull/108751
+[#108753]: https://github.com/home-assistant/core/pull/108753
+[#108756]: https://github.com/home-assistant/core/pull/108756
+[#108757]: https://github.com/home-assistant/core/pull/108757
+[#108758]: https://github.com/home-assistant/core/pull/108758
+[#108759]: https://github.com/home-assistant/core/pull/108759
+[#108760]: https://github.com/home-assistant/core/pull/108760
+[#108761]: https://github.com/home-assistant/core/pull/108761
+[#108762]: https://github.com/home-assistant/core/pull/108762
+[#108766]: https://github.com/home-assistant/core/pull/108766
+[#108767]: https://github.com/home-assistant/core/pull/108767
+[#108768]: https://github.com/home-assistant/core/pull/108768
+[#108769]: https://github.com/home-assistant/core/pull/108769
+[#108770]: https://github.com/home-assistant/core/pull/108770
+[#108772]: https://github.com/home-assistant/core/pull/108772
+[#108779]: https://github.com/home-assistant/core/pull/108779
+[#108783]: https://github.com/home-assistant/core/pull/108783
+[#108787]: https://github.com/home-assistant/core/pull/108787
+[#108788]: https://github.com/home-assistant/core/pull/108788
+[#108791]: https://github.com/home-assistant/core/pull/108791
+[#108798]: https://github.com/home-assistant/core/pull/108798
+[#108800]: https://github.com/home-assistant/core/pull/108800
+[#108801]: https://github.com/home-assistant/core/pull/108801
+[#108804]: https://github.com/home-assistant/core/pull/108804
+[#108805]: https://github.com/home-assistant/core/pull/108805
+[#108811]: https://github.com/home-assistant/core/pull/108811
+[#108812]: https://github.com/home-assistant/core/pull/108812
+[#108815]: https://github.com/home-assistant/core/pull/108815
+[#108818]: https://github.com/home-assistant/core/pull/108818
+[#108820]: https://github.com/home-assistant/core/pull/108820
+[#108823]: https://github.com/home-assistant/core/pull/108823
+[#108826]: https://github.com/home-assistant/core/pull/108826
+[#108830]: https://github.com/home-assistant/core/pull/108830
+[#108831]: https://github.com/home-assistant/core/pull/108831
+[#108838]: https://github.com/home-assistant/core/pull/108838
+[#108848]: https://github.com/home-assistant/core/pull/108848
+[#108850]: https://github.com/home-assistant/core/pull/108850
+[#108851]: https://github.com/home-assistant/core/pull/108851
+[#108852]: https://github.com/home-assistant/core/pull/108852
+[#108853]: https://github.com/home-assistant/core/pull/108853
+[#108854]: https://github.com/home-assistant/core/pull/108854
+[#108855]: https://github.com/home-assistant/core/pull/108855
+[#108856]: https://github.com/home-assistant/core/pull/108856
+[#108858]: https://github.com/home-assistant/core/pull/108858
+[#108861]: https://github.com/home-assistant/core/pull/108861
+[#108862]: https://github.com/home-assistant/core/pull/108862
+[#108865]: https://github.com/home-assistant/core/pull/108865
+[#108866]: https://github.com/home-assistant/core/pull/108866
+[#108868]: https://github.com/home-assistant/core/pull/108868
+[#108870]: https://github.com/home-assistant/core/pull/108870
+[#108875]: https://github.com/home-assistant/core/pull/108875
+[#108877]: https://github.com/home-assistant/core/pull/108877
+[#108884]: https://github.com/home-assistant/core/pull/108884
+[#108885]: https://github.com/home-assistant/core/pull/108885
+[#108889]: https://github.com/home-assistant/core/pull/108889
+[#108890]: https://github.com/home-assistant/core/pull/108890
+[#108892]: https://github.com/home-assistant/core/pull/108892
+[#108893]: https://github.com/home-assistant/core/pull/108893
+[#108894]: https://github.com/home-assistant/core/pull/108894
+[#108895]: https://github.com/home-assistant/core/pull/108895
+[#108898]: https://github.com/home-assistant/core/pull/108898
+[#108899]: https://github.com/home-assistant/core/pull/108899
+[#108900]: https://github.com/home-assistant/core/pull/108900
+[#108902]: https://github.com/home-assistant/core/pull/108902
+[#108909]: https://github.com/home-assistant/core/pull/108909
+[#108910]: https://github.com/home-assistant/core/pull/108910
+[#108911]: https://github.com/home-assistant/core/pull/108911
+[#108913]: https://github.com/home-assistant/core/pull/108913
+[#108924]: https://github.com/home-assistant/core/pull/108924
+[#108933]: https://github.com/home-assistant/core/pull/108933
+[#108934]: https://github.com/home-assistant/core/pull/108934
+[#108935]: https://github.com/home-assistant/core/pull/108935
+[#108938]: https://github.com/home-assistant/core/pull/108938
+[#108939]: https://github.com/home-assistant/core/pull/108939
+[#108942]: https://github.com/home-assistant/core/pull/108942
+[#108944]: https://github.com/home-assistant/core/pull/108944
+[#108947]: https://github.com/home-assistant/core/pull/108947
+[#108951]: https://github.com/home-assistant/core/pull/108951
+[#108952]: https://github.com/home-assistant/core/pull/108952
+[#108956]: https://github.com/home-assistant/core/pull/108956
+[#108962]: https://github.com/home-assistant/core/pull/108962
+[#108964]: https://github.com/home-assistant/core/pull/108964
+[#108965]: https://github.com/home-assistant/core/pull/108965
+[#108966]: https://github.com/home-assistant/core/pull/108966
+[#108967]: https://github.com/home-assistant/core/pull/108967
+[#108969]: https://github.com/home-assistant/core/pull/108969
+[#108970]: https://github.com/home-assistant/core/pull/108970
+[#108971]: https://github.com/home-assistant/core/pull/108971
+[#108972]: https://github.com/home-assistant/core/pull/108972
+[#108973]: https://github.com/home-assistant/core/pull/108973
+[#108976]: https://github.com/home-assistant/core/pull/108976
+[#108977]: https://github.com/home-assistant/core/pull/108977
+[#108978]: https://github.com/home-assistant/core/pull/108978
+[#108979]: https://github.com/home-assistant/core/pull/108979
+[#108984]: https://github.com/home-assistant/core/pull/108984
+[#108987]: https://github.com/home-assistant/core/pull/108987
+[#108990]: https://github.com/home-assistant/core/pull/108990
+[#108992]: https://github.com/home-assistant/core/pull/108992
+[#109000]: https://github.com/home-assistant/core/pull/109000
+[#109002]: https://github.com/home-assistant/core/pull/109002
+[#109004]: https://github.com/home-assistant/core/pull/109004
+[#109008]: https://github.com/home-assistant/core/pull/109008
+[#109010]: https://github.com/home-assistant/core/pull/109010
+[#109015]: https://github.com/home-assistant/core/pull/109015
+[#109016]: https://github.com/home-assistant/core/pull/109016
+[#109020]: https://github.com/home-assistant/core/pull/109020
+[#109027]: https://github.com/home-assistant/core/pull/109027
+[#109031]: https://github.com/home-assistant/core/pull/109031
+[#109032]: https://github.com/home-assistant/core/pull/109032
+[#109033]: https://github.com/home-assistant/core/pull/109033
+[#109038]: https://github.com/home-assistant/core/pull/109038
+[#109039]: https://github.com/home-assistant/core/pull/109039
+[#109042]: https://github.com/home-assistant/core/pull/109042
+[#109044]: https://github.com/home-assistant/core/pull/109044
+[#109045]: https://github.com/home-assistant/core/pull/109045
+[#109048]: https://github.com/home-assistant/core/pull/109048
+[#109054]: https://github.com/home-assistant/core/pull/109054
+[#109061]: https://github.com/home-assistant/core/pull/109061
+[#109064]: https://github.com/home-assistant/core/pull/109064
+[#109065]: https://github.com/home-assistant/core/pull/109065
+[#109066]: https://github.com/home-assistant/core/pull/109066
+[#109067]: https://github.com/home-assistant/core/pull/109067
+[#109068]: https://github.com/home-assistant/core/pull/109068
+[#109069]: https://github.com/home-assistant/core/pull/109069
+[#109071]: https://github.com/home-assistant/core/pull/109071
+[#109072]: https://github.com/home-assistant/core/pull/109072
+[#109076]: https://github.com/home-assistant/core/pull/109076
+[#109077]: https://github.com/home-assistant/core/pull/109077
+[#109078]: https://github.com/home-assistant/core/pull/109078
+[#109079]: https://github.com/home-assistant/core/pull/109079
+[#109083]: https://github.com/home-assistant/core/pull/109083
+[#109085]: https://github.com/home-assistant/core/pull/109085
+[#109089]: https://github.com/home-assistant/core/pull/109089
+[#109091]: https://github.com/home-assistant/core/pull/109091
+[#109098]: https://github.com/home-assistant/core/pull/109098
+[#109101]: https://github.com/home-assistant/core/pull/109101
+[#109105]: https://github.com/home-assistant/core/pull/109105
+[#109106]: https://github.com/home-assistant/core/pull/109106
+[#109107]: https://github.com/home-assistant/core/pull/109107
+[#109108]: https://github.com/home-assistant/core/pull/109108
+[#109109]: https://github.com/home-assistant/core/pull/109109
+[#109110]: https://github.com/home-assistant/core/pull/109110
+[#109111]: https://github.com/home-assistant/core/pull/109111
+[#109113]: https://github.com/home-assistant/core/pull/109113
+[#109114]: https://github.com/home-assistant/core/pull/109114
+[#109115]: https://github.com/home-assistant/core/pull/109115
+[#109116]: https://github.com/home-assistant/core/pull/109116
+[#109118]: https://github.com/home-assistant/core/pull/109118
+[#109124]: https://github.com/home-assistant/core/pull/109124
+[#109126]: https://github.com/home-assistant/core/pull/109126
+[#109127]: https://github.com/home-assistant/core/pull/109127
+[#109131]: https://github.com/home-assistant/core/pull/109131
+[#109132]: https://github.com/home-assistant/core/pull/109132
+[#109134]: https://github.com/home-assistant/core/pull/109134
+[#109135]: https://github.com/home-assistant/core/pull/109135
+[#109137]: https://github.com/home-assistant/core/pull/109137
+[#109139]: https://github.com/home-assistant/core/pull/109139
+[#109141]: https://github.com/home-assistant/core/pull/109141
+[#109145]: https://github.com/home-assistant/core/pull/109145
+[#109146]: https://github.com/home-assistant/core/pull/109146
+[#109147]: https://github.com/home-assistant/core/pull/109147
+[#109149]: https://github.com/home-assistant/core/pull/109149
+[#109150]: https://github.com/home-assistant/core/pull/109150
+[#109151]: https://github.com/home-assistant/core/pull/109151
+[#109152]: https://github.com/home-assistant/core/pull/109152
+[#109154]: https://github.com/home-assistant/core/pull/109154
+[#109155]: https://github.com/home-assistant/core/pull/109155
+[#109156]: https://github.com/home-assistant/core/pull/109156
+[#109157]: https://github.com/home-assistant/core/pull/109157
+[#109160]: https://github.com/home-assistant/core/pull/109160
+[#109161]: https://github.com/home-assistant/core/pull/109161
+[#109163]: https://github.com/home-assistant/core/pull/109163
+[#109167]: https://github.com/home-assistant/core/pull/109167
+[#109168]: https://github.com/home-assistant/core/pull/109168
+[#109170]: https://github.com/home-assistant/core/pull/109170
+[#109173]: https://github.com/home-assistant/core/pull/109173
+[#109174]: https://github.com/home-assistant/core/pull/109174
+[#109178]: https://github.com/home-assistant/core/pull/109178
+[#109180]: https://github.com/home-assistant/core/pull/109180
+[#109184]: https://github.com/home-assistant/core/pull/109184
+[#109186]: https://github.com/home-assistant/core/pull/109186
+[#109189]: https://github.com/home-assistant/core/pull/109189
+[#109192]: https://github.com/home-assistant/core/pull/109192
+[#109195]: https://github.com/home-assistant/core/pull/109195
+[#109200]: https://github.com/home-assistant/core/pull/109200
+[#109202]: https://github.com/home-assistant/core/pull/109202
+[#109207]: https://github.com/home-assistant/core/pull/109207
+[#109209]: https://github.com/home-assistant/core/pull/109209
+[#109214]: https://github.com/home-assistant/core/pull/109214
+[#109216]: https://github.com/home-assistant/core/pull/109216
+[#109217]: https://github.com/home-assistant/core/pull/109217
+[#109218]: https://github.com/home-assistant/core/pull/109218
+[#109219]: https://github.com/home-assistant/core/pull/109219
+[#109220]: https://github.com/home-assistant/core/pull/109220
+[#109224]: https://github.com/home-assistant/core/pull/109224
+[#109226]: https://github.com/home-assistant/core/pull/109226
+[#109231]: https://github.com/home-assistant/core/pull/109231
+[#66130]: https://github.com/home-assistant/core/pull/66130
+[#80061]: https://github.com/home-assistant/core/pull/80061
+[#86522]: https://github.com/home-assistant/core/pull/86522
+[#93462]: https://github.com/home-assistant/core/pull/93462
+[#93750]: https://github.com/home-assistant/core/pull/93750
+[#93768]: https://github.com/home-assistant/core/pull/93768
+[#96723]: https://github.com/home-assistant/core/pull/96723
+[#97208]: https://github.com/home-assistant/core/pull/97208
+[#97681]: https://github.com/home-assistant/core/pull/97681
+[#97937]: https://github.com/home-assistant/core/pull/97937
+[#98136]: https://github.com/home-assistant/core/pull/98136
+[#98145]: https://github.com/home-assistant/core/pull/98145
+[#98489]: https://github.com/home-assistant/core/pull/98489
+[#98703]: https://github.com/home-assistant/core/pull/98703
+[#99212]: https://github.com/home-assistant/core/pull/99212
+[#99670]: https://github.com/home-assistant/core/pull/99670
+[#99752]: https://github.com/home-assistant/core/pull/99752
+[@2franix]: https://github.com/2franix
+[@AngellusMortis]: https://github.com/AngellusMortis
+[@Anonym-tsk]: https://github.com/Anonym-tsk
+[@Antoni-Czaplicki]: https://github.com/Antoni-Czaplicki
+[@BHSPitMonkey]: https://github.com/BHSPitMonkey
+[@Bre77]: https://github.com/Bre77
+[@CFenner]: https://github.com/CFenner
+[@Caius-Bonus]: https://github.com/Caius-Bonus
+[@Cereal2nd]: https://github.com/Cereal2nd
+[@DCSBL]: https://github.com/DCSBL
+[@DellanX]: https://github.com/DellanX
+[@Ernst79]: https://github.com/Ernst79
+[@Flash1232]: https://github.com/Flash1232
+[@FlorianOosterhof]: https://github.com/FlorianOosterhof
+[@Floris272]: https://github.com/Floris272
+[@Galorhallen]: https://github.com/Galorhallen
+[@Guy293]: https://github.com/Guy293
+[@IsakNyberg]: https://github.com/IsakNyberg
+[@JeroenvIS]: https://github.com/JeroenvIS
+[@Kane610]: https://github.com/Kane610
+[@LaStrada]: https://github.com/LaStrada
+[@Lash-L]: https://github.com/Lash-L
+[@Luap99]: https://github.com/Luap99
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MisterCommand]: https://github.com/MisterCommand
+[@Moustachauve]: https://github.com/Moustachauve
+[@Noltari]: https://github.com/Noltari
+[@RJPoelstra]: https://github.com/RJPoelstra
+[@RickeyWard]: https://github.com/RickeyWard
+[@RoboMagus]: https://github.com/RoboMagus
+[@SLaks]: https://github.com/SLaks
+[@Shulyaka]: https://github.com/Shulyaka
+[@SteveEasley]: https://github.com/SteveEasley
+[@TNTLarsn]: https://github.com/TNTLarsn
+[@TheFes]: https://github.com/TheFes
+[@TheJulianJES]: https://github.com/TheJulianJES
+[@ThePapaG]: https://github.com/ThePapaG
+[@Xitee1]: https://github.com/Xitee1
+[@abmantis]: https://github.com/abmantis
+[@agners]: https://github.com/agners
+[@al-s]: https://github.com/al-s
+[@allenporter]: https://github.com/allenporter
+[@angristan]: https://github.com/angristan
+[@ashleigh-hopkins]: https://github.com/ashleigh-hopkins
+[@autinerd]: https://github.com/autinerd
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bazwilliams]: https://github.com/bazwilliams
+[@bdr99]: https://github.com/bdr99
+[@bdraco]: https://github.com/bdraco
+[@bgoncal]: https://github.com/bgoncal
+[@boralyl]: https://github.com/boralyl
+[@bouwew]: https://github.com/bouwew
+[@bramkragten]: https://github.com/bramkragten
+[@bubonicbob]: https://github.com/bubonicbob
+[@catsmanac]: https://github.com/catsmanac
+[@cbrherms]: https://github.com/cbrherms
+[@cdce8p]: https://github.com/cdce8p
+[@cgtobi]: https://github.com/cgtobi
+[@chatziko]: https://github.com/chatziko
+[@chemelli74]: https://github.com/chemelli74
+[@codesalatdev]: https://github.com/codesalatdev
+[@codyc1515]: https://github.com/codyc1515
+[@cottsay]: https://github.com/cottsay
+[@crug80]: https://github.com/crug80
+[@danieldotnl]: https://github.com/danieldotnl
+[@danzel]: https://github.com/danzel
+[@dcmeglio]: https://github.com/dcmeglio
+[@dgomes]: https://github.com/dgomes
+[@dieselrabbit]: https://github.com/dieselrabbit
+[@dmulcahey]: https://github.com/dmulcahey
+[@dougiteixeira]: https://github.com/dougiteixeira
+[@eclair4151]: https://github.com/eclair4151
+[@edenhaus]: https://github.com/edenhaus
+[@eifinger]: https://github.com/eifinger
+[@elmurato]: https://github.com/elmurato
+[@elupus]: https://github.com/elupus
+[@emichael]: https://github.com/emichael
+[@emontnemery]: https://github.com/emontnemery
+[@emtunc]: https://github.com/emtunc
+[@engrbm87]: https://github.com/engrbm87
+[@erwindouna]: https://github.com/erwindouna
+[@escoand]: https://github.com/escoand
+[@esev]: https://github.com/esev
+[@exxamalte]: https://github.com/exxamalte
+[@farmio]: https://github.com/farmio
+[@frenck]: https://github.com/frenck
+[@frwickst]: https://github.com/frwickst
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@h3ss]: https://github.com/h3ss
+[@idstein]: https://github.com/idstein
+[@janiversen]: https://github.com/janiversen
+[@jbouwh]: https://github.com/jbouwh
+[@jeverley]: https://github.com/jeverley
+[@jimmyd-be]: https://github.com/jimmyd-be
+[@jjlawren]: https://github.com/jjlawren
+[@jklausa]: https://github.com/jklausa
+[@jkrall]: https://github.com/jkrall
+[@jmwaldrip]: https://github.com/jmwaldrip
+[@joostlek]: https://github.com/joostlek
+[@jpbede]: https://github.com/jpbede
+[@jrieger]: https://github.com/jrieger
+[@julienfreche]: https://github.com/julienfreche
+[@karwosts]: https://github.com/karwosts
+[@kbickar]: https://github.com/kbickar
+[@killer0071234]: https://github.com/killer0071234
+[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@kpine]: https://github.com/kpine
+[@krmarien]: https://github.com/krmarien
+[@kvanzuijlen]: https://github.com/kvanzuijlen
+[@lellky]: https://github.com/lellky
+[@lhgravendeel]: https://github.com/lhgravendeel
+[@liudger]: https://github.com/liudger
+[@ludeeus]: https://github.com/ludeeus
+[@mandarons]: https://github.com/mandarons
+[@marcelveldt]: https://github.com/marcelveldt
+[@marcolivierarsenault]: https://github.com/marcolivierarsenault
+[@matrixd2]: https://github.com/matrixd2
+[@matt7aylor]: https://github.com/matt7aylor
+[@max2697]: https://github.com/max2697
+[@miaucl]: https://github.com/miaucl
+[@mib1185]: https://github.com/mib1185
+[@michaelarnauts]: https://github.com/michaelarnauts
+[@mikey0000]: https://github.com/mikey0000
+[@mill1000]: https://github.com/mill1000
+[@mj23000]: https://github.com/mj23000
+[@mkmer]: https://github.com/mkmer
+[@msavazzi]: https://github.com/msavazzi
+[@myztillx]: https://github.com/myztillx
+[@nprez83]: https://github.com/nprez83
+[@pajzo]: https://github.com/pajzo
+[@peebles]: https://github.com/peebles
+[@peterkh]: https://github.com/peterkh
+[@piitaya]: https://github.com/piitaya
+[@pnbruckner]: https://github.com/pnbruckner
+[@puddly]: https://github.com/puddly
+[@raman325]: https://github.com/raman325
+[@rappenze]: https://github.com/rappenze
+[@reedy]: https://github.com/reedy
+[@rfverbruggen]: https://github.com/rfverbruggen
+[@rikroe]: https://github.com/rikroe
+[@rokam]: https://github.com/rokam
+[@rsiv]: https://github.com/rsiv
+[@rytilahti]: https://github.com/rytilahti
+[@sdb9696]: https://github.com/sdb9696
+[@slovdahl]: https://github.com/slovdahl
+[@starkillerOG]: https://github.com/starkillerOG
+[@steffenrapp]: https://github.com/steffenrapp
+[@stegm]: https://github.com/stegm
+[@suaveolent]: https://github.com/suaveolent
+[@synesthesiam]: https://github.com/synesthesiam
+[@teharris1]: https://github.com/teharris1
+[@thomaskistler]: https://github.com/thomaskistler
+[@tkdrob]: https://github.com/tkdrob
+[@tronikos]: https://github.com/tronikos
+[@wilburCforce]: https://github.com/wilburCforce
+[@wittypluck]: https://github.com/wittypluck
+[@xMohamd]: https://github.com/xMohamd
+[@xeniter]: https://github.com/xeniter
+[@xmow49]: https://github.com/xmow49
+[@yuvalabou]: https://github.com/yuvalabou
+[@zweckj]: https://github.com/zweckj
+[@zxdavb]: https://github.com/zxdavb
+[abode docs]: /integrations/abode/
+[acmeda docs]: /integrations/acmeda/
+[adax docs]: /integrations/adax/
+[adguard docs]: /integrations/adguard/
+[advantage_air docs]: /integrations/advantage_air/
+[aemet docs]: /integrations/aemet/
+[agent_dvr docs]: /integrations/agent_dvr/
+[air_quality docs]: /integrations/air_quality/
+[airly docs]: /integrations/airly/
+[airnow docs]: /integrations/airnow/
+[airq docs]: /integrations/airq/
+[airthings docs]: /integrations/airthings/
+[airthings_ble docs]: /integrations/airthings_ble/
+[airtouch5 docs]: /integrations/airtouch5/
+[airvisual_pro docs]: /integrations/airvisual_pro/
+[airzone_cloud docs]: /integrations/airzone_cloud/
+[alarm_control_panel docs]: /integrations/alarm_control_panel/
+[alexa docs]: /integrations/alexa/
+[alpha_vantage docs]: /integrations/alpha_vantage/
+[amazon_polly docs]: /integrations/amazon_polly/
+[amberelectric docs]: /integrations/amberelectric/
+[ambiclimate docs]: /integrations/ambiclimate/
+[ambient_station docs]: /integrations/ambient_station/
+[analytics_insights docs]: /integrations/analytics_insights/
+[androidtv docs]: /integrations/androidtv/
+[anel_pwrctrl docs]: /integrations/anel_pwrctrl/
+[anova docs]: /integrations/anova/
+[anthemav docs]: /integrations/anthemav/
+[aosmith docs]: /integrations/aosmith/
+[apache_kafka docs]: /integrations/apache_kafka/
+[api docs]: /integrations/api/
+[apple_tv docs]: /integrations/apple_tv/
+[apprise docs]: /integrations/apprise/
+[aprs docs]: /integrations/aprs/
+[aquostv docs]: /integrations/aquostv/
+[arcam_fmj docs]: /integrations/arcam_fmj/
+[arris_tg2492lg docs]: /integrations/arris_tg2492lg/
+[aruba docs]: /integrations/aruba/
+[arwn docs]: /integrations/arwn/
+[aseko_pool_live docs]: /integrations/aseko_pool_live/
+[assist_pipeline docs]: /integrations/assist_pipeline/
+[asterisk_cdr docs]: /integrations/asterisk_cdr/
+[asterisk_mbox docs]: /integrations/asterisk_mbox/
+[asuswrt docs]: /integrations/asuswrt/
+[atag docs]: /integrations/atag/
+[august docs]: /integrations/august/
+[aurora docs]: /integrations/aurora/
+[aurora_abb_powerone docs]: /integrations/aurora_abb_powerone/
+[aussie_broadband docs]: /integrations/aussie_broadband/
+[auth docs]: /integrations/auth/
+[automation docs]: /integrations/automation/
+[awair docs]: /integrations/awair/
+[aws docs]: /integrations/aws/
+[axis docs]: /integrations/axis/
+[balboa docs]: /integrations/balboa/
+[bangolufsen docs]: /integrations/bangolufsen/
+[blink docs]: /integrations/blink/
+[blue_current docs]: /integrations/blue_current/
+[blueprint docs]: /integrations/blueprint/
+[bluetooth docs]: /integrations/bluetooth/
+[bond docs]: /integrations/bond/
+[bring docs]: /integrations/bring/
+[bsblan docs]: /integrations/bsblan/
+[bthome docs]: /integrations/bthome/
+[button docs]: /integrations/button/
+[calendar docs]: /integrations/calendar/
+[camera docs]: /integrations/camera/
+[cast docs]: /integrations/cast/
+[cert_expiry docs]: /integrations/cert_expiry/
+[cisco_webex_teams docs]: /integrations/cisco_webex_teams/
+[climate docs]: /integrations/climate/
+[cloud docs]: /integrations/cloud/
+[cloudflare docs]: /integrations/cloudflare/
+[co2signal docs]: /integrations/co2signal/
+[coautilities docs]: /integrations/coautilities/
+[comelit docs]: /integrations/comelit/
+[command_line docs]: /integrations/command_line/
+[config docs]: /integrations/config/
+[conversation docs]: /integrations/conversation/
+[coolmaster docs]: /integrations/coolmaster/
+[counter docs]: /integrations/counter/
+[cover docs]: /integrations/cover/
+[daikin docs]: /integrations/daikin/
+[date docs]: /integrations/date/
+[datetime docs]: /integrations/datetime/
+[deconz docs]: /integrations/deconz/
+[default_config docs]: /integrations/default_config/
+[demo docs]: /integrations/demo/
+[denonavr docs]: /integrations/denonavr/
+[derivative docs]: /integrations/derivative/
+[device_tracker docs]: /integrations/device_tracker/
+[diagnostics docs]: /integrations/diagnostics/
+[discovergy docs]: /integrations/discovergy/
+[dlink docs]: /integrations/dlink/
+[dlna_dms docs]: /integrations/dlna_dms/
+[dnsip docs]: /integrations/dnsip/
+[downloader docs]: /integrations/downloader/
+[drop_connect docs]: /integrations/drop_connect/
+[duckdns docs]: /integrations/duckdns/
+[duotecno docs]: /integrations/duotecno/
+[dwd_weather_warnings docs]: /integrations/dwd_weather_warnings/
+[easyenergy docs]: /integrations/easyenergy/
+[ecobee docs]: /integrations/ecobee/
+[ecovacs docs]: /integrations/ecovacs/
+[ecowitt docs]: /integrations/ecowitt/
+[efergy docs]: /integrations/efergy/
+[electric_kiwi docs]: /integrations/electric_kiwi/
+[elvia docs]: /integrations/elvia/
+[emonitor docs]: /integrations/emonitor/
+[energyzero docs]: /integrations/energyzero/
+[enigma2 docs]: /integrations/enigma2/
+[enphase_envoy docs]: /integrations/enphase_envoy/
+[epion docs]: /integrations/epion/
+[esphome docs]: /integrations/esphome/
+[event docs]: /integrations/event/
+[evohome docs]: /integrations/evohome/
+[ezviz docs]: /integrations/ezviz/
+[facebox docs]: /integrations/facebox/
+[fan docs]: /integrations/fan/
+[fastdotcom docs]: /integrations/fastdotcom/
+[ffmpeg docs]: /integrations/ffmpeg/
+[ffmpeg_motion docs]: /integrations/ffmpeg_motion/
+[ffmpeg_noise docs]: /integrations/ffmpeg_noise/
+[fibaro docs]: /integrations/fibaro/
+[filter docs]: /integrations/filter/
+[fitbit docs]: /integrations/fitbit/
+[flexit_bacnet docs]: /integrations/flexit_bacnet/
+[flume docs]: /integrations/flume/
+[folder_watcher docs]: /integrations/folder_watcher/
+[forecast_solar docs]: /integrations/forecast_solar/
+[foscam docs]: /integrations/foscam/
+[freebox docs]: /integrations/freebox/
+[fritz docs]: /integrations/fritz/
+[fritzbox docs]: /integrations/fritzbox/
+[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/
+[frontend docs]: /integrations/frontend/
+[gdacs docs]: /integrations/gdacs/
+[generic docs]: /integrations/generic/
+[generic_hygrostat docs]: /integrations/generic_hygrostat/
+[generic_thermostat docs]: /integrations/generic_thermostat/
+[geo_json_events docs]: /integrations/geo_json_events/
+[geo_location docs]: /integrations/geo_location/
+[geo_rss_events docs]: /integrations/geo_rss_events/
+[geonetnz_volcano docs]: /integrations/geonetnz_volcano/
+[github docs]: /integrations/github/
+[glances docs]: /integrations/glances/
+[google docs]: /integrations/google/
+[google_assistant docs]: /integrations/google_assistant/
+[google_assistant_sdk docs]: /integrations/google_assistant_sdk/
+[google_generative_ai_conversation docs]: /integrations/google_generative_ai_conversation/
+[google_translate docs]: /integrations/google_translate/
+[google_travel_time docs]: /integrations/google_travel_time/
+[govee_ble docs]: /integrations/govee_ble/
+[govee_light_api docs]: /integrations/govee_light_api/
+[govee_light_local docs]: /integrations/govee_light_local/
+[gpsd docs]: /integrations/gpsd/
+[group docs]: /integrations/group/
+[guardian docs]: /integrations/guardian/
+[harmony docs]: /integrations/harmony/
+[hassio docs]: /integrations/hassio/
+[history_stats docs]: /integrations/history_stats/
+[hko docs]: /integrations/hko/
+[holiday docs]: /integrations/holiday/
+[home_connect docs]: /integrations/home_connect/
+[home_plus_control docs]: /integrations/home_plus_control/
+[homeassistant docs]: /integrations/homeassistant/
+[homeassistant_analytics docs]: /integrations/homeassistant_analytics/
+[homeassistant_hardware docs]: /integrations/homeassistant_hardware/
+[homeassistant_sky_connect docs]: /integrations/homeassistant_sky_connect/
+[homeassistant_yellow docs]: /integrations/homeassistant_yellow/
+[homekit docs]: /integrations/homekit/
+[homekit_controller docs]: /integrations/homekit_controller/
+[homematicip_cloud docs]: /integrations/homematicip_cloud/
+[homewizard docs]: /integrations/homewizard/
+[honeywell docs]: /integrations/honeywell/
+[http docs]: /integrations/http/
+[huawei_lte docs]: /integrations/huawei_lte/
+[hue docs]: /integrations/hue/
+[huisbaasje docs]: /integrations/huisbaasje/
+[humidifier docs]: /integrations/humidifier/
+[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/
+[huum docs]: /integrations/huum/
+[huumtest docs]: /integrations/huumtest/
+[hydrawise docs]: /integrations/hydrawise/
+[ibeacon docs]: /integrations/ibeacon/
+[idasen_desk docs]: /integrations/idasen_desk/
+[ifttt docs]: /integrations/ifttt/
+[image docs]: /integrations/image/
+[imap docs]: /integrations/imap/
+[improv_ble docs]: /integrations/improv_ble/
+[input_boolean docs]: /integrations/input_boolean/
+[insteon docs]: /integrations/insteon/
+[intellifire docs]: /integrations/intellifire/
+[intent docs]: /integrations/intent/
+[intesishome docs]: /integrations/intesishome/
+[ios docs]: /integrations/ios/
+[isy994 docs]: /integrations/isy994/
+[izone docs]: /integrations/izone/
+[jellyfin docs]: /integrations/jellyfin/
+[justnimbus docs]: /integrations/justnimbus/
+[jvc_projector docs]: /integrations/jvc_projector/
+[kitchen_sink docs]: /integrations/kitchen_sink/
+[kmtronic docs]: /integrations/kmtronic/
+[knx docs]: /integrations/knx/
+[kostal_plenticore docs]: /integrations/kostal_plenticore/
+[lamarzocco docs]: /integrations/lamarzocco/
+[lawn_mower docs]: /integrations/lawn_mower/
+[leaone docs]: /integrations/leaone/
+[led_ble docs]: /integrations/led_ble/
+[life360 docs]: /integrations/life360/
+[light docs]: /integrations/light/
+[limitlessled docs]: /integrations/limitlessled/
+[linux_battery docs]: /integrations/linux_battery/
+[litejet docs]: /integrations/litejet/
+[litterrobot docs]: /integrations/litterrobot/
+[local_todo docs]: /integrations/local_todo/
+[lock docs]: /integrations/lock/
+[logbook docs]: /integrations/logbook/
+[logger docs]: /integrations/logger/
+[lupusec docs]: /integrations/lupusec/
+[lutron docs]: /integrations/lutron/
+[lutron_caseta docs]: /integrations/lutron_caseta/
+[lyric docs]: /integrations/lyric/
+[matter docs]: /integrations/matter/
+[media_extractor docs]: /integrations/media_extractor/
+[media_player docs]: /integrations/media_player/
+[melcloud docs]: /integrations/melcloud/
+[met docs]: /integrations/met/
+[met_eireann docs]: /integrations/met_eireann/
+[meteo_france docs]: /integrations/meteo_france/
+[meteoclimatic docs]: /integrations/meteoclimatic/
+[metoffice docs]: /integrations/metoffice/
+[mill docs]: /integrations/mill/
+[minecraft_server docs]: /integrations/minecraft_server/
+[mobile_app docs]: /integrations/mobile_app/
+[modbus docs]: /integrations/modbus/
+[modern_forms docs]: /integrations/modern_forms/
+[moehlenhoff_alpha2 docs]: /integrations/moehlenhoff_alpha2/
+[mopeka docs]: /integrations/mopeka/
+[motionmount docs]: /integrations/motionmount/
+[mpd docs]: /integrations/mpd/
+[mqtt docs]: /integrations/mqtt/
+[mullvad docs]: /integrations/mullvad/
+[myuplink docs]: /integrations/myuplink/
+[neato docs]: /integrations/neato/
+[netatmo docs]: /integrations/netatmo/
+[netgear_lte docs]: /integrations/netgear_lte/
+[nexia docs]: /integrations/nexia/
+[nextcloud docs]: /integrations/nextcloud/
+[nibe_heatpump docs]: /integrations/nibe_heatpump/
+[nightscout docs]: /integrations/nightscout/
+[notion docs]: /integrations/notion/
+[nsw_rural_fire_service_feed docs]: /integrations/nsw_rural_fire_service_feed/
+[nuki docs]: /integrations/nuki/
+[number docs]: /integrations/number/
+[nut docs]: /integrations/nut/
+[octoprint docs]: /integrations/octoprint/
+[onboarding docs]: /integrations/onboarding/
+[onvif docs]: /integrations/onvif/
+[opengarage docs]: /integrations/opengarage/
+[openhome docs]: /integrations/openhome/
+[opensky docs]: /integrations/opensky/
+[opentherm_gw docs]: /integrations/opentherm_gw/
+[openuv docs]: /integrations/openuv/
+[opower docs]: /integrations/opower/
+[oralb docs]: /integrations/oralb/
+[osoenergy docs]: /integrations/osoenergy/
+[otbr docs]: /integrations/otbr/
+[overkiz docs]: /integrations/overkiz/
+[p1_monitor docs]: /integrations/p1_monitor/
+[pegel_online docs]: /integrations/pegel_online/
+[permobil docs]: /integrations/permobil/
+[persistent_notification docs]: /integrations/persistent_notification/
+[person docs]: /integrations/person/
+[picnic docs]: /integrations/picnic/
+[ping docs]: /integrations/ping/
+[plugwise docs]: /integrations/plugwise/
+[plum_lightpad docs]: /integrations/plum_lightpad/
+[powerwall docs]: /integrations/powerwall/
+[prometheus docs]: /integrations/prometheus/
+[proximity docs]: /integrations/proximity/
+[purpleair docs]: /integrations/purpleair/
+[python_script docs]: /integrations/python_script/
+[qnap docs]: /integrations/qnap/
+[rabbitair docs]: /integrations/rabbitair/
+[rachio docs]: /integrations/rachio/
+[rainforest_raven docs]: /integrations/rainforest_raven/
+[rainmachine docs]: /integrations/rainmachine/
+[recorder docs]: /integrations/recorder/
+[remote docs]: /integrations/remote/
+[renson docs]: /integrations/renson/
+[reolink docs]: /integrations/reolink/
+[repairs docs]: /integrations/repairs/
+[rest_command docs]: /integrations/rest_command/
+[ring docs]: /integrations/ring/
+[risco docs]: /integrations/risco/
+[roborock docs]: /integrations/roborock/
+[romy docs]: /integrations/romy/
+[roomba docs]: /integrations/roomba/
+[route53 docs]: /integrations/route53/
+[samsungtv docs]: /integrations/samsungtv/
+[scene docs]: /integrations/scene/
+[scrape docs]: /integrations/scrape/
+[screenlogic docs]: /integrations/screenlogic/
+[script docs]: /integrations/script/
+[search docs]: /integrations/search/
+[select docs]: /integrations/select/
+[sense docs]: /integrations/sense/
+[sensibo docs]: /integrations/sensibo/
+[sensor docs]: /integrations/sensor/
+[sensorpush docs]: /integrations/sensorpush/
+[sentry docs]: /integrations/sentry/
+[shelly docs]: /integrations/shelly/
+[shopping_list docs]: /integrations/shopping_list/
+[simplisafe docs]: /integrations/simplisafe/
+[siren docs]: /integrations/siren/
+[sleepiq docs]: /integrations/sleepiq/
+[smartthings docs]: /integrations/smartthings/
+[snooz docs]: /integrations/snooz/
+[soma docs]: /integrations/soma/
+[songpal docs]: /integrations/songpal/
+[sonos docs]: /integrations/sonos/
+[spotify docs]: /integrations/spotify/
+[sql docs]: /integrations/sql/
+[starline docs]: /integrations/starline/
+[streamlabswater docs]: /integrations/streamlabswater/
+[stt docs]: /integrations/stt/
+[suez_water docs]: /integrations/suez_water/
+[sun docs]: /integrations/sun/
+[sunweg docs]: /integrations/sunweg/
+[surepetcare docs]: /integrations/surepetcare/
+[swiss_public_transport docs]: /integrations/swiss_public_transport/
+[switch_as_x docs]: /integrations/switch_as_x/
+[switchbot docs]: /integrations/switchbot/
+[switchbot_cloud docs]: /integrations/switchbot_cloud/
+[synology_dsm docs]: /integrations/synology_dsm/
+[system_health docs]: /integrations/system_health/
+[system_log docs]: /integrations/system_log/
+[systemmonitor docs]: /integrations/systemmonitor/
+[tado docs]: /integrations/tado/
+[tami4 docs]: /integrations/tami4/
+[tankerkoenig docs]: /integrations/tankerkoenig/
+[technove docs]: /integrations/technove/
+[tedee docs]: /integrations/tedee/
+[template docs]: /integrations/template/
+[tesla_wall_connector docs]: /integrations/tesla_wall_connector/
+[teslemetry docs]: /integrations/teslemetry/
+[tessie docs]: /integrations/tessie/
+[text docs]: /integrations/text/
+[thermobeacon docs]: /integrations/thermobeacon/
+[thermopro docs]: /integrations/thermopro/
+[thread docs]: /integrations/thread/
+[time docs]: /integrations/time/
+[time_date docs]: /integrations/time_date/
+[timer docs]: /integrations/timer/
+[tod docs]: /integrations/tod/
+[todo docs]: /integrations/todo/
+[todoist docs]: /integrations/todoist/
+[tolo docs]: /integrations/tolo/
+[toon docs]: /integrations/toon/
+[tplink docs]: /integrations/tplink/
+[tplink_lte docs]: /integrations/tplink_lte/
+[traccar docs]: /integrations/traccar/
+[traccar_server docs]: /integrations/traccar_server/
+[trace docs]: /integrations/trace/
+[tractive docs]: /integrations/tractive/
+[tradfri docs]: /integrations/tradfri/
+[trafikverket_camera docs]: /integrations/trafikverket_camera/
+[trafikverket_ferry docs]: /integrations/trafikverket_ferry/
+[trafikverket_train docs]: /integrations/trafikverket_train/
+[trafikverket_weatherstation docs]: /integrations/trafikverket_weatherstation/
+[tts docs]: /integrations/tts/
+[tuya docs]: /integrations/tuya/
+[unifi docs]: /integrations/unifi/
+[unifiprotect docs]: /integrations/unifiprotect/
+[update docs]: /integrations/update/
+[utility_meter docs]: /integrations/utility_meter/
+[vacuum docs]: /integrations/vacuum/
+[vallox docs]: /integrations/vallox/
+[valve docs]: /integrations/valve/
+[velbus docs]: /integrations/velbus/
+[vera docs]: /integrations/vera/
+[vicare docs]: /integrations/vicare/
+[vizio docs]: /integrations/vizio/
+[vodafone_station docs]: /integrations/vodafone_station/
+[voip docs]: /integrations/voip/
+[vulcan docs]: /integrations/vulcan/
+[wake_word docs]: /integrations/wake_word/
+[waqi docs]: /integrations/waqi/
+[water_heater docs]: /integrations/water_heater/
+[weather docs]: /integrations/weather/
+[webhook docs]: /integrations/webhook/
+[webostv docs]: /integrations/webostv/
+[websocket_api docs]: /integrations/websocket_api/
+[wemo docs]: /integrations/wemo/
+[withings docs]: /integrations/withings/
+[wled docs]: /integrations/wled/
+[workday docs]: /integrations/workday/
+[wyoming docs]: /integrations/wyoming/
+[xiaomi_ble docs]: /integrations/xiaomi_ble/
+[xiaomi_miio docs]: /integrations/xiaomi_miio/
+[yalexs_ble docs]: /integrations/yalexs_ble/
+[yeelight docs]: /integrations/yeelight/
+[yolink docs]: /integrations/yolink/
+[youtube docs]: /integrations/youtube/
+[zamg docs]: /integrations/zamg/
+[zeroconf docs]: /integrations/zeroconf/
+[zha docs]: /integrations/zha/
+[zodiac docs]: /integrations/zodiac/
+[zone docs]: /integrations/zone/
+[zwave_js docs]: /integrations/zwave_js/
diff --git a/source/images/blog/2024-02/social.png b/source/images/blog/2024-02/social.png
new file mode 100644
index 00000000000..a155737c8b7
Binary files /dev/null and b/source/images/blog/2024-02/social.png differ