diff --git a/CODEOWNERS b/CODEOWNERS index f6976ad1233..c6651ee3f2f 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -38,6 +38,7 @@ source/_integrations/alert.markdown @home-assistant/core @frenck source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy @jbouwh source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy @jbouwh source/_integrations/amberelectric.markdown @madpilot +source/_integrations/ambient_network.markdown @thomaskistler source/_integrations/ambient_station.markdown @bachya source/_integrations/amcrest.markdown @flacjacket source/_integrations/amp_motorization.markdown @starkillerOG @@ -125,7 +126,6 @@ source/_integrations/camera.markdown @home-assistant/core source/_integrations/cast.markdown @emontnemery source/_integrations/ccm15.markdown @ocalvo source/_integrations/cert_expiry.markdown @jjlawren -source/_integrations/circuit.markdown @braam source/_integrations/cisco_ios.markdown @fbradyirl source/_integrations/cisco_mobility_express.markdown @fbradyirl source/_integrations/cisco_webex_teams.markdown @fbradyirl @@ -182,7 +182,7 @@ source/_integrations/discogs.markdown @thibmaek source/_integrations/discord.markdown @tkdrob source/_integrations/discovergy.markdown @jpbede source/_integrations/dlink.markdown @tkdrob -source/_integrations/dlna_dmr.markdown @StevenLooman @chishm +source/_integrations/dlna_dmr.markdown @chishm source/_integrations/dlna_dms.markdown @chishm source/_integrations/dnsip.markdown @gjohansson-ST source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket @@ -227,9 +227,10 @@ 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/epic_games_store.markdown @hacf-fr @Quentame source/_integrations/epion.markdown @lhgravendeel source/_integrations/epson.markdown @pszafer -source/_integrations/epsonworkforce.markdown @ThaStealth +source/_integrations/eq3btsmart.markdown @eulemitkeule @dbuezas source/_integrations/escea.markdown @lazdavila source/_integrations/esera_onewire.markdown @garbled1 @epenet source/_integrations/esphome.markdown @OttoWinter @jesserockz @kbx81 @bdraco @@ -263,7 +264,7 @@ source/_integrations/flux_led.markdown @icemanch source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck source/_integrations/forked_daapd.markdown @uvjustin source/_integrations/fortios.markdown @kimfrellsen -source/_integrations/foscam.markdown @skgsergio @krmarien +source/_integrations/foscam.markdown @krmarien source/_integrations/freebox.markdown @hacf-fr @Quentame source/_integrations/freedompro.markdown @stefano055415 source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74 @mib1185 @@ -341,6 +342,7 @@ source/_integrations/homeassistant_yellow.markdown @home-assistant/core source/_integrations/homekit.markdown @bdraco source/_integrations/homekit_controller.markdown @Jc2k @bdraco source/_integrations/homematic.markdown @pvizeli +source/_integrations/homematicip_cloud.markdown @hahn-th source/_integrations/homewizard.markdown @DCSBL source/_integrations/honeywell.markdown @rdfurman @mkmer source/_integrations/http.markdown @home-assistant/core @@ -388,7 +390,7 @@ source/_integrations/iperf3.markdown @rohankapoorcom source/_integrations/ipma.markdown @dgomes source/_integrations/iqvia.markdown @bachya source/_integrations/irish_rail_transport.markdown @ttroy50 -source/_integrations/islamic_prayer_times.markdown @engrbm87 +source/_integrations/islamic_prayer_times.markdown @engrbm87 @cpfair source/_integrations/ismartwindow.markdown @starkillerOG source/_integrations/iss.markdown @DurgNomis-drol source/_integrations/isy994.markdown @bdraco @shbatm @@ -430,7 +432,7 @@ 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 -source/_integrations/lg_netcast.markdown @Drafteed +source/_integrations/lg_netcast.markdown @Drafteed @splinter98 source/_integrations/lidarr.markdown @tkdrob source/_integrations/light.markdown @home-assistant/core source/_integrations/linear_garage_door.markdown @IceBotYT @@ -494,7 +496,7 @@ source/_integrations/mopeka.markdown @bdraco source/_integrations/motion_blinds.markdown @starkillerOG source/_integrations/motionblinds_ble.markdown @LennP @jerrybboy source/_integrations/motioneye.markdown @dermotduffy -source/_integrations/mqtt.markdown @emontnemery @jbouwh +source/_integrations/mqtt.markdown @emontnemery @jbouwh @bdraco source/_integrations/msteams.markdown @peroyvind source/_integrations/mullvad.markdown @meichthys source/_integrations/mutesync.markdown @currentoor @@ -573,7 +575,6 @@ source/_integrations/overkiz.markdown @imicknl @vlebourl @tetienne @nyroDev @tro source/_integrations/ovo_energy.markdown @timmo001 source/_integrations/p1_monitor.markdown @klaasnicolaas source/_integrations/panel_custom.markdown @home-assistant/frontend -source/_integrations/panel_iframe.markdown @home-assistant/frontend source/_integrations/pcs_lighting.markdown @gwww source/_integrations/peco.markdown @IceBotYT source/_integrations/peco_opower.markdown @tronikos @@ -583,7 +584,7 @@ source/_integrations/permobil.markdown @IsakNyberg source/_integrations/persistent_notification.markdown @home-assistant/core source/_integrations/pge.markdown @tronikos source/_integrations/philips_js.markdown @elupus -source/_integrations/pi_hole.markdown @johnluetke @shenxn +source/_integrations/pi_hole.markdown @shenxn source/_integrations/picnic.markdown @corneyl source/_integrations/pilight.markdown @trekky12 source/_integrations/ping.markdown @jpbede @@ -615,7 +616,7 @@ source/_integrations/pushover.markdown @engrbm87 source/_integrations/pvoutput.markdown @frenck source/_integrations/pvpc_hourly_pricing.markdown @azogue source/_integrations/qbittorrent.markdown @geoffreylagaisse @finder39 -source/_integrations/qingping.markdown @bdraco @skgsergio +source/_integrations/qingping.markdown @bdraco source/_integrations/qld_bushfire.markdown @exxamalte source/_integrations/qnap.markdown @disforw source/_integrations/qnap_qsw.markdown @Noltari @@ -669,7 +670,7 @@ source/_integrations/ruckus_unleashed.markdown @lanrat @ms264556 @gabe565 source/_integrations/ruuvi_gateway.markdown @akx source/_integrations/ruuvitag_ble.markdown @akx source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc -source/_integrations/sabnzbd.markdown @shaiu +source/_integrations/sabnzbd.markdown @shaiu @jpbede source/_integrations/saj.markdown @fredericvl source/_integrations/samsam.markdown @klaasnicolaas source/_integrations/samsungtv.markdown @chemelli74 @epenet @@ -731,8 +732,9 @@ source/_integrations/smhi.markdown @gjohansson-ST source/_integrations/sms.markdown @ocalvo source/_integrations/smud.markdown @tronikos source/_integrations/snapcast.markdown @luar123 +source/_integrations/snmp.markdown @nmaggioni source/_integrations/snooz.markdown @AustinBrunkhorst -source/_integrations/solaredge.markdown @frenck +source/_integrations/solaredge.markdown @frenck @bdraco source/_integrations/solaredge_local.markdown @drobtravels @scheric source/_integrations/solarlog.markdown @Ernst79 source/_integrations/solax.markdown @squishykid @@ -740,7 +742,7 @@ source/_integrations/soma.markdown @ratsept @sebfortier2288 source/_integrations/somfy.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 source/_integrations/sonarr.markdown @ctalkington source/_integrations/songpal.markdown @rytilahti @shenxn -source/_integrations/sonos.markdown @jjlawren +source/_integrations/sonos.markdown @jjlawren @peterager source/_integrations/soundtouch.markdown @kroimon source/_integrations/spaceapi.markdown @fabaff source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87 @@ -776,7 +778,7 @@ source/_integrations/switchbot.markdown @danielhiversen @RenierM26 @murtas @Elos source/_integrations/switchbot_cloud.markdown @SeraphicRav source/_integrations/switcher_kis.markdown @thecode source/_integrations/switchmate.markdown @danielhiversen @qiz-li -source/_integrations/symfonisk.markdown @jjlawren +source/_integrations/symfonisk.markdown @jjlawren @peterager source/_integrations/syncthing.markdown @zhulik source/_integrations/syncthru.markdown @nielstron source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185 @@ -899,7 +901,7 @@ source/_integrations/wirelesstag.markdown @sergeymaysak source/_integrations/withings.markdown @joostlek source/_integrations/wiz.markdown @sbidy source/_integrations/wled.markdown @frenck -source/_integrations/wolflink.markdown @adamkrol93 +source/_integrations/wolflink.markdown @adamkrol93 @mtielen source/_integrations/workday.markdown @fabaff @gjohansson-ST source/_integrations/worldclock.markdown @fabaff source/_integrations/ws66i.markdown @ssaenger diff --git a/Gemfile.lock b/Gemfile.lock index 8e6dff73936..d692e942dca 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11366) + sorbet-runtime (0.5.11367) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) diff --git a/_config.yml b/_config.yml index 94290300322..ac22da874e2 100644 --- a/_config.yml +++ b/_config.yml @@ -109,9 +109,9 @@ social: # Home Assistant release details current_major_version: 2024 -current_minor_version: 4 -current_patch_version: 4 -date_released: 2024-04-23 +current_minor_version: 5 +current_patch_version: 0 +date_released: 2024-05-01 # 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/ambient_network.markdown b/source/_integrations/ambient_network.markdown index b094f424ff1..5e4cc442749 100644 --- a/source/_integrations/ambient_network.markdown +++ b/source/_integrations/ambient_network.markdown @@ -3,7 +3,7 @@ title: Ambient Weather Network description: How to integrate Ambient Weather Network station within Home Assistant. ha_category: - Weather -ha_release: 2024.1 +ha_release: 2024.5 ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: @@ -11,7 +11,7 @@ ha_codeowners: ha_domain: ambient_network ha_platforms: - sensor -ha_integration_type: hub +ha_integration_type: service --- The **Ambient Weather Network** {% term integration %} retrieves local weather station information diff --git a/source/_integrations/arris_tg2492lg.markdown b/source/_integrations/arris_tg2492lg.markdown index d391a3433b9..2ec082a22a7 100644 --- a/source/_integrations/arris_tg2492lg.markdown +++ b/source/_integrations/arris_tg2492lg.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_iot_class: Local Polling ha_platforms: - device_tracker -ha_integration_type: integration +ha_integration_type: hub --- This platform allows you to detect presence by looking at connected devices to an Arris TG2492LG router. diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index 2bef3e153d8..d437c9d77db 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -78,4 +78,3 @@ The steps on recovering from a backup depend on the installation type and use ca 3. If you migrate from a {% term "Home Assistant Core" %} or {% term "Home Assistant Container" %} installation to {% term "Home Assistant Operating System" %}: - You can use these backup files during [onboarding](/getting-started/onboarding/) to recover your installation from backup. - diff --git a/source/_integrations/bticino.markdown b/source/_integrations/bticino.markdown index 52fd08de35e..36a08a851f0 100644 --- a/source/_integrations/bticino.markdown +++ b/source/_integrations/bticino.markdown @@ -2,6 +2,7 @@ title: BTicino description: Connect and control your BTicino devices using the Netatmo integration ha_category: + - Binary sensor - Camera - Climate - Cover @@ -22,6 +23,7 @@ ha_codeowners: - '@cgtobi' ha_config_flow: true ha_platforms: + - binary_sensor - camera - climate - cover diff --git a/source/_integrations/bubendorff.markdown b/source/_integrations/bubendorff.markdown index 505466de6ab..993fb43bdac 100644 --- a/source/_integrations/bubendorff.markdown +++ b/source/_integrations/bubendorff.markdown @@ -2,6 +2,7 @@ title: Bubendorff description: Connect and control your Bubendorff devices using the Netatmo integration ha_category: + - Binary sensor - Camera - Climate - Cover @@ -22,6 +23,7 @@ ha_codeowners: - '@cgtobi' ha_config_flow: true ha_platforms: + - binary_sensor - camera - climate - cover diff --git a/source/_integrations/comelit.markdown b/source/_integrations/comelit.markdown index 26ecc7201be..1864b138f10 100644 --- a/source/_integrations/comelit.markdown +++ b/source/_integrations/comelit.markdown @@ -23,7 +23,8 @@ ha_platforms: - light - sensor - switch -ha_integration_type: integration +ha_integration_type: hub +ha_quality_scale: silver --- The Comelit SimpleHome integration allows you to control your [Comelit home automation devices](https://comelitgroup.it/installatore/offerta/domotica-e-smart-home). diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown index 3eafecb231e..9c7e353bd94 100644 --- a/source/_integrations/conversation.markdown +++ b/source/_integrations/conversation.markdown @@ -5,7 +5,6 @@ ha_category: - Voice ha_release: 0.7 ha_quality_scale: internal -ha_iot_class: Local Push ha_codeowners: - '@home-assistant/core' - '@synesthesiam' diff --git a/source/_integrations/demo.markdown b/source/_integrations/demo.markdown index 5e7e19f9087..9255c290192 100644 --- a/source/_integrations/demo.markdown +++ b/source/_integrations/demo.markdown @@ -20,6 +20,7 @@ ha_platforms: - climate - cover - date + - datetime - device_tracker - event - fan diff --git a/source/_integrations/dlna_dmr.markdown b/source/_integrations/dlna_dmr.markdown index a915098ab80..3f2018e566e 100644 --- a/source/_integrations/dlna_dmr.markdown +++ b/source/_integrations/dlna_dmr.markdown @@ -7,7 +7,6 @@ ha_release: 0.76 ha_iot_class: Local Push ha_config_flow: true ha_codeowners: - - '@StevenLooman' - '@chishm' ha_domain: dlna_dmr ha_platforms: diff --git a/source/_integrations/dsmr_reader.markdown b/source/_integrations/dsmr_reader.markdown index ce1253c1946..2dc388f016f 100644 --- a/source/_integrations/dsmr_reader.markdown +++ b/source/_integrations/dsmr_reader.markdown @@ -13,6 +13,7 @@ ha_codeowners: - '@glodenox' ha_domain: dsmr_reader ha_platforms: + - diagnostics - sensor ha_integration_type: integration --- diff --git a/source/_integrations/ecovacs.markdown b/source/_integrations/ecovacs.markdown index b54caba1fa5..a8b7b579ec3 100644 --- a/source/_integrations/ecovacs.markdown +++ b/source/_integrations/ecovacs.markdown @@ -20,6 +20,7 @@ ha_platforms: - diagnostics - event - image + - lawn_mower - number - select - sensor diff --git a/source/_integrations/enigma2.markdown b/source/_integrations/enigma2.markdown index 1de52dd34a1..e917968c9f9 100644 --- a/source/_integrations/enigma2.markdown +++ b/source/_integrations/enigma2.markdown @@ -11,7 +11,7 @@ ha_domain: enigma2 ha_config_flow: true ha_platforms: - media_player -ha_integration_type: integration +ha_integration_type: device --- The `enigma2` platform allows you to control a Linux based set-top box which is running [Enigma2](https://github.com/oe-alliance/oe-alliance-enigma2) with the OpenWebif plugin installed. diff --git a/source/_integrations/eq3btsmart.markdown b/source/_integrations/eq3btsmart.markdown index 741e986f326..7ba58443c1b 100644 --- a/source/_integrations/eq3btsmart.markdown +++ b/source/_integrations/eq3btsmart.markdown @@ -1,7 +1,8 @@ --- title: eQ-3 Bluetooth Smart Thermostats description: Instructions on how to integrate eQ-3 Bluetooth Smart Thermostats into Home Assistant. -ha_category: Climate +ha_category: + - Climate ha_iot_class: Local Polling ha_release: 2024.5 ha_config_flow: true @@ -9,7 +10,10 @@ ha_codeowners: - '@eulemitkeule' - '@dbuezas' ha_domain: eq3btsmart -ha_integration_type: integration +ha_integration_type: device +ha_quality_scale: silver +ha_platforms: + - climate --- The `eq3btsmart` climate platform allows you to integrate eQ-3 Bluetooth Smart Thermostats. diff --git a/source/_integrations/fastdotcom.markdown b/source/_integrations/fastdotcom.markdown index dd46f63bdaa..dd8d9b5fb59 100644 --- a/source/_integrations/fastdotcom.markdown +++ b/source/_integrations/fastdotcom.markdown @@ -15,6 +15,7 @@ ha_platforms: - diagnostics - sensor ha_integration_type: integration +ha_quality_scale: gold --- The `fastdotcom` integration uses the [Fast.com](https://fast.com/) web service to measure network bandwidth performance. diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown index c229a681bb4..54abf407e3b 100644 --- a/source/_integrations/foscam.markdown +++ b/source/_integrations/foscam.markdown @@ -6,7 +6,6 @@ ha_category: ha_iot_class: Local Polling ha_release: 0.7.3 ha_codeowners: - - '@skgsergio' - '@krmarien' ha_domain: foscam ha_config_flow: true diff --git a/source/_integrations/home_plus_control.markdown b/source/_integrations/home_plus_control.markdown index 7ae7f2dfbe5..e8d1d1c263c 100644 --- a/source/_integrations/home_plus_control.markdown +++ b/source/_integrations/home_plus_control.markdown @@ -2,6 +2,7 @@ title: Legrand Home+ Control description: Connect and control your Legrand Home+ Control devices using the Netatmo integration ha_category: + - Binary sensor - Camera - Climate - Cover @@ -22,6 +23,7 @@ ha_codeowners: - '@cgtobi' ha_config_flow: true ha_platforms: + - binary_sensor - camera - climate - cover diff --git a/source/_integrations/homeassistant_sky_connect.markdown b/source/_integrations/homeassistant_sky_connect.markdown index 5c9f45a03ec..e4059a75725 100644 --- a/source/_integrations/homeassistant_sky_connect.markdown +++ b/source/_integrations/homeassistant_sky_connect.markdown @@ -7,7 +7,7 @@ ha_category: ha_codeowners: - '@home-assistant/core' ha_domain: homeassistant_sky_connect -ha_integration_type: hardware +ha_integration_type: device ha_config_flow: true --- diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index 5da3de12d45..2fdba5f94ee 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -29,6 +29,8 @@ ha_platforms: - switch - weather ha_integration_type: integration +ha_codeowners: + - '@hahn-th' --- The [HomematicIP](https://www.homematic-ip.com/) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. Use at your own risk. diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown index e637bffaff7..954d3194552 100644 --- a/source/_integrations/http.markdown +++ b/source/_integrations/http.markdown @@ -126,33 +126,6 @@ http: - 172.30.33.0/24 # You may also provide the subnet mask ``` -## Strict connection mode - -The strict connection mode specifies how the Home Assistant instance should react to unauthenticated requests to endpoints that don't require authentication. - **Requests from private networks are always allowed.** Make sure to set up the reverse proxy correctly; otherwise, this feature will be useless. - -The following modes are supported: -- `disabled`: Strict connection mode is disabled, and all unauthenticated requests are allowed (Same as before `2024.5`). -- `guard_page`: Home Assistant will answer any unauthenticated requests with a guard page, informing the user about the strict connection mode. -- `drop_connection`: Home Assistant will drop/close the connection for any unauthenticated requests, similar to when no Home Assistant instance is running. - -If activated, Home Assistant will not even show the login page. To log in on a new device, the user needs to ask the instance admin for a temporary link. The instance admin can generate the link by calling the service `http.create_temporary_strict_connection_url`. - -### Service `http.create_temporary_strict_connection_url` - -This service can be used to generate a temporary link with a validity of one hour to log in on a new device when strict connection is enabled. -It has no arguments and can only be called by admins. - -This service populates [response data](/docs/scripts/service-calls#use-templates-to-handle-response-data) -with two URLs described in detail below. - -| Response data | Description | Example | -| ---------------------- | ----------- | -------- | -| `url` | Temporary URL pointing to `login.home-assistant.io` | `https://login.home-assistant.io?u=https...` -| `direct_url` | Temporary URL pointing directly to your instance | `https://example.com/auth/strict...` - -We recommend using the `url` response value so the user gets a generic help page when, for example, the token is expired. Especially when the mode is set to `drop_connection`, the user will get no feedback and will not know if there is a general problem or if, for example, the token is expired. - ## APIs On top of the `http` integration is a [REST API](https://developers.home-assistant.io/docs/api/rest/), [Python API](https://developers.home-assistant.io/docs/api_lib_index/) and [WebSocket API](https://developers.home-assistant.io/docs/api/websocket/) available. diff --git a/source/_integrations/islamic_prayer_times.markdown b/source/_integrations/islamic_prayer_times.markdown index a9297517183..281b409f590 100644 --- a/source/_integrations/islamic_prayer_times.markdown +++ b/source/_integrations/islamic_prayer_times.markdown @@ -3,12 +3,13 @@ title: Islamic Prayer Times description: Instructions on how to integrate the Islamic Prayer Times integration within Home Assistant. ha_category: - Sensor -ha_iot_class: Cloud Polling +ha_iot_class: Calculated ha_release: 0.85 ha_config_flow: true ha_domain: islamic_prayer_times ha_codeowners: - '@engrbm87' + - '@cpfair' ha_platforms: - sensor ha_integration_type: integration diff --git a/source/_integrations/jvc_projector.markdown b/source/_integrations/jvc_projector.markdown index 9adecfb44c2..6546abff3fe 100644 --- a/source/_integrations/jvc_projector.markdown +++ b/source/_integrations/jvc_projector.markdown @@ -13,6 +13,7 @@ ha_domain: jvc_projector ha_platforms: - binary_sensor - remote + - select - sensor ha_integration_type: device --- diff --git a/source/_integrations/kitchen_sink.markdown b/source/_integrations/kitchen_sink.markdown index 9e0c80ccfe3..388b2ea832f 100644 --- a/source/_integrations/kitchen_sink.markdown +++ b/source/_integrations/kitchen_sink.markdown @@ -14,6 +14,7 @@ ha_platforms: - image - lawn_mower - lock + - notify - sensor - switch - weather diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index 7c270614383..0b74b7f25c5 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -34,6 +34,7 @@ ha_platforms: - climate - cover - date + - datetime - diagnostics - fan - light diff --git a/source/_integrations/legrand.markdown b/source/_integrations/legrand.markdown index 385839bbfe2..13e13117fdf 100644 --- a/source/_integrations/legrand.markdown +++ b/source/_integrations/legrand.markdown @@ -2,6 +2,7 @@ title: Legrand description: Connect and control your Legrand devices using the Netatmo integration ha_category: + - Binary sensor - Camera - Climate - Cover @@ -22,6 +23,7 @@ ha_codeowners: - '@cgtobi' ha_config_flow: true ha_platforms: + - binary_sensor - camera - climate - cover diff --git a/source/_integrations/lg_netcast.markdown b/source/_integrations/lg_netcast.markdown index bf1dfe8f381..197b22c3458 100644 --- a/source/_integrations/lg_netcast.markdown +++ b/source/_integrations/lg_netcast.markdown @@ -10,7 +10,9 @@ ha_platforms: - media_player ha_codeowners: - '@Drafteed' -ha_integration_type: integration + - '@splinter98' +ha_integration_type: device +ha_config_flow: true --- The `lg_netcast` platform allows you to control a LG Smart TV running NetCast 3.0 (LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013). For the new LG WebOS TV's use the [webostv](/integrations/webostv#media-player) platform. diff --git a/source/_integrations/lyric.markdown b/source/_integrations/lyric.markdown index df28c2e5da5..d0d88d8d942 100644 --- a/source/_integrations/lyric.markdown +++ b/source/_integrations/lyric.markdown @@ -67,4 +67,4 @@ Additional sensors will be created for each room sensor accessory assigned to a | Name | Description | | -------------------- | ----------------------------------------------------------------- | | Room Temperature | The temperature reported from a room sensor accessory | -| Room Humidity | The humidity reported from a room accessory | \ No newline at end of file +| Room Humidity | The humidity reported from a room accessory | diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index 7e070a96b22..87c40efb75a 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -33,6 +33,7 @@ related: title: HomeKit - docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread title: Adding an Apple HomeKit device through Thread +ha_zeroconf: true --- The Matter integration allows you to control Matter devices on your local Wi-Fi or {% term Thread %} network. diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index cecd3b73004..9cf7a2036f8 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -11,6 +11,7 @@ ha_config_flow: true ha_codeowners: - '@emontnemery' - '@jbouwh' + - '@bdraco' ha_domain: mqtt ha_platforms: - alarm_control_panel @@ -36,13 +37,14 @@ ha_platforms: - siren - switch - tag + - tag - text - update - vacuum - valve - water_heater ha_integration_type: integration -ha_quality_scale: gold +ha_quality_scale: platinum --- MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things" connectivity protocol on top of TCP/IP. It allows extremely lightweight publish/subscribe messaging transport. diff --git a/source/_integrations/openai_conversation.markdown b/source/_integrations/openai_conversation.markdown index 94d0ffeb1b4..89896eccdec 100644 --- a/source/_integrations/openai_conversation.markdown +++ b/source/_integrations/openai_conversation.markdown @@ -10,6 +10,8 @@ ha_codeowners: - '@balloob' ha_domain: openai_conversation ha_integration_type: service +ha_platforms: + - conversation --- The OpenAI integration adds a conversation agent powered by [OpenAI](https://www.openai.com) in Home Assistant. diff --git a/source/_integrations/osoenergy.markdown b/source/_integrations/osoenergy.markdown index eed00259e7b..b988c3f4ca4 100644 --- a/source/_integrations/osoenergy.markdown +++ b/source/_integrations/osoenergy.markdown @@ -10,6 +10,7 @@ ha_codeowners: - '@osohotwateriot' ha_domain: osoenergy ha_platforms: + - sensor - water_heater ha_config_flow: true ha_integration_type: integration diff --git a/source/_integrations/pi_hole.markdown b/source/_integrations/pi_hole.markdown index 95ba487346b..cb1e27b6ef6 100644 --- a/source/_integrations/pi_hole.markdown +++ b/source/_integrations/pi_hole.markdown @@ -10,7 +10,6 @@ ha_iot_class: Local Polling ha_config_flow: true ha_release: 0.28 ha_codeowners: - - '@johnluetke' - '@shenxn' ha_domain: pi_hole ha_platforms: diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index aa899f6d980..d1cf0089f33 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -50,4 +50,3 @@ Firmware update guides can be found here: - Use the **username** and **password** you entered during the initial PrusaLink setup (not the API key). {% include integrations/config_flow.md %} - diff --git a/source/_integrations/qbittorrent.markdown b/source/_integrations/qbittorrent.markdown index 90ea7c3670b..7a1cdd61ac1 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/qingping.markdown b/source/_integrations/qingping.markdown index f93d3d1d635..973d65a5396 100644 --- a/source/_integrations/qingping.markdown +++ b/source/_integrations/qingping.markdown @@ -9,7 +9,6 @@ ha_release: 2022.9 ha_iot_class: Local Push ha_codeowners: - '@bdraco' - - '@skgsergio' ha_domain: qingping ha_config_flow: true ha_platforms: diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index c0f29e084d4..41d05d6d762 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -364,4 +364,3 @@ Therefore, ensure no Global SSL certificate is configured in the [`configuration An SSL certificate can still be enforced for external connections, by, for instance, using the [NGINX add-on](https://github.com/home-assistant/addons/tree/master/nginx_proxy) or [NGINX Proxy Manager add-on](https://github.com/hassio-addons/addon-nginx-proxy-manager) instead of a globally enforced SSL certificate. To see if a Reolink integration is currently using `ONVIF push`, `ONVIF long polling` or `Fast polling`, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"event connection": "ONVIF push"\"ONVIF long polling"\"Fast polling"` in the txt file. - diff --git a/source/_integrations/romy.markdown b/source/_integrations/romy.markdown index b72e5717af2..efda02b6c37 100644 --- a/source/_integrations/romy.markdown +++ b/source/_integrations/romy.markdown @@ -10,6 +10,8 @@ ha_codeowners: - '@xeniter' ha_domain: romy ha_platforms: + - binary_sensor + - sensor - vacuum ha_integration_type: integration ha_zeroconf: true diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown index 1cc6ba6c2cc..521d5e46b5e 100644 --- a/source/_integrations/sabnzbd.markdown +++ b/source/_integrations/sabnzbd.markdown @@ -9,6 +9,7 @@ ha_config_flow: true ha_iot_class: Local Polling ha_codeowners: - '@shaiu' + - '@jpbede' ha_domain: sabnzbd ha_platforms: - sensor diff --git a/source/_integrations/sharkiq.markdown b/source/_integrations/sharkiq.markdown index 828888e797a..1d38e4187fe 100644 --- a/source/_integrations/sharkiq.markdown +++ b/source/_integrations/sharkiq.markdown @@ -59,4 +59,3 @@ If you want to use the area selector in the service's UI, you need to format the If the integration frequently disconnects and you have an ad blocker runner like [Pi-hole](https://pi-hole.net/) or [AdGuard](https://adguard.com) add `ads-field.aylanetworks.com` to the Allow list . This domain is needed for the connection and can be part of the automatic blocking because of `ads` being part of the subdomain. If `pause` does not work for you, then it is not supported by your vacuum. The `stop` service will provide similar functionality. - diff --git a/source/_integrations/smarther.markdown b/source/_integrations/smarther.markdown index 837e7f4e9c7..36899b8a7e4 100644 --- a/source/_integrations/smarther.markdown +++ b/source/_integrations/smarther.markdown @@ -2,6 +2,7 @@ title: Smarther description: Connect and control your Smarther devices using the Netatmo integration ha_category: + - Binary sensor - Camera - Climate - Cover @@ -22,6 +23,7 @@ ha_codeowners: - '@cgtobi' ha_config_flow: true ha_platforms: + - binary_sensor - camera - climate - cover diff --git a/source/_integrations/snmp.markdown b/source/_integrations/snmp.markdown index 530e1eed838..b447e6ea7b4 100644 --- a/source/_integrations/snmp.markdown +++ b/source/_integrations/snmp.markdown @@ -14,6 +14,8 @@ ha_platforms: - sensor - switch ha_integration_type: integration +ha_codeowners: + - '@nmaggioni' --- A lot of Wi-Fi access points and Wi-Fi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/managing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks and Wi-Fi registrations. diff --git a/source/_integrations/solaredge.markdown b/source/_integrations/solaredge.markdown index 84c7d9791d0..cbd2359d777 100644 --- a/source/_integrations/solaredge.markdown +++ b/source/_integrations/solaredge.markdown @@ -13,6 +13,7 @@ ha_platforms: - sensor ha_codeowners: - '@frenck' + - '@bdraco' ha_integration_type: device --- diff --git a/source/_integrations/sonos.markdown b/source/_integrations/sonos.markdown index 414f9984105..20fb050e83a 100644 --- a/source/_integrations/sonos.markdown +++ b/source/_integrations/sonos.markdown @@ -11,6 +11,7 @@ ha_config_flow: true ha_domain: sonos ha_codeowners: - '@jjlawren' + - '@peterager' ha_ssdp: true ha_platforms: - binary_sensor diff --git a/source/_integrations/symfonisk.markdown b/source/_integrations/symfonisk.markdown index 8599c3e9b8a..69ff1b59b94 100644 --- a/source/_integrations/symfonisk.markdown +++ b/source/_integrations/symfonisk.markdown @@ -11,6 +11,7 @@ ha_supporting_domain: sonos ha_supporting_integration: Sonos ha_codeowners: - '@jjlawren' + - '@peterager' ha_config_flow: true ha_platforms: - binary_sensor diff --git a/source/_integrations/tankerkoenig.markdown b/source/_integrations/tankerkoenig.markdown index 5f80e8d6352..2e2c37659d9 100755 --- a/source/_integrations/tankerkoenig.markdown +++ b/source/_integrations/tankerkoenig.markdown @@ -17,6 +17,7 @@ ha_platforms: - sensor ha_config_flow: true ha_integration_type: integration +ha_quality_scale: platinum --- The `tankerkoenig` platform allows you to monitor the fuel prices with [tankerkoenig.de](https://www.tankerkoenig.de/) from within Home Assistant and setup automations based on the information. diff --git a/source/_integrations/teslemetry.markdown b/source/_integrations/teslemetry.markdown index 5822a1e1543..321130c5dee 100644 --- a/source/_integrations/teslemetry.markdown +++ b/source/_integrations/teslemetry.markdown @@ -12,6 +12,7 @@ ha_codeowners: ha_domain: teslemetry ha_platforms: - climate + - diagnostics - sensor ha_integration_type: integration --- diff --git a/source/_integrations/thread.markdown b/source/_integrations/thread.markdown index 4793c54d4f2..8cf79151132 100644 --- a/source/_integrations/thread.markdown +++ b/source/_integrations/thread.markdown @@ -242,4 +242,3 @@ You can only set a Thread network as preferred if the credentials are known. ### Combining Thread networks In the current implementation, having multiple TBRs from different vendors results in separate networks using different credentials. This prevents devices from roaming between the Thread networks. In theory, it would be better to join all Thread networks into a single network to increase the size of the mesh network. A dense mesh network should lead to better RF coverage and better link quality, which lowers transmission latencies, making communication faster. - diff --git a/source/_integrations/traccar_server.markdown b/source/_integrations/traccar_server.markdown index 84716d3b80a..63454beef58 100644 --- a/source/_integrations/traccar_server.markdown +++ b/source/_integrations/traccar_server.markdown @@ -14,6 +14,7 @@ ha_platforms: - binary_sensor - device_tracker - diagnostics + - sensor ha_integration_type: integration --- diff --git a/source/_integrations/vodafone_station.markdown b/source/_integrations/vodafone_station.markdown index b2d0209a179..7229ac0e6c3 100644 --- a/source/_integrations/vodafone_station.markdown +++ b/source/_integrations/vodafone_station.markdown @@ -16,7 +16,8 @@ ha_platforms: - button - device_tracker - sensor -ha_integration_type: integration +ha_integration_type: hub +ha_quality_scale: silver --- The **Vodafone Station** {% term integration %} allows you to control your [Vodafone Station](https://www.vodafone.it/privati/area-supporto/assistenza-dispositivi/vodafone-station.html) based router. diff --git a/source/_integrations/wolflink.markdown b/source/_integrations/wolflink.markdown index d51cf99de16..3e9231d0de0 100644 --- a/source/_integrations/wolflink.markdown +++ b/source/_integrations/wolflink.markdown @@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - '@adamkrol93' + - '@mtielen' ha_domain: wolflink ha_platforms: - sensor diff --git a/source/_posts/2024-05-01-release-20245.markdown b/source/_posts/2024-05-01-release-20245.markdown new file mode 100644 index 00000000000..e274a17497a --- /dev/null +++ b/source/_posts/2024-05-01-release-20245.markdown @@ -0,0 +1,505 @@ +--- +layout: post +title: "2024.5: Just a little bit smaller" +description: "New features for our new data tables, create helpers directly from the automation editor, the tile card now supports locks, easily adjust the name of a device on the energy dashboard, and improved audio with ESPHome for Assist." +date: 2024-05-01 00:00:00 +date_formatted: "May 1, 2024" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2024-05/social.png +--- + + + +Home Assistant Core 2024.5! 🎉 + +The last two releases were massive! With our [new drag 'n drop dashboards](/blog/2024/03/06/release-20243/) +and the tools to [organize your Home Assistant instance](/blog/2024/04/03/release-20244/), +it is hard to top those releases... 😅 + +So, this release is just a _tiny bit smaller_ than those two, but still epic! 🤘 + +My personal favorite is the new features added to the data tables, which many +of you requested since [the last update](/blog/2024/04/03/release-20244/#upgraded-tables). +But the ability to change the names of the devices shown on the energy dashboard +is a close second! + +Oh! We've held our [State of the Open Home 2024 live stream](https://www.youtube.com/watch?v=oa__fLArsFk)! +In case you've missed it, I would definitely recommend watching it back. There are tons of cool things +and spoilers in there! + +But more importantly, it launched the [Open Home Foundation](https://www.openhomefoundation.org/), +which now governs our beloved Home Assistant project! ❤️ Read more in the [State of the Open Home 2024 blog post](/blog/2024/04/24/state-of-the-open-home-2024/). + +Anyway, I will not hold you any longer. Enjoy the release! + +../Frenck + + + +- [More features for our data tables](#more-features-for-our-data-tables) +- [Create helpers directly from the automation editor](#create-helpers-directly-from-the-automation-editor) +- [Lock features for the tile card](#lock-features-for-the-tile-card) +- [Reorder features of the tile card](#reorder-features-of-the-tile-card) +- [Adjust the device names on the energy dashboard](#adjust-the-device-names-on-the-energy-dashboard) +- [Improved audio with ESPHome for Assist](#improved-audio-with-esphome-for-assist) +- [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=POXZWxMenx4) +1 May 2024, at 20:00 GMT / 12:00 PST / 21:00 CEST! + + + +## More features for our data tables + +In our last release, we [introduced new data tables](/blog/2024/04/03/release-20244/#upgraded-tables) +and we were thrilled to see that you all loved them! 🎉 + +However, we also received a lot of feedback for additional tweaks and features, +so we've added a bunch of them in this release. 😎 + +One of the most requested features of these new tables' new +[item grouping](/blog/2024/04/03/release-20244/#item-grouping) was the +ability to collapse them, and we’ve added that! + +

+ Screenrecording showing items grouped in our data tables can now be collapsed. + Each item group can now be collapsed and expanded. +

+ +Another one concerned the ability to select and assign an area to multiple items +at once in the automation, scene, script, and device pages. We've added that too! + +Not only that, we now store the last used grouping (and if they were +collapsed or not) and sorting you have used, so when you return to that page, +it will be the same as you left it. + +Screenshot showing the device page with multiple items selected. They can all be assigned to an area with a single click. + +Last but certainly not least, we’ve added the ability to group and filter +entities by their domain in the entities panel. As the domains represent the +type of entity, this means you can group and filter, for example, all your +lights, switches, sensors, etc. + +Screenshot showing the new group and filter by domain functionality on the entities page. + +## Create helpers directly from the automation editor + +Our good friend [@karwosts] has been busy creating a great quality-of-life +improvement for our {% term automation %} editor for this release. + +I'm sure you'll know this feeling. You are creating an automation and think: +"Hey, I need a helper for this!" But then you have to leave the automation +editor, create the helper, and then go back to the automation editor. + +Well, not anymore! You can now create helpers directly from the automation +editor 😎 + +In this example, a timer helper is created directly from the automation editor +without leaving it: + + + +[@karwosts]: https://github.com/karwosts + +## Lock features for the tile card + +The tile card is already amazing, but [@marcgeurts] made it even better by +adding new features to the tile card: Locks! + +When you now add a lock entity to the tile card, and if your lock supports it, +you can now add two new features to the tile card: + +- [**Lock commands**](/dashboards/features/#lock-commands) + Adds buttons to your tile card to lock or unlock the lock. +- [**Lock open door**](/dashboards/features/#lock-open-door) + Adds a button to open/unlatch the door (with confirmation). + +Screenshots showing different tile cards with the new lock features. + +[@marcgeurts]: https://github.com/marcgeurts + +## Reorder features of the tile card + +Some features of the tile card, such as the presets or the HVAC modes of a +thermostat, can show many buttons. While you can limit the buttons you’d +like to see, they may not be in the desired order. + +To improve this, [@karwosts] and [@piitaya] have added the ability to reorder +the features of the tile card. For your thermostat, that means you can now +reorder the HVAC modes or presets to your liking. + +

+ Screenrecording showing how you can now reorder the HVAC modes on the thermostat shown in a tile card.. + You can now reorder the features of the tile card. +

+ +[@karwosts]: https://github.com/karwosts +[@piitaya]: https://github.com/piitaya + +## Adjust the device names on the energy dashboard + +Another outstanding quality-of-life improvement from [@karwosts] is the ability +to customize the display name for energy devices on the energy dashboard. + +The entity's name representing the device you use on the energy dashboard +commonly contains additional or redundant information. With this new feature, +you can customize the display name to make it more meaningful. + +For example, if the entity is named _“Attic Boiler Daily Energy Usage”_ +and is shown as that today, you can now change the name displayed on the energy +dashboard to just _“Boiler”_. + +Screenshots showing you can now assign a different display name to the energy sensor of devices that show on your energy dashboard. + +You can adjust the name of each monitored device in the energy dashboard setting +page by going to **Settings** > **Dashboards** > **Energy** > **Individual devices**. + +{% my config_energy badge %} + +[@karwosts]: https://github.com/karwosts + +## Improved audio with ESPHome for Assist + +If you're familiar with [Assist], our private voice assistant, and are using +it on an [ESPHome-based device] (like an [ESP-S3-BOX-3] or the [ATOM Echo]), +chances are you have experienced one of the biggest barriers to date when it +comes to using it on a daily basis: chopped-off audio. 😞 + +More often than not, the responses sent to the voice assistant device were +missing a few parts, most notably at the beginning and the end of the audio. +This was very noticeable when the responses were short, such as asking how many +lights are on in a home or the room temperature. + +In conjunction with [the latest release of ESPHome] (2024.4), we are bringing +a much improved and more reliable communication between [ESPHome] and +Home Assistant for transferring voice audio, guaranteeing no audio is lost in the process. + +Hear the difference in this side-by-side comparison: + + + +In addition to updating to this release, be sure to update your ESPHome devices +to the latest version to benefit from this improvement. + +[Assist]: /voice_control/ +[ATOM Echo]: /voice_control/thirteen-usd-voice-remote/ +[ESP-S3-BOX-3]: /voice_control/s3_box_voice_assistant/ +[ESPHome-based device]: https://esphome.io/projects/ +[ESPHome]: https://esphome.io/ +[the latest release of ESPHome]: https://esphome.io/changelog/2024.4.0.html +[to the latest version]: https://esphome.io/changelog/2024.4.0.html + +## Other noteworthy changes + +There are many more improvements in this release; here are some of the other +noteworthy changes this release: + +- Have you ever had a misbehaving (custom) integration cause a crash? This + release introduces new detections and [a new debug mode] to catch known/common + unexpected integration behavior. Thanks, [@bdraco]! +- The [ESPHome integration] now supports date, time, date/time, valve, and + event entities! The latter two require the upcoming [ESPHome] 2024.5.0 + release. Thanks [@jesserockz], [@kbx81], and [@nohat]! +- The [MQTT integration] has reached the highest quality scale: Platinum! + Thanks [@jbouwh], for all the work you have put into this! +- The visualization graph for all Zigbee devices connected via [ZHA] has been + improved by [@Cougar]. Devices now have colors to indicate their availability, + signal strength, and relationship to other devices, which are much clearer. + Nice! +- The [Glances integration] got new sensors for network traffic, disk I/O, GPU, + and uptime. Thanks [@fhoekstra] & [@wittypluck]! +- [@Lash-L] added a service to the [Roborock integration] to easily get map + information from your vacuum. Awesome! +- The [Airzone cloud integration] now supports water heaters. Thanks [@Noltari]! +- [@joostlek] added an extract media URL service to the [media extractor], + allowing you to get a media item's source URL. Nice! + +[@bdraco]: https://github.com/bdraco +[@Cougar]: https://github.com/Cougar +[@fhoekstra]: https://github.com/fhoekstra +[@jbouwh]: https://github.com/jbouwh +[@jesserockz]: https://github.com/jesserockz +[@joostlek]: https://github.com/joostlek +[@kbx81]: https://github.com/kbx81 +[@Lash-L]: https://github.com/Lash-L +[@nohat]: https://github.com/nohat +[@Noltari]: https://github.com/Noltari +[@wittypluck]: https://github.com/wittypluck +[a new debug mode]: /integrations/homeassistant/#debug +[Airzone cloud integration]: /integrations/airzone_cloud +[ESPHome integration]: /integrations/esphome +[ESPHome]: https://esphome.io/ +[Glances integration]: /integrations/glances +[media extractor]: /integrations/media_extractor +[MQTT integration]: /integrations/mqtt +[Roborock integration]: /integrations/roborock +[ZHA]: /integrations/zha + +## New integrations + +We welcome the following new {% term integrations %} in this release: + +- **[Ambient Weather Network]**, added by [@thomaskistler]
+ Retrieve local weather station information from the Ambient Weather Network. +- **[Arve]**, added by [@ikalnyi]
+ Monitor real-life air quality data from your Arve devices. +- **[Energenie Power-Sockets]**, added by [@gnumpi]
+ Control your Energie Power-Strips over USB. +- **[Epic Games Store]**, added by [@Quentame]
+ Provides a calendar for the Epic Games Store to monitor discounts and free games. +- **[eQ-3 Bluetooth Smart Thermostats]**, added by [@EuleMitKeule]
+ Control your eQ-3 Smart Thermostats over Bluetooth. +- **[Sanix]**, added by [@tomaszsluszniak]
+ Monitor water/sewage level using your Sanix (by BIT Complex) devices. + +[@EuleMitKeule]: https://github.com/EuleMitKeule +[@gnumpi]: https://github.com/gnumpi +[@ikalnyi]: https://github.com/ikalnyi +[@Quentame]: https://github.com/Quentame +[@thomaskistler]: https://github.com/thomaskistler +[@tomaszsluszniak]: https://github.com/tomaszsluszniak +[Ambient Weather Network]: /integrations/ambient_network +[Arve]: /integrations/arve +[Energenie Power-Sockets]: /integratoins/egps +[Epic Games Store]: /integrations/epic_games_store +[eQ-3 Bluetooth Smart Thermostats]: /integrations/eq3btsmart +[Sanix]: /integrations/sanix + +## Integrations now available to set up from the UI + +The following {% term integrations %} are now available via the Home Assistant UI: + +- **[Enigma2 (OpenWebif)]**, done by [@autinerd] +- **[Folder watcher]**, done by [@gjohansson-ST] +- **[LG Netcast]**, done by [@splinter98] + +[@autinerd]: https://github.com/autinerd +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@splinter98]: https://github.com/splinter98 +[Enigma2 (OpenWebif)]: /integrations/enigma2 +[Folder watcher]: /integrations/folder_watcher +[LG Netcast]: /integrations/lg_netcast + +## 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 "AVM Fritz!SmartHome" %} + +Activating the HVAC mode `heat` no longer overwrites the current target +temperature with the comfort temperature but retains the currently set target +temperature unless the thermostat is in HVAC mode `off`, in which case the +comfort temperature is still set. + +Use the available presets or the set temperature service to set the target +temperature for HVAC-mode `heat`. + +([@jayme-github] - [#112119]) ([documentation](/integrations/fritzbox)) + +[@jayme-github]: https://github.com/jayme-github +[#112119]: https://github.com/home-assistant/core/pull/112119 + +{% enddetails %} + +{% details "Big Ass Fans" %} + +The BAF fan `Auto` preset mode has been renamed to `auto`. Any scripts +or automations using this need to be updated accordingly. + +([@mill1000] - [#109944]) ([documentation](/integrations/baf)) + +[@mill1000]: https://github.com/mill1000 +[#109944]: https://github.com/home-assistant/core/pull/109944 + +{% enddetails %} + +{% details "ecobee" %} + +The preset modes `Away`, `Home`, and `Sleep` have been renamed to the lower-case +variants `away`, `home`, and `sleep`. + +This is consistent with the rest of Home Assistant, which also means +Home Assistant can support icons and translations for these. + +If you used these preset modes in your automations or scripts, you will need +to update them to use the new names. + +([@gagebenne] - [#116072]) ([documentation](/integrations/ecobee)) + +[@gagebenne]: https://github.com/gagebenne +[#116072]: https://github.com/home-assistant/core/pull/116072 + +{% enddetails %} + +{% details "Honeywell Total Connect Comfort (US)" %} + +The auxiliary heat climate option has been deprecated and will be removed in +Home Assistant 2024.10. + +Use the newly added emergency heat switch entity to set the thermostat mode +to the previous auxiliary heat mode. + +([@mkmer] - [#114110]) ([documentation](/integrations/honeywell)) + +[@mkmer]: https://github.com/mkmer +[#114110]: https://github.com/home-assistant/core/pull/114110 + +{% enddetails %} + +{% details "IMAP" %} + +The default for new entries is that the `text` and `headers` will no longer be +included in the `imap_content` event data. Instead, if needed, you can fetch +the email content using the `imap.fetch` service. + +It will not break for existing entries where we assume `text` and `headers` +are included. + +([@luca-angemi] - [#115108]) ([documentation](/integrations/imap)) + +[@luca-angemi]: https://github.com/luca-angemi +[#115108]: https://github.com/home-assistant/core/pull/115108 + +{% enddetails %} + +{% details "Insteon" %} + +The Insteon configuration panel, which was previously on the Home Assistant +sidebar, has moved to the integration page in +**Settings -> Device & services -> Insteon -> Configure**. + +([@teharris1] - [#105581]) ([documentation](/integrations/insteon)) + +[@teharris1]: https://github.com/teharris1 +[#105581]: https://github.com/home-assistant/core/pull/105581 + +{% enddetails %} + +{% details "Netatmo" %} + +The state of the Netatmo wind and gust direction sensor provided by +the weather station now exposes the state in lowercase. + +([@joostlek] - [#115413]) ([documentation](/integrations/netatmo)) + +[@joostlek]: https://github.com/joostlek +[#115413]: https://github.com/home-assistant/core/pull/115413 + +--- + +The state of the Netatmo health index sensor provided by the weather station +now exposes the state in lowercase. + +([@joostlek] - [#115409]) ([documentation](/integrations/netatmo)) + +[@joostlek]: https://github.com/joostlek +[#115409]: https://github.com/home-assistant/core/pull/115409 + +{% enddetails %} + +{% details "Recorder" %} + +Previously, `recorder.purge_entities` called with no arguments would purge all +entities. This PR makes this call raise an error instead. + +It was too easy for users to accidentally purge their entire database using the +old logic. Users who want to purge all entities can still use +the `recorder.purge` service to achieve the same effect, and that service +is more obvious in how it behaves. + +([@karwosts] - [#110066]) ([documentation](/integrations/recorder)) + +[@karwosts]: https://github.com/karwosts +[#110066]: https://github.com/home-assistant/core/pull/110066 + +{% enddetails %} + +{% details "Traccar Server" %} + +The following attributes have been removed from `device_tracker` entities +provided by the Traccar server integration: + +- `address` +- `altitude` +- `battery_level` +- `geofence` +- `speed` + +All of these are now dedicated sensor entities that you can enable. + +([@ludeeus] - [#111374]) ([documentation](/integrations/traccar_server)) + +[@ludeeus]: https://github.com/ludeeus +[#111374]: https://github.com/home-assistant/core/pull/111374 + +--- + +The following attributes have been removed from `device_tracker` entities +provided by the Traccar server integration: + +- `motion` +- `status` + +All of these are now dedicated binary sensor entities that you can enable. + +([@ludeeus] - [#114719]) ([documentation](/integrations/traccar_server)) + +[@ludeeus]: https://github.com/ludeeus +[#114719]: https://github.com/home-assistant/core/pull/114719 + +{% 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: + +- [Always reload after a successful re-auth flow](https://developers.home-assistant.io/blog/2024/04/25/always-reload-after-successful-reauth-flow) +- [Deprecate old backports and typing alias](https://developers.home-assistant.io/blog/2024/04/08/deprecated-backports-and-typing-aliases/) +- [Deprecating `async_add_hass_job`](https://developers.home-assistant.io/blog/2024/04/07/deprecate_add_hass_job/) +- [New notify entity platform](https://developers.home-assistant.io/blog/2024/04/10/new-notify-entity-platform/) +- [Replacing `async_track_state_change` with `async_track_state_change_event`](https://developers.home-assistant.io/blog/2024/04/13/deprecate_async_track_state_change/) +- [Store runtime data inside the config entry](https://developers.home-assistant.io/blog/2024/04/30/store-runtime-data-inside-config-entry/) + +[devblog]: https://developers.home-assistant.io/blog/ + +## Farewell to the following + +The following {% term integrations %} are also no longer available as of this +release: + +- **Epson Workforce** has been removed. The source package/dependency this + integration uses, is no longer available. + ([@joostlek] - [#115201]) + +[@joostlek]: https://github.com/joostlek +[#115201]: https://github.com/home-assistant/core/pull/115201 + +## 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.5](/changelogs/core-2024.5) diff --git a/source/changelogs/core-2024.5.markdown b/source/changelogs/core-2024.5.markdown new file mode 100644 index 00000000000..03c969af620 --- /dev/null +++ b/source/changelogs/core-2024.5.markdown @@ -0,0 +1,1720 @@ +--- +title: Full changelog for Home Assistant Core 2024.5 +description: Detailed changelog for the Home Assistant Core 2024.5 release +replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$ +--- + +These are all the changes included in the Home Assistant Core 2024.5 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2024/05/01/release-20245/). + +## All changes + +- Update SignalType imports ([@cdce8p] - [#114287]) +- Bump version to 2024.5.0dev0 ([@frenck] - [#114324]) +- Remove suggested_uom from frequency in Enphase ([@catsmanac] - [#114340]) +- Add additional coverage to the ESPHome manager ([@bdraco] - [#114265]) +- Define PARALLEL_UPDATES for APCUPSD ([@yuxincs] - [#114134]) +- Enable Ruff TRY201 ([@autinerd] - [#114269]) +- Set fastdotcom to gold quality ([@erwindouna] - [#105598]) +- Fix ruff error ([@cdce8p] - [#114364]) +- Add translation support to Config Entry errors ([@gjohansson-ST] - [#106305]) +- Mark core as codeowner for some folders ([@edenhaus] - [#114357]) +- Update pyudev to 0.24.1 ([@cdce8p] - [#114359]) +- Update aioazuredevops to 1.4.3 ([@cdce8p] - [#114361]) +- Update aprslib to 0.7.2 ([@cdce8p] - [#114365]) +- Update ovoenergy to 1.3.1 ([@cdce8p] - [#114367]) +- Update aiogithubapi to 23.11.0 ([@cdce8p] - [#114362]) +- Update boschshcpy to 0.2.91 ([@cdce8p] - [#114366]) +- Update pytest-xdist to 3.4.0 ([@cdce8p] - [#114377]) +- SunWEG reauth flow ([@rokam] - [#105861]) +- Use `setup_test_component_platform` helper for switch entity component tests instead of `hass.components` ([@jpbede] - [#114305]) +- Update boto3 to 1.34.51 and aiobotocore to 2.12.1 ([@cdce8p] - [#114379]) +- Add SharkIQ room targeting ([@funkybunch] - [#89350]) +- Add matter zeroconf ([@MartinHjelmare] - [#114385]) +- Replace partial annotations ([@cdce8p] - [#114177]) +- Set ruff requires-version to 0.3.4 ([@autinerd] - [#114388]) +- Use `setup_test_component_platform` helper for text entity component tests instead of `hass.components` ([@jpbede] - [#114400]) +- Migrate moon to use single_config_entry ([@jpbede] - [#114404]) +- Migrate nina to use single_config_entry ([@jpbede] - [#114408]) +- Add eq3btsmart integration ([@EuleMitKeule] - [#109291]) +- Use `mock_platform` for device_tracker entity component tests instead of `hass.components` ([@jpbede] - [#114398]) +- Enable ruff TRY401 ([@autinerd] - [#114395]) +- Use `setup_test_component_platform` helper for fan entity component tests instead of `hass.components` ([@jpbede] - [#114409]) +- Use `setup_test_component_platform` helper for time entity component tests instead of `hass.components` ([@jpbede] - [#114411]) +- Use `setup_test_component_platform` helper for date entity component tests instead of `hass.components` ([@jpbede] - [#114413]) +- Use `setup_test_component_platform` helper for datetime entity component tests instead of `hass.components` ([@jpbede] - [#114415]) +- Address late review comments for fan entity component test ([@jpbede] - [#114425]) +- Add single config entry to Mullvad ([@joostlek] - [#114426]) +- Add Integration for Energenie Power-Sockets ([@gnumpi] - [#113097]) +- Use `setup_test_component_platform` helper for select entity component tests instead of `hass.components` ([@jpbede] - [#114412]) +- Refactor conversation mock_agent ([@autinerd] - [#114428]) +- Add `uid` attribute to `imap_content` event data ([@luca-angemi] - [#114432]) +- Remove stale test for mqtt climate ([@jbouwh] - [#114443]) +- Don't store analytics insights info on entry level ([@joostlek] - [#114429]) +- Address late code review comment of Prusa MK3 support ([@the-ress] - [#114455]) +- Unignore Ruff PLE, PLW in tests ([@autinerd] - [#114406]) +- Enable Ruff TRY300 ([@autinerd] - [#114437]) +- Rework opensky tests ([@joostlek] - [#114441]) +- Add hourly forecast to open_meteo ([@Tommatheussen] - [#113622]) +- Add UniFi WLAN regenerate password button ([@brunohenriquy] - [#114422]) +- Add UniFi WLAN Password sensor ([@brunohenriquy] - [#114419]) +- Avoid call to `hass.helpers.store` in CategoryRegistry ([@jpbede] - [#114485]) +- Fix ZHA websocket API test ([@TheJulianJES] - [#114495]) +- Add pytest rewrite for wemo tests that use entity_test_helpers ([@bdraco] - [#114516]) +- Conversation to unsubscribe when no cache to invalidate ([@balloob] - [#114515]) +- Re-organize conversation integration ([@balloob] - [#114502]) +- Detect blocking module imports in the event loop ([@bdraco] - [#114488]) +- Use entity & device registry mocks instead of `hass.helpers` in airthings_ble tests ([@jpbede] - [#114520]) +- Enable first batch of Ruff RET rules ([@autinerd] - [#114480]) +- Deprecate `hass.helpers` ([@jpbede] - [#114484]) +- Add single config entry to Analytics insights ([@joostlek] - [#114427]) +- Bump aiodns to 3.2.0 ([@bdraco] - [#114527]) +- Add uptime sensor to Glances ([@wittypluck] - [#111402]) +- Add error sensor for Husqvarna Automower ([@Thomas55555] - [#113165]) +- Avoid use of `hass.helpers` in _mqtt_mock_entry fixture ([@jpbede] - [#114536]) +- Use device registry mock instead of `hass.helpers` in dsmr tests ([@jpbede] - [#114535]) +- Avoid use of `hass.helpers` in plugwise test ([@jpbede] - [#114534]) +- Use device registry mock instead of `hass.helpers` in traccar_server tests ([@jpbede] - [#114532]) +- Fix flakey sonos test test_creating_entry_sets_up_media_player ([@bdraco] - [#114539]) +- Bump python-songpal to 0.16.2 ([@rytilahti] - [#114525]) +- Unignore Ruff PLR in tests ([@autinerd] - [#114470]) +- Fix missing mocking in blink tests ([@bdraco] - [#114540]) +- Ensure coverage entries are sorted ([@epenet] - [#114424]) +- Automatic cleanup of entity and device registry in Tankerkoenig ([@mib1185] - [#114573]) +- Upgrade aioazuredevops to 2.0.0 ([@timmo001] - [#114537]) +- Fix missing mocking in nextdns tests ([@bdraco] - [#114541]) +- Apply late review of tankerkoenig ([@mib1185] - [#114582]) +- Small cleanups to zone to reduce startup time ([@bdraco] - [#114587]) +- Unignore Ruff PLC in tests ([@autinerd] - [#114572]) +- Reduce hassio startup time ([@bdraco] - [#114588]) +- Migrate uptime to use single_config_entry ([@jpbede] - [#114586]) +- Use dict comprehension in honeywell diagnostics ([@jpbede] - [#114598]) +- Add conversation entity ([@balloob] - [#114518]) +- Fix flakey cast discovery stop test ([@bdraco] - [#114605]) +- Use switch entities instead of toggle entities in tests ([@jpbede] - [#114585]) +- Bump Wandalen/wretry.action from 2.1.0 to 3.0.0 (@dependabot - [#114554]) +- Tweak integration sensor ([@emontnemery] - [#114384]) +- Fix ruff issue in sonos ([@edenhaus] - [#114616]) +- Update ring quality scale to silver ([@sdb9696] - [#113146]) +- Add sensor entities to Traccar Server ([@ludeeus] - [#111374]) +- Raise ServiceValidationError on number out of range exception ([@jbouwh] - [#114589]) +- Improve DeviceInfo for Total Connect ([@austinmroczek] - [#114509]) +- Bump uv to 0.1.27 ([@edenhaus] - [#114629]) +- Remove YAML configuration from Withings ([@joostlek] - [#114626]) +- Bump ruff to 0.3.5 ([@joostlek] - [#114634]) +- Clean up unnecessary setup calls in tests ([@balloob] - [#114644]) +- Fix Google translate TTS test race condition ([@edenhaus] - [#114656]) +- Add icon to command_line cover config ([@atlflyer] - [#114645]) +- Don't overwrite target temperature by setting hvac mode in AVM Fritz!SmartHome ([@jayme-github] - [#112119]) +- Fix Rpi_power test race condition ([@edenhaus] - [#114662]) +- Add typing to Roomba config flow ([@joostlek] - [#114624]) +- Azure DevOps integration tests ([@timmo001] - [#114577]) +- Add extra sensors to Swiss Public Transport ([@miaucl] - [#114636]) +- Refactor setup code in command_line ([@gjohansson-ST] - [#114661]) +- Add tests for Roomba Options flow ([@joostlek] - [#114666]) +- Remove old device tracker device cleanup code & test ([@pnbruckner] - [#114668]) +- Use is in enum comparison in config flow tests F-J ([@joostlek] - [#114670]) +- Add IMAP seen, move and delete service ([@jbouwh] - [#114501]) +- Use is in enum comparison in config flow tests U-Z ([@joostlek] - [#114677]) +- Bump solax to 3.1.0 ([@Darsstar] - [#114617]) +- Use is in enum comparison in config flow tests K-O ([@joostlek] - [#114672]) +- Use is in enum comparison in config flow tests P-T ([@joostlek] - [#114675]) +- Use is in enum comparison in config flow tests A-E ([@joostlek] - [#114669]) +- Bump yalexs to 3.0.1 ([@bdraco] - [#114678]) +- Small speed ups to ambient_station ([@bdraco] - [#114698]) +- Small speed up to starting and stopping cloud ([@bdraco] - [#114696]) +- Reduce code for registry items with a base class ([@bdraco] - [#114689]) +- Add service homeworks.send_command ([@emontnemery] - [#114059]) +- Bump Wandalen/wretry.action from 3.0.0 to 3.0.1 (@dependabot - [#114714]) +- Migrate homeassistant_sky_connect to use eager_start for tasks ([@bdraco] - [#114706]) +- Use FlowResultType enum in config flow tests A-M ([@joostlek] - [#114681]) +- Simplify homekit_controller cache clear ([@bdraco] - [#114692]) +- Use FlowResultType enum in config flow tests N-Z ([@joostlek] - [#114682]) +- Use eager_start to load utility_meter platforms ([@bdraco] - [#114699]) +- Fix synology_dsm test side effects ([@edenhaus] - [#114722]) +- Avoid useless done check in config entries async_create_task ([@bdraco] - [#114695]) +- Migrate legacy device_tracker task creation to use eager_start ([@bdraco] - [#114703]) +- Simplify core state cache clear ([@bdraco] - [#114694]) +- Simplify config entry cache clear ([@bdraco] - [#114691]) +- Use eager_start to create async_update_alerts task in homeassistant_alerts ([@bdraco] - [#114707]) +- Create bond fallback polling tasks eagerly ([@bdraco] - [#114705]) +- Make creation of capabilities_updated_at deque in Entity lazy ([@bdraco] - [#114711]) +- Migrate sabnzbd to use data update coordinator ([@jpbede] - [#114745]) +- Replace pytest-test-groups by custom tests splitter ([@edenhaus] - [#114381]) +- Revert the logger level in the Shelly update platform ([@bieniu] - [#114749]) +- Fix CI after splitting tests ([@edenhaus] - [#114754]) +- Add wake on LAN via Fritz!Box for tracked devices ([@chrisbraucker] - [#106778]) +- Correct imap services setup ([@jbouwh] - [#114760]) +- Use eager_start to forward wemo config entry platforms ([@bdraco] - [#114702]) +- Rework update_data starlink coordinator ([@Fexiven] - [#114642]) +- Dispatch the same ReceiveMessage object if the subscription topic is the same ([@bdraco] - [#114769]) +- Improve performance of extracting entities by label ([@bdraco] - [#114720]) +- Load mailbox integration platforms in tracked tasks ([@bdraco] - [#114774]) +- Add index for area/config_entry/label to the device registry ([@bdraco] - [#114776]) +- Adjust async_load_platform comment to remove dead lock reference ([@bdraco] - [#114771]) +- Avoid executor job to start http if server_host is unspecified ([@bdraco] - [#114609]) +- Speed up logger setup ([@bdraco] - [#114610]) +- Bump Wandalen/wretry.action from 2.1.0 to 3.0.1 (@dependabot - [#114805]) +- Avoid linear search of the device registry in deconz ([@bdraco] - [#114803]) +- Add index for floor/label to the area registry ([@bdraco] - [#114777]) +- Avoid linear search in traccar to find devices ([@bdraco] - [#114817]) +- Load template platforms with eager_start ([@bdraco] - [#114701]) +- Load mobile_app notify platform with eager_start ([@bdraco] - [#114700]) +- Remove unnecessary functools.cached_property backport ([@cdce8p] - [#114239]) +- Avoid linear search in hassio to find devices ([@bdraco] - [#114806]) +- Avoid linear search in homekit to find devices ([@bdraco] - [#114808]) +- Avoid linear search in ibeacon to find devices ([@bdraco] - [#114809]) +- Avoid linear search in purpleair to find devices ([@bdraco] - [#114816]) +- Avoid linear search in ps4 to find devices ([@bdraco] - [#114814]) +- Ensure async_test_home_assistant is passed a str in storage tests ([@bdraco] - [#114813]) +- Improve generic event typing [rfxtrx] ([@cdce8p] - [#114733]) +- Avoid linear search to clear a config entry in the device registry ([@bdraco] - [#114802]) +- Avoid linear search in owntracks to find devices ([@bdraco] - [#114812]) +- Avoid linear search in geofency to find devices ([@bdraco] - [#114810]) +- Avoid linear search in gpslogger to find devices ([@bdraco] - [#114811]) +- Use EventStateChangedData type when firing state changed event ([@cdce8p] - [#114740]) +- Add "conversation" key to translations ([@synesthesiam] - [#114887]) +- Validate unique_id in entity registry ([@emontnemery] - [#114648]) +- Fix Sonos Tests failing intermittently on CI ([@PeteRager] - [#114873]) +- Address late review comments on homeworks PRs ([@emontnemery] - [#114867]) +- Migrate more sonos tasks to use eager_start ([@bdraco] - [#114697]) +- Update import for EventStateChangedData [i-z] ([@cdce8p] - [#114900]) +- Update import for EventStateChangedData [a-h] ([@cdce8p] - [#114899]) +- Bump hass-nabucasa from 0.79.0 to 0.80.0 ([@ludeeus] - [#114818]) +- Always run keyed event trackers immediately ([@bdraco] - [#114709]) +- Avoid timestamp conversion in core State when equal to last_updated ([@bdraco] - [#114911]) +- Use is in FlowResultType enum comparison in tests ([@epenet] - [#114917]) +- Bump Wandalen/wretry.action from 3.0.1 to 3.1.0 (@dependabot - [#114916]) +- Update `person` to use `_attr_*` and thus cached properties ([@jpbede] - [#114590]) +- Use is in ConfigEntryState enum comparison in tests (A-M) ([@epenet] - [#114925]) +- Bump python-MotionMount to 1.0.0 ([@RJPoelstra] - [#114945]) +- Include serial number in HomeKit device info ([@ashottonoyan] - [#114688]) +- Use is in ConfigEntryState enum comparison in tests (N-Z) ([@epenet] - [#114926]) +- SIngle entry for Fastdotcom ([@erwindouna] - [#114963]) +- Add new OUI for Axis products ([@bengtsir] - [#114923]) +- Allow single entry in Downloader ([@joostlek] - [#114957]) +- Start async_schedule_update_ha_state task eagerly ([@bdraco] - [#114704]) +- Make config flow imports consistent ([@joostlek] - [#114962]) +- Add current_humidity to Ecobee humidifier ([@bjpetit] - [#114753]) +- Run storage final write listener immediately ([@bdraco] - [#114976]) +- Run device_registry stop listener immediately ([@bdraco] - [#114978]) +- Avoid useless stat() syscalls for every logger record ([@bdraco] - [#114987]) +- Make run_immediately the default for core EventBus listeners ([@bdraco] - [#113752]) +- Migrate torque to use async platform setup ([@bdraco] - [#114994]) +- Improve performance of system_log traceback handling ([@bdraco] - [#114992]) +- Switch configurator to use async_run_hass_job ([@bdraco] - [#114993]) +- Switch to using the AsyncResolver with aiohttp ([@bdraco] - [#114529]) +- Brand name typo in swiss_public_transport ([@lunmay] - [#115000]) +- Add Swing Mode Feature to Modbus integration ([@crug80] - [#113710]) +- Enable Ruff RET504 ([@autinerd] - [#114528]) +- Bump ring_doorbell to 0.8.10 ([@sdb9696] - [#114865]) +- Migrate generic_hygrostat to use async_track_state_change_event ([@bdraco] - [#115001]) +- Migrate proximity to use async_track_state_change_event ([@bdraco] - [#115002]) +- Move Color extractor service to async_setup ([@joostlek] - [#115013]) +- Update glances-api to 0.6.0 ([@wittypluck] - [#114929]) +- Update aioairzone-cloud to v0.5.0 ([@Noltari] - [#114928]) +- Fix placeholder quotes ([@oyvindwe] - [#114974]) +- Improve generic event typing [voip] ([@cdce8p] - [#114738]) +- Improve generic event typing [cloud] ([@cdce8p] - [#114728]) +- Improve generic event typing [conversation] ([@cdce8p] - [#114729]) +- Improve generic event typing [device_tracker] ([@cdce8p] - [#114730]) +- Fix ruff error ([@joostlek] - [#115023]) +- Improve generic event typing [tasmota] ([@cdce8p] - [#114737]) +- Improve generic event typing [EventComponentLoaded] ([@cdce8p] - [#114739]) +- Improve generic event typing [mqtt_statestream] ([@cdce8p] - [#114732]) +- Improve generic event typing [google_pubsub] ([@cdce8p] - [#114731]) +- Update typing extensions to 4.11.0 ([@cdce8p] - [#114985]) +- Refactor Vilfo tests ([@joostlek] - [#115020]) +- Sort coveragerc again ([@joostlek] - [#115017]) +- Add adax on/off functionality for local heaters ([@larsvinc] - [#114557]) +- Deprecate aux heat from Honeywell ([@mkmer] - [#114110]) +- Correct typo in IMAP translation ([@jbouwh] - [#115032]) +- Make eager_start default to True for async_create_task ([@bdraco] - [#114995]) +- Correct changes hassfest coverage backports ([@jbouwh] - [#115044]) +- Improve generic event typing [recorder] ([@cdce8p] - [#114736]) +- Make eager_start default to True for async_create_background_task ([@bdraco] - [#114996]) +- Make eager_start default to True for config entry async_create_background_task ([@bdraco] - [#115050]) +- Make eager_start default to True for config entry async_create_task ([@bdraco] - [#115047]) +- Update aioairzone-cloud to v0.5.1 ([@Noltari] - [#115029]) +- Remove @StevenLooman from dlna_dmr codeowners ([@StevenLooman] - [#115028]) +- Update Ambient Weather to include Lightning Strike Time and Distance ([@strawgate] - [#114255]) +- Add reconfigure step for waze_travel_time ([@eifinger] - [#114885]) +- Add Glances DiskIO read/write sensors ([@wittypluck] - [#114933]) +- Migrate start helper to use run_immediately ([@bdraco] - [#115055]) +- Bump aiolifx to 1.0.2 and aiolifx-themes to 0.4.15 ([@Djelibeybi] - [#115059]) +- Fix sonos switch test failures ([@PeteRager] - [#115052]) +- Fix flakey cast discovery test ([@bdraco] - [#115063]) +- Deprecated old backports and typing aliases ([@cdce8p] - [#114883]) +- Remove prepare override in HomeAssistantQueueHandler ([@bdraco] - [#115064]) +- Use identity checks for EntityPlatformState enum ([@bdraco] - [#115067]) +- Improve registry store data typing ([@cdce8p] - [#115066]) +- Fix flakey tests using the _get_diagnostics_for_config_entry helper ([@bdraco] - [#115069]) +- Simplify invalidating the User cache ([@bdraco] - [#115074]) +- Add snapshot tests to Bluemaestro ([@joostlek] - [#115094]) +- Add more base entities to netatmo ([@joostlek] - [#107862]) +- Enable entities in Netatmo snapshot test ([@joostlek] - [#115105]) +- Add GPU sensor to Glances ([@fhoekstra] - [#106322]) +- Add Water Heater support for Airzone Cloud ([@Noltari] - [#115097]) +- Add device removal capability for Netatmo ([@cgtobi] - [#107630]) +- Add an event filter to the alexa state report state change listener ([@bdraco] - [#115076]) +- Add entity translations to Bluemaestro ([@joostlek] - [#102424]) +- Add Glances network sensors ([@wittypluck] - [#114546]) +- Correct duplicate word in IMAP translations ([@jbouwh] - [#115132]) +- Remove Color extractor import flow ([@joostlek] - [#115015]) +- Add first batch of Ruff PYI rules ([@autinerd] - [#115100]) +- Add additional Sonos integration code-owner ([@PeteRager] - [#115157]) +- Add improved typing for event fire and listen methods ([@cdce8p] - [#114906]) +- Bump pyoverkiz to 1.13.10 ([@iMicknl] - [#115154]) +- Fix flakey fritz image test ([@bdraco] - [#115161]) +- Bump fibaro to 0.7.7 ([@rappenze] - [#115152]) +- Deprecate async_add_hass_job ([@bdraco] - [#115061]) +- Add an event_filter to google_assistant state reporting ([@bdraco] - [#115160]) +- Migrate matrix to use run_immediately for start listener ([@bdraco] - [#115167]) +- Switch async_track_state_change to use run_immediately ([@bdraco] - [#115164]) +- Remove remaining run_immediately=False from tests ([@bdraco] - [#115168]) +- Improve microBees code quality ([@FedDam] - [#114939]) +- Address late review of TP-Link Omada ([@MarkGodwin] - [#115121]) +- Refactor BMW entity availability ([@rikroe] - [#110294]) +- Add reauth to Teslemetry ([@Bre77] - [#114726]) +- Add IMAP fetch service ([@jbouwh] - [#115127]) +- Bump github/codeql-action from 3.24.9 to 3.24.10 (@dependabot - [#115179]) +- Update build system dependencies ([@cdce8p] - [#115102]) +- Remove condition from ecobee humidifier attribute test ([@jbouwh] - [#115197]) +- Fix Downloader test cases and error title ([@erwindouna] - [#114847]) +- Enable Ruff PGH rules ([@autinerd] - [#115091]) +- Enable Ruff INP001 ([@autinerd] - [#115082]) +- Add Arve integration ([@ikalnyi] - [#113156]) +- Add migration logic to assist_pipeline ([@balloob] - [#115172]) +- Add sensor for CPU and memory utilization for unifi device ([@kimdv] - [#114986]) +- Add config message items selector to imap option flow ([@luca-angemi] - [#115108]) +- Change scan interval for Husqvarna Automower ([@Thomas55555] - [#115225]) +- Always include old_state in EventStateChangedData [tests] ([@cdce8p] - [#115098]) +- Use EventType for system events ([@cdce8p] - [#115190]) +- Use EventType for remaining registry events ([@cdce8p] - [#115189]) +- Use EventType for device_registry_updated ([@cdce8p] - [#115188]) +- Migrate rfxtrx to use run_immediately=True for the device registry listener ([@bdraco] - [#115165]) +- Add `__slots__` to NodeClass classes ([@autinerd] - [#115079]) +- Use EventType for entity_registry_updated ([@cdce8p] - [#115187]) +- Remove @skgsergio from foscam and qingping codeowners ([@skgsergio] - [#115210]) +- Enable Ruff PYI036 ([@autinerd] - [#115228]) +- Enable Ruff PYI041 ([@autinerd] - [#115229]) +- Add a service to get maps for Roborock ([@Lash-L] - [#111478]) +- Deprecate calling async_listen and async_listen_once with run_immediately ([@bdraco] - [#115169]) +- Fix failing escea test in connection with greeneye_monitor ([@jpbede] - [#115237]) +- Increase discovery flow init concurrency limit to 20 ([@bdraco] - [#115230]) +- Migrate group to use shorthand attributes for name and icon ([@bdraco] - [#115244]) +- Improve recorder event typing ([@cdce8p] - [#115253]) +- Add tests to Home Connect integration ([@beastie29a] - [#114214]) +- Bump ring_doorbell library to 0.8.11 ([@sdb9696] - [#115263]) +- Wrap tplink exceptions caused by user actions inside HomeAssistantError ([@sdb9696] - [#114919]) +- Remove Epson Workforce integration ([@joostlek] - [#115201]) +- Update and migrate ring non string unique ids ([@sdb9696] - [#115265]) +- Add additional Vital 100S model to vesync ([@pleum] - [#113838]) +- Remove pip jemalloc config from dockerfile ([@konstin] - [#115206]) +- Send/receive Voice Assistant audio via ESPHome native API ([@jesserockz] - [#114800]) +- Add OpenAI conversation entity ([@balloob] - [#114942]) +- Remove Twitch YAML import ([@joostlek] - [#115278]) +- Remove Nextbus YAML import ([@joostlek] - [#115277]) +- Migrate hyperion to use async_update_reload_and_abort ([@bdraco] - [#115238]) +- Use shorthand attributes in automation for name ([@bdraco] - [#115246]) +- Migrate script entities to use more shorthand attrs ([@bdraco] - [#115245]) +- Optimize _async_track_event for the single key common case ([@bdraco] - [#115242]) +- Migrate elkm1 to use async_schedule_reload ([@bdraco] - [#115240]) +- Migrate apple_tv to use async_schedule_reload ([@bdraco] - [#115241]) +- Improve error reporting when an integration tries to create a task in a thread ([@bdraco] - [#115307]) +- Bump codecov/codecov-action to v4.3.0 ([@jpbede] - [#115317]) +- Bump python-roborock to 1.0.0 ([@Lash-L] - [#115324]) +- Use dict instead of MutableMapping [extra_state_attributes] ([@cdce8p] - [#115319]) +- Use dict instead of MutableMapping [recorder] ([@cdce8p] - [#115318]) +- Fix flakiness of test_measure_sliding_window ([@cpfair] - [#115322]) +- Enable Ruff SLOT rules ([@autinerd] - [#115043]) +- Add entity translations to Netatmo ([@joostlek] - [#115104]) +- Enable Ruff RUF013 ([@autinerd] - [#115333]) +- Update pytest-xdist to 3.5.0 ([@cdce8p] - [#111266]) +- Add documentation link for custom integrations in diagnostics ([@ludeeus] - [#115336]) +- Stop scripts with eager tasks ([@bdraco] - [#115340]) +- Add missing oauth2 error strings to myuplink ([@astrandb] - [#115315]) +- Fix type on known_object_ids in _entity_id_available and async_generate_entity_id ([@bdraco] - [#115378]) +- Fix zha test by tweaking the log level ([@jbouwh] - [#115368]) +- Fix flakey tessie media_player test ([@bdraco] - [#115391]) +- Fix duplicate automation entity state writes ([@bdraco] - [#115386]) +- Avoid calling valid_entity_id when adding entities if they are already registered ([@bdraco] - [#115388]) +- Adjust importlib helper to avoid leaking memory on re-raise ([@bdraco] - [#115377]) +- Add PYTHONASYNCIODEBUG to the dev container env ([@bdraco] - [#115392]) +- Add binary sensor to Netatmo ([@joostlek] - [#115119]) +- Use freezer on diagnostics test ([@jbouwh] - [#115398]) +- Add strict typing to ring integration ([@sdb9696] - [#115276]) +- Make ring device generic in RingEntity ([@sdb9696] - [#115406]) +- Add notify entity component ([@jbouwh] - [#110950]) +- Reduce scope of diagnostics tests for rtsp_to_webrtc to not depend on global state ([@allenporter] - [#115422]) +- Fix Codecov upload with token ([@TheJulianJES] - [#115384]) +- Convert async_setup calls for auth sub-modules to callback functions ([@bdraco] - [#115443]) +- Update pytest warnings filter ([@cdce8p] - [#115275]) +- Use library classes instead of namedtuple in ipma tests ([@autinerd] - [#115372]) +- Fix flakey mobile app webhook test ([@bdraco] - [#115447]) +- Bump python-roborock to 2.0.0 ([@Lash-L] - [#115449]) +- Fix flakey influxdb test ([@bdraco] - [#115442]) +- Add py.typed file ([@cdce8p] - [#115446]) +- Improve FlowHandler menu_options typing ([@cdce8p] - [#115296]) +- Bypass ConfigEntry __setattr__ in __init__ ([@bdraco] - [#115405]) +- Avoid falling back to event loop import on ModuleNotFound ([@bdraco] - [#115404]) +- Use enum device class in Netatmo wind direction ([@joostlek] - [#115413]) +- Use enum device class in Netatmo health index sensor ([@joostlek] - [#115409]) +- Enable Ruff FLY002 rule ([@autinerd] - [#115112]) +- Switch imap push coordinator to use eager_start ([@bdraco] - [#115454]) +- Add service schema tests for notify entity platform ([@jbouwh] - [#115457]) +- Fix ci Python cache key ([@cdce8p] - [#115467]) +- Add strict connection ([@edenhaus] - [#112387]) +- Bump ruff to 0.3.7 ([@autinerd] - [#115451]) +- Ignore coverage for aiohttp_resolver backport helper ([@epenet] - [#115177]) +- Add diagnostics to Teslemetry ([@Bre77] - [#115195]) +- Allow customizing display name for energy device ([@karwosts] - [#112834]) +- Add re-auth-flow to fyta integration ([@dontinelli] - [#114972]) +- Update strict connection static page ([@bramkragten] - [#115473]) +- Set Ruff RUF001-003 to ignore ([@autinerd] - [#115477]) +- Remove eager_start=False from zeroconf ([@bdraco] - [#115498]) +- Move out demo notify tests to the notify platform ([@jbouwh] - [#115504]) +- Fix race in influxdb test ([@bdraco] - [#115514]) +- Ignore Ruff RUF015 ([@autinerd] - [#115481]) +- Enable Ruff RUF018 ([@autinerd] - [#115485]) +- Isolate legacy notify tests ([@jbouwh] - [#115470]) +- Add Balboa spa temperature range state control (high/low) ([@kotope] - [#115285]) +- Revert mypy_config formatting ([@cdce8p] - [#115518]) +- Make legacy notify group tests independent of demo platform ([@jbouwh] - [#115494]) +- Make color extractor single config entry ([@joostlek] - [#115016]) +- Migrate demo notify platform ([@jbouwh] - [#115448]) +- Set up notify group with the notify services in test ([@jbouwh] - [#115526]) +- Remove unused CI code ([@edenhaus] - [#115300]) +- Bump py-synologydsm-api to 2.4.2 ([@bdraco] - [#115499]) +- Avoid removing websocket_api subscription in mobile_app teardown ([@bdraco] - [#115540]) +- Hold the reload lock while attempting config entry setup retry ([@bdraco] - [#115538]) +- Migrate homekit ffmpeg task to use eager_start ([@bdraco] - [#115543]) +- Migrate EntityRegistryDisabledHandler to use async_schedule_reload ([@bdraco] - [#115544]) +- Fix unmocked remote socket calls in sunweg tests ([@bdraco] - [#115546]) +- Add forecast subscription failure test case to nws ([@bdraco] - [#115541]) +- Update ollama config_flow task to use eager_start ([@bdraco] - [#115455]) +- Enable eager_start for weather platform update ([@bdraco] - [#115496]) +- Ensure test async_create_task eager start behavior matches production ([@bdraco] - [#115517]) +- Complete ESPHome media_player coverage ([@bdraco] - [#114352]) +- Add additional cached_property to camera entities ([@bdraco] - [#115075]) +- Fix advantage_air disabled entity tests ([@bdraco] - [#115548]) +- Add exception translations to Bring integration ([@tr4nt0r] - [#115547]) +- Only calculate native_value once in mobile_app ([@bdraco] - [#115550]) +- Avoid double dict conversion in bluetooth serialize_entity_description ([@bdraco] - [#115551]) +- Migrate config entry reauth to use eager_start ([@bdraco] - [#115549]) +- Remove sleep in async_setup_component ([@bdraco] - [#115515]) +- Remove attr usage in event helper ([@bdraco] - [#115554]) +- Refactor _async_setup_component to remove need for C901 ([@bdraco] - [#115553]) +- Migrate rfxtrx to use async_track_state_change_event ([@bdraco] - [#115556]) +- Fix missing Home in listener deprecation message ([@bdraco] - [#115559]) +- Enable Ruff B905 ([@autinerd] - [#114197]) +- Unignore Ruff E731 ([@autinerd] - [#115564]) +- Unignore Ruff UP006, UP007 ([@autinerd] - [#115533]) +- Remove unused legacy state translations ([@bdraco] - [#112023]) +- Bump aioshelly to 9.0.0 ([@thecode] - [#114025]) +- For new installs make enphase_envoy phase entities default disabled ([@catsmanac] - [#115577]) +- Replace lambda by attrgetter in enphase_envoy platform value_fn ([@catsmanac] - [#115569]) +- Small cleanups to script ([@bdraco] - [#115565]) +- Only calculate the tplink emeter values once per update cycle ([@bdraco] - [#115587]) +- Move Alexa entity id generation into abstract config class ([@mback2k] - [#115593]) +- Set follow_imports to normal [mypy] ([@cdce8p] - [#115521]) +- Bump soco to 0.30.3 ([@PeteRager] - [#115607]) +- Bump emulated-roku to 0.3.0 to fix Sofabaton Support ([@shawnweeks] - [#115452]) +- Fix flaky zwave update entity delay test ([@bdraco] - [#115552]) +- Small cleanups to the rate limit helper ([@bdraco] - [#115621]) +- Set platform for mypy ([@cdce8p] - [#115638]) +- Bump vacuum-map-parser-roborock to 0.1.2 ([@Lash-L] - [#115579]) +- Avoid update calls in state writes when attributes are empty ([@bdraco] - [#115624]) +- Migrate websocket_api sensor to use shorthand attrs ([@bdraco] - [#115620]) +- Make aiohttp_cors a top level import ([@bdraco] - [#115563]) +- Update switchbot_api to 2.1.0 ([@miterion] - [#115529]) +- Create base class for Rachio smart hose timer entities ([@brg468] - [#115475]) +- Enable Ruff B017 ([@autinerd] - [#115335]) +- Remove pihole codeowner ([@johnluetke] - [#110384]) +- Remove cloud dependency from `islamic-prayer-times` ([@cpfair] - [#115146]) +- Small speed up to async_prepare_setup_platform ([@bdraco] - [#115662]) +- Add dataclass to store AdGuard data ([@cdce8p] - [#115668]) +- Fix typo in modbus integration strings.json ([@theminer3746] - [#115685]) +- Move Insteon configuration panel to config entry ([@teharris1] - [#105581]) +- New BMW sensor for climate activity ([@brave0d] - [#110287]) +- Add Config Flow to LG Netcast ([@splinter98] - [#104913]) +- Add a new "Ambient Weather Network" integration ([@thomaskistler] - [#105779]) +- Fix ambient network test linting ([@MartinHjelmare] - [#115691]) +- Remove Adafruit-BBIO from commented requirements ([@MartinHjelmare] - [#115689]) +- Bump github/codeql-action from 3.24.10 to 3.25.0 (@dependabot - [#115686]) +- Don't reload other automations when saving an automation ([@emontnemery] - [#80254]) +- Add extract media url service to media extractor ([@joostlek] - [#100780]) +- Add select hold to AppleTVs remote entity as possible command ([@myMartek] - [#105764]) +- Correct spelling of "Wi-Fi" in devolo_home_network ([@Shutgun] - [#106167]) +- Add Sound Mode selection in soundpal components ([@BestPig] - [#106589]) +- Unsupported if wrong image used on virtualization ([@mdegat01] - [#113882]) +- Fix check for missing parts on incoming SMS ([@Mallonbacka] - [#105068]) +- Correct unit for total usage in rfxtrx ([@elupus] - [#115719]) +- Use separate data coordinators for AccuWeather observation and forecast ([@bieniu] - [#115628]) +- Bump habluetooth to 2.5.2 ([@bdraco] - [#115721]) +- Bump aioesphomeapi to 24.1.0 ([@jesserockz] - [#115729]) +- Fix stale comment in wheels.yml ([@emontnemery] - [#115736]) +- Multiple data disks detected: tweak strings ([@c0ffeeca7] - [#115713]) +- Bump orjson to 3.10.1 ([@bdraco] - [#115728]) +- Remove stale packages from uncommenting when building wheels ([@emontnemery] - [#115700]) +- Correct normalize_package_name ([@emontnemery] - [#115750]) +- Remove useless any in gen_requirements_all.comment_requirement ([@emontnemery] - [#115751]) +- Fix hassfest requirements check ([@emontnemery] - [#115744]) +- Keep track of top level components ([@bdraco] - [#115586]) +- Improve standard library violation check in hassfest ([@emontnemery] - [#115752]) +- Add Sanix integration ([@tomaszsluszniak] - [#106785]) +- Fix flaky qld_bushfire test ([@emontnemery] - [#115757]) +- Add config flow to enigma2 ([@autinerd] - [#106348]) +- Avoid linear search to remove labels and floors from area registry ([@bdraco] - [#115675]) +- Avoid linear search to clear labels and areas in the device registry ([@bdraco] - [#115676]) +- Avoid linear search to remove a label from the entity registry ([@bdraco] - [#115674]) +- Reduce duplicate code in the device registry ([@bdraco] - [#115677]) +- Add repairs to hassio manifest ([@mdegat01] - [#115486]) +- Remove obsolete translation keys in Sanix ([@joostlek] - [#115764]) +- Include hash of requirements.txt in venv cache key ([@emontnemery] - [#115759]) +- Bump habluetooth to 2.6.0 ([@bdraco] - [#115724]) +- Simplify config_entries entity registry filter ([@bdraco] - [#115678]) +- Add secondary temperature sensor for DHW in ViCare ([@CFenner] - [#106612]) +- Allow selecting Air Quality mode for Airzone Cloud ([@Noltari] - [#106769]) +- Use aiohttp-zlib-ng[isal] ([@emontnemery] - [#115767]) +- Fix unrecoverable error when fetching airthings_ble data ([@LaStrada] - [#115699]) +- Cleanup modbus test mocks ([@janiversen] - [#115412]) +- Guard negative values for IPP states ([@isXander] - [#107446]) +- Replace aiohttp-zlib-ng[isal] with aiohttp-isal ([@bdraco] - [#115777]) +- Add mqtt notify platform ([@jbouwh] - [#115653]) +- Address late reviews for the enigma2 config flow ([@autinerd] - [#115768]) +- Add sanix sensor tests ([@joostlek] - [#115763]) +- Bump google-nest-sdm to 3.0.4 ([@allenporter] - [#115731]) +- Simplify labels and areas template calls ([@bdraco] - [#115673]) +- Bump Broadlink to 0.19.0 ([@felipediel] - [#115742]) +- Migrate snooze config flow to use eager_start ([@bdraco] - [#115658]) +- Bump habluetooth to 2.7.0 ([@bdraco] - [#115783]) +- Bump bluetooth-auto-recovery to 1.4.1 ([@bdraco] - [#115792]) +- Add valve entity support for ESPHome ([@kbx81] - [#115341]) +- Fix failing sanix tests ([@bdraco] - [#115793]) +- Bump github/codeql-action from 3.25.0 to 3.25.1 (@dependabot - [#115796]) +- Bump connect-box to 0.3.1 ([@krzysztof-kwitt] - [#107852]) +- Ambient Weather: Check for key existence before checking value ([@strawgate] - [#115776]) +- Add script to compare alexa locales with upstream ([@MartinHjelmare] - [#114247]) +- Handle connection error in honeywell ([@mkmer] - [#108168]) +- Add state class to mobile_app restore entity ([@luca-angemi] - [#115798]) +- Add diagnostics platform to DSMR Reader ([@erwindouna] - [#115805]) +- Translate service validation errors ([@jbouwh] - [#115024]) +- Clarify cover toggle logic; prevent opening when already open ([@vexofp] - [#107920]) +- Add support for payload_template in rest component ([@ptashek] - [#107464]) +- Add hvac_action attribute to iAqualink Thermostat climate entities ([@mwielgoszewski] - [#107803]) +- Bump arris-tg2492lg to 2.2.0 ([@vanbalken] - [#107905]) +- Bump habluetooth to 2.8.0 ([@bdraco] - [#115789]) +- Add bluetooth adapter model and manufacturer to config flow ([@bdraco] - [#115780]) +- Add reauth support to oncue ([@bdraco] - [#115667]) +- Skip processing websocket_api schema if it has no arguments ([@bdraco] - [#115618]) +- Small cleanups to translation loading ([@bdraco] - [#115583]) +- Migrate device_sun_light_trigger to use async_track_state_change_event ([@bdraco] - [#115555]) +- Deprecate async_track_state_change in favor of async_track_state_change_event ([@bdraco] - [#115558]) +- Add battery binary sensor to Rachio hose timer ([@brg468] - [#115810]) +- Add zhimi.fan.za3 to xiaomi_miio workaround unable to discover device ([@orevron] - [#108310]) +- Add support for room sensor accessories assigned to a Honeywell (Lyric) Thermostat ([@dalinicus] - [#104343]) +- Handle Bluetooth adapters in a crashed state ([@bdraco] - [#115790]) +- Bump yolink-api to 0.4.3 ([@matrixd2] - [#115794]) +- Bump `accuweather` to version 3.0.0 ([@bieniu] - [#115820]) +- Add get_torrents service to qBittorrent integration ([@finder39] - [#106501]) +- Show default profiles in homematic cloud climate entity ([@hahn-th] - [#107348]) +- Bump aiodiscover to 2.1.0 ([@bdraco] - [#115823]) +- Bump actions/upload-artifact from 4.3.1 to 4.3.2 (@dependabot - [#115842]) +- Bump actions/download-artifact from 4.1.4 to 4.1.5 (@dependabot - [#115841]) +- Add group tests with mixed domain entities ([@jbouwh] - [#115849]) +- Bump `gios` to version 4.0.0 ([@bieniu] - [#115822]) +- Add reauth flow to Google Tasks ([@joostlek] - [#109517]) +- Fix mutable objects in group registry class ([@jbouwh] - [#115797]) +- Bump `nextdns` to version 3.0.0 ([@bieniu] - [#115854]) +- Bump `nettigo_air_monitor` to version 3.0.0 ([@bieniu] - [#115853]) +- Bump bluetooth-adapters to 0.19.0 ([@bdraco] - [#115864]) +- Automatic cleanup of entity and device registry in AVM FRITZ!SmartHome ([@mib1185] - [#114601]) +- Use snapshot testing in NextDNS ([@bieniu] - [#115879]) +- Use snapshot testing in GIOS sensor ([@bieniu] - [#115876]) +- Use snapshot testing in Brother sensor ([@bieniu] - [#115875]) +- Use snapshot testing in NAM sensor and diagnostics ([@bieniu] - [#115877]) +- Bump pylitterbot to 2023.5.0 ([@natekspencer] - [#115856]) +- Add test helper to snapshot a platform ([@joostlek] - [#115880]) +- Use snapshot test helper in Brother ([@joostlek] - [#115885]) +- Use snapshot test helper in Accuweather ([@joostlek] - [#115884]) +- Use snapshot test helper in GIOS ([@bieniu] - [#115893]) +- Use snapshot test helper in NAM ([@bieniu] - [#115894]) +- Use snapshot test helper in NextDNS ([@bieniu] - [#115895]) +- Fix Wolf Smart Set Authentication and Session Management ([@mtielen] - [#115815]) +- Use snapshot test helper in AO Smith ([@joostlek] - [#115890]) +- Make release channel a hardcoded enum rather than a free form string ([@albertomontesg] - [#115595]) +- Use snapshot test helper in Analytics insights ([@joostlek] - [#115889]) +- Use snapshot test helper in Ambient Network ([@joostlek] - [#115887]) +- Bump ruff to 0.4.1 ([@autinerd] - [#115873]) +- Add tls support for AVM Fritz!Tools ([@r-binder] - [#112714]) +- Fix flaky history stats test ([@bdraco] - [#115824]) +- Fix Roborock status not correctly mapping for some devices ([@Lash-L] - [#115646]) +- Improve debug logging for evohome ([@zxdavb] - [#110256]) +- Add test for prometheus export of entities becoming unavailable and available again ([@agoode] - [#112157]) +- Improve service validation exception test and translation key ([@jbouwh] - [#115843]) +- Allow manual delete of stale Unifi device from UI ([@wittypluck] - [#115267]) +- Refactor Totalconnect binary sensor ([@joostlek] - [#115629]) +- Remove sensor exposing UniFi WLAN password ([@Kane610] - [#115929]) +- Bump total_connect_client to 2023.12.1 ([@austinmroczek] - [#115928]) +- Add error translations to Blink ([@mkmer] - [#115924]) +- Make use of snapshot testing in Synology DSM ([@mib1185] - [#115931]) +- Convert MQTT to use asyncio ([@bdraco] - [#115910]) +- Temporarily pickup mqtt codeowner ([@bdraco] - [#115934]) +- Enable Ruff A001 ([@autinerd] - [#115654]) +- Introduce base entity for totalconnect ([@joostlek] - [#115936]) +- Add optional location based region to dwd_weather_warnings ([@andarotajo] - [#96027]) +- Add type hints in fibaro device ([@rappenze] - [#106874]) +- Refactor fibaro connect ([@rappenze] - [#106875]) +- Bump actions/checkout from 4.1.2 to 4.1.3 (@dependabot - [#115945]) +- Add Epic Games Store integration ([@Quentame] - [#104725]) +- Bump aioesphomeapi to 24.2.0 ([@jesserockz] - [#115943]) +- Introduce base location entity for totalconnect ([@joostlek] - [#115938]) +- Move NextDNS data update coordinators to the coordinator module ([@bieniu] - [#115919]) +- Update ovoenergy to 2.0.0 ([@timmo001] - [#115921]) +- Add snapshot tests to Totalconnect ([@joostlek] - [#115952]) +- ESPHome: Add datetime entities ([@jesserockz] - [#115942]) +- Address late review for AVM Fritz!Smarthome ([@mib1185] - [#115960]) +- Reduce ecobee throttle ([@marcolivierarsenault] - [#115968]) +- Improve reliability of homeassistant_alerts updates ([@bdraco] - [#115974]) +- Small fixes for processing integration requirements ([@bdraco] - [#115973]) +- Remove YAML support from Hydrawise ([@dknowles2] - [#115966]) +- Generate requirements per supported architecture ([@emontnemery] - [#115708]) +- Revert "Reduce ecobee throttle (#115968)" ([@marcolivierarsenault] - [#115981]) +- Migrate MQTT EnsureJobAfterCooldown to use eager start ([@bdraco] - [#115977]) +- Make recorder.purge_entities require at least one entity filter value ([@karwosts] - [#110066]) +- Bump holidays to 0.47 ([@gjohansson-ST] - [#115992]) +- Add bandwidth sensor for unifi device ports ([@kimdv] - [#115362]) +- Bump aiounifi to v76 ([@Kane610] - [#116005]) +- Bump uv to 0.1.35 ([@edenhaus] - [#115985]) +- Add config flow to Folder Watcher ([@gjohansson-ST] - [#105605]) +- Update Hydrawise from the legacy API to the new GraphQL API ([@thomaskistler] - [#106904]) +- Add coordinator to 17Track ([@shaiu] - [#115057]) +- Bump actions/download-artifact from 4.1.4 to 4.1.6 (@dependabot - [#116017]) +- Bump actions/upload-artifact from 4.3.1 to 4.3.3 (@dependabot - [#116015]) +- Use generator expression in totalconnect ([@joostlek] - [#116020]) +- Improve Vodafone Station empty/unavailable phone number detection ([@myhomeiot] - [#115696]) +- Don't raise errors when using datetime objects in `as_datetime` Jinja function/filter ([@TheFes] - [#109062]) +- Deprecate modbus:restart service ([@janiversen] - [#115754]) +- Add uv version to wheels cache key [ci] ([@cdce8p] - [#116021]) +- Bump aioesphomeapi to 24.3.0 ([@jesserockz] - [#116004]) +- Add event platform to Lutron ([@joostlek] - [#109121]) +- Bump deebot-client to 7.0.0 ([@edenhaus] - [#116025]) +- Add number platform to Husqvarna Automower ([@Thomas55555] - [#115125]) +- Add additional zeroconf discovery coverage and logging to enphase_envoy ([@catsmanac] - [#114405]) +- Use location name on self hosted Ecovacs config entries ([@edenhaus] - [#115294]) +- Fix invalid tuple annotations ([@cdce8p] - [#116035]) +- Expose dynamic range status in Onkyo media player ([@Spacetech] - [#109099]) +- Velbus Cover: Assume state for VMBxBL modules ([@Cereal2nd] - [#109213]) +- Augment SyntaxError raised during dependency collection with offending filename ([@VolkerStolz] - [#109204]) +- Remove unnecessary type ignores ([@cdce8p] - [#116036]) +- Improve energy typing ([@cdce8p] - [#116034]) +- Use snapshot test helper in Husqvarna Automower ([@Thomas55555] - [#116039]) +- Bump python-fritzhome to 0.6.11 ([@mib1185] - [#115904]) +- Remove platform schema from Hydrawise ([@dknowles2] - [#116032]) +- Include libgammu-dev in devcontainer ([@emontnemery] - [#115983]) +- Add fan preset translations and icons to BAF ([@mill1000] - [#109944]) +- Allow plain text messages in telegram_bot ([@malkstar] - [#110051]) +- Bump mozart-api to 3.4.1.8.5 ([@mj23000] - [#113745]) +- Update pipdeptree to 2.17.0 ([@frenck] - [#116049]) +- Update coverage to 7.5.0 ([@frenck] - [#116048]) +- Pass the job type when setting up homekit state change listeners ([@bdraco] - [#116038]) +- Update requests_mock to 1.12.1 ([@frenck] - [#116050]) +- Breakout heartbeat monitor and poe command queue in UniFi ([@Kane610] - [#112529]) +- Add missing adapter data to Bluetooth config entry titles ([@bdraco] - [#115930]) +- Add entity translations to totalconnect ([@joostlek] - [#115950]) +- Deprecate Unify Circuit integration ([@jbouwh] - [#115528]) +- Convert solaredge to asyncio with aiosolaredge ([@bdraco] - [#115599]) +- Add Retry for C4 API due to flakiness ([@nalin29] - [#113857]) +- Add API scope checks to Teslemetry ([@Bre77] - [#113640]) +- Bump plugwise to v0.37.2 ([@bouwew] - [#115989]) +- Bump aioautomower to 2024.4.3 ([@Thomas55555] - [#114500]) +- Only work out job type once when setting up dispatcher ([@bdraco] - [#116030]) +- Fix ruff complaints in control4 ([@bdraco] - [#116058]) +- Add re-auth flow for MQTT broker username and password ([@jbouwh] - [#116011]) +- Rename bus._async_fire to bus.async_fire_internal ([@bdraco] - [#116027]) +- Add entity translations to 17track ([@joostlek] - [#116022]) +- Fix husqvarna_automower typing ([@bdraco] - [#116060]) +- Migrate legacy Ecobee notify service ([@jbouwh] - [#115592]) +- Update quality scale mqtt integration to platinum ([@jbouwh] - [#116059]) +- Complete test coverage for Tankerkonig ([@mib1185] - [#115920]) +- Bump github/codeql-action from 3.25.1 to 3.25.2 (@dependabot - [#116016]) +- Fix non-thread-safe operations in media_extractor ([@bdraco] - [#116065]) +- Add Event support to ESPHome components ([@nohat] - [#116061]) +- Fix non-thread-safe operation in harmony ([@bdraco] - [#116070]) +- Fix non-thread-safe operations in wake_on_lan ([@bdraco] - [#116069]) +- Fix non-thread-safe operations in html5 ([@bdraco] - [#116068]) +- Add debug mode to catch unsafe thread operations using core helpers ([@bdraco] - [#115390]) +- Always do thread safety checks when calling async_fire ([@bdraco] - [#116055]) +- Enable Ruff RUF019 ([@autinerd] - [#115396]) +- Migrate KNX notify service to entity platform ([@farmio] - [#115665]) +- Add reconfigure flow to AVM Fritz!Tools ([@mib1185] - [#116057]) +- Add OSO Energy sensors ([@osohotwateriot] - [#108226]) +- Use display_precision if suggested_display_precision is None ([@rikroe] - [#110270]) +- Bump deebot-client to 7.1.0 ([@edenhaus] - [#116082]) +- Small speed up to async_track_event ([@bdraco] - [#116083]) +- Add strict connection for cloud ([@edenhaus] - [#115814]) +- Bump plugwise to v0.37.3 ([@bouwew] - [#116081]) +- Always do thread safety checks when writing state for custom components ([@bdraco] - [#116044]) +- Ecobee preset mode icon translations ([@gagebenne] - [#116072]) +- Bump zha-quirks to 0.0.115 ([@TheJulianJES] - [#116071]) +- Fix iotawatt warnings about "Detected new cycle for sensor.{sensorname}_wh_last" ([@lyricnz] - [#115909]) +- Rename strict connection static page to guard page ([@edenhaus] - [#116085]) +- Fix accuweather system_health after data change ([@cdce8p] - [#116063]) +- Move thread safety check in async_register/async_remove ([@bdraco] - [#116077]) +- Deprecate relative_time() in favor of time_since() and time_until() ([@rlippmann] - [#111177]) +- Migrate discovery debouncer callback to async_fire_internal ([@bdraco] - [#116078]) +- Temporary CI workaround for broken microsoft ubuntu repo ([@bdraco] - [#116091]) +- Remove duplicate async_write_ha_state thread safety check ([@bdraco] - [#116086]) +- Enable debug mode if asyncio debug is on at startup ([@bdraco] - [#116084]) +- Add reconfigure flow to AVM Fritz!SmartHome ([@mib1185] - [#116047]) +- Remove microsoft apt package list before update ([@cdce8p] - [#116097]) +- Mark Tankerkoenig as Platinum 🏆 integration ([@mib1185] - [#115917]) +- Extend options for ecovacs lifespans ([@Augar] - [#116094]) +- Mask current password in MQTT option flow ([@jbouwh] - [#116098]) +- Deprecate speed limit lock in Tessie ([@Bre77] - [#113848]) +- Fix Sonos music library play problems ([@PeteRager] - [#113429]) +- Add service to 17track to get packages ([@shaiu] - [#116067]) +- Return specific group state if there is one ([@jbouwh] - [#115866]) +- Always reload after a successful reauth flow ([@jbouwh] - [#116026]) +- Update frontend to 20240424.1 ([@bramkragten] - [#116103]) +- Update goodwe library to 0.3.2 ([@mletenay] - [#115309]) +- Add binary sensor platform to romy integration ([@xeniter] - [#112998]) +- Refactor ESPHome manager to avoid sending signals in tests ([@bdraco] - [#116033]) +- Add nfandroidtv type checking and allow for strings to be passed to the image and icon data ([@miawgogo] - [#108652]) +- Cancel timer on enphase_envoy config entry unload ([@catsmanac] - [#111406]) +- Fix removing suggested_display_precision from entity registry ([@pnbruckner] - [#110671]) +- Reduce duplicate code in enphase_envoy ([@bdraco] - [#116107]) +- Expose the SkyConnect integration with a firmware config/options flow ([@puddly] - [#115363]) +- Add sensor platform to romy integration ([@xeniter] - [#112388]) +- Add binary sensor entities to Traccar Server ([@ludeeus] - [#114719]) +- Bump ZHA dependencies ([@TheJulianJES] - [#116106]) +- Add quality scale to Comelit ([@chemelli74] - [#116041]) +- Add quality scale to Vodafone Station ([@chemelli74] - [#116040]) +- Add select platform to jvc_projector component ([@SteveEasley] - [#111638]) +- Bump intents to 2024.4.24 ([@synesthesiam] - [#116111]) +- Add notification service for Bring component ([@tr4nt0r] - [#109222]) +- Fix statistic bug in Tibber sensor ([@Danielhiversen] - [#116112]) +- Bump aiopegelonline to 0.0.10 ([@mib1185] - [#116114]) +- Split out event handling from Axis hub ([@Kane610] - [#113837]) +- Fix climate entity creation when Shelly WallDisplay uses external relay as actuator ([@bieniu] - [#115216]) +- Don't create event entries for lighting4 rfxtrx devices ([@elupus] - [#115716]) +- Update rfxtrx to 0.31.1 ([@elupus] - [#116125]) +- Bump pyfibaro to 0.7.8 ([@rappenze] - [#116126]) +- Avoid blocking the event loop when unloading Monoprice ([@OnFreund] - [#116141]) +- Remove deprecation warnings for relative_time ([@emontnemery] - [#116144]) +- Fix lying docstring for relative_time template function ([@emontnemery] - [#116146]) +- Handle invalid device type in onewire ([@epenet] - [#116153]) +- Fix language in strict connection guard page ([@emontnemery] - [#116154]) +- Update unlocked icon for locks ([@piitaya] - [#116157]) +- Remove early return when validating entity registry items ([@emontnemery] - [#116160]) +- Revert orjson to 3.9.15 due to segmentation faults ([@bdraco] - [#116168]) +- Update Ollama model names list ([@synesthesiam] - [#116172]) +- Revert "Return specific group state if there is one" ([@jbouwh] - [#116176]) +- Bump govee-ble to 0.31.2 ([@bdraco] - [#116177]) +- Bump pyrisco to 0.6.1 ([@OnFreund] - [#116182]) +- Make Roborock listener update thread safe ([@Lash-L] - [#116184]) +- Fix smartthings doing I/O in the event loop to import platforms ([@bdraco] - [#116190]) +- Fix flaky traccar_server tests ([@emontnemery] - [#116191]) +- Bump bluetooth-auto-recovery to 1.4.2 ([@bdraco] - [#116192]) +- Reduce scope of bootstrap test fixture to module ([@emontnemery] - [#116195]) +- Breakfix to handle null value in Teslemetry ([@Bre77] - [#116206]) +- Restore default timezone after electric_kiwi sensor tests ([@emontnemery] - [#116217]) +- Use None as default value for strict connection cloud store ([@edenhaus] - [#116219]) +- Fix state classes for ovo energy sensors ([@timmo001] - [#116225]) +- Update frontend to 20240426.0 ([@piitaya] - [#116230]) +- Move thread safety check in entity_registry sooner ([@bdraco] - [#116263]) +- Move thread safety check in device_registry sooner ([@bdraco] - [#116264]) +- Move thread safety check in area_registry sooner ([@bdraco] - [#116265]) +- Bump zwave-js-server-python to 0.55.4 ([@raman325] - [#116278]) +- Improve error handling for HTTP errors on Growatt Server ([@marcovtwout] - [#110633]) +- Add matter during onboarding ([@MartinHjelmare] - [#116163]) +- Fix script in restart mode that is fired from the same trigger ([@bdraco] - [#116247]) +- Fix Aseko binary sensors names ([@hopkins-tk] - [#116251]) +- Fix no will published when mqtt is down ([@jbouwh] - [#116319]) +- Make discovery flow tasks background tasks ([@bdraco] - [#116327]) +- Prevent setup retry from delaying shutdown ([@bdraco] - [#116328]) +- Fix august delaying shutdown ([@bdraco] - [#116329]) +- Fix unifiprotect delaying shutdown if websocket if offline ([@bdraco] - [#116331]) +- Fix wemo push updates delaying shutdown ([@bdraco] - [#116333]) +- Fix bluetooth adapter discovery delaying startup and shutdown ([@bdraco] - [#116335]) +- Fix sonos events delaying shutdown ([@bdraco] - [#116337]) +- Add thread safety checks to async_create_task ([@bdraco] - [#116339]) +- Fix homeassistant_alerts delaying shutdown ([@bdraco] - [#116340]) +- Fix Netatmo indoor sensor ([@joostlek] - [#116342]) +- Fix some flapping sonos tests ([@bdraco] - [#116343]) +- Fix bond update delaying shutdown when push updated are not available ([@bdraco] - [#116344]) +- Fix shelly delaying shutdown ([@bdraco] - [#116346]) +- Fix another case of homeassistant_alerts delaying shutdown ([@bdraco] - [#116352]) +- Prevent Shelly raising in a task ([@thecode] - [#116355]) +- Fix usb scan delaying shutdown ([@bdraco] - [#116390]) +- Bump fyta_cli to 0.4.1 ([@dontinelli] - [#115918]) +- Store access token in entry for Fyta ([@dontinelli] - [#116260]) +- Deprecate YAML configuration of Habitica ([@tr4nt0r] - [#116374]) +- Fix jvcprojector command timeout with some projectors ([@SteveEasley] - [#116392]) +- Remove strict connection ([@edenhaus] - [#116396]) +- Update frontend to 20240429.0 ([@bramkragten] - [#116404]) +- Set Synology camera device name as entity name ([@joostlek] - [#109123]) +- Fix stale prayer times from `islamic-prayer-times` ([@cpfair] - [#115683]) +- Bump smart_meter_texas to 0.5.5 ([@grahamwetzler] - [#116321]) +- Remove semicolon in Modbus ([@joostlek] - [#116399]) +- Fix error handling in Shell Command integration ([@mib1185] - [#116409]) +- Fix zoneminder async ([@joostlek] - [#116436]) +- Add user id to coordinator name in Withings ([@joostlek] - [#116440]) +- Some fixes for the Matter light discovery schema ([@marcelveldt] - [#116108]) +- Bump bimmer_connected to 0.15.2 ([@rikroe] - [#116424]) +- Fix zoneminder async v2 ([@joostlek] - [#116451]) +- Bump bluetooth-adapters to 0.19.1 ([@bdraco] - [#116465]) +- Ensure MQTT resubscribes happen before birth message ([@bdraco] - [#116471]) +- Fix local_todo blocking the event loop ([@bdraco] - [#116473]) +- Change SkyConnect integration type back to `hardware` and fix multi-PAN migration bug ([@puddly] - [#116474]) +- Fix non-thread-safe operation in roon volume callback ([@bdraco] - [#116475]) +- Add test MQTT subscription is completed when birth message is sent ([@jbouwh] - [#116476]) +- Update frontend to 20240430.0 ([@bramkragten] - [#116481]) +- Hold a lock to prevent concurrent setup of config entries ([@bdraco] - [#116482]) +- Fix roborock image crashes ([@Lash-L] - [#116487]) +- Bump opower to 0.4.4 ([@max2697] - [#116489]) +- Update frontend to 20240501.0 ([@bramkragten] - [#116503]) +- Bump ZHA dependencies ([@puddly] - [#116509]) +- Fix non-thread-safe operations in ihc ([@bdraco] - [#116513]) +- Bump python matter server library to 5.10.0 ([@marcelveldt] - [#116514]) +- Fix blocking I/O to import modules in mysensors ([@bdraco] - [#116516]) +- Improve scrape strings ([@joostlek] - [#116519]) +- Add blocklist for known Matter devices with faulty transitions ([@marcelveldt] - [#116524]) +- Fix stop event cleanup when reloading MQTT ([@bdraco] - [#116525]) + +[#100780]: https://github.com/home-assistant/core/pull/100780 +[#102424]: https://github.com/home-assistant/core/pull/102424 +[#104343]: https://github.com/home-assistant/core/pull/104343 +[#104725]: https://github.com/home-assistant/core/pull/104725 +[#104913]: https://github.com/home-assistant/core/pull/104913 +[#105068]: https://github.com/home-assistant/core/pull/105068 +[#105581]: https://github.com/home-assistant/core/pull/105581 +[#105598]: https://github.com/home-assistant/core/pull/105598 +[#105605]: https://github.com/home-assistant/core/pull/105605 +[#105764]: https://github.com/home-assistant/core/pull/105764 +[#105779]: https://github.com/home-assistant/core/pull/105779 +[#105861]: https://github.com/home-assistant/core/pull/105861 +[#106167]: https://github.com/home-assistant/core/pull/106167 +[#106305]: https://github.com/home-assistant/core/pull/106305 +[#106322]: https://github.com/home-assistant/core/pull/106322 +[#106348]: https://github.com/home-assistant/core/pull/106348 +[#106501]: https://github.com/home-assistant/core/pull/106501 +[#106589]: https://github.com/home-assistant/core/pull/106589 +[#106612]: https://github.com/home-assistant/core/pull/106612 +[#106769]: https://github.com/home-assistant/core/pull/106769 +[#106778]: https://github.com/home-assistant/core/pull/106778 +[#106785]: https://github.com/home-assistant/core/pull/106785 +[#106874]: https://github.com/home-assistant/core/pull/106874 +[#106875]: https://github.com/home-assistant/core/pull/106875 +[#106904]: https://github.com/home-assistant/core/pull/106904 +[#107348]: https://github.com/home-assistant/core/pull/107348 +[#107446]: https://github.com/home-assistant/core/pull/107446 +[#107464]: https://github.com/home-assistant/core/pull/107464 +[#107630]: https://github.com/home-assistant/core/pull/107630 +[#107803]: https://github.com/home-assistant/core/pull/107803 +[#107852]: https://github.com/home-assistant/core/pull/107852 +[#107862]: https://github.com/home-assistant/core/pull/107862 +[#107905]: https://github.com/home-assistant/core/pull/107905 +[#107920]: https://github.com/home-assistant/core/pull/107920 +[#108168]: https://github.com/home-assistant/core/pull/108168 +[#108226]: https://github.com/home-assistant/core/pull/108226 +[#108310]: https://github.com/home-assistant/core/pull/108310 +[#108652]: https://github.com/home-assistant/core/pull/108652 +[#109062]: https://github.com/home-assistant/core/pull/109062 +[#109099]: https://github.com/home-assistant/core/pull/109099 +[#109121]: https://github.com/home-assistant/core/pull/109121 +[#109123]: https://github.com/home-assistant/core/pull/109123 +[#109204]: https://github.com/home-assistant/core/pull/109204 +[#109213]: https://github.com/home-assistant/core/pull/109213 +[#109222]: https://github.com/home-assistant/core/pull/109222 +[#109291]: https://github.com/home-assistant/core/pull/109291 +[#109517]: https://github.com/home-assistant/core/pull/109517 +[#109944]: https://github.com/home-assistant/core/pull/109944 +[#110051]: https://github.com/home-assistant/core/pull/110051 +[#110066]: https://github.com/home-assistant/core/pull/110066 +[#110256]: https://github.com/home-assistant/core/pull/110256 +[#110270]: https://github.com/home-assistant/core/pull/110270 +[#110287]: https://github.com/home-assistant/core/pull/110287 +[#110294]: https://github.com/home-assistant/core/pull/110294 +[#110384]: https://github.com/home-assistant/core/pull/110384 +[#110633]: https://github.com/home-assistant/core/pull/110633 +[#110671]: https://github.com/home-assistant/core/pull/110671 +[#110950]: https://github.com/home-assistant/core/pull/110950 +[#111177]: https://github.com/home-assistant/core/pull/111177 +[#111266]: https://github.com/home-assistant/core/pull/111266 +[#111374]: https://github.com/home-assistant/core/pull/111374 +[#111402]: https://github.com/home-assistant/core/pull/111402 +[#111406]: https://github.com/home-assistant/core/pull/111406 +[#111478]: https://github.com/home-assistant/core/pull/111478 +[#111638]: https://github.com/home-assistant/core/pull/111638 +[#112023]: https://github.com/home-assistant/core/pull/112023 +[#112119]: https://github.com/home-assistant/core/pull/112119 +[#112157]: https://github.com/home-assistant/core/pull/112157 +[#112387]: https://github.com/home-assistant/core/pull/112387 +[#112388]: https://github.com/home-assistant/core/pull/112388 +[#112529]: https://github.com/home-assistant/core/pull/112529 +[#112714]: https://github.com/home-assistant/core/pull/112714 +[#112834]: https://github.com/home-assistant/core/pull/112834 +[#112998]: https://github.com/home-assistant/core/pull/112998 +[#113097]: https://github.com/home-assistant/core/pull/113097 +[#113146]: https://github.com/home-assistant/core/pull/113146 +[#113156]: https://github.com/home-assistant/core/pull/113156 +[#113165]: https://github.com/home-assistant/core/pull/113165 +[#113429]: https://github.com/home-assistant/core/pull/113429 +[#113622]: https://github.com/home-assistant/core/pull/113622 +[#113640]: https://github.com/home-assistant/core/pull/113640 +[#113710]: https://github.com/home-assistant/core/pull/113710 +[#113745]: https://github.com/home-assistant/core/pull/113745 +[#113752]: https://github.com/home-assistant/core/pull/113752 +[#113837]: https://github.com/home-assistant/core/pull/113837 +[#113838]: https://github.com/home-assistant/core/pull/113838 +[#113848]: https://github.com/home-assistant/core/pull/113848 +[#113857]: https://github.com/home-assistant/core/pull/113857 +[#113882]: https://github.com/home-assistant/core/pull/113882 +[#114025]: https://github.com/home-assistant/core/pull/114025 +[#114059]: https://github.com/home-assistant/core/pull/114059 +[#114110]: https://github.com/home-assistant/core/pull/114110 +[#114134]: https://github.com/home-assistant/core/pull/114134 +[#114177]: https://github.com/home-assistant/core/pull/114177 +[#114197]: https://github.com/home-assistant/core/pull/114197 +[#114214]: https://github.com/home-assistant/core/pull/114214 +[#114239]: https://github.com/home-assistant/core/pull/114239 +[#114247]: https://github.com/home-assistant/core/pull/114247 +[#114255]: https://github.com/home-assistant/core/pull/114255 +[#114265]: https://github.com/home-assistant/core/pull/114265 +[#114269]: https://github.com/home-assistant/core/pull/114269 +[#114287]: https://github.com/home-assistant/core/pull/114287 +[#114305]: https://github.com/home-assistant/core/pull/114305 +[#114324]: https://github.com/home-assistant/core/pull/114324 +[#114340]: https://github.com/home-assistant/core/pull/114340 +[#114352]: https://github.com/home-assistant/core/pull/114352 +[#114357]: https://github.com/home-assistant/core/pull/114357 +[#114359]: https://github.com/home-assistant/core/pull/114359 +[#114361]: https://github.com/home-assistant/core/pull/114361 +[#114362]: https://github.com/home-assistant/core/pull/114362 +[#114364]: https://github.com/home-assistant/core/pull/114364 +[#114365]: https://github.com/home-assistant/core/pull/114365 +[#114366]: https://github.com/home-assistant/core/pull/114366 +[#114367]: https://github.com/home-assistant/core/pull/114367 +[#114377]: https://github.com/home-assistant/core/pull/114377 +[#114379]: https://github.com/home-assistant/core/pull/114379 +[#114381]: https://github.com/home-assistant/core/pull/114381 +[#114384]: https://github.com/home-assistant/core/pull/114384 +[#114385]: https://github.com/home-assistant/core/pull/114385 +[#114388]: https://github.com/home-assistant/core/pull/114388 +[#114395]: https://github.com/home-assistant/core/pull/114395 +[#114398]: https://github.com/home-assistant/core/pull/114398 +[#114400]: https://github.com/home-assistant/core/pull/114400 +[#114404]: https://github.com/home-assistant/core/pull/114404 +[#114405]: https://github.com/home-assistant/core/pull/114405 +[#114406]: https://github.com/home-assistant/core/pull/114406 +[#114408]: https://github.com/home-assistant/core/pull/114408 +[#114409]: https://github.com/home-assistant/core/pull/114409 +[#114411]: https://github.com/home-assistant/core/pull/114411 +[#114412]: https://github.com/home-assistant/core/pull/114412 +[#114413]: https://github.com/home-assistant/core/pull/114413 +[#114415]: https://github.com/home-assistant/core/pull/114415 +[#114419]: https://github.com/home-assistant/core/pull/114419 +[#114422]: https://github.com/home-assistant/core/pull/114422 +[#114424]: https://github.com/home-assistant/core/pull/114424 +[#114425]: https://github.com/home-assistant/core/pull/114425 +[#114426]: https://github.com/home-assistant/core/pull/114426 +[#114427]: https://github.com/home-assistant/core/pull/114427 +[#114428]: https://github.com/home-assistant/core/pull/114428 +[#114429]: https://github.com/home-assistant/core/pull/114429 +[#114432]: https://github.com/home-assistant/core/pull/114432 +[#114437]: https://github.com/home-assistant/core/pull/114437 +[#114441]: https://github.com/home-assistant/core/pull/114441 +[#114443]: https://github.com/home-assistant/core/pull/114443 +[#114455]: https://github.com/home-assistant/core/pull/114455 +[#114470]: https://github.com/home-assistant/core/pull/114470 +[#114480]: https://github.com/home-assistant/core/pull/114480 +[#114484]: https://github.com/home-assistant/core/pull/114484 +[#114485]: https://github.com/home-assistant/core/pull/114485 +[#114488]: https://github.com/home-assistant/core/pull/114488 +[#114495]: https://github.com/home-assistant/core/pull/114495 +[#114500]: https://github.com/home-assistant/core/pull/114500 +[#114501]: https://github.com/home-assistant/core/pull/114501 +[#114502]: https://github.com/home-assistant/core/pull/114502 +[#114509]: https://github.com/home-assistant/core/pull/114509 +[#114515]: https://github.com/home-assistant/core/pull/114515 +[#114516]: https://github.com/home-assistant/core/pull/114516 +[#114518]: https://github.com/home-assistant/core/pull/114518 +[#114520]: https://github.com/home-assistant/core/pull/114520 +[#114525]: https://github.com/home-assistant/core/pull/114525 +[#114527]: https://github.com/home-assistant/core/pull/114527 +[#114528]: https://github.com/home-assistant/core/pull/114528 +[#114529]: https://github.com/home-assistant/core/pull/114529 +[#114532]: https://github.com/home-assistant/core/pull/114532 +[#114534]: https://github.com/home-assistant/core/pull/114534 +[#114535]: https://github.com/home-assistant/core/pull/114535 +[#114536]: https://github.com/home-assistant/core/pull/114536 +[#114537]: https://github.com/home-assistant/core/pull/114537 +[#114539]: https://github.com/home-assistant/core/pull/114539 +[#114540]: https://github.com/home-assistant/core/pull/114540 +[#114541]: https://github.com/home-assistant/core/pull/114541 +[#114546]: https://github.com/home-assistant/core/pull/114546 +[#114554]: https://github.com/home-assistant/core/pull/114554 +[#114557]: https://github.com/home-assistant/core/pull/114557 +[#114572]: https://github.com/home-assistant/core/pull/114572 +[#114573]: https://github.com/home-assistant/core/pull/114573 +[#114577]: https://github.com/home-assistant/core/pull/114577 +[#114582]: https://github.com/home-assistant/core/pull/114582 +[#114585]: https://github.com/home-assistant/core/pull/114585 +[#114586]: https://github.com/home-assistant/core/pull/114586 +[#114587]: https://github.com/home-assistant/core/pull/114587 +[#114588]: https://github.com/home-assistant/core/pull/114588 +[#114589]: https://github.com/home-assistant/core/pull/114589 +[#114590]: https://github.com/home-assistant/core/pull/114590 +[#114598]: https://github.com/home-assistant/core/pull/114598 +[#114601]: https://github.com/home-assistant/core/pull/114601 +[#114605]: https://github.com/home-assistant/core/pull/114605 +[#114609]: https://github.com/home-assistant/core/pull/114609 +[#114610]: https://github.com/home-assistant/core/pull/114610 +[#114616]: https://github.com/home-assistant/core/pull/114616 +[#114617]: https://github.com/home-assistant/core/pull/114617 +[#114624]: https://github.com/home-assistant/core/pull/114624 +[#114626]: https://github.com/home-assistant/core/pull/114626 +[#114629]: https://github.com/home-assistant/core/pull/114629 +[#114634]: https://github.com/home-assistant/core/pull/114634 +[#114636]: https://github.com/home-assistant/core/pull/114636 +[#114642]: https://github.com/home-assistant/core/pull/114642 +[#114644]: https://github.com/home-assistant/core/pull/114644 +[#114645]: https://github.com/home-assistant/core/pull/114645 +[#114648]: https://github.com/home-assistant/core/pull/114648 +[#114656]: https://github.com/home-assistant/core/pull/114656 +[#114661]: https://github.com/home-assistant/core/pull/114661 +[#114662]: https://github.com/home-assistant/core/pull/114662 +[#114666]: https://github.com/home-assistant/core/pull/114666 +[#114668]: https://github.com/home-assistant/core/pull/114668 +[#114669]: https://github.com/home-assistant/core/pull/114669 +[#114670]: https://github.com/home-assistant/core/pull/114670 +[#114672]: https://github.com/home-assistant/core/pull/114672 +[#114675]: https://github.com/home-assistant/core/pull/114675 +[#114677]: https://github.com/home-assistant/core/pull/114677 +[#114678]: https://github.com/home-assistant/core/pull/114678 +[#114681]: https://github.com/home-assistant/core/pull/114681 +[#114682]: https://github.com/home-assistant/core/pull/114682 +[#114688]: https://github.com/home-assistant/core/pull/114688 +[#114689]: https://github.com/home-assistant/core/pull/114689 +[#114691]: https://github.com/home-assistant/core/pull/114691 +[#114692]: https://github.com/home-assistant/core/pull/114692 +[#114694]: https://github.com/home-assistant/core/pull/114694 +[#114695]: https://github.com/home-assistant/core/pull/114695 +[#114696]: https://github.com/home-assistant/core/pull/114696 +[#114697]: https://github.com/home-assistant/core/pull/114697 +[#114698]: https://github.com/home-assistant/core/pull/114698 +[#114699]: https://github.com/home-assistant/core/pull/114699 +[#114700]: https://github.com/home-assistant/core/pull/114700 +[#114701]: https://github.com/home-assistant/core/pull/114701 +[#114702]: https://github.com/home-assistant/core/pull/114702 +[#114703]: https://github.com/home-assistant/core/pull/114703 +[#114704]: https://github.com/home-assistant/core/pull/114704 +[#114705]: https://github.com/home-assistant/core/pull/114705 +[#114706]: https://github.com/home-assistant/core/pull/114706 +[#114707]: https://github.com/home-assistant/core/pull/114707 +[#114709]: https://github.com/home-assistant/core/pull/114709 +[#114711]: https://github.com/home-assistant/core/pull/114711 +[#114714]: https://github.com/home-assistant/core/pull/114714 +[#114719]: https://github.com/home-assistant/core/pull/114719 +[#114720]: https://github.com/home-assistant/core/pull/114720 +[#114722]: https://github.com/home-assistant/core/pull/114722 +[#114726]: https://github.com/home-assistant/core/pull/114726 +[#114728]: https://github.com/home-assistant/core/pull/114728 +[#114729]: https://github.com/home-assistant/core/pull/114729 +[#114730]: https://github.com/home-assistant/core/pull/114730 +[#114731]: https://github.com/home-assistant/core/pull/114731 +[#114732]: https://github.com/home-assistant/core/pull/114732 +[#114733]: https://github.com/home-assistant/core/pull/114733 +[#114736]: https://github.com/home-assistant/core/pull/114736 +[#114737]: https://github.com/home-assistant/core/pull/114737 +[#114738]: https://github.com/home-assistant/core/pull/114738 +[#114739]: https://github.com/home-assistant/core/pull/114739 +[#114740]: https://github.com/home-assistant/core/pull/114740 +[#114745]: https://github.com/home-assistant/core/pull/114745 +[#114749]: https://github.com/home-assistant/core/pull/114749 +[#114753]: https://github.com/home-assistant/core/pull/114753 +[#114754]: https://github.com/home-assistant/core/pull/114754 +[#114760]: https://github.com/home-assistant/core/pull/114760 +[#114769]: https://github.com/home-assistant/core/pull/114769 +[#114771]: https://github.com/home-assistant/core/pull/114771 +[#114774]: https://github.com/home-assistant/core/pull/114774 +[#114776]: https://github.com/home-assistant/core/pull/114776 +[#114777]: https://github.com/home-assistant/core/pull/114777 +[#114800]: https://github.com/home-assistant/core/pull/114800 +[#114802]: https://github.com/home-assistant/core/pull/114802 +[#114803]: https://github.com/home-assistant/core/pull/114803 +[#114805]: https://github.com/home-assistant/core/pull/114805 +[#114806]: https://github.com/home-assistant/core/pull/114806 +[#114808]: https://github.com/home-assistant/core/pull/114808 +[#114809]: https://github.com/home-assistant/core/pull/114809 +[#114810]: https://github.com/home-assistant/core/pull/114810 +[#114811]: https://github.com/home-assistant/core/pull/114811 +[#114812]: https://github.com/home-assistant/core/pull/114812 +[#114813]: https://github.com/home-assistant/core/pull/114813 +[#114814]: https://github.com/home-assistant/core/pull/114814 +[#114816]: https://github.com/home-assistant/core/pull/114816 +[#114817]: https://github.com/home-assistant/core/pull/114817 +[#114818]: https://github.com/home-assistant/core/pull/114818 +[#114847]: https://github.com/home-assistant/core/pull/114847 +[#114865]: https://github.com/home-assistant/core/pull/114865 +[#114867]: https://github.com/home-assistant/core/pull/114867 +[#114873]: https://github.com/home-assistant/core/pull/114873 +[#114883]: https://github.com/home-assistant/core/pull/114883 +[#114885]: https://github.com/home-assistant/core/pull/114885 +[#114887]: https://github.com/home-assistant/core/pull/114887 +[#114899]: https://github.com/home-assistant/core/pull/114899 +[#114900]: https://github.com/home-assistant/core/pull/114900 +[#114906]: https://github.com/home-assistant/core/pull/114906 +[#114911]: https://github.com/home-assistant/core/pull/114911 +[#114916]: https://github.com/home-assistant/core/pull/114916 +[#114917]: https://github.com/home-assistant/core/pull/114917 +[#114919]: https://github.com/home-assistant/core/pull/114919 +[#114923]: https://github.com/home-assistant/core/pull/114923 +[#114925]: https://github.com/home-assistant/core/pull/114925 +[#114926]: https://github.com/home-assistant/core/pull/114926 +[#114928]: https://github.com/home-assistant/core/pull/114928 +[#114929]: https://github.com/home-assistant/core/pull/114929 +[#114933]: https://github.com/home-assistant/core/pull/114933 +[#114939]: https://github.com/home-assistant/core/pull/114939 +[#114942]: https://github.com/home-assistant/core/pull/114942 +[#114945]: https://github.com/home-assistant/core/pull/114945 +[#114957]: https://github.com/home-assistant/core/pull/114957 +[#114962]: https://github.com/home-assistant/core/pull/114962 +[#114963]: https://github.com/home-assistant/core/pull/114963 +[#114972]: https://github.com/home-assistant/core/pull/114972 +[#114974]: https://github.com/home-assistant/core/pull/114974 +[#114976]: https://github.com/home-assistant/core/pull/114976 +[#114978]: https://github.com/home-assistant/core/pull/114978 +[#114985]: https://github.com/home-assistant/core/pull/114985 +[#114986]: https://github.com/home-assistant/core/pull/114986 +[#114987]: https://github.com/home-assistant/core/pull/114987 +[#114992]: https://github.com/home-assistant/core/pull/114992 +[#114993]: https://github.com/home-assistant/core/pull/114993 +[#114994]: https://github.com/home-assistant/core/pull/114994 +[#114995]: https://github.com/home-assistant/core/pull/114995 +[#114996]: https://github.com/home-assistant/core/pull/114996 +[#115000]: https://github.com/home-assistant/core/pull/115000 +[#115001]: https://github.com/home-assistant/core/pull/115001 +[#115002]: https://github.com/home-assistant/core/pull/115002 +[#115013]: https://github.com/home-assistant/core/pull/115013 +[#115015]: https://github.com/home-assistant/core/pull/115015 +[#115016]: https://github.com/home-assistant/core/pull/115016 +[#115017]: https://github.com/home-assistant/core/pull/115017 +[#115020]: https://github.com/home-assistant/core/pull/115020 +[#115023]: https://github.com/home-assistant/core/pull/115023 +[#115024]: https://github.com/home-assistant/core/pull/115024 +[#115028]: https://github.com/home-assistant/core/pull/115028 +[#115029]: https://github.com/home-assistant/core/pull/115029 +[#115032]: https://github.com/home-assistant/core/pull/115032 +[#115043]: https://github.com/home-assistant/core/pull/115043 +[#115044]: https://github.com/home-assistant/core/pull/115044 +[#115047]: https://github.com/home-assistant/core/pull/115047 +[#115050]: https://github.com/home-assistant/core/pull/115050 +[#115052]: https://github.com/home-assistant/core/pull/115052 +[#115055]: https://github.com/home-assistant/core/pull/115055 +[#115057]: https://github.com/home-assistant/core/pull/115057 +[#115059]: https://github.com/home-assistant/core/pull/115059 +[#115061]: https://github.com/home-assistant/core/pull/115061 +[#115063]: https://github.com/home-assistant/core/pull/115063 +[#115064]: https://github.com/home-assistant/core/pull/115064 +[#115066]: https://github.com/home-assistant/core/pull/115066 +[#115067]: https://github.com/home-assistant/core/pull/115067 +[#115069]: https://github.com/home-assistant/core/pull/115069 +[#115074]: https://github.com/home-assistant/core/pull/115074 +[#115075]: https://github.com/home-assistant/core/pull/115075 +[#115076]: https://github.com/home-assistant/core/pull/115076 +[#115079]: https://github.com/home-assistant/core/pull/115079 +[#115082]: https://github.com/home-assistant/core/pull/115082 +[#115091]: https://github.com/home-assistant/core/pull/115091 +[#115094]: https://github.com/home-assistant/core/pull/115094 +[#115097]: https://github.com/home-assistant/core/pull/115097 +[#115098]: https://github.com/home-assistant/core/pull/115098 +[#115100]: https://github.com/home-assistant/core/pull/115100 +[#115102]: https://github.com/home-assistant/core/pull/115102 +[#115104]: https://github.com/home-assistant/core/pull/115104 +[#115105]: https://github.com/home-assistant/core/pull/115105 +[#115108]: https://github.com/home-assistant/core/pull/115108 +[#115112]: https://github.com/home-assistant/core/pull/115112 +[#115119]: https://github.com/home-assistant/core/pull/115119 +[#115121]: https://github.com/home-assistant/core/pull/115121 +[#115125]: https://github.com/home-assistant/core/pull/115125 +[#115127]: https://github.com/home-assistant/core/pull/115127 +[#115132]: https://github.com/home-assistant/core/pull/115132 +[#115146]: https://github.com/home-assistant/core/pull/115146 +[#115152]: https://github.com/home-assistant/core/pull/115152 +[#115154]: https://github.com/home-assistant/core/pull/115154 +[#115157]: https://github.com/home-assistant/core/pull/115157 +[#115160]: https://github.com/home-assistant/core/pull/115160 +[#115161]: https://github.com/home-assistant/core/pull/115161 +[#115164]: https://github.com/home-assistant/core/pull/115164 +[#115165]: https://github.com/home-assistant/core/pull/115165 +[#115167]: https://github.com/home-assistant/core/pull/115167 +[#115168]: https://github.com/home-assistant/core/pull/115168 +[#115169]: https://github.com/home-assistant/core/pull/115169 +[#115172]: https://github.com/home-assistant/core/pull/115172 +[#115177]: https://github.com/home-assistant/core/pull/115177 +[#115179]: https://github.com/home-assistant/core/pull/115179 +[#115187]: https://github.com/home-assistant/core/pull/115187 +[#115188]: https://github.com/home-assistant/core/pull/115188 +[#115189]: https://github.com/home-assistant/core/pull/115189 +[#115190]: https://github.com/home-assistant/core/pull/115190 +[#115195]: https://github.com/home-assistant/core/pull/115195 +[#115197]: https://github.com/home-assistant/core/pull/115197 +[#115201]: https://github.com/home-assistant/core/pull/115201 +[#115206]: https://github.com/home-assistant/core/pull/115206 +[#115210]: https://github.com/home-assistant/core/pull/115210 +[#115216]: https://github.com/home-assistant/core/pull/115216 +[#115225]: https://github.com/home-assistant/core/pull/115225 +[#115228]: https://github.com/home-assistant/core/pull/115228 +[#115229]: https://github.com/home-assistant/core/pull/115229 +[#115230]: https://github.com/home-assistant/core/pull/115230 +[#115237]: https://github.com/home-assistant/core/pull/115237 +[#115238]: https://github.com/home-assistant/core/pull/115238 +[#115240]: https://github.com/home-assistant/core/pull/115240 +[#115241]: https://github.com/home-assistant/core/pull/115241 +[#115242]: https://github.com/home-assistant/core/pull/115242 +[#115244]: https://github.com/home-assistant/core/pull/115244 +[#115245]: https://github.com/home-assistant/core/pull/115245 +[#115246]: https://github.com/home-assistant/core/pull/115246 +[#115253]: https://github.com/home-assistant/core/pull/115253 +[#115263]: https://github.com/home-assistant/core/pull/115263 +[#115265]: https://github.com/home-assistant/core/pull/115265 +[#115267]: https://github.com/home-assistant/core/pull/115267 +[#115275]: https://github.com/home-assistant/core/pull/115275 +[#115276]: https://github.com/home-assistant/core/pull/115276 +[#115277]: https://github.com/home-assistant/core/pull/115277 +[#115278]: https://github.com/home-assistant/core/pull/115278 +[#115285]: https://github.com/home-assistant/core/pull/115285 +[#115294]: https://github.com/home-assistant/core/pull/115294 +[#115296]: https://github.com/home-assistant/core/pull/115296 +[#115300]: https://github.com/home-assistant/core/pull/115300 +[#115307]: https://github.com/home-assistant/core/pull/115307 +[#115309]: https://github.com/home-assistant/core/pull/115309 +[#115315]: https://github.com/home-assistant/core/pull/115315 +[#115317]: https://github.com/home-assistant/core/pull/115317 +[#115318]: https://github.com/home-assistant/core/pull/115318 +[#115319]: https://github.com/home-assistant/core/pull/115319 +[#115322]: https://github.com/home-assistant/core/pull/115322 +[#115324]: https://github.com/home-assistant/core/pull/115324 +[#115333]: https://github.com/home-assistant/core/pull/115333 +[#115335]: https://github.com/home-assistant/core/pull/115335 +[#115336]: https://github.com/home-assistant/core/pull/115336 +[#115340]: https://github.com/home-assistant/core/pull/115340 +[#115341]: https://github.com/home-assistant/core/pull/115341 +[#115362]: https://github.com/home-assistant/core/pull/115362 +[#115363]: https://github.com/home-assistant/core/pull/115363 +[#115368]: https://github.com/home-assistant/core/pull/115368 +[#115372]: https://github.com/home-assistant/core/pull/115372 +[#115377]: https://github.com/home-assistant/core/pull/115377 +[#115378]: https://github.com/home-assistant/core/pull/115378 +[#115384]: https://github.com/home-assistant/core/pull/115384 +[#115386]: https://github.com/home-assistant/core/pull/115386 +[#115388]: https://github.com/home-assistant/core/pull/115388 +[#115390]: https://github.com/home-assistant/core/pull/115390 +[#115391]: https://github.com/home-assistant/core/pull/115391 +[#115392]: https://github.com/home-assistant/core/pull/115392 +[#115396]: https://github.com/home-assistant/core/pull/115396 +[#115398]: https://github.com/home-assistant/core/pull/115398 +[#115404]: https://github.com/home-assistant/core/pull/115404 +[#115405]: https://github.com/home-assistant/core/pull/115405 +[#115406]: https://github.com/home-assistant/core/pull/115406 +[#115409]: https://github.com/home-assistant/core/pull/115409 +[#115412]: https://github.com/home-assistant/core/pull/115412 +[#115413]: https://github.com/home-assistant/core/pull/115413 +[#115422]: https://github.com/home-assistant/core/pull/115422 +[#115442]: https://github.com/home-assistant/core/pull/115442 +[#115443]: https://github.com/home-assistant/core/pull/115443 +[#115446]: https://github.com/home-assistant/core/pull/115446 +[#115447]: https://github.com/home-assistant/core/pull/115447 +[#115448]: https://github.com/home-assistant/core/pull/115448 +[#115449]: https://github.com/home-assistant/core/pull/115449 +[#115451]: https://github.com/home-assistant/core/pull/115451 +[#115452]: https://github.com/home-assistant/core/pull/115452 +[#115454]: https://github.com/home-assistant/core/pull/115454 +[#115455]: https://github.com/home-assistant/core/pull/115455 +[#115457]: https://github.com/home-assistant/core/pull/115457 +[#115467]: https://github.com/home-assistant/core/pull/115467 +[#115470]: https://github.com/home-assistant/core/pull/115470 +[#115473]: https://github.com/home-assistant/core/pull/115473 +[#115475]: https://github.com/home-assistant/core/pull/115475 +[#115477]: https://github.com/home-assistant/core/pull/115477 +[#115481]: https://github.com/home-assistant/core/pull/115481 +[#115485]: https://github.com/home-assistant/core/pull/115485 +[#115486]: https://github.com/home-assistant/core/pull/115486 +[#115494]: https://github.com/home-assistant/core/pull/115494 +[#115496]: https://github.com/home-assistant/core/pull/115496 +[#115498]: https://github.com/home-assistant/core/pull/115498 +[#115499]: https://github.com/home-assistant/core/pull/115499 +[#115504]: https://github.com/home-assistant/core/pull/115504 +[#115514]: https://github.com/home-assistant/core/pull/115514 +[#115515]: https://github.com/home-assistant/core/pull/115515 +[#115517]: https://github.com/home-assistant/core/pull/115517 +[#115518]: https://github.com/home-assistant/core/pull/115518 +[#115521]: https://github.com/home-assistant/core/pull/115521 +[#115526]: https://github.com/home-assistant/core/pull/115526 +[#115528]: https://github.com/home-assistant/core/pull/115528 +[#115529]: https://github.com/home-assistant/core/pull/115529 +[#115533]: https://github.com/home-assistant/core/pull/115533 +[#115538]: https://github.com/home-assistant/core/pull/115538 +[#115540]: https://github.com/home-assistant/core/pull/115540 +[#115541]: https://github.com/home-assistant/core/pull/115541 +[#115543]: https://github.com/home-assistant/core/pull/115543 +[#115544]: https://github.com/home-assistant/core/pull/115544 +[#115546]: https://github.com/home-assistant/core/pull/115546 +[#115547]: https://github.com/home-assistant/core/pull/115547 +[#115548]: https://github.com/home-assistant/core/pull/115548 +[#115549]: https://github.com/home-assistant/core/pull/115549 +[#115550]: https://github.com/home-assistant/core/pull/115550 +[#115551]: https://github.com/home-assistant/core/pull/115551 +[#115552]: https://github.com/home-assistant/core/pull/115552 +[#115553]: https://github.com/home-assistant/core/pull/115553 +[#115554]: https://github.com/home-assistant/core/pull/115554 +[#115555]: https://github.com/home-assistant/core/pull/115555 +[#115556]: https://github.com/home-assistant/core/pull/115556 +[#115558]: https://github.com/home-assistant/core/pull/115558 +[#115559]: https://github.com/home-assistant/core/pull/115559 +[#115563]: https://github.com/home-assistant/core/pull/115563 +[#115564]: https://github.com/home-assistant/core/pull/115564 +[#115565]: https://github.com/home-assistant/core/pull/115565 +[#115569]: https://github.com/home-assistant/core/pull/115569 +[#115577]: https://github.com/home-assistant/core/pull/115577 +[#115579]: https://github.com/home-assistant/core/pull/115579 +[#115583]: https://github.com/home-assistant/core/pull/115583 +[#115586]: https://github.com/home-assistant/core/pull/115586 +[#115587]: https://github.com/home-assistant/core/pull/115587 +[#115592]: https://github.com/home-assistant/core/pull/115592 +[#115593]: https://github.com/home-assistant/core/pull/115593 +[#115595]: https://github.com/home-assistant/core/pull/115595 +[#115599]: https://github.com/home-assistant/core/pull/115599 +[#115607]: https://github.com/home-assistant/core/pull/115607 +[#115618]: https://github.com/home-assistant/core/pull/115618 +[#115620]: https://github.com/home-assistant/core/pull/115620 +[#115621]: https://github.com/home-assistant/core/pull/115621 +[#115624]: https://github.com/home-assistant/core/pull/115624 +[#115628]: https://github.com/home-assistant/core/pull/115628 +[#115629]: https://github.com/home-assistant/core/pull/115629 +[#115638]: https://github.com/home-assistant/core/pull/115638 +[#115646]: https://github.com/home-assistant/core/pull/115646 +[#115653]: https://github.com/home-assistant/core/pull/115653 +[#115654]: https://github.com/home-assistant/core/pull/115654 +[#115658]: https://github.com/home-assistant/core/pull/115658 +[#115662]: https://github.com/home-assistant/core/pull/115662 +[#115665]: https://github.com/home-assistant/core/pull/115665 +[#115667]: https://github.com/home-assistant/core/pull/115667 +[#115668]: https://github.com/home-assistant/core/pull/115668 +[#115673]: https://github.com/home-assistant/core/pull/115673 +[#115674]: https://github.com/home-assistant/core/pull/115674 +[#115675]: https://github.com/home-assistant/core/pull/115675 +[#115676]: https://github.com/home-assistant/core/pull/115676 +[#115677]: https://github.com/home-assistant/core/pull/115677 +[#115678]: https://github.com/home-assistant/core/pull/115678 +[#115683]: https://github.com/home-assistant/core/pull/115683 +[#115685]: https://github.com/home-assistant/core/pull/115685 +[#115686]: https://github.com/home-assistant/core/pull/115686 +[#115689]: https://github.com/home-assistant/core/pull/115689 +[#115691]: https://github.com/home-assistant/core/pull/115691 +[#115696]: https://github.com/home-assistant/core/pull/115696 +[#115699]: https://github.com/home-assistant/core/pull/115699 +[#115700]: https://github.com/home-assistant/core/pull/115700 +[#115708]: https://github.com/home-assistant/core/pull/115708 +[#115713]: https://github.com/home-assistant/core/pull/115713 +[#115716]: https://github.com/home-assistant/core/pull/115716 +[#115719]: https://github.com/home-assistant/core/pull/115719 +[#115721]: https://github.com/home-assistant/core/pull/115721 +[#115724]: https://github.com/home-assistant/core/pull/115724 +[#115728]: https://github.com/home-assistant/core/pull/115728 +[#115729]: https://github.com/home-assistant/core/pull/115729 +[#115731]: https://github.com/home-assistant/core/pull/115731 +[#115736]: https://github.com/home-assistant/core/pull/115736 +[#115742]: https://github.com/home-assistant/core/pull/115742 +[#115744]: https://github.com/home-assistant/core/pull/115744 +[#115750]: https://github.com/home-assistant/core/pull/115750 +[#115751]: https://github.com/home-assistant/core/pull/115751 +[#115752]: https://github.com/home-assistant/core/pull/115752 +[#115754]: https://github.com/home-assistant/core/pull/115754 +[#115757]: https://github.com/home-assistant/core/pull/115757 +[#115759]: https://github.com/home-assistant/core/pull/115759 +[#115763]: https://github.com/home-assistant/core/pull/115763 +[#115764]: https://github.com/home-assistant/core/pull/115764 +[#115767]: https://github.com/home-assistant/core/pull/115767 +[#115768]: https://github.com/home-assistant/core/pull/115768 +[#115776]: https://github.com/home-assistant/core/pull/115776 +[#115777]: https://github.com/home-assistant/core/pull/115777 +[#115780]: https://github.com/home-assistant/core/pull/115780 +[#115783]: https://github.com/home-assistant/core/pull/115783 +[#115789]: https://github.com/home-assistant/core/pull/115789 +[#115790]: https://github.com/home-assistant/core/pull/115790 +[#115792]: https://github.com/home-assistant/core/pull/115792 +[#115793]: https://github.com/home-assistant/core/pull/115793 +[#115794]: https://github.com/home-assistant/core/pull/115794 +[#115796]: https://github.com/home-assistant/core/pull/115796 +[#115797]: https://github.com/home-assistant/core/pull/115797 +[#115798]: https://github.com/home-assistant/core/pull/115798 +[#115805]: https://github.com/home-assistant/core/pull/115805 +[#115810]: https://github.com/home-assistant/core/pull/115810 +[#115814]: https://github.com/home-assistant/core/pull/115814 +[#115815]: https://github.com/home-assistant/core/pull/115815 +[#115820]: https://github.com/home-assistant/core/pull/115820 +[#115822]: https://github.com/home-assistant/core/pull/115822 +[#115823]: https://github.com/home-assistant/core/pull/115823 +[#115824]: https://github.com/home-assistant/core/pull/115824 +[#115841]: https://github.com/home-assistant/core/pull/115841 +[#115842]: https://github.com/home-assistant/core/pull/115842 +[#115843]: https://github.com/home-assistant/core/pull/115843 +[#115849]: https://github.com/home-assistant/core/pull/115849 +[#115853]: https://github.com/home-assistant/core/pull/115853 +[#115854]: https://github.com/home-assistant/core/pull/115854 +[#115856]: https://github.com/home-assistant/core/pull/115856 +[#115864]: https://github.com/home-assistant/core/pull/115864 +[#115866]: https://github.com/home-assistant/core/pull/115866 +[#115873]: https://github.com/home-assistant/core/pull/115873 +[#115875]: https://github.com/home-assistant/core/pull/115875 +[#115876]: https://github.com/home-assistant/core/pull/115876 +[#115877]: https://github.com/home-assistant/core/pull/115877 +[#115879]: https://github.com/home-assistant/core/pull/115879 +[#115880]: https://github.com/home-assistant/core/pull/115880 +[#115884]: https://github.com/home-assistant/core/pull/115884 +[#115885]: https://github.com/home-assistant/core/pull/115885 +[#115887]: https://github.com/home-assistant/core/pull/115887 +[#115889]: https://github.com/home-assistant/core/pull/115889 +[#115890]: https://github.com/home-assistant/core/pull/115890 +[#115893]: https://github.com/home-assistant/core/pull/115893 +[#115894]: https://github.com/home-assistant/core/pull/115894 +[#115895]: https://github.com/home-assistant/core/pull/115895 +[#115904]: https://github.com/home-assistant/core/pull/115904 +[#115909]: https://github.com/home-assistant/core/pull/115909 +[#115910]: https://github.com/home-assistant/core/pull/115910 +[#115917]: https://github.com/home-assistant/core/pull/115917 +[#115918]: https://github.com/home-assistant/core/pull/115918 +[#115919]: https://github.com/home-assistant/core/pull/115919 +[#115920]: https://github.com/home-assistant/core/pull/115920 +[#115921]: https://github.com/home-assistant/core/pull/115921 +[#115924]: https://github.com/home-assistant/core/pull/115924 +[#115928]: https://github.com/home-assistant/core/pull/115928 +[#115929]: https://github.com/home-assistant/core/pull/115929 +[#115930]: https://github.com/home-assistant/core/pull/115930 +[#115931]: https://github.com/home-assistant/core/pull/115931 +[#115934]: https://github.com/home-assistant/core/pull/115934 +[#115936]: https://github.com/home-assistant/core/pull/115936 +[#115938]: https://github.com/home-assistant/core/pull/115938 +[#115942]: https://github.com/home-assistant/core/pull/115942 +[#115943]: https://github.com/home-assistant/core/pull/115943 +[#115945]: https://github.com/home-assistant/core/pull/115945 +[#115950]: https://github.com/home-assistant/core/pull/115950 +[#115952]: https://github.com/home-assistant/core/pull/115952 +[#115960]: https://github.com/home-assistant/core/pull/115960 +[#115966]: https://github.com/home-assistant/core/pull/115966 +[#115968]: https://github.com/home-assistant/core/pull/115968 +[#115973]: https://github.com/home-assistant/core/pull/115973 +[#115974]: https://github.com/home-assistant/core/pull/115974 +[#115977]: https://github.com/home-assistant/core/pull/115977 +[#115981]: https://github.com/home-assistant/core/pull/115981 +[#115983]: https://github.com/home-assistant/core/pull/115983 +[#115985]: https://github.com/home-assistant/core/pull/115985 +[#115989]: https://github.com/home-assistant/core/pull/115989 +[#115992]: https://github.com/home-assistant/core/pull/115992 +[#116004]: https://github.com/home-assistant/core/pull/116004 +[#116005]: https://github.com/home-assistant/core/pull/116005 +[#116011]: https://github.com/home-assistant/core/pull/116011 +[#116015]: https://github.com/home-assistant/core/pull/116015 +[#116016]: https://github.com/home-assistant/core/pull/116016 +[#116017]: https://github.com/home-assistant/core/pull/116017 +[#116020]: https://github.com/home-assistant/core/pull/116020 +[#116021]: https://github.com/home-assistant/core/pull/116021 +[#116022]: https://github.com/home-assistant/core/pull/116022 +[#116025]: https://github.com/home-assistant/core/pull/116025 +[#116026]: https://github.com/home-assistant/core/pull/116026 +[#116027]: https://github.com/home-assistant/core/pull/116027 +[#116030]: https://github.com/home-assistant/core/pull/116030 +[#116032]: https://github.com/home-assistant/core/pull/116032 +[#116033]: https://github.com/home-assistant/core/pull/116033 +[#116034]: https://github.com/home-assistant/core/pull/116034 +[#116035]: https://github.com/home-assistant/core/pull/116035 +[#116036]: https://github.com/home-assistant/core/pull/116036 +[#116038]: https://github.com/home-assistant/core/pull/116038 +[#116039]: https://github.com/home-assistant/core/pull/116039 +[#116040]: https://github.com/home-assistant/core/pull/116040 +[#116041]: https://github.com/home-assistant/core/pull/116041 +[#116044]: https://github.com/home-assistant/core/pull/116044 +[#116047]: https://github.com/home-assistant/core/pull/116047 +[#116048]: https://github.com/home-assistant/core/pull/116048 +[#116049]: https://github.com/home-assistant/core/pull/116049 +[#116050]: https://github.com/home-assistant/core/pull/116050 +[#116055]: https://github.com/home-assistant/core/pull/116055 +[#116057]: https://github.com/home-assistant/core/pull/116057 +[#116058]: https://github.com/home-assistant/core/pull/116058 +[#116059]: https://github.com/home-assistant/core/pull/116059 +[#116060]: https://github.com/home-assistant/core/pull/116060 +[#116061]: https://github.com/home-assistant/core/pull/116061 +[#116063]: https://github.com/home-assistant/core/pull/116063 +[#116065]: https://github.com/home-assistant/core/pull/116065 +[#116067]: https://github.com/home-assistant/core/pull/116067 +[#116068]: https://github.com/home-assistant/core/pull/116068 +[#116069]: https://github.com/home-assistant/core/pull/116069 +[#116070]: https://github.com/home-assistant/core/pull/116070 +[#116071]: https://github.com/home-assistant/core/pull/116071 +[#116072]: https://github.com/home-assistant/core/pull/116072 +[#116077]: https://github.com/home-assistant/core/pull/116077 +[#116078]: https://github.com/home-assistant/core/pull/116078 +[#116081]: https://github.com/home-assistant/core/pull/116081 +[#116082]: https://github.com/home-assistant/core/pull/116082 +[#116083]: https://github.com/home-assistant/core/pull/116083 +[#116084]: https://github.com/home-assistant/core/pull/116084 +[#116085]: https://github.com/home-assistant/core/pull/116085 +[#116086]: https://github.com/home-assistant/core/pull/116086 +[#116091]: https://github.com/home-assistant/core/pull/116091 +[#116094]: https://github.com/home-assistant/core/pull/116094 +[#116097]: https://github.com/home-assistant/core/pull/116097 +[#116098]: https://github.com/home-assistant/core/pull/116098 +[#116103]: https://github.com/home-assistant/core/pull/116103 +[#116106]: https://github.com/home-assistant/core/pull/116106 +[#116107]: https://github.com/home-assistant/core/pull/116107 +[#116108]: https://github.com/home-assistant/core/pull/116108 +[#116111]: https://github.com/home-assistant/core/pull/116111 +[#116112]: https://github.com/home-assistant/core/pull/116112 +[#116114]: https://github.com/home-assistant/core/pull/116114 +[#116125]: https://github.com/home-assistant/core/pull/116125 +[#116126]: https://github.com/home-assistant/core/pull/116126 +[#116141]: https://github.com/home-assistant/core/pull/116141 +[#116144]: https://github.com/home-assistant/core/pull/116144 +[#116146]: https://github.com/home-assistant/core/pull/116146 +[#116153]: https://github.com/home-assistant/core/pull/116153 +[#116154]: https://github.com/home-assistant/core/pull/116154 +[#116157]: https://github.com/home-assistant/core/pull/116157 +[#116160]: https://github.com/home-assistant/core/pull/116160 +[#116163]: https://github.com/home-assistant/core/pull/116163 +[#116168]: https://github.com/home-assistant/core/pull/116168 +[#116172]: https://github.com/home-assistant/core/pull/116172 +[#116176]: https://github.com/home-assistant/core/pull/116176 +[#116177]: https://github.com/home-assistant/core/pull/116177 +[#116182]: https://github.com/home-assistant/core/pull/116182 +[#116184]: https://github.com/home-assistant/core/pull/116184 +[#116190]: https://github.com/home-assistant/core/pull/116190 +[#116191]: https://github.com/home-assistant/core/pull/116191 +[#116192]: https://github.com/home-assistant/core/pull/116192 +[#116195]: https://github.com/home-assistant/core/pull/116195 +[#116206]: https://github.com/home-assistant/core/pull/116206 +[#116217]: https://github.com/home-assistant/core/pull/116217 +[#116219]: https://github.com/home-assistant/core/pull/116219 +[#116225]: https://github.com/home-assistant/core/pull/116225 +[#116230]: https://github.com/home-assistant/core/pull/116230 +[#116247]: https://github.com/home-assistant/core/pull/116247 +[#116251]: https://github.com/home-assistant/core/pull/116251 +[#116260]: https://github.com/home-assistant/core/pull/116260 +[#116263]: https://github.com/home-assistant/core/pull/116263 +[#116264]: https://github.com/home-assistant/core/pull/116264 +[#116265]: https://github.com/home-assistant/core/pull/116265 +[#116278]: https://github.com/home-assistant/core/pull/116278 +[#116319]: https://github.com/home-assistant/core/pull/116319 +[#116321]: https://github.com/home-assistant/core/pull/116321 +[#116327]: https://github.com/home-assistant/core/pull/116327 +[#116328]: https://github.com/home-assistant/core/pull/116328 +[#116329]: https://github.com/home-assistant/core/pull/116329 +[#116331]: https://github.com/home-assistant/core/pull/116331 +[#116333]: https://github.com/home-assistant/core/pull/116333 +[#116335]: https://github.com/home-assistant/core/pull/116335 +[#116337]: https://github.com/home-assistant/core/pull/116337 +[#116339]: https://github.com/home-assistant/core/pull/116339 +[#116340]: https://github.com/home-assistant/core/pull/116340 +[#116342]: https://github.com/home-assistant/core/pull/116342 +[#116343]: https://github.com/home-assistant/core/pull/116343 +[#116344]: https://github.com/home-assistant/core/pull/116344 +[#116346]: https://github.com/home-assistant/core/pull/116346 +[#116352]: https://github.com/home-assistant/core/pull/116352 +[#116355]: https://github.com/home-assistant/core/pull/116355 +[#116374]: https://github.com/home-assistant/core/pull/116374 +[#116390]: https://github.com/home-assistant/core/pull/116390 +[#116392]: https://github.com/home-assistant/core/pull/116392 +[#116396]: https://github.com/home-assistant/core/pull/116396 +[#116399]: https://github.com/home-assistant/core/pull/116399 +[#116404]: https://github.com/home-assistant/core/pull/116404 +[#116409]: https://github.com/home-assistant/core/pull/116409 +[#116424]: https://github.com/home-assistant/core/pull/116424 +[#116436]: https://github.com/home-assistant/core/pull/116436 +[#116440]: https://github.com/home-assistant/core/pull/116440 +[#116451]: https://github.com/home-assistant/core/pull/116451 +[#116465]: https://github.com/home-assistant/core/pull/116465 +[#116471]: https://github.com/home-assistant/core/pull/116471 +[#116473]: https://github.com/home-assistant/core/pull/116473 +[#116474]: https://github.com/home-assistant/core/pull/116474 +[#116475]: https://github.com/home-assistant/core/pull/116475 +[#116476]: https://github.com/home-assistant/core/pull/116476 +[#116481]: https://github.com/home-assistant/core/pull/116481 +[#116482]: https://github.com/home-assistant/core/pull/116482 +[#116487]: https://github.com/home-assistant/core/pull/116487 +[#116489]: https://github.com/home-assistant/core/pull/116489 +[#116503]: https://github.com/home-assistant/core/pull/116503 +[#116509]: https://github.com/home-assistant/core/pull/116509 +[#116513]: https://github.com/home-assistant/core/pull/116513 +[#116514]: https://github.com/home-assistant/core/pull/116514 +[#116516]: https://github.com/home-assistant/core/pull/116516 +[#116519]: https://github.com/home-assistant/core/pull/116519 +[#116524]: https://github.com/home-assistant/core/pull/116524 +[#116525]: https://github.com/home-assistant/core/pull/116525 +[#80254]: https://github.com/home-assistant/core/pull/80254 +[#89350]: https://github.com/home-assistant/core/pull/89350 +[#96027]: https://github.com/home-assistant/core/pull/96027 +[@Augar]: https://github.com/Augar +[@BestPig]: https://github.com/BestPig +[@Bre77]: https://github.com/Bre77 +[@CFenner]: https://github.com/CFenner +[@Cereal2nd]: https://github.com/Cereal2nd +[@Danielhiversen]: https://github.com/Danielhiversen +[@Darsstar]: https://github.com/Darsstar +[@Djelibeybi]: https://github.com/Djelibeybi +[@EuleMitKeule]: https://github.com/EuleMitKeule +[@FedDam]: https://github.com/FedDam +[@Fexiven]: https://github.com/Fexiven +[@Kane610]: https://github.com/Kane610 +[@LaStrada]: https://github.com/LaStrada +[@Lash-L]: https://github.com/Lash-L +[@Mallonbacka]: https://github.com/Mallonbacka +[@MarkGodwin]: https://github.com/MarkGodwin +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@Noltari]: https://github.com/Noltari +[@OnFreund]: https://github.com/OnFreund +[@PeteRager]: https://github.com/PeteRager +[@Quentame]: https://github.com/Quentame +[@RJPoelstra]: https://github.com/RJPoelstra +[@Shutgun]: https://github.com/Shutgun +[@Spacetech]: https://github.com/Spacetech +[@SteveEasley]: https://github.com/SteveEasley +[@StevenLooman]: https://github.com/StevenLooman +[@TheFes]: https://github.com/TheFes +[@TheJulianJES]: https://github.com/TheJulianJES +[@Thomas55555]: https://github.com/Thomas55555 +[@Tommatheussen]: https://github.com/Tommatheussen +[@VolkerStolz]: https://github.com/VolkerStolz +[@agoode]: https://github.com/agoode +[@albertomontesg]: https://github.com/albertomontesg +[@allenporter]: https://github.com/allenporter +[@andarotajo]: https://github.com/andarotajo +[@ashottonoyan]: https://github.com/ashottonoyan +[@astrandb]: https://github.com/astrandb +[@atlflyer]: https://github.com/atlflyer +[@austinmroczek]: https://github.com/austinmroczek +[@autinerd]: https://github.com/autinerd +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@beastie29a]: https://github.com/beastie29a +[@bengtsir]: https://github.com/bengtsir +[@bieniu]: https://github.com/bieniu +[@bjpetit]: https://github.com/bjpetit +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@brave0d]: https://github.com/brave0d +[@brg468]: https://github.com/brg468 +[@brunohenriquy]: https://github.com/brunohenriquy +[@c0ffeeca7]: https://github.com/c0ffeeca7 +[@catsmanac]: https://github.com/catsmanac +[@cdce8p]: https://github.com/cdce8p +[@cgtobi]: https://github.com/cgtobi +[@chemelli74]: https://github.com/chemelli74 +[@chrisbraucker]: https://github.com/chrisbraucker +[@cpfair]: https://github.com/cpfair +[@crug80]: https://github.com/crug80 +[@dalinicus]: https://github.com/dalinicus +[@dknowles2]: https://github.com/dknowles2 +[@dontinelli]: https://github.com/dontinelli +[@edenhaus]: https://github.com/edenhaus +[@eifinger]: https://github.com/eifinger +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@erwindouna]: https://github.com/erwindouna +[@farmio]: https://github.com/farmio +[@felipediel]: https://github.com/felipediel +[@fhoekstra]: https://github.com/fhoekstra +[@finder39]: https://github.com/finder39 +[@frenck]: https://github.com/frenck +[@funkybunch]: https://github.com/funkybunch +[@gagebenne]: https://github.com/gagebenne +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@gnumpi]: https://github.com/gnumpi +[@grahamwetzler]: https://github.com/grahamwetzler +[@hahn-th]: https://github.com/hahn-th +[@hopkins-tk]: https://github.com/hopkins-tk +[@iMicknl]: https://github.com/iMicknl +[@ikalnyi]: https://github.com/ikalnyi +[@isXander]: https://github.com/isXander +[@janiversen]: https://github.com/janiversen +[@jayme-github]: https://github.com/jayme-github +[@jbouwh]: https://github.com/jbouwh +[@jesserockz]: https://github.com/jesserockz +[@johnluetke]: https://github.com/johnluetke +[@joostlek]: https://github.com/joostlek +[@jpbede]: https://github.com/jpbede +[@karwosts]: https://github.com/karwosts +[@kbx81]: https://github.com/kbx81 +[@kimdv]: https://github.com/kimdv +[@konstin]: https://github.com/konstin +[@kotope]: https://github.com/kotope +[@krzysztof-kwitt]: https://github.com/krzysztof-kwitt +[@larsvinc]: https://github.com/larsvinc +[@luca-angemi]: https://github.com/luca-angemi +[@ludeeus]: https://github.com/ludeeus +[@lunmay]: https://github.com/lunmay +[@lyricnz]: https://github.com/lyricnz +[@malkstar]: https://github.com/malkstar +[@marcelveldt]: https://github.com/marcelveldt +[@marcolivierarsenault]: https://github.com/marcolivierarsenault +[@marcovtwout]: https://github.com/marcovtwout +[@matrixd2]: https://github.com/matrixd2 +[@max2697]: https://github.com/max2697 +[@mback2k]: https://github.com/mback2k +[@mdegat01]: https://github.com/mdegat01 +[@miaucl]: https://github.com/miaucl +[@miawgogo]: https://github.com/miawgogo +[@mib1185]: https://github.com/mib1185 +[@mill1000]: https://github.com/mill1000 +[@miterion]: https://github.com/miterion +[@mj23000]: https://github.com/mj23000 +[@mkmer]: https://github.com/mkmer +[@mletenay]: https://github.com/mletenay +[@mtielen]: https://github.com/mtielen +[@mwielgoszewski]: https://github.com/mwielgoszewski +[@myMartek]: https://github.com/myMartek +[@myhomeiot]: https://github.com/myhomeiot +[@nalin29]: https://github.com/nalin29 +[@natekspencer]: https://github.com/natekspencer +[@nohat]: https://github.com/nohat +[@orevron]: https://github.com/orevron +[@osohotwateriot]: https://github.com/osohotwateriot +[@oyvindwe]: https://github.com/oyvindwe +[@piitaya]: https://github.com/piitaya +[@pleum]: https://github.com/pleum +[@pnbruckner]: https://github.com/pnbruckner +[@ptashek]: https://github.com/ptashek +[@puddly]: https://github.com/puddly +[@r-binder]: https://github.com/r-binder +[@raman325]: https://github.com/raman325 +[@rappenze]: https://github.com/rappenze +[@rikroe]: https://github.com/rikroe +[@rlippmann]: https://github.com/rlippmann +[@rokam]: https://github.com/rokam +[@rytilahti]: https://github.com/rytilahti +[@sdb9696]: https://github.com/sdb9696 +[@shaiu]: https://github.com/shaiu +[@shawnweeks]: https://github.com/shawnweeks +[@skgsergio]: https://github.com/skgsergio +[@splinter98]: https://github.com/splinter98 +[@strawgate]: https://github.com/strawgate +[@synesthesiam]: https://github.com/synesthesiam +[@teharris1]: https://github.com/teharris1 +[@the-ress]: https://github.com/the-ress +[@thecode]: https://github.com/thecode +[@theminer3746]: https://github.com/theminer3746 +[@thomaskistler]: https://github.com/thomaskistler +[@timmo001]: https://github.com/timmo001 +[@tomaszsluszniak]: https://github.com/tomaszsluszniak +[@tr4nt0r]: https://github.com/tr4nt0r +[@vanbalken]: https://github.com/vanbalken +[@vexofp]: https://github.com/vexofp +[@wittypluck]: https://github.com/wittypluck +[@xeniter]: https://github.com/xeniter +[@yuxincs]: https://github.com/yuxincs +[@zxdavb]: https://github.com/zxdavb diff --git a/source/images/blog/2024-05/collapse-groups.gif b/source/images/blog/2024-05/collapse-groups.gif new file mode 100644 index 00000000000..45996902add Binary files /dev/null and b/source/images/blog/2024-05/collapse-groups.gif differ diff --git a/source/images/blog/2024-05/data-tables-assign-to-area.png b/source/images/blog/2024-05/data-tables-assign-to-area.png new file mode 100644 index 00000000000..b506b263089 Binary files /dev/null and b/source/images/blog/2024-05/data-tables-assign-to-area.png differ diff --git a/source/images/blog/2024-05/data-tables-group-filter-by-domain.png b/source/images/blog/2024-05/data-tables-group-filter-by-domain.png new file mode 100644 index 00000000000..21af87d9084 Binary files /dev/null and b/source/images/blog/2024-05/data-tables-group-filter-by-domain.png differ diff --git a/source/images/blog/2024-05/energy-device-names.png b/source/images/blog/2024-05/energy-device-names.png new file mode 100644 index 00000000000..7599352df28 Binary files /dev/null and b/source/images/blog/2024-05/energy-device-names.png differ diff --git a/source/images/blog/2024-05/social.png b/source/images/blog/2024-05/social.png new file mode 100644 index 00000000000..b1ebf0e7c47 Binary files /dev/null and b/source/images/blog/2024-05/social.png differ diff --git a/source/images/blog/2024-05/tile-card-reorder-features.gif b/source/images/blog/2024-05/tile-card-reorder-features.gif new file mode 100644 index 00000000000..510d6f73246 Binary files /dev/null and b/source/images/blog/2024-05/tile-card-reorder-features.gif differ diff --git a/source/images/blog/2024-05/tile-lock-features.png b/source/images/blog/2024-05/tile-lock-features.png new file mode 100644 index 00000000000..ebaaa424b1b Binary files /dev/null and b/source/images/blog/2024-05/tile-lock-features.png differ diff --git a/source/installation/raspberrypi.markdown b/source/installation/raspberrypi.markdown index 1213f45d225..a6be8339bfb 100644 --- a/source/installation/raspberrypi.markdown +++ b/source/installation/raspberrypi.markdown @@ -60,7 +60,7 @@ If Raspberry Pi Imager is not supported by your platform, you can use [Balena Et ### Start up your Raspberry Pi 1. Insert the SD card into your Raspberry Pi. -2. Plug in an Ethernet cable and make sure the Raspberry Pi is connected to the same network as your computer. +2. Plug in an Ethernet cable and make sure the Raspberry Pi is connected to the same network as your computer and is connected to the internet. 3. Connect the power supply to start up the device. ### Access Home Assistant