From 6b937e37776b90f8fdf5f1ce5d8f31b71e145613 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 26 Jun 2024 16:56:52 +0200 Subject: [PATCH 01/79] 2023.7.0b0 (#33409) --- CODEOWNERS | 30 +- _config.yml | 6 +- source/_integrations/aladdin_connect.markdown | 4 +- source/_integrations/amazon_polly.markdown | 2 +- source/_integrations/apsystems.markdown | 2 +- source/_integrations/aquacell.markdown | 4 +- .../azure_data_explorer.markdown | 2 + source/_integrations/azure_devops.markdown | 2 +- source/_integrations/blebox.markdown | 1 - source/_integrations/emoncms.markdown | 1 + source/_integrations/fire_tv.markdown | 2 + .../_integrations/generic_hygrostat.markdown | 1 + .../_integrations/generic_thermostat.markdown | 3 +- .../google_assistant_sdk.markdown | 1 + source/_integrations/harmony.markdown | 1 - source/_integrations/hydrawise.markdown | 1 + source/_integrations/incomfort.markdown | 2 +- source/_integrations/knocki.markdown | 4 +- source/_integrations/lamarzocco.markdown | 1 + source/_integrations/mealie.markdown | 4 +- source/_integrations/melcloud.markdown | 3 + source/_integrations/nanoleaf.markdown | 3 +- source/_integrations/onkyo.markdown | 4 +- source/_integrations/pyload.markdown | 5 +- source/_integrations/smartthings.markdown | 2 - source/_integrations/solarlog.markdown | 1 + source/_integrations/statistics.markdown | 4 +- source/_integrations/tag.markdown | 2 - source/_integrations/tplink.markdown | 1 - source/_integrations/tplink_omada.markdown | 1 + source/_integrations/tplink_tapo.markdown | 1 - source/_integrations/unifiprotect.markdown | 3 - source/_integrations/v2c.markdown | 1 + source/_integrations/wled.markdown | 1 - source/_integrations/zeversolar.markdown | 1 + .../_posts/2024-07-03-release-20247.markdown | 808 ++++++ source/changelogs/core-2024.7.markdown | 2295 +++++++++++++++++ .../2024-07/datatables-customize-columns.png | Bin 0 -> 15957 bytes source/images/blog/2024-07/social.png | Bin 0 -> 166181 bytes 39 files changed, 3166 insertions(+), 44 deletions(-) create mode 100644 source/_posts/2024-07-03-release-20247.markdown create mode 100644 source/changelogs/core-2024.7.markdown create mode 100644 source/images/blog/2024-07/datatables-customize-columns.png create mode 100644 source/images/blog/2024-07/social.png diff --git a/CODEOWNERS b/CODEOWNERS index 6bfca80443b..7d112dedd4c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -33,11 +33,12 @@ source/_integrations/airvisual.markdown @bachya source/_integrations/airvisual_pro.markdown @bachya source/_integrations/airzone.markdown @Noltari source/_integrations/airzone_cloud.markdown @Noltari -source/_integrations/aladdin_connect.markdown @mkmer +source/_integrations/aladdin_connect.markdown @swcloudgenie source/_integrations/alarm_control_panel.markdown @home-assistant/core 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/amazon_polly.markdown @jschlyter source/_integrations/amberelectric.markdown @madpilot source/_integrations/ambient_network.markdown @thomaskistler source/_integrations/ambient_station.markdown @bachya @@ -62,6 +63,7 @@ source/_integrations/apprise.markdown @caronc source/_integrations/aprilaire.markdown @chamberlain2007 source/_integrations/aprs.markdown @PhilRW source/_integrations/apsystems.markdown @mawoka-myblock @SonnenladenGmbH +source/_integrations/aquacell.markdown @Jordi1990 source/_integrations/aranet.markdown @aschmitz @thecode @anrijs source/_integrations/arcam_fmj.markdown @elupus source/_integrations/arris_tg2492lg.markdown @vanbalken @@ -83,6 +85,7 @@ source/_integrations/automation.markdown @home-assistant/core source/_integrations/avea.markdown @pattyland source/_integrations/awair.markdown @ahayworth @danielsjf source/_integrations/axis.markdown @Kane610 +source/_integrations/azure_data_explorer.markdown @kaareseras source/_integrations/azure_devops.markdown @timmo001 source/_integrations/azure_event_hub.markdown @eavanvalkenburg source/_integrations/azure_service_bus.markdown @hfurubotten @@ -95,7 +98,7 @@ source/_integrations/beewi_smartclim.markdown @alemuro source/_integrations/bge.markdown @tronikos source/_integrations/binary_sensor.markdown @home-assistant/core source/_integrations/bizkaibus.markdown @UgaitzEtxebarria -source/_integrations/blebox.markdown @bbx-a @riokuu @swistakm +source/_integrations/blebox.markdown @bbx-a @swistakm source/_integrations/blink.markdown @fronzbot @mkmer source/_integrations/bliss_automation.markdown @starkillerOG source/_integrations/bloc_blinds.markdown @starkillerOG @@ -216,7 +219,7 @@ source/_integrations/elmax.markdown @albertogeniola source/_integrations/elv.markdown @majuss source/_integrations/elvia.markdown @ludeeus source/_integrations/emby.markdown @mezz64 -source/_integrations/emoncms.markdown @borpin +source/_integrations/emoncms.markdown @borpin @alexandrecuer source/_integrations/emonitor.markdown @bdraco source/_integrations/emulated_hue.markdown @bdraco @Tho85 source/_integrations/emulated_kasa.markdown @kbickar @@ -359,7 +362,7 @@ source/_integrations/hurrican_shutters_wholesale.markdown @starkillerOG source/_integrations/husqvarna_automower.markdown @Thomas55555 source/_integrations/huum.markdown @frwickst source/_integrations/hvv_departures.markdown @vigonotion -source/_integrations/hydrawise.markdown @dknowles2 @ptcryan +source/_integrations/hydrawise.markdown @dknowles2 @thomaskistler @ptcryan source/_integrations/hyperion.markdown @dermotduffy source/_integrations/ialarm.markdown @RyuzakiKK source/_integrations/iammeter.markdown @lewei50 @@ -374,7 +377,7 @@ source/_integrations/image_upload.markdown @home-assistant/core source/_integrations/imap.markdown @jbouwh source/_integrations/imgw_pib.markdown @bieniu source/_integrations/improv_ble.markdown @emontnemery -source/_integrations/incomfort.markdown @zxdavb +source/_integrations/incomfort.markdown @jbouwh source/_integrations/indianamichiganpower.markdown @tronikos source/_integrations/influxdb.markdown @mdegat01 source/_integrations/inkbird.markdown @bdraco @@ -399,6 +402,7 @@ source/_integrations/isal.markdown @bdraco source/_integrations/islamic_prayer_times.markdown @engrbm87 @cpfair source/_integrations/ismartwindow.markdown @starkillerOG source/_integrations/iss.markdown @DurgNomis-drol +source/_integrations/ista_ecotrend.markdown @tr4nt0r source/_integrations/isy994.markdown @bdraco @shbatm source/_integrations/izone.markdown @Swamp-Ig source/_integrations/jellyfin.markdown @j-stienstra @ctalkington @@ -417,6 +421,7 @@ source/_integrations/keyboard_remote.markdown @bendavid @lanrat source/_integrations/keymitt_ble.markdown @spycle source/_integrations/kitchen_sink.markdown @home-assistant/core source/_integrations/kmtronic.markdown @dgomes +source/_integrations/knocki.markdown @joostlek @jgatto1 source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w source/_integrations/kodi.markdown @OnFreund source/_integrations/konnected.markdown @heythisisnate @@ -468,12 +473,14 @@ source/_integrations/martec.markdown @starkillerOG source/_integrations/mastodon.markdown @fabaff source/_integrations/matrix.markdown @PaarthShah source/_integrations/matter.markdown @home-assistant/matter +source/_integrations/mealie.markdown @joostlek source/_integrations/meater.markdown @Sotolotl @emontnemery source/_integrations/medcom_ble.markdown @elafargue source/_integrations/media_extractor.markdown @joostlek source/_integrations/media_player.markdown @home-assistant/core source/_integrations/media_source.markdown @hunterjm source/_integrations/mediaroom.markdown @dgomes +source/_integrations/melcloud.markdown @erwindouna source/_integrations/melissa.markdown @kennedyshead source/_integrations/melnor.markdown @vanstinator source/_integrations/met.markdown @danielhiversen @@ -512,7 +519,7 @@ source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer source/_integrations/mystrom.markdown @fabaff source/_integrations/myuplink.markdown @pajzo @astrandb source/_integrations/nam.markdown @bieniu -source/_integrations/nanoleaf.markdown @milanmeu +source/_integrations/nanoleaf.markdown @milanmeu @joostlek source/_integrations/neato.markdown @Santobert source/_integrations/nederlandse_spoorwegen.markdown @YarmoM source/_integrations/ness_alarm.markdown @nickw444 @@ -559,6 +566,7 @@ source/_integrations/onboarding.markdown @home-assistant/core source/_integrations/oncue.markdown @bdraco @peterager source/_integrations/ondilo_ico.markdown @JeromeHXP source/_integrations/onewire.markdown @garbled1 @epenet +source/_integrations/onkyo.markdown @arturpragacz source/_integrations/onvif.markdown @hunterjm source/_integrations/open_meteo.markdown @frenck source/_integrations/openai_conversation.markdown @balloob @@ -622,6 +630,7 @@ source/_integrations/pushbullet.markdown @engrbm87 source/_integrations/pushover.markdown @engrbm87 source/_integrations/pvoutput.markdown @frenck source/_integrations/pvpc_hourly_pricing.markdown @azogue +source/_integrations/pyload.markdown @tr4nt0r source/_integrations/qbittorrent.markdown @geoffreylagaisse @finder39 source/_integrations/qingping.markdown @bdraco source/_integrations/qld_bushfire.markdown @exxamalte @@ -665,7 +674,7 @@ source/_integrations/ring.markdown @sdb9696 source/_integrations/risco.markdown @OnFreund source/_integrations/rituals_perfume_genie.markdown @milanmeu @frenck source/_integrations/rmvtransport.markdown @cgtobi -source/_integrations/roborock.markdown @humbertogontijo @Lash-L +source/_integrations/roborock.markdown @Lash-L source/_integrations/roku.markdown @ctalkington source/_integrations/romy.markdown @xeniter source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous @@ -743,7 +752,7 @@ source/_integrations/snmp.markdown @nmaggioni source/_integrations/snooz.markdown @AustinBrunkhorst source/_integrations/solaredge.markdown @frenck @bdraco source/_integrations/solaredge_local.markdown @drobtravels @scheric -source/_integrations/solarlog.markdown @Ernst79 +source/_integrations/solarlog.markdown @Ernst79 @dontinelli source/_integrations/solax.markdown @squishykid source/_integrations/soma.markdown @ratsept @sebfortier2288 source/_integrations/somfy.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @@ -826,9 +835,9 @@ source/_integrations/todoist.markdown @boralyl source/_integrations/tolo.markdown @MatthiasLohr source/_integrations/tomorrowio.markdown @raman325 @lymanepp source/_integrations/totalconnect.markdown @austinmroczek -source/_integrations/tplink.markdown @rytilahti @thegardenmonkey @bdraco @sdb9696 +source/_integrations/tplink.markdown @rytilahti @bdraco @sdb9696 source/_integrations/tplink_omada.markdown @MarkGodwin -source/_integrations/tplink_tapo.markdown @rytilahti @thegardenmonkey @bdraco @sdb9696 +source/_integrations/tplink_tapo.markdown @rytilahti @bdraco @sdb9696 source/_integrations/traccar.markdown @ludeeus source/_integrations/traccar_server.markdown @ludeeus source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu @@ -848,7 +857,6 @@ source/_integrations/ukraine_alarm.markdown @PaulAnnekov source/_integrations/unifi.markdown @Kane610 source/_integrations/unifi_direct.markdown @tofuSCHNITZEL source/_integrations/unifiled.markdown @florisvdk -source/_integrations/unifiprotect.markdown @bdraco source/_integrations/upb.markdown @gwww source/_integrations/upc_connect.markdown @pvizeli @fabaff source/_integrations/upcloud.markdown @scop diff --git a/_config.yml b/_config.yml index fa7a68b274f..deb6e67b8f7 100644 --- a/_config.yml +++ b/_config.yml @@ -107,9 +107,9 @@ social: # Home Assistant release details current_major_version: 2024 -current_minor_version: 6 -current_patch_version: 4 -date_released: 2024-06-21 +current_minor_version: 7 +current_patch_version: 0 +date_released: 2024-07-03 # 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/aladdin_connect.markdown b/source/_integrations/aladdin_connect.markdown index 3a9c957c5cf..578ed49f3df 100644 --- a/source/_integrations/aladdin_connect.markdown +++ b/source/_integrations/aladdin_connect.markdown @@ -8,13 +8,11 @@ ha_iot_class: Cloud Polling ha_domain: aladdin_connect ha_platforms: - cover - - diagnostics - sensor ha_integration_type: integration ha_codeowners: - - '@mkmer' + - '@swcloudgenie' ha_config_flow: true -ha_quality_scale: platinum --- The Aladdin Connect integration lets you control Genie Aladdin Connect garage doors through Home Assistant. diff --git a/source/_integrations/amazon_polly.markdown b/source/_integrations/amazon_polly.markdown index 9d1a1e5e336..1bf7d227454 100644 --- a/source/_integrations/amazon_polly.markdown +++ b/source/_integrations/amazon_polly.markdown @@ -10,7 +10,7 @@ ha_platforms: - tts ha_integration_type: integration ha_codeowners: - - '@jschlyter' + - '@jschlyter' related: - docs: /docs/configuration/ title: Configuration file diff --git a/source/_integrations/apsystems.markdown b/source/_integrations/apsystems.markdown index 4822d9a8a3c..3df7389c7c9 100644 --- a/source/_integrations/apsystems.markdown +++ b/source/_integrations/apsystems.markdown @@ -8,8 +8,8 @@ ha_category: - Energy ha_domain: apsystems ha_platforms: - - sensor - number + - sensor ha_integration_type: device ha_codeowners: - '@mawoka-myblock' diff --git a/source/_integrations/aquacell.markdown b/source/_integrations/aquacell.markdown index b863076ae55..edd0ea9f44e 100644 --- a/source/_integrations/aquacell.markdown +++ b/source/_integrations/aquacell.markdown @@ -1,5 +1,5 @@ --- -title: AquaCell +title: Aquacell description: Instructions on how to integrate AquaCell with Home Assistant. ha_category: - Sensor @@ -11,7 +11,7 @@ ha_codeowners: ha_domain: aquacell ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: device --- AquaCell is a water-softening device. The **AquaCell** {% term integration %} allows you to monitor your AquaCell device in Home Assistant. diff --git a/source/_integrations/azure_data_explorer.markdown b/source/_integrations/azure_data_explorer.markdown index ba37fd16494..93bddd1f9ad 100644 --- a/source/_integrations/azure_data_explorer.markdown +++ b/source/_integrations/azure_data_explorer.markdown @@ -11,7 +11,9 @@ ha_codeowners: ha_domain: azure_data_explorer related: - docs: /docs/configuration/ +ha_integration_type: integration --- + [Azure Data Explorer](https://azure.microsoft.com/en-us/services/data-explorer/) is a high-performance time-series database, query engine, and dashboarding tool. The Home Assistant **Azure Data Explorer** {% term integration %} allows you to hook into the Home Assistant event bus and forward events to Azure Data Explorer for analytics and dashboarding. From here, data can be viewed in building dashboards, PowerBi, and Grafana, among others. ## Prerequisites diff --git a/source/_integrations/azure_devops.markdown b/source/_integrations/azure_devops.markdown index 956d507596b..39013b176e7 100644 --- a/source/_integrations/azure_devops.markdown +++ b/source/_integrations/azure_devops.markdown @@ -33,4 +33,4 @@ This integration provides a sensor for Azure DevOps: - Latest build queue time - How long the latest build was queued. - Latest build start time - The time when the latest build actually started. - Latest build finish time - The time when the latest build finished. -- Latest build URL - The URL to the latest build. +- Latest build URL - The URL to the latest build. diff --git a/source/_integrations/blebox.markdown b/source/_integrations/blebox.markdown index 79cb29769d2..c73313fb8e1 100644 --- a/source/_integrations/blebox.markdown +++ b/source/_integrations/blebox.markdown @@ -8,7 +8,6 @@ ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: - '@bbx-a' - - '@riokuu' - '@swistakm' ha_domain: blebox ha_platforms: diff --git a/source/_integrations/emoncms.markdown b/source/_integrations/emoncms.markdown index f38f791adb0..3f923a92f5c 100644 --- a/source/_integrations/emoncms.markdown +++ b/source/_integrations/emoncms.markdown @@ -8,6 +8,7 @@ ha_iot_class: Local Polling ha_domain: emoncms ha_codeowners: - '@borpin' + - '@alexandrecuer' ha_platforms: - sensor ha_integration_type: integration diff --git a/source/_integrations/fire_tv.markdown b/source/_integrations/fire_tv.markdown index acd2d505b57..1a36319e058 100644 --- a/source/_integrations/fire_tv.markdown +++ b/source/_integrations/fire_tv.markdown @@ -3,6 +3,7 @@ title: Amazon Fire TV description: Connect and control your Amazon Fire TV devices using the Android Debug Bridge integration ha_category: - Media player + - Remote ha_domain: fire_tv ha_integration_type: virtual ha_supporting_domain: androidtv @@ -15,6 +16,7 @@ ha_config_flow: true ha_platforms: - diagnostics - media_player + - remote ha_iot_class: Local Polling --- diff --git a/source/_integrations/generic_hygrostat.markdown b/source/_integrations/generic_hygrostat.markdown index 5bfdcca1009..eb8193e6a94 100644 --- a/source/_integrations/generic_hygrostat.markdown +++ b/source/_integrations/generic_hygrostat.markdown @@ -2,6 +2,7 @@ title: Generic hygrostat description: Virtual hygrostat device ha_category: + - Helper - Humidifier ha_release: 2021.8 ha_domain: generic_hygrostat diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index f13e4760025..a07859191b1 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -1,8 +1,9 @@ --- -title: Generic thermostat +title: Generic Thermostat description: Turn Home Assistant into a thermostat ha_category: - Climate + - Helper ha_release: pre 0.7 ha_iot_class: Local Polling ha_domain: generic_thermostat diff --git a/source/_integrations/google_assistant_sdk.markdown b/source/_integrations/google_assistant_sdk.markdown index 750bba81ba8..08a2182410d 100644 --- a/source/_integrations/google_assistant_sdk.markdown +++ b/source/_integrations/google_assistant_sdk.markdown @@ -12,6 +12,7 @@ ha_codeowners: - '@tronikos' ha_integration_type: service ha_platforms: + - diagnostics - notify ha_quality_scale: platinum google_dev_console_link: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown index efe32137376..f6587389b56 100644 --- a/source/_integrations/harmony.markdown +++ b/source/_integrations/harmony.markdown @@ -16,7 +16,6 @@ ha_ssdp: true ha_platforms: - remote - select - - switch ha_integration_type: integration --- diff --git a/source/_integrations/hydrawise.markdown b/source/_integrations/hydrawise.markdown index f50726cd18d..4bb917c5b61 100644 --- a/source/_integrations/hydrawise.markdown +++ b/source/_integrations/hydrawise.markdown @@ -12,6 +12,7 @@ ha_iot_class: Cloud Polling ha_domain: hydrawise ha_codeowners: - '@dknowles2' + - '@thomaskistler' - '@ptcryan' ha_platforms: - binary_sensor diff --git a/source/_integrations/incomfort.markdown b/source/_integrations/incomfort.markdown index a23413b5561..ddc6ce8db7d 100644 --- a/source/_integrations/incomfort.markdown +++ b/source/_integrations/incomfort.markdown @@ -9,7 +9,7 @@ ha_category: ha_release: 0.93 ha_iot_class: Local Polling ha_codeowners: - - '@zxdavb' + - '@jbouwh' ha_domain: incomfort ha_platforms: - binary_sensor diff --git a/source/_integrations/knocki.markdown b/source/_integrations/knocki.markdown index 65debab3514..cbf3518503f 100644 --- a/source/_integrations/knocki.markdown +++ b/source/_integrations/knocki.markdown @@ -7,12 +7,12 @@ ha_config_flow: true ha_release: 2024.7 ha_iot_class: Cloud Push ha_codeowners: - - '@jgatto' - '@joostlek' + - '@jgatto1' ha_domain: knocki ha_platforms: - event -ha_integration_type: integration +ha_integration_type: device --- The **Knocki** {% term integration %} can receive events for the triggers set up from your [Knocki devices](https://knocki.com/). diff --git a/source/_integrations/lamarzocco.markdown b/source/_integrations/lamarzocco.markdown index 872865b9c78..279883f2e40 100644 --- a/source/_integrations/lamarzocco.markdown +++ b/source/_integrations/lamarzocco.markdown @@ -11,6 +11,7 @@ ha_domain: lamarzocco ha_platforms: - binary_sensor - button + - calendar - diagnostics - number - select diff --git a/source/_integrations/mealie.markdown b/source/_integrations/mealie.markdown index 68427f9508e..65915307bbc 100644 --- a/source/_integrations/mealie.markdown +++ b/source/_integrations/mealie.markdown @@ -11,7 +11,7 @@ ha_codeowners: ha_domain: mealie ha_platforms: - calendar -ha_integration_type: integration +ha_integration_type: service --- The Mealie integration will fetch data from your [Mealie instance](https://mealie.io/). @@ -25,4 +25,4 @@ The integration will create a calendar for every type of meal plan: - Breakfast - Lunch - Dinner -- Side \ No newline at end of file +- Side diff --git a/source/_integrations/melcloud.markdown b/source/_integrations/melcloud.markdown index 97ab553a172..c3fc8c88b3d 100644 --- a/source/_integrations/melcloud.markdown +++ b/source/_integrations/melcloud.markdown @@ -9,9 +9,12 @@ ha_config_flow: true ha_domain: melcloud ha_platforms: - climate + - diagnostics - sensor - water_heater ha_integration_type: integration +ha_codeowners: + - '@erwindouna' --- The `melcloud` integration integrates Mitsubishi Electric's [MELCloud](https://www.melcloud.com/) enabled devices into Home Assistant. diff --git a/source/_integrations/nanoleaf.markdown b/source/_integrations/nanoleaf.markdown index c8c40f089dd..5f326db13fc 100644 --- a/source/_integrations/nanoleaf.markdown +++ b/source/_integrations/nanoleaf.markdown @@ -3,10 +3,11 @@ title: Nanoleaf description: Instructions how to integrate Nanoleaf Panels into Home Assistant. ha_category: - Button - - Light - Event + - Light ha_codeowners: - '@milanmeu' + - '@joostlek' ha_config_flow: true ha_homekit: true ha_iot_class: Local Push diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown index 35e2f9e588c..c2a781e3efb 100644 --- a/source/_integrations/onkyo.markdown +++ b/source/_integrations/onkyo.markdown @@ -4,7 +4,7 @@ description: Instructions on how to integrate Onkyo and some Pioneer receivers i ha_category: - Media player ha_release: 0.17 -ha_iot_class: Local Polling +ha_iot_class: Local Push ha_domain: onkyo ha_platforms: - media_player @@ -12,6 +12,8 @@ ha_integration_type: integration related: - docs: /docs/configuration/ title: Configuration file +ha_codeowners: + - '@arturpragacz' --- The `onkyo` {% term integration %} allows you to control a [Onkyo](https://www.onkyo.com), [Integra](http://www.integrahometheater.com) diff --git a/source/_integrations/pyload.markdown b/source/_integrations/pyload.markdown index aa77a6766ce..b9cc80c24a2 100644 --- a/source/_integrations/pyload.markdown +++ b/source/_integrations/pyload.markdown @@ -10,9 +10,12 @@ ha_codeowners: - '@tr4nt0r' ha_platforms: - button + - diagnostics - sensor - switch -ha_integration_type: integration +ha_integration_type: service +ha_quality_scale: platinum +ha_config_flow: true --- The [**pyLoad**](https://pyload.net/) {% term integration %} enables monitoring your downloads directly in Home Assistant. This integration provides various sensors to keep track of your download activities and allows creating automations based on the sensor information, alongside button and switch controls for performing specific tasks such as aborting downloads and managing file restarts. diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown index 61030e8608c..32247f5d372 100644 --- a/source/_integrations/smartthings.markdown +++ b/source/_integrations/smartthings.markdown @@ -16,8 +16,6 @@ ha_category: ha_release: 0.87 ha_iot_class: Cloud Push ha_config_flow: true -ha_codeowners: - - '@andrewsayre' ha_domain: smartthings ha_platforms: - binary_sensor diff --git a/source/_integrations/solarlog.markdown b/source/_integrations/solarlog.markdown index efd9a4fc299..18ca17c73d0 100644 --- a/source/_integrations/solarlog.markdown +++ b/source/_integrations/solarlog.markdown @@ -9,6 +9,7 @@ ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: - '@Ernst79' + - '@dontinelli' ha_domain: solarlog ha_platforms: - sensor diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown index 1de46f9a041..df14f06a817 100644 --- a/source/_integrations/statistics.markdown +++ b/source/_integrations/statistics.markdown @@ -2,6 +2,7 @@ title: Statistics description: Instructions on how to integrate statistical sensors into Home Assistant. ha_category: + - Helper - Sensor - Utility ha_iot_class: Local Polling @@ -12,7 +13,8 @@ ha_codeowners: ha_domain: statistics ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: helper +ha_config_flow: true --- The `statistics` sensor platform observes the state of a source sensor and provides aggregated statistical characteristics about its recent past. This integration can be useful in automations, e.g., to trigger an action when the air humidity in the bathroom settles after a hot shower or when the number of brewed coffee over a day gets too high. diff --git a/source/_integrations/tag.markdown b/source/_integrations/tag.markdown index f74e3d8d8d1..e972eed015b 100644 --- a/source/_integrations/tag.markdown +++ b/source/_integrations/tag.markdown @@ -9,8 +9,6 @@ ha_codeowners: - '@dmulcahey' ha_domain: tag ha_quality_scale: internal -ha_platforms: - - event ha_integration_type: integration --- diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index 1c6cfef8d7f..9997162b2c8 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -17,7 +17,6 @@ ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: - '@rytilahti' - - '@thegardenmonkey' - '@bdraco' - '@sdb9696' ha_domain: tplink diff --git a/source/_integrations/tplink_omada.markdown b/source/_integrations/tplink_omada.markdown index 6baa624c078..37dacac97dc 100644 --- a/source/_integrations/tplink_omada.markdown +++ b/source/_integrations/tplink_omada.markdown @@ -12,6 +12,7 @@ ha_codeowners: ha_domain: tplink_omada ha_platforms: - binary_sensor + - device_tracker - switch - update ha_integration_type: hub diff --git a/source/_integrations/tplink_tapo.markdown b/source/_integrations/tplink_tapo.markdown index 405705881c8..90dd40eb466 100644 --- a/source/_integrations/tplink_tapo.markdown +++ b/source/_integrations/tplink_tapo.markdown @@ -19,7 +19,6 @@ ha_supporting_domain: tplink ha_supporting_integration: TP-Link Smart Home ha_codeowners: - '@rytilahti' - - '@thegardenmonkey' - '@bdraco' - '@sdb9696' ha_config_flow: true diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown index 497da279e69..c96424e244a 100644 --- a/source/_integrations/unifiprotect.markdown +++ b/source/_integrations/unifiprotect.markdown @@ -20,9 +20,6 @@ ha_ssdp: true ha_release: 2022.2 ha_iot_class: Local Push ha_config_flow: true -ha_quality_scale: platinum -ha_codeowners: - - '@bdraco' ha_domain: unifiprotect ha_platforms: - binary_sensor diff --git a/source/_integrations/v2c.markdown b/source/_integrations/v2c.markdown index ce99158aff4..352d85f456b 100644 --- a/source/_integrations/v2c.markdown +++ b/source/_integrations/v2c.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: v2c ha_platforms: - binary_sensor + - diagnostics - number - sensor - switch diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown index 513f700efaa..f35d7b8447f 100644 --- a/source/_integrations/wled.markdown +++ b/source/_integrations/wled.markdown @@ -15,7 +15,6 @@ ha_codeowners: ha_domain: wled ha_zeroconf: true ha_platforms: - - binary_sensor - button - diagnostics - light diff --git a/source/_integrations/zeversolar.markdown b/source/_integrations/zeversolar.markdown index 8a8ca34b17f..9bb135cfd0d 100644 --- a/source/_integrations/zeversolar.markdown +++ b/source/_integrations/zeversolar.markdown @@ -7,6 +7,7 @@ ha_release: 2023.2 ha_iot_class: Local Polling ha_domain: zeversolar ha_platforms: + - diagnostics - sensor ha_config_flow: true ha_integration_type: device diff --git a/source/_posts/2024-07-03-release-20247.markdown b/source/_posts/2024-07-03-release-20247.markdown new file mode 100644 index 00000000000..d56e9b89ae1 --- /dev/null +++ b/source/_posts/2024-07-03-release-20247.markdown @@ -0,0 +1,808 @@ +--- +layout: post +title: "2024.7: Beta release notes" +description: "Beta release notes for Home Assistant 2024.7" +date: 2024-06-26 00:00:00 +date_formatted: "July 3, 2024" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2024-07/social.png +--- + + + +
+ +**Welcome to the beta release notes for Home Assistant 2024.7** πŸŽ‰ + +
+ +Please note that these release notes are a work in progress. πŸ‘·β€β™€οΈ We will be +completing them over the next couple of days. Not all features might be final +yet, and some features _**may not** make it into the final release_. + +
+ +**Want to help test the beta?** Awesome! ❀️ We have documented how you +[can join our beta channel and install the beta here](/common-tasks/os/#running-a-beta-version). + +
+ +While running the beta, we highly recommend joining our _#beta_ channel on +the [Home Assistant Discord chat](/join-chat)! πŸ’¬ Most developers and beta +testers are in this channel during the beta period to share experiences, ideas, +and iterate over new features, fine-tuning them before the final release. +It's a really fun place to hang out. 😎 + +
+ +**Reporting issues**: As this is a beta test, you might encounter unexpected +behavior or issues. 🐞 We use the GitHub issue tracker to track beta issues. +You can find our issue trackers and the reported issues during beta here: + +
+ +- [Report(ed) beta **dashboards/UI/frontend** issues](https://github.com/home-assistant/frontend/milestone/121) +- [Report(ed) beta **integrations/automations/backend/core** issues](https://github.com/home-assistant/core/milestone/677) +- [Report(ed) beta **documentation** issues](https://github.com/home-assistant/home-assistant.io/milestone/128) + +πŸ™ When reporting issues, **make sure to mention the exact beta version you are +running** in the issue description. This will help us identify and track the +issue correctly. Read more about [reporting issues here](/help/reporting_issues/). + +
+ +Issues introduced in the beta are processed with priority. πŸ” + +
+ +Home Assistant 2024.7! πŸŽ‰ + +Thanks for helping out testing the beta! ❀️ + +Enjoy the (beta) release! + +../Frenck + + + +- [Resize the cards on your Dashboard](#resize-the-cards-on-your-dashboard) +- [Data tables improvements](#data-tables-improvements) +- [Take control over a blueprint-based automation or script](#take-control-over-a-blueprint-based-automation-or-script) +- [Integrations](#integrations) + - [New integrations](#new-integrations) + - [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations) + - [Integrations reaching platinum quality level](#integrations-reaching-platinum-quality-level) + - [Now available to set up from the UI](#now-available-to-set-up-from-the-ui) + - [Farewell to the following](#farewell-to-the-following) +- [ESPHome update entities for ready-made projects](#esphome-update-entities-for-ready-made-projects) +- [Other noteworthy changes](#other-noteworthy-changes) + - [Link your template entity to an existing device](#link-your-template-entity-to-an-existing-device) + - [Change the radius of your home zone](#change-the-radius-of-your-home-zone) +- [Need help? Join the community!](#need-help-join-the-community) +- [Backward-incompatible changes](#backward-incompatible-changes) +- [All changes](#all-changes) + +Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=Snk6oslMQFc) +3 July 2024, at 20:00 GMT / 12:00 PST / 21:00 CEST! + + + +## Resize the cards on your Dashboard + +As [part of our roadmap](/blog/2024/06/12/roadmap-2024h1/#dashboards), we're +keeping up the work on making dashboard organization and and organization easier +and more intuitive. This month, we add the ability to resize the cards on +your dashboard! + +

+ Screenshot of... + Temporary screenshot, image needs to be replaced. +

+ +_TODO: Write more about this feature, supported cards, etc._ + +## Data tables improvements + +Like the [last release](/blog/2024/06/05/release-20246/#data-tables-improvements), +and the [release before that](/blog/2024/05/01/release-20245/#more-features-for-our-data-tables), +we keep improving our data tables. + +With this release, we add the final big piece of the puzzle: The ability to +customize the columns shown! 😎 + +

+ Screenshot of... + Temporary screenshot, image needs to be replaced. +

+ +Not only can you now customize the columns shown, but you can also change the +order of the columns by dragging them around. Making it even easier to get the +data you want, in the order you want it. + +Your customized columns and view are stored in your browser, so you only have to +set it up once, and it will be remembered for the next time you visit the page. + +## Take control over a blueprint-based automation or script + +{% term Blueprints %} are amazing; they allow you to use {% term automations %} +and {% term scripts %} created and shared by other awesome Home Assistant users. +Most are easy to use and set up, but what if that great blueprint you've been +using just needs a little tweak? Just that tiny change to make it perfect for +your home? + +Well, now you can! πŸŽ‰ + +

+ Screenshot of... + Temporary screenshot, image needs to be replaced by an actual screenshot. +

+ +You can now take full control over the automations created from a blueprint. +By taking control, Home Assistant will fully convert the blueprint automation +into a regular, stand-alone, automation, allowing you to make any tweak you +want, without having to fully re-invent the wheel. + + + +Looking for some inspiration for your next automation? πŸ’‘ Check out the +[Blueprint exchange on the Home Assistant Community Forum](https://community.home-assistant.io/c/blueprints-exchange/53/l/top?period=yearly). + +## Integrations + +Thanks to our community for keeping pace with the new {% term integrations %} +and improvements to existing ones! You’re all awesome πŸ₯° + +### New integrations + +We welcome the following new integrations in this release: + +- **[Aquacell]**, added by [@Jordi1990]
+ Monitor your AquaCell water-softner from Home Assistant. +- **[ista EcoTrend]**, added by [@tr4nt0r]
+ The ista EcoTrend integration allows you to import your monthly heating, + hot water, and water consumption and costs from the ista EcoTrend service. +- **[Mealie]**, added by [@joostlek]
+ Mealie is a self-hosted recipe manager and meal planner, this integration + will pull in your meal plan as calendars in Home Assistant. +- **[Knocki]**, added by [@joostlek]
+ Knocki is a smart device that turns any surface into a remote control, + which you can now use in Home Assistant to trigger {% term automations %}. + +[@joostlek]: https://github.com/joostlek +[@Jordi1990]: https://github.com/Jordi1990 +[@tr4nt0r]: https://github.com/tr4nt0r +[Aquacell]: /integrations/aquacell +[ista EcoTrend]: /integrations/ista_ecotrend +[Knocki]: /integrations/knocki +[Mealie]: /integrations/mealie + +### Noteworthy improvements to existing integrations + +It is not just new {% term integrations %} that are added; existing +integrations are also constantly improved. Here are some of the noteworthy +changes to existing integrations: + +- The **[Matter]** integration now provide number entities that allow you to + configure the behavior of your Matter lights, thanks [@jvmahon]! +- The **[AndroidTV]** integration now supports remote entities, allowing you + to remotely control your Android TV, thanks [@ollo69]! +- [@tronikos] added support for pulling in the camera from the tablet running + **[Fully Kiosk Browser]**, and for taking screenshots and sending + notifications to the tablet. Nice! +- We've seen a lot of improvements to the **[UniFi Protect]** integration, + thanks to [@bdraco]. [@wfltaylor] chipped in as well, adding support for + animal detection sensors. 🐢🐱🐰 +- The **[Reolink]** integration has seen a lot of improvements, thanks to + [@starkillerOG]. They added support for manual recording, software updates + for more cameras, and playback of the auto track lens. πŸŽ₯ +- The [Bang & Olufsen] integration now supports announcements and support + for Tidal has been added too! Nice work [@mj23000]! +- [@joostlek] added the event entity to the **[Nanoleaf]** integration, allowing + you to trigger automations you touch your Nanoleaf panels. Nice! + +[@bdraco]: https://github.com/bdraco +[@joostlek]: https://github.com/joostlek +[@jvmahon]: https://github.com/jvmahon +[@mj23000]: https://github.com/mj23000 +[@ollo69]: https://github.com/ollo69 +[@starkillerOG]: https://github.com/starkillerOG +[@tronikos]: https://github.com/tronikos +[@wfltaylor]: https://github.com/wfltaylor +[AndroidTV]: /integrations/androidtv +[Bang & Olufsen]: /integrations/bang_olufsen +[Fully Kiosk Browser]: /integrations/fully_kiosk +[Matter]: /integrations/matter +[Nanoleaf]: /integrations/nanoleaf +[Reolink]: /integrations/reolink +[UniFi Protect]: /integrations/unifiprotect + +{% details "Candidates to process" %} + +_Note: Processed up to #120172_ + +- Upgrade tplink with new platforms, features and device support ([@rytilahti] - [#120060]) ([tplink docs]) (noteworthy) +- Add support for Dyad vacuums to Roborock #115331 +- Add time based integration trigger to Riemann sum integral helper sensor ([@ronweikamp] - [#110685]) +- Add support for Switchbot Lock Pro ([@szclsya] - [#119326]) ([switchbot docs]) (noteworthy) +- Introduce incomfort boiler entity ([@joostlek] - [#118861]) ([incomfort docs]) +- Add state and device class to incomfort ([@joostlek] - [#118877]) ([incomfort docs]) +- Add entity translations to incomfort ([@joostlek] - [#118876]) ([incomfort docs]) +- Add new sensors to blebox ([@swistakm] - [#118837]) ([blebox docs]) (noteworthy) +- Add photovoltaic sensors to ViCare integration ([@CFenner] - [#113664]) ([vicare docs]) +- Add Sensor for Refoss Integration ([@ashionky] - [#116965]) ([refoss docs]) (new-platform) +- Add sensors to Motionblinds BLE integration ([@LennP] - [#114226]) ([motionblinds_ble docs]) (new-platform) +- Add valve entity to gardena ([@elupus] - [#120160]) ([gardena_bluetooth docs]) +- Add device trackers to tplink_omada ([@MarkGodwin] - [#115601]) ([tplink_omada docs]) (new-platform) + +{% enddetails %} + +### Integrations reaching platinum quality level + +The following {% term integrations %} reached the platinum πŸ† level on our +[integration quality scale](/docs/quality_scale). These integrations are +the best of the best and give you an excellent out-of-the-box experience. + +- **[pyLoad]**, done by [@tr4nt0r] +- **[Teslemetry]**, done by [@Bre77] + +Congratulations to all the developers who worked on these integrations! + +[@Bre77]: https://github.com/Bre77 +[@tr4nt0r]: https://github.com/tr4nt0r +[pyLoad]: /integrations/pyload +[Teslemetry]: /integrations/teslemetry + +### Now available to set up from the UI + +While most {% term integrations %} can be set up directly from the Home Assistant +user interface, some were only available using YAML configuration. We keep moving +more integrations to the UI, making them more accessible for everyone +to set up and use. + +The following integrations are now available via the Home Assistant UI: + +- **[Feedreader]**, done by [@mib1185] +- **[Generic Hygrostat]**, done by [@elupus] +- **[Generic Thermostat]**, done by [@elupus] +- **[Intergas InComfort/Intouch Lan2RF gateway]**, done by [@jbouwh] +- **[Music Player Daemon (MPD)]**, done by [@joostlek] +- **[One-Time Password (OTP)]**, done by [@tr4nt0r] +- **[pyLoad]**, done by [@tr4nt0r] +- **[Statistics]**, done by [@gjohansson-ST] + +[@elupus]: https://github.com/elupus +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@jbouwh]: https://github.com/jbouwh +[@joostlek]: https://github.com/joostlek +[@mib1185]: https://github.com/mib1185 +[@tr4nt0r]: https://github.com/tr4nt0r +[@tr4nt0r]: https://github.com/tr4nt0r +[Feedreader]: /integrations/feedreader +[Generic Hygrostat]: /integrations/generic_hygrostat +[Generic Thermostat]: /integrations/generic_thermostat +[Intergas InComfort/Intouch Lan2RF gateway]: /integrations/incomfort +[Music Player Daemon (MPD)]: /integrations/mpd +[One-Time Password (OTP)]: /integrations/otp +[pyLoad]: /integrations/pyload +[Statistics]: /integrations/statistics + +### Farewell to the following + +The following {% term integrations %} are also no longer available as +of this release: + +- **Unify Circuit** was deprecated in Home Assistant 2024.5 and has now been + removed. + +## ESPHome update entities for ready-made projects + +Our sister project, [ESPHome] received a brand new logo this month! πŸŽ‰ + +Logo of ESPHome + +

+ +Looks familiar, right? πŸ˜ƒ That is because ESPHome has [been donated] to the +[Open Home Foundation] by [Nabu Casa]. The same foundation that the Home +Assistant project is part of. + +But besides the new logo, ESPHome has added a new feature that works in +conjunction this release of Home Assistant: The ability for makers of +[ready-made devices, or projects] running on ESPHome, to [provide updates] +for their devices directly to Home Assistant. + +This means that if you have a device that is powered-by or [Made for ESPHome], +and the maker of that device provides updates for it, you can now update that +device directly from Home Assistant; without the need for you to build, adopt, +or set up the the ESPHome software yourself! 😎 + +[been donated]: https://esphome.io/changelog/2024.6.0.html#esphome-branding +[ESPHome]: https://esphome.io +[Made for ESPHome]: https://esphome.io/guides/made_for_esphome +[Nabu Casa]: https://www.nabucasa.com +[Open Home Foundation]: https://www.openhomefoundation.org/blog/announcing-the-open-home-foundation/ +[provide updates]: https://esphome.io/changelog/2024.6.0.html#update-entities +[ready-made devices, or projects]: https://esphome.io/projects/ + +## Other noteworthy changes + +There are many more improvements in this release; here are some of the other +noteworthy changes this release: + +- It is now actually possible to change the username of your Home Assistant + account, thanks [@edenhaus] & [@bramkragten]! +- Home Assistant will now raise a repair issue if an automation can't be set up + (for example, because of YAML syntax errors). Thanks [@emontnemery]! +- We now show additional entity categories on the device page, grouping + [notification] entities in a "Notification" category. Furthermore and all + [Assist] related entities, like [conversation agents and text-to-speech] + entities, are now grouped in an "Assist" category. Thanks [@balloob]! +- [Trend helpers] are now automatically linked to the same device as the source + entity it is based on. Thanks [@dougiteixeira]! +- The [generic thermostat] and [generic hygrostat] are now available via the + UI, allowing you to create a thermostat or hygrostat based on existing + switches and sensors. Thanks [@elupus]! + +[@balloob]: https://github.com/balloob +[@bramkragten]: https://github.com/bramkragten +[@dougiteixeira]: https://github.com/dougiteixeira +[@edenhaus]: https://github.com/edenhaus +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[Assist]: /voice_control/ +[conversation agents and text-to-speech]: /integrations/#voice +[generic hygrostat]: /integrations/generic_hygrostat +[generic thermostat]: /integrations/generic_thermostat +[notification]: /integrations/notify +[Trend helpers]: /integrations/trend + +### Link your template entity to an existing device + +[Template entities] are an advanced and powerful way to create your own +{% term entities %} in Home Assistant based on any calculation or logic you +can imagine. + +One of the [most requested features] for {% term template %} entities is the +ability to assign and link them to an existing {% term device %}. Thanks +to [@dougiteixeira], you can now do just that! πŸŽ‰ + +_TODO: insert screenshot_ + +Assigning a template entity to an existing device can be very useful if you have +a template that calculates an additional sensor value for a device. +This feature is available not only from the UI but also for those who prefer to +useΒ {% term "Configuration file" "YAML configuration" %}. + +[Template entities]: /integrations/template +[@dougiteixeira]: https://github.com/dougiteixeira +[most requested features]: https://community.home-assistant.io/t/why-cant-we-add-template-entities-to-existing-devices/467149 + +### Change the radius of your home zone + +{% term Zones %} in Home Assistant are a great way to define locations on your +map, such as your work, and trigger automations based on your location. The most +powerful zone is undoubtedly the home zone, which you can use to determine +if someone is home, coming home, or leaving. + +Until now, the radius of the home zone was fixed at 100 meters, which was not +always ideal for everyone. Although it could be changed using YAML, as of this +release, you can now change the radius of your home zone directly from the +Home Assistant user interface! + +Screenrecording of how you can now change the radius of the home zone. + +## 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 + +We do our best to avoid making changes to existing functionality that might +unexpectedly impact your Home Assistant installation. Unfortunately, sometimes, +it is inevitable. + +We always make sure to document these changes to make the transition as easy as +possible for you. This release has the following backward-incompatible changes: + +{% details "Authentication" %} + +The in Home Assistant 2023.12 deprecated legacy API password +(`legacy_api_password`) authentication provider has been removed. + +([@edenhaus] - [#119976]) ([documentation](/integrations/auth)) + +[@edenhaus]: https://github.com/edenhaus +[#119976]: https://github.com/home-assistant/core/pull/119976 + +{% enddetails %} + +{% details "Azure DevOps" %} + +All attributes of the "latest build" sensor are now deprecated; each now has +a dedicated sensor entity available. If you use these attributes in your +automations or scripts, you need to adjust these to use one of the +new sensors instead. + +([@timmo001] - [#114948]) ([documentation](/integrations/azure_devops)) + +[@timmo001]: https://github.com/timmo001 +[#114948]: https://github.com/home-assistant/core/pull/114948 + +{% enddetails %} + +{% details "Blink" %} + +The previously deprecated Blink update service has now been removed. + +([@gjohansson-ST] - [#119919]) ([documentation](/integrations/blink)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#119919]: https://github.com/home-assistant/core/pull/119919 + +{% enddetails %} + +{% details "BMW Connected Drive" %} + +The charging mode and charging status sensors have been updated to use lowercase +state values. If you use these sensors in your automations or scripts, +you must update them to use the new lowercase values. + +([@rikroe] - [#118751]) ([documentation](/integrations/bmw_connected_drive)) + +[@rikroe]: https://github.com/rikroe +[#118751]: https://github.com/home-assistant/core/pull/118751 + +{% enddetails %} + +{% details "Calendar" %} + +Calendar service `list_events` was deprecated in favor of `get_events` in +Home Assistant 2023.12 and has now been removed. + +Use the new `get_events` service to retrieve events from `calendar` entities +instead. + +([@gjohansson-ST] - [#118663]) ([documentation](/integrations/calendar)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#118663]: https://github.com/home-assistant/core/pull/118663 + +{% enddetails %} + +{% details "ComEd Hourly Pricing" %} + +The unit of measurement for the ComEd Hourly Pricing integration has been +corrected from `c` to `Β’/kWh`. + +([@themaxgross] - [#115594]) ([documentation](/integrations/comed_hourly_pricing)) + +[@themaxgross]: https://github.com/themaxgross +[#115594]: https://github.com/home-assistant/core/pull/115594 + +{% enddetails %} + +{% details "DNS IP" %} + +The attribute names `Resolver` and `Querytype` have been renamed to +`resolver` and `querytype`. If ause these in any automation or script, +you need to update them to use the new lowercase names. + +([@gjohansson-ST] - [#119727]) ([documentation](/integrations/dnsip)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#119727]: https://github.com/home-assistant/core/pull/119727 + +--- + +The attributes `resolver`, `querytype`, and `ip_addresses` for the DNS IP +sensor are excluded from the recorder and no longer stored in history. + +([@gjohansson-ST] - [#119726]) ([documentation](/integrations/dnsip)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#119726]: https://github.com/home-assistant/core/pull/119726 + +{% enddetails %} + +{% details "Fast.com" %} + +The previously deprecated `speedtest` service from `fastdotcom` has been removed. +Use the [`homeassistant.update_entity` service](/common-tasks/general/#defining-a-custom-polling-interval) +to refresh and run a speedtest manually instead. + +([@gjohansson-ST] - [#119780]) ([documentation](/integrations/fastdotcom)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#119780]: https://github.com/home-assistant/core/pull/119780 + +{% enddetails %} + +{% details "Intergas InComfort/Intouch Lan2RF gateway" %} + +Based on the boiler display code or fault code, the boiler status +has been refactored to be signified and unique, so we can start supporting +localization. + +Depending on the old status texts, automations or scripts might break. +You need to ensure your automations and scripts are updated to use the new +status values. + +The new display codes are: + +- 0: `opentherm` +- 15: `boiler_ext` +- 24: `frost` +- 37: `central_heating_rf` +- 51: `tapwater_int` +- 85: `sensortest` +- 102: `central_heating` +- 126: `standby` +- 153: `postrun_boiler` +- 170: `service` +- 204: `tapwater` +- 231: `postrun_ch` +- 240: `boiler_int` +- 255: `buffer` + +The new fault codes are: + +- 0: `sensor_fault_after_self_check` +- 1: `cv_temperature_too_high` +- 2: `s1_and_s2_interchanged` +- 4: `no_flame_signal` +- 5: `poor_flame_signal` +- 6: `flame_detection_fault` +- 8: `incorrect_fan_speed` +- 10: `sensor_fault_s1` +- 11: `sensor_fault_s1` +- 12: `sensor_fault_s1` +- 13: `sensor_fault_s1` +- 14: `sensor_fault_s1` +- 20: `sensor_fault_s2` +- 21: `sensor_fault_s2` +- 22: `sensor_fault_s2` +- 23: `sensor_fault_s2` +- 24: `sensor_fault_s2` +- 27: `shortcut_outside_sensor_temperature` +- 29: `gas_valve_relay_faulty` +- 30: `gas_valve_relay_faulty` + +([@jbouwh] - [#119207]) ([documentation](/integrations/incomfort)) + +[@jbouwh]: https://github.com/jbouwh +[#119207]: https://github.com/home-assistant/core/pull/119207 + +{% enddetails %} + +{% details "La Marzocco" %} + +On March 19th, 2024, La Marzocco released a machine firmware update, v3.5-rc5, +together with a new version of the La Marzocco Home App. + +Once the app update is installed, the previous scheduling functionality is +removed from the app, and a new scheduling mode is shown. This mode is disabled +until the machine's firmware has also been updated. + +Similarly, if the machine's firmware is updated before the app, the previous +scheduling functionality does not work. + +The previous calendar and auto on/off switches are replaced with calendars +and switches per schedule. + +([@zweckj] - [#113935]) ([documentation](/integrations/lamarzocco)) + +[@zweckj]: https://github.com/zweckj +[#113935]: https://github.com/home-assistant/core/pull/113935 + +{% enddetails %} + +{% details "Logitech Harmony Hub" %} + +The harmony switch entities that were deprecated since Home Assistant 2024.1, +have now been removed. + +([@joostlek] - [#119206]) ([documentation](/integrations/harmony)) + +[@joostlek]: https://github.com/joostlek +[#119206]: https://github.com/home-assistant/core/pull/119206 + +{% enddetails %} + +{% details "OpenWeatherMap" %} + +The now obsolete forecast sensors have been removed. They have been +fully replaced by `weather.get_forecasts` service. + +([@freekode] - [#119922]) ([documentation](/integrations/openweathermap)) + +[@freekode]: https://github.com/freekode +[#119922]: https://github.com/home-assistant/core/pull/119922 + +{% enddetails %} + +{% details "Shelly" %} + +The switch entity for controlling a Shelly Gas Valve Add-on has been removed, +and a valve entity has taken its place. If you use the switch entity +in your automations or scripts, you must update them to use the new +valve entity. + +([@bieniu] - [#119817]) ([documentation](/integrations/shelly)) + +[@bieniu]: https://github.com/bieniu +[#119817]: https://github.com/home-assistant/core/pull/119817 + +{% enddetails %} + +{% details "SimpliSafe" %} + +SimpliSafe no longer contains functionality to set a code for use within Home +Assistant. This was a virtual code that was not used by the SimpliSafe system. + +([@bachya] - [#118759]) ([documentation](/integrations/simplisafe)) + +[@bachya]: https://github.com/bachya +[#118759]: https://github.com/home-assistant/core/pull/118759 + +{% enddetails %} + +{% details "SQL" %} + +An SQL query generating several columns output was putting the additional +attributes on the SQL sensor. + +From now on these are still shown as state attributes but are no longer +recorded in the database as attributes on this particular sensor +(as the data for these attributes are already present in the database +from where they come). + +([@gjohansson-ST] - [#120170]) ([documentation](/integrations/sql)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#120170]: https://github.com/home-assistant/core/pull/120170 + +{% enddetails %} + +{% details "Sun WEG" %} + +The new API version this integration now uses doesn't provide the kWh per kWP +information, so that sensor is no longer available. + +([@rokam] - [#118435]) ([documentation](/integrations/sunweg)) + +[@rokam]: https://github.com/rokam +[#118435]: https://github.com/home-assistant/core/pull/118435 + +{% enddetails %} + +{% details "Swiss public transport" %} + +Swiss public transport does not provide additional state attributes anymore; +all information has been moved to dedicated individual sensors since the +release of Home Assistant 2023.12. + +([@miaucl] - [#120256]) ([documentation](/integrations/swiss_public_transport)) + +[@miaucl]: https://github.com/miaucl +[#120256]: https://github.com/home-assistant/core/pull/120256 + +{% enddetails %} + +{% details "Tami4 Edge / Edge+" %} + +Due tue upstream API changes, the UV & filter's last replaced date has been +removed. + +Additionally, `uv_status` & `filter_status` sensor entities have been changed +to `uv_installed` and `filter_installed`. + +([@Guy293] - [#119158]) ([documentation](/integrations/tami4)) + +[@Guy293]: https://github.com/Guy293 +[#119158]: https://github.com/home-assistant/core/pull/119158 + +{% enddetails %} + +{% details "UniFi Protect" %} + +UI has removed this functionality in UI Protect 4.x. + +It is still possible to set a custom message using the other services +(`unifiprotect.add_doorbell_text` and `unifiprotect.remove_doorbell_text`, +and setting it via the `select` entity), but there is no longer a default. + +([@bdraco] - [#119695]) ([documentation](/integrations/unifiprotect)) + +[@bdraco]: https://github.com/bdraco +[#119695]: https://github.com/home-assistant/core/pull/119695 + +{% enddetails %} + +{% details "Utility Meter" %} + +The source entity, period, and CRON pattern entity state attributes have been +removed from the sensor entity and moved to the integration diagnostics. + +Note that these values are constant throughout the lifetime of a utility meter. + +([@dgomes] - [#118637]) ([documentation](/integrations/utility_meter)) + +[@dgomes]: https://github.com/dgomes +[#118637]: https://github.com/home-assistant/core/pull/118637 + +{% enddetails %} + +{% details "Weather" %} + +Weather service `get_forecast` was deprecated in favor of `get_forecasts` in +Home Assistant 2023.12, and has now been removed. + +Use the new `get_forecasts` service to retrieve forecast information +from `weather` entities instead. + +([@gjohansson-ST] - [#118664]) ([documentation](/integrations/weather)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#118664]: https://github.com/home-assistant/core/pull/118664 + +{% enddetails %} + +{% details "WLED" %} + +The previously deprecated firmware binary sensor has been removed. +Use the provided update entity for your WLED device instead. + +([@frenck] - [#119984]) ([documentation](/integrations/wled)) + +[@frenck]: https://github.com/frenck +[#119984]: https://github.com/home-assistant/core/pull/119984 + +{% enddetails %} + +{% details "Z-Wave" %} + +With this release, you will need to update your `zwave-js-server` instance. + +You must use `zwave-js-server` 1.36.0 or greater (schema 36). +- If you use the Z-Wave JS add-on, you need at least version 0.6.0. +- If you use the Z-Wave JS UI add-on, you need at least version [3.8.2](https://github.com/hassio-addons/addon-zwave-js-ui/releases/tag/v3.8.2). +- If you use the Z-Wave JS UI Docker container, you need at least version [9.14.2](https://github.com/zwave-js/zwave-js-ui/releases/tag/v9.14.2). +- If you run your own Docker container or some other installation method, you will need to update your zwave-js-server instance to at least 1.36.0. + +([@raman325]) ([documentation](/integrations/zwave_js)) + +[@raman325]: https://github.com/raman325 + +{% enddetails %} + +If you are a custom integration developer and want to learn about changes and +new features available for your integration: Be sure to follow our +[developer blog][devblog]. The following are the most notable for this release: + +- [Excluding all state attributes from recording using MATCH_ALL](https://developers.home-assistant.io/blog/2024/06/22/excluding-state-attributes-from-recording-match-all) +- [Forwarding setup to config entry platforms](https://developers.home-assistant.io/blog/2024/06/12/async_forward_entry_setups/) +- [Making http path registration async safe with `async_register_static_paths`](https://developers.home-assistant.io/blog/2024/06/18/async_register_static_paths) + +[devblog]: https://developers.home-assistant.io/blog/ + +## 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.7](/changelogs/core-2024.7) diff --git a/source/changelogs/core-2024.7.markdown b/source/changelogs/core-2024.7.markdown new file mode 100644 index 00000000000..c034cb3b259 --- /dev/null +++ b/source/changelogs/core-2024.7.markdown @@ -0,0 +1,2295 @@ +--- +title: Full changelog for Home Assistant Core 2024.7 +description: Detailed changelog for the Home Assistant Core 2024.7 release +replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$ +--- + +These are all the changes included in the Home Assistant Core 2024.7 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2024/07/03/release-20247/). + +## All changes + +- Bump version to 2024.7.0dev0 ([@frenck] - [#118399]) +- Improve type hints in tests (a-h) ([@epenet] - [#118379]) +- Improve type hints in tests (i-p) ([@epenet] - [#118380]) +- Improve type hints in tests (q-z) ([@epenet] - [#118381]) +- Adjust type hint for request_mock.Mocker in pylint plugin ([@epenet] - [#118458]) +- Add check for usefixtures decorator in pylint plugin ([@epenet] - [#118456]) +- Cleanup mock_get_source_ip from tests ([@epenet] - [#118459]) +- Fix special case in pylint type hint plugin ([@epenet] - [#118454]) +- Bump refoss to v1.2.1 ([@ashionky] - [#118450]) +- Move evohome constants to separate module ([@zxdavb] - [#118471]) +- Add tests for Tractive integration ([@bieniu] - [#118470]) +- Use const instead of literal string in HVV integration ([@tsvi] - [#118479]) +- Bang & Olufsen sort supported media_player features alphabetically ([@mj23000] - [#118476]) +- Fix a typo in hassfest ([@emontnemery] - [#118482]) +- Add XML support to RESTful binary sensor ([@2sheds] - [#110062]) +- Add allow_negative configuration option to DurationSelector ([@ronweikamp] - [#116134]) +- Add time based integration trigger to Riemann sum integral helper sensor ([@ronweikamp] - [#110685]) +- Fix incorrect `zeroconf` type hint in tests ([@epenet] - [#118465]) +- Fix typing and streamline code in One-Time Password integration ([@tr4nt0r] - [#118511]) +- Add Google Assistant SDK diagnostics ([@tronikos] - [#118513]) +- Improve type hints for mock_bluetooth/enable_bluetooth ([@epenet] - [#118484]) +- Bang & Olufsen fix straggler from previous PR ([@mj23000] - [#118488]) +- Pass the message as an exception argument in Tractive integration ([@bieniu] - [#118534]) +- Move evohome helper functions to separate module ([@zxdavb] - [#118497]) +- Drop single-use constant from pylint plugin ([@epenet] - [#118540]) +- Code quality improvements in emoncms integration ([@alexandrecuer] - [#118468]) +- Small performance improvement to pylint plugin ([@epenet] - [#118475]) +- Check fixtures for type hints in pylint plugin ([@epenet] - [#118313]) +- Adjust "hass" type hint for test fixtures in pylint plugin ([@epenet] - [#118548]) +- Bump `brother` backend library to version `4.2.0` ([@bieniu] - [#118557]) +- Move OSO Energy base entity class to separate module ([@osohotwateriot] - [#118563]) +- Prevent time.sleep calls from blocking the event loop ([@bdraco] - [#118561]) +- Log directory blocking I/O functions that run in the event loop ([@bdraco] - [#118529]) +- Remove duplicate getattr call in entity wrap_attr ([@bdraco] - [#118558]) +- Add state translation to Reolink AI detections ([@starkillerOG] - [#118560]) +- Improve typing in Zengge ([@joostlek] - [#118547]) +- Improve UniFi config flow tests ([@Kane610] - [#118587]) +- Improve typing in Zabbix ([@joostlek] - [#118545]) +- Cleanup pylint ignore in melnor tests ([@epenet] - [#118564]) +- Don't prompt user to verify still image if none was provided in generic camera ([@davet2001] - [#118599]) +- Bump `nettigo_air_monitor` library to version `3.2.0` ([@bieniu] - [#118600]) +- Bump ruff to 0.4.7 ([@autinerd] - [#118612]) +- Add new codeowner for emoncms integration ([@alexandrecuer] - [#118609]) +- Update typing-extensions to 4.12.1 ([@cdce8p] - [#118615]) +- Update mypy-dev to 1.11.0a5 ([@cdce8p] - [#118519]) +- Fix incorrect `patch` type hint in main conftest ([@epenet] - [#118461]) +- Use more efficient chunked_or_all for recorder table managers ([@bdraco] - [#118646]) +- Add support for the DS18B20 temperature sensor to Nettigo Air Monitor integration ([@bieniu] - [#118601]) +- Remove config flow import from fastdotcom ([@gjohansson-ST] - [#118665]) +- Clean up Husqvarna Automower number platform ([@Thomas55555] - [#118641]) +- Add BaseEntity for apsystems integration ([@mawoka-myblock] - [#117514]) +- Refactor incomfort platform attributes ([@jbouwh] - [#118667]) +- Add type hints for pytest.LogCaptureFixture in test fixtures ([@epenet] - [#118687]) +- Add type hints for MqttMockHAClient in test fixtures ([@epenet] - [#118683]) +- Bump github/codeql-action from 3.25.6 to 3.25.7 (@dependabot - [#118680]) +- Add error message to device registry helper ([@epenet] - [#118676]) +- Add type hints for FrozenDateTimeFactory in test fixtures ([@epenet] - [#118690]) +- Add type hints for AiohttpClientMocker in test fixtures ([@epenet] - [#118691]) +- Add type hints for Recorder in test fixtures ([@epenet] - [#118685]) +- Remove unused fixture from elmax tests ([@epenet] - [#118684]) +- Fix incorrect blueprint type hints in tests ([@epenet] - [#118694]) +- Add type hints for ClientSessionGenerator in test fixtures ([@epenet] - [#118689]) +- Add type hints for hass_storage in test fixtures ([@epenet] - [#118682]) +- Add type hints for list[Device] in test fixtures ([@epenet] - [#118681]) +- Add type hints for requests_mock.Mocker in test fixtures ([@epenet] - [#118678]) +- Use ULID instead of UUID for config entry id and flow ID ([@emontnemery] - [#118677]) +- Update codeowners incomfort integration ([@jbouwh] - [#118700]) +- Allow removal of myuplink device from GUI ([@astrandb] - [#117009]) +- Update the codeowners of the incomfort integration ([@zxdavb] - [#118706]) +- Add Monzo config reauth ([@JakeMartin-ICL] - [#117726]) +- Add HDR type attribute to Kodi ([@starkillerOG] - [#109603]) +- Bump python-MotionMount to 2.0.0 ([@RJPoelstra] - [#118719]) +- Fix incorrect type hint in dremel_3d_printer tests ([@epenet] - [#118709]) +- Bump pytrydan to 0.7.0 ([@dgomes] - [#118726]) +- Add type hints for TTS test fixtures ([@epenet] - [#118704]) +- Add type hints for MockAgent in conversation tests ([@epenet] - [#118701]) +- Migrate recorder instance to use HassKey ([@bdraco] - [#118673]) +- Convert mqtt to use a timer instead of task sleep loop ([@bdraco] - [#118666]) +- Small speed up to read-only database sessions ([@bdraco] - [#118674]) +- Migrate Intergas InComfort/Intouch Lan2RF gateway YAML to config flow ([@jbouwh] - [#118642]) +- Add device info to incomfort entities ([@jbouwh] - [#118741]) +- Speed up statistics_during_period websocket api ([@bdraco] - [#118672]) +- Add os.walk to asyncio loop blocking detection ([@bdraco] - [#118769]) +- Don't require code to arm SimpliSafe ([@bachya] - [#118759]) +- Add type hints for FixtureRequest in tests ([@epenet] - [#118779]) +- Add ista EcoTrend integration ([@tr4nt0r] - [#118360]) +- Azure DevOps build sensor attributes to new sensors ([@timmo001] - [#114948]) +- Remove duplicate code in emoncms ([@alexandrecuer] - [#118610]) +- Bump dawidd6/action-download-artifact from 3.1.4 to 4 (@dependabot - [#118772]) +- Deduplicate light services.yaml ([@emontnemery] - [#118738]) +- Cleanup unused FixtureRequest in tests ([@epenet] - [#118780]) +- Move entity_registry_enabled_by_default to decorator [q-z] ([@epenet] - [#118793]) +- Make Ruuvi a brand ([@joostlek] - [#118786]) +- Make Weatherflow a brand ([@joostlek] - [#118785]) +- Bang & Olufsen add overlay/announce play_media functionality ([@mj23000] - [#113434]) +- Add tests for BMW binary_sensor and lock ([@rikroe] - [#118436]) +- Move mock_hass_config fixture to decorator ([@epenet] - [#118807]) +- Move entity_registry_enabled_by_default to decorator [a-p] ([@epenet] - [#118794]) +- Move enable_bluetooth fixture to decorator ([@epenet] - [#118803]) +- Move None bluetooth fixtures to decorator ([@epenet] - [#118802]) +- Fix incorrect current_request_with_host type hint ([@epenet] - [#118809]) +- Add remote entity to AndroidTV ([@ollo69] - [#103496]) +- Move current_request_with_host fixture to decorator ([@epenet] - [#118810]) +- blebox: update codeowners ([@riokuu] - [#118817]) +- Fix device name not set on all incomfort platforms ([@jbouwh] - [#118827]) +- Bump youless dependency version to 2.1.0 ([@gjong] - [#118820]) +- Use fixtures in UniFi update tests ([@Kane610] - [#118818]) +- Use fixtures in UniFi switch tests ([@Kane610] - [#118831]) +- Remove useless threading locks in mqtt ([@bdraco] - [#118737]) +- Ensure config entries are not unloaded while their platforms are setting up ([@bdraco] - [#118767]) +- Add Reolink serial number to device info of IPC camera ([@starkillerOG] - [#118834]) +- Add diagnostic to V2C ([@dgomes] - [#118823]) +- Bump github/codeql-action from 3.25.7 to 3.25.8 (@dependabot - [#118850]) +- Add more typing to DSMR Reader ([@erwindouna] - [#118852]) +- Move enable_custom_integrations fixture to decorator ([@epenet] - [#118844]) +- Move enable_bluetooth fixture to decorator ([@epenet] - [#118849]) +- Add data coordinator to incomfort integration ([@jbouwh] - [#118816]) +- Detach name from unique id in incomfort ([@joostlek] - [#118862]) +- Bump blebox-uniapi fom 2.2.2 to 2.4.2 ([@swistakm] - [#118836]) +- Add new sensors to blebox ([@swistakm] - [#118837]) +- Add entity descriptions to incomfort binary sensor ([@joostlek] - [#118863]) +- Remove obsolete polling from incomfort water heater ([@joostlek] - [#118860]) +- Introduce incomfort boiler entity ([@joostlek] - [#118861]) +- Update coverage to 7.5.3 ([@cdce8p] - [#118870]) +- Rename esphome fixture ([@epenet] - [#118865]) +- Add binary "sleeping" sensor to Reolink ([@starkillerOG] - [#118774]) +- Allow more input params to webhook generate_url helper ([@zweckj] - [#112334]) +- Fix Ezviz last alarm picture ([@DeKaN] - [#112074]) +- Add state and device class to incomfort ([@joostlek] - [#118877]) +- Add entity translations to incomfort ([@joostlek] - [#118876]) +- Use fixtures in UniFi service tests ([@Kane610] - [#118838]) +- Add support for sending telegram messages to topics ([@r-xyz] - [#112715]) +- Add more unit-based sensor descriptions to myuplink ([@astrandb] - [#113104]) +- Address Webhook `async_generate_url` review ([@zweckj] - [#118910]) +- Bump bthome-ble to 3.9.1 ([@Ernst79] - [#118907]) +- Always do thread safety check when writing state ([@bdraco] - [#118886]) +- Avoid additional timestamp conversion to set state ([@bdraco] - [#118885]) +- Bump pyecotrend_ista to 3.2.0 ([@tr4nt0r] - [#118924]) +- Bump xiaomi-ble to 0.29.0 ([@kvakulo] - [#118895]) +- Add return type hints in tests (k-z) ([@epenet] - [#118942]) +- Bump cryptography to 42.0.8 ([@bdraco] - [#118889]) +- Fix some minor typos in ista EcoTrend integration ([@tr4nt0r] - [#118949]) +- Ignore nested functions when enforcing type hints in tests ([@epenet] - [#118948]) +- Centralize duplicate fixtures in rainforest_raven tests ([@epenet] - [#118945]) +- Bump ruff to 0.4.8 ([@autinerd] - [#118894]) +- Improve type hints in rainforest_raven tests ([@epenet] - [#118950]) +- Load fixture with decorator to avoid variable not accessed error ([@tr4nt0r] - [#118954]) +- Add return type hints in tests (a-i) ([@epenet] - [#118939]) +- Fix type hints in google tests ([@epenet] - [#118941]) +- Add type hints to hdmi_cec assert_state function ([@epenet] - [#118940]) +- Address post-merge review comments from Vallox reconfigure support PR ([@slovdahl] - [#118903]) +- Migrate myuplink to runtime_data ([@astrandb] - [#118960]) +- Remove unused constant in Tag ([@gjohansson-ST] - [#118966]) +- Update mypy-dev to 1.11.0a6 ([@cdce8p] - [#118881]) +- Import Generator from typing_extensions (1) ([@cdce8p] - [#118986]) +- Import Generator from typing_extensions (2) ([@cdce8p] - [#118989]) +- Unhide facebook tests ([@epenet] - [#118867]) +- Move socket_enabled fixture to decorator ([@epenet] - [#118847]) +- Import Generator from typing_extensions (3) ([@cdce8p] - [#118990]) +- Move mock_bluetooth* fixtures to decorator ([@epenet] - [#118846]) +- Import Generator from typing_extensions (5) ([@cdce8p] - [#118993]) +- Import Generator from typing_extensions (4) ([@cdce8p] - [#118992]) +- Improve type hints in apple_tv tests ([@epenet] - [#118980]) +- Increment ci cache version ([@cdce8p] - [#118998]) +- Only entity verify state writable once after success unless hass is missing ([@bdraco] - [#118896]) +- Move evohome's API broker to the coordinator module ([@zxdavb] - [#118565]) +- Set username as entry title in Bring integration ([@tr4nt0r] - [#118974]) +- Fully mock the ring_doorbell api and remove requests_mock ([@sdb9696] - [#113140]) +- Add extra sensor to the Jewish Calendar integration ([@gedaliahknizhnik] - [#116734]) +- Use fixtures in UniFi diagnostics tests ([@Kane610] - [#118905]) +- Use fixtures in UniFi image tests ([@Kane610] - [#118887]) +- Add Aquacell integration ([@Jordi1990] - [#117117]) +- Use torrent id to identify torrents that should trigger events ([@engrbm87] - [#118897]) +- Add the missing humidity value to the Accuweather daily forecast ([@bieniu] - [#119013]) +- Fix Generator annotations in tests (2) ([@cdce8p] - [#119019]) +- Fix Generator annotations in tests (1) ([@cdce8p] - [#119018]) +- Improve type hints in airnow tests ([@epenet] - [#119038]) +- Remove unused request fixtures ([@epenet] - [#119044]) +- Ignore deprecation warning in python-holidays ([@gjohansson-ST] - [#119007]) +- Ecovacs get_positions service ([@lnx85] - [#118572]) +- Add photovoltaic sensors to ViCare integration ([@CFenner] - [#113664]) +- Improve type hints in zamg tests ([@epenet] - [#119042]) +- Improve type hints in motionblinds_ble tests ([@epenet] - [#119049]) +- Improve type hints in kaleidescape tests ([@epenet] - [#119040]) +- Improve type hints in azure_event_hub tests ([@epenet] - [#119047]) +- Bump dawidd6/action-download-artifact from 4 to 5 (@dependabot - [#118851]) +- Enable retrieving sensor data from WoHub2 device and update pySwitchbot to 0.47.2 ([@huyuwei1996] - [#118567]) +- Align weatherflow_cloud weather conditions with Home Assistant supported conditions ([@jeeftor] - [#114497]) +- Improve type hints in homekit_controller tests ([@epenet] - [#119053]) +- Remove unused caplog fixtures in tests ([@epenet] - [#119056]) +- Improve type hints in config tests ([@epenet] - [#119055]) +- Add type hints to current_request_with_host in tests ([@epenet] - [#119054]) +- Add type hint to mock_async_zeroconf in test fixtures ([@epenet] - [#119057]) +- Bump aiowithings to 3.0.1 ([@joostlek] - [#118854]) +- Use fixtures in UniFi sensor tests ([@Kane610] - [#118921]) +- Add mute_toggle to roon volume events ([@pavoni] - [#114171]) +- Refine sensor descriptions for APCUPSD ([@yuxincs] - [#114137]) +- Move mock_async_zeroconf to decorator in homekit tests ([@epenet] - [#119060]) +- Bump solax from 3.1.0 to 3.1.1 ([@Darsstar] - [#118888]) +- Improve type hints in arcam_fmj tests ([@epenet] - [#119072]) +- Improve type hints in airvisual test fixtures ([@epenet] - [#119079]) +- Add template Base64 decode encoding parameter ([@paulusbrand] - [#116603]) +- Improve type hints in assist_pipeline tests ([@epenet] - [#119066]) +- Fix incorrect type hints in azure_data_explorer tests ([@epenet] - [#119065]) +- Add previous track intent ([@OzGav] - [#113222]) +- Bump home-assistant-bluetooth to 1.12.1 ([@bdraco] - [#119026]) +- Move mock_async_zeroconf to decorator in zeroconf tests ([@epenet] - [#119063]) +- Move mock_zeroconf to decorator in tests ([@epenet] - [#119061]) +- Add support for common references in strings.json ([@emontnemery] - [#118783]) +- Use fixtures in UniFi device tracker tests ([@Kane610] - [#118912]) +- Update typing-extensions to 4.12.2 ([@cdce8p] - [#119098]) +- Improve the reliability of tests in Tessie ([@Bre77] - [#118596]) +- Add Tuya based bluetooth lights ([@rwalker777] - [#119103]) +- Add intelligent language matching for Google Assistant SDK Agents ([@t0bst4r] - [#112600]) +- Bump sunweg to 3.0.1 ([@rokam] - [#118435]) +- Require KNX boolean service descriptor selectors ([@farmio] - [#118597]) +- Add support for segmental measurements in Withings ([@joostlek] - [#119126]) +- Improve withings diagnostics ([@joostlek] - [#119128]) +- Use translation placeholders in AccuWeather ([@bieniu] - [#118760]) +- Add icon translations to AccuWeather ([@bieniu] - [#119134]) +- Change BMW select and sensor enums to lowercase ([@rikroe] - [#118751]) +- Add type hints for service_calls fixture in pylint plugin ([@epenet] - [#118356]) +- Refactor Zeversolar init tests ([@NECH2004] - [#118551]) +- Adjust BMW enum sensors translations ([@rikroe] - [#118754]) +- Add new security keys to zwave_js config flow ([@raman325] - [#115835]) +- Update Home Assistant base image to 2024.06.0 ([@frenck] - [#119147]) +- Fix failing UniFi tests related to utcnow ([@Kane610] - [#119131]) +- Enable Ruff PT012 ([@autinerd] - [#113957]) +- Add ZHA XZG firmware discovery ([@xyzroe] - [#116828]) +- Use runtime_data for enigma2 ([@autinerd] - [#119154]) +- Remove old UniFi test infrastructure ([@Kane610] - [#119160]) +- Fix Tami4 component breaking API changes ([@Guy293] - [#119158]) +- Make supported_features of manual alarm_control_panel configurable ([@tronikos] - [#119122]) +- Remove Netgear LTE yaml import ([@tkdrob] - [#119180]) +- Add myself as codeowner for `amazon_polly` ([@jschlyter] - [#119189]) +- Fix sia custom bypass arming in night mode ([@etnoy] - [#119168]) +- Rewrite the UniFi button entity tests ([@Kane610] - [#118771]) +- Migrate august to use yalexs 5.2.0 ([@bdraco] - [#119178]) +- Remove Harmony switches ([@joostlek] - [#119206]) +- Bump incomfort backend library to v0.6.0 ([@jbouwh] - [#119207]) +- Rework UniFi tests to not use runtime data ([@Kane610] - [#119202]) +- Add config flow to MPD ([@joostlek] - [#117907]) +- Improve demo config flow and add tests ([@emontnemery] - [#118481]) +- Create DWD device with unique_id instead of entry_id ([@joostlek] - [#116498]) +- Bump incomfort backend client to v0.6.1 ([@jbouwh] - [#119209]) +- Add reconfigure step for google_travel_time ([@eifinger] - [#115178]) +- Update links between config entry and device on sensor change in integral ([@elupus] - [#119213]) +- Add cabin overheat protection entity to Teslemetry ([@Bre77] - [#118449]) +- Use a listcomp for history results ([@bdraco] - [#119188]) +- Reduce overhead to reduce statistics ([@bdraco] - [#119187]) +- Fix - Remove unneeded assert in teslemetry test ([@jbouwh] - [#119219]) +- Bump monzopy to 1.3.0 ([@JakeMartin-ICL] - [#119225]) +- Improve type hints in ambient_station tests ([@epenet] - [#119230]) +- Improve type hints in amberelectric tests ([@epenet] - [#119229]) +- Fixture cleanup in UniFi tests ([@Kane610] - [#119227]) +- Bump pyschlage to 2024.6.0 ([@dknowles2] - [#119233]) +- Bump reolink-aio to 0.9.2 ([@starkillerOG] - [#119236]) +- Add Reolink manual record switch ([@starkillerOG] - [#119232]) +- Add boiler entity state translations for incomfort water_heater entities ([@jbouwh] - [#119211]) +- Add model to Teslemetry Wall Connectors ([@Bre77] - [#119251]) +- Fix nest to cancel event listener on config entry unload ([@allenporter] - [#119257]) +- google_travel_time: Merge user_input validation ([@eifinger] - [#119221]) +- Improve type hints in blackbird tests ([@epenet] - [#119262]) +- Moves V2C from hass.data to config_entry.runtime_data ([@dgomes] - [#119165]) +- Improve type hints in blueprint tests ([@epenet] - [#119263]) +- Improve type hints in axis tests ([@epenet] - [#119260]) +- Improve type hints in camera tests ([@epenet] - [#119264]) +- Use device_registry fixture in webostv tests ([@epenet] - [#119269]) +- Use service_calls fixture in bthome tests ([@epenet] - [#119268]) +- Improve incomfort boiler state strings ([@jbouwh] - [#119270]) +- Use service_calls fixture in scaffold ([@epenet] - [#119266]) +- Use relative imports in tests [a-i] ([@epenet] - [#119280]) +- Use service_calls fixture in arcam_fmj tests ([@epenet] - [#119274]) +- Fix root-import pylint warning in dlna_dmr tests ([@epenet] - [#119286]) +- Use relative imports in tests [j-r] ([@epenet] - [#119282]) +- Use relative imports in tests [s-z] ([@epenet] - [#119283]) +- Avoid references to websocket_api.const in core and other components ([@epenet] - [#119285]) +- Change qBittorrent lib to qbittorrentapi ([@Sebclem] - [#113394]) +- Don't run tests if lint-ruff-format fails ([@epenet] - [#119291]) +- Use service_calls fixture in helper tests ([@epenet] - [#119275]) +- Use Registry fixture in zwave_js tests ([@epenet] - [#119277]) +- Fix root-import pylint warning in components ([@epenet] - [#119294]) +- Fix namespace-import pylint warning in components ([@epenet] - [#119299]) +- Add code_format_template to template locks ([@chammp] - [#106947]) +- Add support for animal detection in unifiprotect ([@wfltaylor] - [#116290]) +- Log errors in Intent.async_handle ([@tronikos] - [#119182]) +- bump aiobotocore to 2.13.0 ([@chemelli74] - [#119297]) +- Add HVACAction to incomfort climate devices ([@jbouwh] - [#119315]) +- Fix incomfort water heater return translated fault code ([@jbouwh] - [#119311]) +- Migrate lamarzocco to lmcloud 1.1 ([@zweckj] - [#113935]) +- Improve type hints in registry helper tests ([@epenet] - [#119302]) +- Improve type hints in aiohttp_client helper tests ([@epenet] - [#119300]) +- Use runtime_data in Husqvarna Automower ([@cyr-ius] - [#119309]) +- Add OSO Energy temperature sensors ([@osohotwateriot] - [#119301]) +- Improve incomfort binary sensors ([@jbouwh] - [#119292]) +- Refactor helpers and bump Teslemetry ([@Bre77] - [#119246]) +- Add options flow to enigma2 ([@autinerd] - [#115795]) +- Add price service call to Tibber ([@basbruss] - [#117366]) +- Update Airzone Cloud to v0.5.2 and add fan speeds to Zones ([@Noltari] - [#119314]) +- Migrate august to use yalexs 6.0.0 ([@bdraco] - [#119321]) +- Fix enigma2 option flow ([@jbouwh] - [#119335]) +- Speed up generating large stats results ([@bdraco] - [#119210]) +- Move runtime_data deletion after unload ([@JakeMartin-ICL] - [#119224]) +- Allow source sensor to be changed in threshold helper ([@elupus] - [#119157]) +- Bump incomfort backend client to v0.6.2 ([@jbouwh] - [#119330]) +- Fix typo in Ecovacs integration ([@middlingphys] - [#119346]) +- Add Xiaomi Air Purifier Pro H EU (zhimi.airpurifier.vb2) ([@Ishima] - [#119149]) +- Customize incomfort binary sensor icons ([@jbouwh] - [#119331]) +- Bump aioesphomeapi to 24.6.0 ([@jesserockz] - [#119348]) +- OpenAI to respect custom conversation IDs ([@balloob] - [#119307]) +- Avoid cross-domain imports in scrape tests ([@epenet] - [#119351]) +- Use absolute import in roborock tests ([@epenet] - [#119353]) +- Ignore some pylint errors in component tests ([@epenet] - [#119352]) +- Fix namespace-import pylint warning in shelly tests ([@epenet] - [#119349]) +- Fix typo in Tibber service description ([@Betacart] - [#119354]) +- Fix pointless-string-statement pylint warning in emulated_hue tests ([@epenet] - [#119368]) +- Ignore c-extension-no-member pylint warnings in tests ([@epenet] - [#119378]) +- Allow importing typing helper in core files ([@emontnemery] - [#119377]) +- Fix typo in auth ([@emontnemery] - [#119388]) +- Fix missing checks in core config test ([@emontnemery] - [#119387]) +- Fix pylint warnings in xiaomi tests ([@epenet] - [#119373]) +- Fix import-outside-toplevel pylint warnings in tests ([@epenet] - [#119389]) +- Fix pylint warnings in testing config custom components ([@epenet] - [#119370]) +- Fix non-parent-init-called pylint warning in google_assistant tests ([@epenet] - [#119367]) +- Fix typo in pylint plugin ([@epenet] - [#119362]) +- Improve type hints in yaml util tests ([@epenet] - [#119358]) +- Fix confusing-with-statement pylint warnings ([@epenet] - [#119364]) +- Fix import pylint warning in core tests ([@epenet] - [#119359]) +- Bump pyElectra to 1.2.3 ([@jafar-atili] - [#119369]) +- Fix use-maxsplit-arg pylint warnings in tests ([@epenet] - [#119366]) +- Fix consider-using-with pylint warnings in matrix tests ([@epenet] - [#119365]) +- Improve type hints and fix pylint warnings in util tests ([@epenet] - [#119355]) +- Use statistic tables' duration attribute instead of magic numbers ([@emontnemery] - [#119356]) +- Add switch to Tuya thermostat: child_lock ([@Sese-Schneider] - [#113052]) +- Fix incorrect constants in streamlabswater tests ([@epenet] - [#119399]) +- Drop use of deprecated constant in zha tests ([@epenet] - [#119397]) +- Fix incorrect constants in google_travel_time tests ([@epenet] - [#119395]) +- Fix import-outside-toplevel pylint warnings in core tests ([@epenet] - [#119394]) +- Remove deprecated imports in config tests ([@epenet] - [#119393]) +- Fix unnecessary-dunder-call pylint warnings in tests ([@epenet] - [#119379]) +- Support shared keys starting with period in services.yaml ([@emontnemery] - [#118789]) +- Ignore no-name-in-module warnings in tests ([@epenet] - [#119401]) +- Fix pointless-exception-statement warning in tests ([@epenet] - [#119402]) +- Fix use-implicit-booleaness-not-len warnings in tests ([@epenet] - [#119407]) +- Fix unspecified-encoding warnings in tests ([@epenet] - [#119405]) +- Ignore misplaced-bare-raise warnings in tests ([@epenet] - [#119403]) +- Adjust nacl import in tests ([@epenet] - [#119392]) +- Restructure and setup dedicated coordinator for Azure DevOps ([@timmo001] - [#119199]) +- Add support for Tuya non-standard contact sensors ([@dkrahmer] - [#115557]) +- Migrate lamarzocco to entry.runtime_data ([@zweckj] - [#119425]) +- Ignore broad-exception-raised pylint warnings in tests ([@epenet] - [#119468]) +- Ignore attribute-defined-outside-init pylint warnings in tests ([@epenet] - [#119470]) +- Use pytest.mark.parametrize in airthings_ble tests ([@epenet] - [#119461]) +- Ignore undefined-loop-variable pylint warnings in zha tests ([@epenet] - [#119476]) +- Fix arguments-renamed pylint warning in tests ([@epenet] - [#119473]) +- Store runtime data inside the config entry in Dremel 3D Printer ([@tkdrob] - [#119441]) +- Fix consider-using-tuple pylint warnings in core tests ([@epenet] - [#119463]) +- Fix bad-chained-comparison pylint warning in tests ([@epenet] - [#119477]) +- Store runtime data inside the config entry in Google Sheets ([@tkdrob] - [#119438]) +- Remove redundant logging from evohome ([@zxdavb] - [#119482]) +- Forward Z-Wave JS `node found` event to frontend ([@AlCalzone] - [#118866]) +- Translation support for device automation extra fields ([@farmio] - [#115892]) +- Migrate AirGradient to runtime_data ([@joostlek] - [#119491]) +- Fix typo in Camera.turn_on ([@tronikos] - [#119386]) +- Store transmission coordinator in runtime_data ([@engrbm87] - [#119502]) +- Fix consider-using-tuple pylint warnings in component tests ([@epenet] - [#119464]) +- Fix consider-using-enumerate warnings in tests ([@epenet] - [#119506]) +- Ignore existing fixme pylint warnings in tests ([@epenet] - [#119500]) +- Fix consider-using-dict-items warnings in tests ([@epenet] - [#119497]) +- Migrate Airtouch4 to runtime_data ([@joostlek] - [#119493]) +- Store runtime data inside the config entry in Google Mail ([@tkdrob] - [#119439]) +- Store runtime data inside the config entry in Goalzero ([@tkdrob] - [#119440]) +- Support reconfigure flow in Brother integration ([@bieniu] - [#117298]) +- Migrate Airzone cloud to runtime_data ([@joostlek] - [#119495]) +- Migrate Airzone to runtime_data ([@joostlek] - [#119494]) +- Migrate unifiprotect to use entry.runtime_data ([@bdraco] - [#119507]) +- Fix attribute-defined-outside-init pylint warnings in tests ([@epenet] - [#119471]) +- Store runtime data inside the config entry in Dlink ([@tkdrob] - [#119442]) +- Fix broad-exception-raised in component tests ([@epenet] - [#119467]) +- Ignore super-init-not-called pylint warnings in tests ([@epenet] - [#119474]) +- Fix attribute-defined-outside-init pylint warning in anova tests ([@epenet] - [#119472]) +- Fix deprecated-typing-alias pylint warnings in zha tests ([@epenet] - [#119453]) +- Fix redefined-argument-from-local pylint warning in tests ([@epenet] - [#119475]) +- Remove unreachable sensor code in unifiprotect ([@bdraco] - [#119501]) +- Remove pointless TODO in recorder tests ([@epenet] - [#119490]) +- Refactor adding entities to unifiprotect ([@bdraco] - [#119512]) +- Add UniFi sensor for number of clients connected to a device ([@Kane610] - [#119509]) +- Add Danfoss Ally thermostat and derivatives to ZHA ([@Caius-Bonus] - [#86907]) +- Refactor unifiprotect media_source to remove type ignores ([@bdraco] - [#119516]) +- Simplify unifiprotect device removal code ([@bdraco] - [#119517]) +- Fix typo in lovelace ([@emontnemery] - [#119523]) +- Fix typos in collection helper ([@emontnemery] - [#119524]) +- Remove useless delegation in unifiprotect ([@bdraco] - [#119514]) +- Add state icons to incomfort water_heater entities ([@jbouwh] - [#119527]) +- Ignore too-many-nested-blocks warning in zha tests ([@epenet] - [#119479]) +- Fix contextmanager-generator-missing-cleanup warning in tests ([@epenet] - [#119478]) +- Device automation extra fields translation for Z-Wave-JS ([@farmio] - [#119529]) +- Device automation extra fields translation for LCN ([@farmio] - [#119519]) +- Fix typo in google_assistant ([@emontnemery] - [#119522]) +- Return override target temp for incomfort climate ([@jbouwh] - [#119528]) +- Add missing attribute translations to water heater entity component ([@jpbede] - [#119531]) +- Remove steam temp sensor for Linea Mini ([@zweckj] - [#119423]) +- Remove `async_late_forward_entry_setups` and instead implicitly hold the lock ([@bdraco] - [#119088]) +- Fix dangerous-default-value in nest tests ([@epenet] - [#119561]) +- Fix dangerous-default-value in zha tests ([@epenet] - [#119560]) +- Ensure asyncio blocking checks are undone after tests run ([@bdraco] - [#119542]) +- Bump dawidd6/action-download-artifact from 5 to 6 (@dependabot - [#119565]) +- Bump github/codeql-action from 3.25.8 to 3.25.9 (@dependabot - [#119567]) +- Fix unnecessary-lambda warnings in tests ([@epenet] - [#119563]) +- Store runtime data inside the config entry in Tautulli ([@tkdrob] - [#119552]) +- Bump actions/checkout from 4.1.6 to 4.1.7 (@dependabot - [#119566]) +- Fix dangerous-default-value warnings in switchbot tests ([@epenet] - [#119575]) +- Fix dangerous-default-value warnings in integration tests ([@epenet] - [#119574]) +- Fix dangerous-default-value warnings in version tests ([@epenet] - [#119577]) +- Fix dangerous-default-value warnings in canary tests ([@epenet] - [#119578]) +- Fix dangerous-default-value warnings in automation tests ([@epenet] - [#119576]) +- Classify more ecowitt power supply sensors as diagnostics ([@wgrant] - [#119555]) +- Improve code readability ([@matrixd2] - [#119558]) +- Fix dangerous-default-value warnings in cloud tests ([@epenet] - [#119585]) +- Bump deebot-client to 8.0.0 ([@edenhaus] - [#119515]) +- Store Mikrotik coordinator in runtime_data ([@engrbm87] - [#119594]) +- Fix dangerous-default-value warnings in deconz tests ([@epenet] - [#119599]) +- Fix import-outside-toplevel pylint warnings in zha tests ([@epenet] - [#119451]) +- Fix dangerous-default-value warnings in lastfm tests ([@epenet] - [#119601]) +- Fix dangerous-default-value warnings in fronius tests ([@epenet] - [#119600]) +- Use send_json_auto_id in some collection tests ([@emontnemery] - [#119570]) +- Fix dangerous-default-value warnings in greeneye_monitor tests ([@epenet] - [#119581]) +- Fix dangerous-default-value warnings in mqtt tests ([@epenet] - [#119584]) +- Fix dangerous-default-value warnings in subaru tests ([@epenet] - [#119604]) +- Store islamic prayer times coordinator in runtime_data ([@engrbm87] - [#119612]) +- Fix dangerous-default-value warnings in tessie tests ([@epenet] - [#119605]) +- Fix dangerous-default-value warnings in auth tests ([@epenet] - [#119597]) +- Fix dangerous-default-value warnings in environment_canada tests ([@epenet] - [#119586]) +- Fix attribute-defined-outside-init in harmony tests ([@epenet] - [#119614]) +- Store imap coordinator in runtime_data ([@engrbm87] - [#119611]) +- Ignore unnecessary-lambda warnings in tests ([@epenet] - [#119564]) +- Fix dangerous-default-value warnings in panasonic_viera tests ([@epenet] - [#119602]) +- Fix consider-using-with warnings in core tests ([@epenet] - [#119606]) +- Fix dangerous-default-value warnings in cloudflare tests ([@epenet] - [#119598]) +- Fix dangerous-default-value warnings in plex tests ([@epenet] - [#119603]) +- Fix dangerous-default-value warnings in rituals_perfume_genie tests ([@epenet] - [#119590]) +- Fix dangerous-default-value warnings in aussie broadband tests ([@epenet] - [#119596]) +- Fix dangerous-default-value warnings in control4 tests ([@epenet] - [#119592]) +- Fix dangerous-default-value warnings in homematicip_cloud tests ([@epenet] - [#119583]) +- Fix dangerous-default-value warnings in ezviz tests ([@epenet] - [#119589]) +- Fix dangerous-default-value warnings in nzbget tests ([@epenet] - [#119580]) +- Fix dangerous-default-value warnings in core tests ([@epenet] - [#119568]) +- Reduce duplicate code in unifiprotect ([@bdraco] - [#119624]) +- Bump aioautomower to 2024.6.0 ([@Thomas55555] - [#119625]) +- Cleanup Reolink firmware update entity ([@starkillerOG] - [#119239]) +- Wait for background tasks in Shelly tests ([@thecode] - [#119636]) +- Migrate library to PyLoadAPI 1.1.0 in pyLoad integration ([@tr4nt0r] - [#116053]) +- Use the existing api client for unifiprotect repairs if available ([@bdraco] - [#119640]) +- Dispatch unifiprotect websocket messages based on model ([@bdraco] - [#119633]) +- Remove obsolete device links in Utility Meter helper ([@dougiteixeira] - [#119328]) +- Fix blocking IO calls in mqtt client setup ([@jbouwh] - [#119647]) +- Bump python-fullykiosk to 0.0.13 ([@tronikos] - [#119544]) +- Use single list for Shelly non-sleeping platforms ([@thecode] - [#119540]) +- Allow arm levels be in order for google assistant ([@elupus] - [#119645]) +- Fix Yolink device incorrect state ([@matrixd2] - [#119658]) +- Improve error messages when config entry is in wrong state ([@emontnemery] - [#119591]) +- Adjust incorrect unnecessary-lambda pylint disable statement in demo tests ([@epenet] - [#119666]) +- Add missing return type to some test functions ([@epenet] - [#119665]) +- Fix blocking I/O in CachingStaticResource ([@bdraco] - [#119663]) +- Tweak logging statements in tests ([@epenet] - [#119664]) +- Store Glances coordinator in runtime_data ([@engrbm87] - [#119607]) +- Add missing argument type to core tests ([@epenet] - [#119667]) +- Reduce recorder overhead when entity filter is empty ([@bdraco] - [#119631]) +- Rename collection.CollectionChangeSet to collection.CollectionChange ([@emontnemery] - [#119532]) +- Add missing argument type hints to recorder tests ([@epenet] - [#119672]) +- Add missing argument type hints to component tests ([@epenet] - [#119671]) +- Force full CI on all root test files ([@epenet] - [#119673]) +- Bump github/codeql-action from 3.25.9 to 3.25.10 (@dependabot - [#119669]) +- Bump codecov/codecov-action from 4.4.1 to 4.5.0 (@dependabot - [#119668]) +- Move fixtures to decorators in core tests ([@epenet] - [#119675]) +- Add firmware update entities for Reolink IPC channel cameras ([@starkillerOG] - [#119637]) +- Split binary sensor classes in unifiprotect ([@bdraco] - [#119696]) +- Refactor unifiprotect switch to match other platforms ([@bdraco] - [#119698]) +- Fix pyload async_update SensorEntity raising exceptions ([@tr4nt0r] - [#119655]) +- Remove set default doorbell text service from unifiprotect ([@bdraco] - [#119695]) +- Reduce code needed to check unifiprotect attrs ([@bdraco] - [#119706]) +- Add work area sensor for Husqvarna Automower ([@Thomas55555] - [#119704]) +- Prefer mp4 playback in Reolink ([@starkillerOG] - [#119630]) +- Envisalink add arming as a state to alarm control panel ([@jaym25] - [#119702]) +- Update aioazuredevops to 2.1.1 ([@timmo001] - [#119720]) +- Add open state support to matter lock ([@piitaya] - [#119682]) +- Bump ruff to 0.4.9 ([@autinerd] - [#119721]) +- Device automation extra fields translation for KNX ([@farmio] - [#119518]) +- Bring back auto on off switches to lamarzocco ([@zweckj] - [#119421]) +- Add unique IDs to config entries for Teslemetry ([@Bre77] - [#115616]) +- Moves diagnostic information from attributes to diagnostic in Utility Meter ([@dgomes] - [#118637]) +- Make the radius of the home zone configurable ([@emontnemery] - [#119385]) +- Improve logging use of deprecated `schema` option for mqtt vacuum ([@jbouwh] - [#119724]) +- Store runtime data inside the config entry in Efergy ([@tkdrob] - [#119551]) +- Cleanup unifiprotect entity model ([@bdraco] - [#119746]) +- Reolink extend diagnostic data ([@starkillerOG] - [#119745]) +- Cleanup Shelly entry unload ([@thecode] - [#119748]) +- Migrate unifiprotect to use has_entity_name ([@bdraco] - [#119759]) +- Track primary integration ([@balloob] - [#119741]) +- Speed up getting conversation agent languages ([@balloob] - [#119554]) +- Fix precision for unifiprotect sensors ([@bdraco] - [#119781]) +- Bump uiprotect to 1.12.0 ([@bdraco] - [#119763]) +- Reduce duplicate code in unifiprotect entities ([@bdraco] - [#119779]) +- Move unifiprotect services register to async_setup ([@bdraco] - [#119786]) +- Add some suggested units to unifiprotect sensors ([@bdraco] - [#119790]) +- Cleanup unifiprotect ProtectData object ([@bdraco] - [#119787]) +- Remove not used group class method ([@jbouwh] - [#119798]) +- Increase unifiprotect polling interval to 60s ([@bdraco] - [#119800]) +- Bump uiprotect to 1.12.1 ([@bdraco] - [#119799]) +- Remove beat (internet time) from time_date ([@gjohansson-ST] - [#119785]) +- Add device trackers to tplink_omada ([@MarkGodwin] - [#115601]) +- Bump uiprotect to 1.17.0 ([@bdraco] - [#119802]) +- Remove YAML import from System monitor ([@gjohansson-ST] - [#119782]) +- Remove YAML import from streamlabswater ([@gjohansson-ST] - [#119783]) +- Remove deprecated speedtest service from Fast.com ([@gjohansson-ST] - [#119780]) +- Add number input for apsystems ([@mawoka-myblock] - [#118825]) +- Add support for Tuya energy data for WKCZ devices ([@azerty9971] - [#119635]) +- Fix consider-using-tuple warning in tplink_omada tests ([@epenet] - [#119814]) +- Remove create_list from StorageCollectionWebsocket.async_setup ([@emontnemery] - [#119508]) +- Bump reolink-aio to 0.9.3 ([@starkillerOG] - [#119820]) +- Remove deprecated import swiss public transport import flow ([@joostlek] - [#119813]) +- Avoid touching internals in Radarr tests ([@joostlek] - [#119821]) +- Store runtime data inside the config entry in Radarr ([@tkdrob] - [#119749]) +- Migrate Emoncms to external library ([@alexandrecuer] - [#119772]) +- Add tests of frontend.add_extra_js_url ([@emontnemery] - [#119826]) +- Add frontend.remove_extra_js_url ([@emontnemery] - [#119831]) +- Use "Button" label to name Matter event ([@jvmahon] - [#119768]) +- Remove the switch entity for Shelly Gas Valve ([@bieniu] - [#119817]) +- Bump uiprotect to 1.18.1 ([@bdraco] - [#119848]) +- Fix Dremel 3D printer tests ([@joostlek] - [#119853]) +- Run Radarr movie coordinator first refresh in background ([@tkdrob] - [#119827]) +- Fix homekit_controller haa fixture ([@bdraco] - [#119855]) +- Remove legacy get forecast service from Weather ([@gjohansson-ST] - [#118664]) +- Use the humidity value in Shelly Wall Display climate entity ([@bieniu] - [#119830]) +- Bump xiaomi_ble to 0.30.0 ([@ChristophCaina] - [#119859]) +- Bump uiprotect to 0.19.0 ([@bdraco] - [#119863]) +- Handle general update failure in Sense ([@tkdrob] - [#119739]) +- Store runtime data inside the config entry in Sense ([@tkdrob] - [#119740]) +- Add esphome native device update entities ([@jesserockz] - [#119339]) +- Bump aioautomower to 2024.6.1 ([@Thomas55555] - [#119871]) +- Inline primary integration ([@balloob] - [#119860]) +- Fix blocking I/O in the event loop when registering static paths ([@bdraco] - [#119629]) +- Replace Solarlog unmaintained library ([@dontinelli] - [#117484]) +- Add update coordinator to Netgear LTE ([@tkdrob] - [#115474]) +- Store runtime data inside the config entry in Lidarr ([@tkdrob] - [#119548]) +- Gracefully disconnect MQTT entry if entry is reloaded ([@jbouwh] - [#119753]) +- Ignore use-implicit-booleaness-not-comparison pylint warnings in tests ([@epenet] - [#119876]) +- Centralize lidarr device creation ([@joostlek] - [#119822]) +- Store runtime data inside the config entry in Steam ([@tkdrob] - [#119881]) +- Fix hass-component-root-import warning in esphome tests ([@epenet] - [#119883]) +- Move fixtures to decorators in netgear_lte tests ([@epenet] - [#119882]) +- Store runtime data inside the config entry in Deluge ([@tkdrob] - [#119549]) +- Improve type hints in data_entry_flow tests ([@epenet] - [#119877]) +- Add Tidal play_media support to Bang & Olufsen ([@mj23000] - [#119838]) +- Bump lmcloud to 1.1.13 ([@zweckj] - [#119880]) +- Update cover intent response ([@balloob] - [#119756]) +- Add WS command for subscribing to storage collection changes ([@emontnemery] - [#119481]) +- Add WS command frontend/subscribe_extra_js ([@emontnemery] - [#119833]) +- Add myself as codeowner for Nanoleaf ([@joostlek] - [#119892]) +- Small cleanup to unifiprotect entity descriptions ([@bdraco] - [#119904]) +- Remove useless function get_ufp_event from unifiprotect ([@bdraco] - [#119906]) +- Fix typo in KEY_ALLOW_CONFIGRED_CORS ([@bdraco] - [#119905]) +- Extract coordinator to separate module in Nanoleaf ([@joostlek] - [#119896]) +- Fix late group platform registration ([@jbouwh] - [#119789]) +- Add type hints to MockGroup and MockUser in tests ([@epenet] - [#119897]) +- Update airgradient names to NOx index and VOC index ([@MallocArray] - [#119152]) +- Bump airgradient to 0.5.0 ([@joostlek] - [#119911]) +- Add button platform to Husqvarna Automower ([@Thomas55555] - [#119856]) +- DNS IP custom ports for IPv4 ([@HarvsG] - [#113993]) +- Remove YAML import for Suez Water ([@gjohansson-ST] - [#119923]) +- Allow removal of a Switcher device ([@thecode] - [#119927]) +- Remove deprecated blink refresh service ([@gjohansson-ST] - [#119919]) +- Register Z-Wave services on integration setup ([@frenck] - [#119924]) +- Add more airgradient configuration entities ([@joostlek] - [#119191]) +- Small cleanups to august ([@bdraco] - [#119912]) +- Cleanup code to add august sensors ([@bdraco] - [#119929]) +- Add pulse counter frequency sensors to Shelly ([@bieniu] - [#119898]) +- Reduce duplicate code in august to create entities ([@bdraco] - [#119934]) +- Small cleanups to august ([@bdraco] - [#119931]) +- Update yalexs to 6.1.0 ([@bdraco] - [#119910]) +- Cleanup august dataclasses ([@bdraco] - [#119938]) +- Bump yalexs to 6.3.0 to move camera logic to the lib ([@bdraco] - [#119941]) +- Remove code slated for deletion in integral ([@elupus] - [#119935]) +- Reduce duplicate code in baf for entities with descriptions ([@bdraco] - [#119945]) +- Combine statements that return the same result in august binary_sensor ([@bdraco] - [#119944]) +- Reduce code needed to set august unique ids ([@bdraco] - [#119942]) +- Deprecate register_static_path in favor of async_register_static_paths ([@bdraco] - [#119895]) +- Make use_device_name a cached_property in the base entity class ([@bdraco] - [#119758]) +- Bump sqlalchemy to 2.0.31 ([@bdraco] - [#119951]) +- Address review on comment group registry maintenance ([@jbouwh] - [#119952]) +- Update default pylint.importStrategy in dev container ([@epenet] - [#119900]) +- Small cleanups to august ([@bdraco] - [#119950]) +- Bump airgradient to 0.6.0 ([@joostlek] - [#119962]) +- Clean up config option tests in UniFi device tracker tests ([@Kane610] - [#119978]) +- Fix flaky todoist test ([@jbouwh] - [#119954]) +- Clean weather tests ([@gjohansson-ST] - [#119916]) +- Improve typing in core tests ([@epenet] - [#119958]) +- Tweak type annotations of energy websocket handlers ([@emontnemery] - [#119957]) +- Remove deprecated WLED binary sensor platform ([@frenck] - [#119984]) +- Address Hydrawise review ([@PeteRager] - [#119965]) +- Update yalexs to 6.4.0 ([@bdraco] - [#119987]) +- Move Nanoleaf event canceling ([@joostlek] - [#119909]) +- Unifi break out switch availability test to separate test ([@Kane610] - [#119990]) +- Use aiohttp.ClientSession in EmoncmsClient ([@alexandrecuer] - [#119989]) +- Remove legacy_api_password auth provider ([@edenhaus] - [#119976]) +- Use MockHAClientWebSocket.send_json_auto_id in blueprint tests ([@emontnemery] - [#119956]) +- Remove circuit integration ([@gjohansson-ST] - [#119921]) +- Fix Sonos album images with special characters not displaying in media browser UI ([@PeteRager] - [#118249]) +- Update PySwitchbot to 0.48.0 ([@szclsya] - [#119998]) +- Only (re)subscribe MQTT topics using the debouncer ([@jbouwh] - [#119995]) +- Add config flow to One-Time Password (OTP) integration ([@tr4nt0r] - [#118493]) +- Add Sensor for Refoss Integration ([@ashionky] - [#116965]) +- Use runtimedata in nanoleaf ([@joostlek] - [#120009]) +- Small clean up for Refoss sensor platform ([@joostlek] - [#120015]) +- Fix hass-component-root-import warnings in otp tests ([@epenet] - [#120019]) +- Change meteoalarm scan interval ([@mikosoft83] - [#119194]) +- Enable pylint on tests ([@epenet] - [#119279]) +- Bump aiounifi to v79 ([@Kane610] - [#120033]) +- Bump uiprotect to 1.19.2 ([@bdraco] - [#120048]) +- Cleanup unifiprotect subscriptions logic ([@bdraco] - [#120049]) +- Add support for Switchbot Lock Pro ([@szclsya] - [#119326]) +- Fix unifiprotect smart detection when end is set ([@bdraco] - [#120027]) +- Disable generic unifiprotect object sensors by default ([@bdraco] - [#120059]) +- Make preset list indicate whether the current mount position matches a preset in Vogel's Motionmount ([@RJPoelstra] - [#118731]) +- Add Bang olufsen init testing ([@mj23000] - [#119834]) +- Bump actions/checkout from 4.1.6 to 4.1.7 (@dependabot - [#120063]) +- Fix translation key in config flow of One-Time Password (OTP) integration ([@tr4nt0r] - [#120053]) +- Bump zwave-js-server-python to 0.57.0 ([@raman325] - [#120047]) +- Update pydantic to 1.10.17 ([@cdce8p] - [#119430]) +- Update aioairzone to v0.7.7 ([@Noltari] - [#120067]) +- Add unique_id to One-Time Password (OTP) ([@tr4nt0r] - [#120050]) +- Bump anyio to 4.4.0 ([@bdraco] - [#120061]) +- Make UniFi services handle unloaded config entry ([@Kane610] - [#120028]) +- Fix calculation in Refoss ([@joostlek] - [#120069]) +- Add Ambient Weather brand ([@thomaskistler] - [#115898]) +- Revert "Temporary pin CI to Python 3.12.3" ([@epenet] - [#119454]) +- Add sensor tests for APSystems ([@joostlek] - [#117512]) +- Add MockPlatform type hints in tests ([@epenet] - [#120012]) +- Add Mealie integration ([@joostlek] - [#119678]) +- Raise repair issues when automations can't be set up ([@emontnemery] - [#120010]) +- Add icons to One-Time Password (OTP) ([@tr4nt0r] - [#120066]) +- Add Siemes and Millisiemens as additional units of conductivity and enable conversion between conductivity units ([@dontinelli] - [#118728]) +- Add MockModule type hints in tests ([@epenet] - [#120007]) +- Add event entity to Nanoleaf ([@joostlek] - [#120013]) +- Remove legacy list event calendar service ([@gjohansson-ST] - [#118663]) +- Store runtime data inside the config entry in Litter Robot ([@tkdrob] - [#119547]) +- Fix charge behavior in Tessie ([@Bre77] - [#119546]) +- Make attribute names in dnsip lowercase (for translation) ([@gjohansson-ST] - [#119727]) +- Add type hints in automation tests ([@epenet] - [#120077]) +- Add entities with no data in Tessie ([@Bre77] - [#119550]) +- Check Reolink IPC channels for firmware repair issue ([@starkillerOG] - [#119241]) +- Avoid constructing unifiprotect enabled callable when unused ([@bdraco] - [#120074]) +- Adjust CI job for Check pylint on tests ([@epenet] - [#120080]) +- Bump pyecotrend-ista to 3.3.1 ([@tr4nt0r] - [#120037]) +- Fix unit of measurement for Comed Hourly Pricing ([@themaxgross] - [#115594]) +- Improve UniFi device tracker client tests ([@Kane610] - [#119982]) +- OpenWeatherMap remove obsolete forecast sensors ([@freekode] - [#119922]) +- Tuya's light POS actually means "opposite state" ([@igorsantos07] - [#119948]) +- Add unrecorded attributes in dnsip ([@gjohansson-ST] - [#119726]) +- Bump uiprotect to 1.19.3 ([@bdraco] - [#120079]) +- Bump aiomealie to 0.4.0 ([@joostlek] - [#120076]) +- Add MockToggleEntity type hints in tests ([@epenet] - [#120075]) +- Add additional tests for solarlog ([@dontinelli] - [#119928]) +- Calculate device class as soon as it is known in integral ([@elupus] - [#119940]) +- Remove legacy template hass config option ([@gjohansson-ST] - [#119925]) +- Move transmission services registration to async_setup ([@engrbm87] - [#119593]) +- Add one UniFi sensor test to validate entity attributes ([@Kane610] - [#119914]) +- System information: apply sentence-style capitalization ([@c0ffeeca7] - [#119893]) +- Move coordinator store to entry runtime data for Azure DevOps ([@timmo001] - [#119408]) +- Update mypy dev 1.11.0a8 ([@cdce8p] - [#120032]) +- Samsung AC Wind Mode ([@cermakjn] - [#119750]) +- Pin codecov-cli to v0.6.0 ([@TheJulianJES] - [#120084]) +- Generate and keep conversation id for Wyoming satellite ([@synesthesiam] - [#118835]) +- Add reauth flow to ista EcoTrend integration ([@tr4nt0r] - [#118955]) +- Add Home Connect child lock ([@erwindouna] - [#118544]) +- Support tuya diivoo dual zone irrigationkit (ggq) ([@neturmel] - [#115090]) +- Reduce line length for unique id ([@timmo001] - [#120086]) +- Add ZHA cod.m coordinator discovery ([@tsmt09] - [#115471]) +- Add solarlog reconfigure flow ([@dontinelli] - [#119913]) +- Add playback of autotrack lens to Reolink ([@starkillerOG] - [#119829]) +- Remove rstrip from ecobee binary_sensor __init__ ([@bjpetit] - [#118062]) +- Fix removed exception InternalServerError in ista EcoTrend integration ([@tr4nt0r] - [#120089]) +- Fix solarlog client close ([@cdce8p] - [#120092]) +- Improve type hints in Config entry oauth2 tests ([@epenet] - [#120090]) +- Add device linking and stale device link clean up helpers ([@dougiteixeira] - [#119761]) +- Bump motionblindsble to 0.1.0 ([@LennP] - [#120093]) +- Fix `for` in climate hvac_mode_changed trigger ([@karwosts] - [#116455]) +- Add entity ids to grouped hue light ([@marcelveldt] - [#113053]) +- MelCloud add diagnostics platform ([@erwindouna] - [#115962]) +- Add camera entity in Fully Kiosk Browser ([@tronikos] - [#119483]) +- Add backflush sensor to lamarzocco ([@zweckj] - [#119888]) +- Fix Husqvarna Automower schedule switch turning back on ([@Thomas55555] - [#117692]) +- Improve type hints in core helper tests ([@epenet] - [#120096]) +- Add number platform to Matter integration ([@jvmahon] - [#119770]) +- Allow opting out of warnings when removing unknown frontend panel ([@emontnemery] - [#119824]) +- Refactor sensor platform of Pyload integration ([@tr4nt0r] - [#119716]) +- Update aioairzone-cloud to v0.5.3 ([@Noltari] - [#120100]) +- Tado water heater code quality changes ([@ethemcemozkan] - [#119811]) +- Bum uv to 0.2.13 ([@edenhaus] - [#120101]) +- Include required name in reauth_confirm of Opower ([@tronikos] - [#119627]) +- Add sensor for self-consumption in solarlog ([@dontinelli] - [#119885]) +- Add Airzone Cloud air/floor demand binary sensors ([@Noltari] - [#120103]) +- Change Ambient Network timestamp updates ([@thomaskistler] - [#116941]) +- Fix Matter entity names ([@marcelveldt] - [#120038]) +- Refactor Tibber realtime entity creation ([@epenet] - [#118031]) +- Device automation extra fields translation for ZHA ([@farmio] - [#119520]) +- Also test if command can be send successfully in Husqvarna Automower ([@Thomas55555] - [#120107]) +- Add Knocki integration ([@joostlek] - [#119140]) +- Add Home Connect binary_sensor unit tests ([@beastie29a] - [#115323]) +- Fix Solarlog snapshot missing self-consumption sensor ([@TheJulianJES] - [#120111]) +- Update uiprotect to 1.20.0 ([@bdraco] - [#120108]) +- Add discovery for Z-Wave Meter Reset ([@AlCalzone] - [#119968]) +- Add DSMR MQTT subscribe error handling ([@erwindouna] - [#118316]) +- Add Matter discovery schemas for BooleanState sensors ([@lboue] - [#117870]) +- Adjust blocking I/O messages to provide developer help ([@bdraco] - [#120113]) +- Implement Android TV Remote browse media with apps and activity list ([@tronikos] - [#117126]) +- Add config flow to Feedreader ([@mib1185] - [#118047]) +- Use UID instead of MAC or channel for unique_ID in Reolink ([@starkillerOG] - [#119744]) +- Fix comparing end of event in unifiprotect ([@bdraco] - [#120124]) +- Add additional license plate test coverage to unifiprotect ([@bdraco] - [#120125]) +- Adjust hddtemp test Telnet patch location ([@cdce8p] - [#120121]) +- Fix race against is_smart_detected in unifiprotect ([@bdraco] - [#120133]) +- Platinum quality on Teslemetry ([@Bre77] - [#115191]) +- Extend component root imports in tests (2) ([@cdce8p] - [#120123]) +- Extend component root imports in tests (1) ([@cdce8p] - [#120122]) +- Sonos add tests for media_player.play_media favorite_item_id ([@PeteRager] - [#120120]) +- Sonos add tests for media_player.play_media library track ([@PeteRager] - [#120119]) +- Motionblinds Bluetooth options ([@LennP] - [#120110]) +- Add additional checks for Enpower supported feature ([@cgarwood] - [#117107]) +- Enable statistics for UniFi remaining power sensors ([@wittypluck] - [#120073]) +- Fix peco integration ([@IceBotYT] - [#117165]) +- Update pytest warnings filter ([@cdce8p] - [#120143]) +- Address late seventeentrack review ([@shaiu] - [#116792]) +- Ensure kraken tracked pairs can be deselected ([@eifinger] - [#117461]) +- Lyric: Only pull priority rooms when its an LCC device ([@dalinicus] - [#116876]) +- Update naming to reflect name change from Logitech Media Server to Lyrion Music Server ([@peteS-UK] - [#119480]) +- Add distinct import / export entities to Fronius ([@farmio] - [#116535]) +- Add discovery rule for a Z-Wave Basic CC sensor ([@raman325] - [#105134]) +- Melcloud add reconfigure flow ([@erwindouna] - [#115999]) +- Add support for VESKA-micro-inverter (VK-800) to tuya integration ([@jgaedicke] - [#115996]) +- Increase precision of Huisbaasje gas readings ([@Bouke] - [#120138]) +- Add sensor total production energy for Tuya ([@focabr] - [#113565]) +- Add Tuya reverse_energy_total and total_power sensors ([@meee1] - [#114801]) +- Support playback of videos in Fully Kiosk Browser ([@tronikos] - [#119496]) +- Add unique ID support to Flux ([@frenck] - [#120142]) +- Add GoodWe async_update support to number/select entities ([@mletenay] - [#116739]) +- Pass prompt as system_instruction for Gemini 1.5 models ([@tronikos] - [#120147]) +- Add support to consider device holiday and summer mode in AVM Fritz!Smarthome ([@mib1185] - [#119862]) +- Add coordinator to emoncms ([@alexandrecuer] - [#120008]) +- Add Tuya pool heating pumps ([@cRemE-fReSh] - [#118415]) +- Support todoist task description in new_task service ([@dsymonds] - [#116203]) +- Add the ability to bind the template helper entity to a device ([@dougiteixeira] - [#117753]) +- Add transparent command to opentherm_gw ([@GraceGRD] - [#116494]) +- Reload Risco on connection reset ([@OnFreund] - [#120150]) +- Expose altitude for Starlink device tracker ([@boswelja] - [#115508]) +- Add preview to Threshold config & option flow ([@jpbede] - [#117181]) +- Add sensors for Aprilaire integration ([@chamberlain2007] - [#113194]) +- Add sensors to Motionblinds BLE integration ([@LennP] - [#114226]) +- Add satel integra binary switches unique_id ([@david1024pl] - [#118660]) +- Add switches to Tuya dehumidifier: anion, filter_reset, and child_lock ([@vmonkey] - [#105200]) +- Mark ambilight as not available when off ([@elupus] - [#120155]) +- Add Jewish Calendar attributes for non-date sensors ([@SLaks] - [#116252]) +- Add the ability to change the source entity of the Derivative helper ([@dougiteixeira] - [#119754]) +- Add notify entities in Fully Kiosk Browser ([@tronikos] - [#119371]) +- Add re-auth flow to Bring integration ([@tr4nt0r] - [#115327]) +- Use the new device helpers in Integral ([@dougiteixeira] - [#120157]) +- Link the Trend helper entity to the source entity device ([@dougiteixeira] - [#119755]) +- Use the new device helpers in Threshold ([@dougiteixeira] - [#120158]) +- Update `test_device_cleaning` in Utiltity Meter. ([@dougiteixeira] - [#120161]) +- Update `test_device_cleaning` in Derivative ([@dougiteixeira] - [#120162]) +- Update `test_device_cleaning` in Template ([@dougiteixeira] - [#120163]) +- Add feature to generate OTP token in One-Time Password (OTP) integration ([@tr4nt0r] - [#120055]) +- Create auxHeatOnly switch in Ecobee integration ([@bjpetit] - [#116323]) +- Add valve entity to gardena ([@elupus] - [#120160]) +- Tuya curtain robot stuck in open state ([@rokam] - [#118444]) +- Add styled formatting option to Signal Messenger integration - Bump pysignalclirestapi to 0.3.24 ([@r-xyz] - [#117148]) +- Fix airnow timezone look up ([@iprak] - [#120136]) +- Add diagnostics support to Zeversolar integration ([@NECH2004] - [#118245]) +- Remove YAML import for lutron ([@gjohansson-ST] - [#120159]) +- Add tado climate swings and fan level ([@EtienneSOU] - [#117378]) +- Add config flow to generic thermostat ([@elupus] - [#119930]) +- Prioritize the correct CP2102N serial port on macOS ([@puddly] - [#116461]) +- Add service for Husqvarna Automower ([@Thomas55555] - [#117269]) +- Add new Islamic prayer times calculation methods ([@Yazanmy] - [#113763]) +- Update Home Assistant base image to 2024.06.1 ([@frenck] - [#120168]) +- Huisbaasje rebranded to EnergyFlip ([@Bouke] - [#120151]) +- Sonos add tests for media_player.play_media share link ([@PeteRager] - [#120169]) +- Add capability to exclude all attributes from recording ([@gjohansson-ST] - [#119725]) +- Add image entity (screenshot) in Fully Kiosk Browser ([@tronikos] - [#119622]) +- Don't record attributes in sql ([@gjohansson-ST] - [#120170]) +- Remove YAML import from homeworks ([@gjohansson-ST] - [#120171]) +- Remove YAML import from ping ([@gjohansson-ST] - [#120176]) +- Remove deprecated (moved) helpers from helpers.__init__ ([@gjohansson-ST] - [#120172]) +- Add reconfigure flow to Fronius ([@farmio] - [#116132]) +- Raise on incorrect suggested unit for sensor ([@gjohansson-ST] - [#120180]) +- Bump aioraven to 0.6.0 ([@cottsay] - [#120184]) +- Don't log Shelly push update failures if there are no errors ([@thecode] - [#120189]) +- Update uiprotect to 3.1.1 ([@bdraco] - [#120173]) +- Avoid Opower time gaps ([@tronikos] - [#117763]) +- Add template config_entry_attr function ([@balloob] - [#119899]) +- Bump pyloadapi to v1.2.0 ([@tr4nt0r] - [#120218]) +- Bump plugwise to v0.38.3 ([@bouwew] - [#120152]) +- Add config flow to pyLoad integration ([@tr4nt0r] - [#120135]) +- Remove YAML import for tado ([@gjohansson-ST] - [#120231]) +- Add config flow to generic hygrostat ([@elupus] - [#119017]) +- Add `DeviceInfo` to pyLoad integration ([@tr4nt0r] - [#120232]) +- Fix generic thermostat string ([@Virenbar] - [#120235]) +- Add string and icon translations to pyLoad integration ([@tr4nt0r] - [#120234]) +- Improve Jewish calendar entities ([@tsvi] - [#120236]) +- Fix issue in mqtt fixture calling disconnect handler ([@jbouwh] - [#120246]) +- Add number platform to AirGradient ([@joostlek] - [#120247]) +- Add airgradient param fixture ([@joostlek] - [#120241]) +- Bump yalexs to 6.4.1 ([@bdraco] - [#120248]) +- Bump uiprotect to 3.1.8 ([@bdraco] - [#120244]) +- Add Swiss public transport via stations ([@miaucl] - [#115891]) +- Add Aprilaire air cleaning and fresh air functionality ([@chamberlain2007] - [#120174]) +- Create a Jewish Calendar entity ([@tsvi] - [#120253]) +- Remove connection state handling from Idasen Desk ([@abmantis] - [#120242]) +- Bump async_upnp_client to 0.39.0 ([@StevenLooman] - [#120250]) +- Bump aioesphomeapi to 24.6.1 ([@bdraco] - [#120261]) +- LLM to handle decimal attributes ([@balloob] - [#120257]) +- mystrom: Add MAC and Config URL to devices ([@dbrgn] - [#120271]) +- Change suggested data rate unit to Mbit/s in pyLoad ([@tr4nt0r] - [#120275]) +- Adjust base entities in Husqvarna Automower ([@Thomas55555] - [#120258]) +- Add device info for Aemet ([@luca-angemi] - [#120243]) +- Replace custom validator from zwave_js with `from_dict` funcs ([@raman325] - [#120279]) +- Load local calendar ics in background thread to avoid timezone I/O in event loop ([@allenporter] - [#120276]) +- Migrate AEMET to has entity name ([@joostlek] - [#120284]) +- Remove "no API" prompt ([@balloob] - [#120280]) +- Add sensors to Airgradient ([@joostlek] - [#120286]) +- Improve Plugwise runtime-updating ([@bouwew] - [#120230]) +- Update mypy-dev to 1.11.0a9 ([@cdce8p] - [#120289]) +- Bump PyFlume to 0.8.7 ([@tronikos] - [#120288]) +- Ensure flume sees the most recent notifications ([@tronikos] - [#120290]) +- Add optional test fixture collection to enphase_envoy diagnostic report ([@catsmanac] - [#116242]) +- Typing improvements ([@cdce8p] - [#120297]) +- Remove hass_recorder test fixture ([@emontnemery] - [#120295]) +- Remove deprecated attributes from Swiss public transport integration ([@miaucl] - [#120256]) +- Bump jaraco.abode to 5.1.2 ([@jaraco] - [#117363]) +- Add coordinator to Knocki ([@joostlek] - [#120251]) +- Add button platform to AirGradient ([@joostlek] - [#119917]) +- Add DataUpdateCoordinator to pyLoad integration ([@tr4nt0r] - [#120237]) +- Improve type hints in simplisafe tests ([@epenet] - [#120303]) +- Improve type hints in canary tests ([@epenet] - [#120305]) +- Improve type hints in conversation tests ([@epenet] - [#120306]) +- Bump aiodhcpwatcher to 1.0.2 ([@bdraco] - [#120311]) +- Improve integration sensor tests ([@emontnemery] - [#120316]) +- Bump aiooui to 0.1.6 ([@bdraco] - [#120312]) +- Bump aionut to 4.3.3 ([@bdraco] - [#120313]) +- Bump uiprotect to 3.3.1 ([@bdraco] - [#120314]) +- Bump aiohttp-fast-zlib to 0.1.1 ([@bdraco] - [#120315]) +- Bump aiosteamist to 1.0.0 ([@bdraco] - [#120318]) +- Make sure ACK's are processed before mqtt tests are teared down ([@jbouwh] - [#120329]) +- Bump bluetooth-adapters to 0.19.2 ([@bdraco] - [#120324]) +- Remove create_create from StorageCollectionWebsocket.async_setup ([@emontnemery] - [#119489]) +- Bump govee-ble to 0.31.3 ([@bdraco] - [#120335]) +- Fix setup and tear down issues for mqtt discovery and config flow tests ([@jbouwh] - [#120333]) +- Use HassKey in homeassistant integration ([@epenet] - [#120332]) +- Replace deprecated attribute in abode ([@cdce8p] - [#120343]) +- Bump eq3btsmart to 1.1.9 ([@EuleMitKeule] - [#120339]) +- Bump bluetooth-data-tools to 1.19.3 ([@bdraco] - [#120323]) +- Bump habluetooth to 3.1.3 ([@bdraco] - [#120337]) +- Bump discovery30303 to 0.3.2 ([@bdraco] - [#120340]) +- Bump home-assistant-bluetooth to 1.12.2 ([@bdraco] - [#120338]) +- Bump led-ble to 1.0.2 ([@bdraco] - [#120347]) +- Bump bleak to 0.22.2 ([@bdraco] - [#120325]) +- Improve integration sensor tests ([@emontnemery] - [#120326]) +- Improve type hints in comfoconnect tests ([@epenet] - [#120345]) +- Improve type hints in config tests ([@epenet] - [#120346]) +- Bump aiozoneinfo to 0.2.1 ([@bdraco] - [#120319]) +- Bump async-interrupt to 1.1.2 ([@bdraco] - [#120321]) +- Add change username endpoint ([@edenhaus] - [#109057]) +- Update tenacity constraint ([@cdce8p] - [#120348]) +- Improve type hints in cloudflare tests ([@epenet] - [#120344]) +- Add additional sensors to pyLoad integration ([@tr4nt0r] - [#120309]) +- Set up mqtt tests from client fixture of mqtt entry setup fixture, not both ([@jbouwh] - [#120274]) +- Bump python-fullykiosk to 0.0.14 ([@cgarwood] - [#120361]) +- Bump pybalboa to 1.0.2 ([@natekspencer] - [#120360]) +- Bump justnimbus to 0.7.4 ([@kvanzuijlen] - [#120355]) +- Use runtime data in version ([@gjohansson-ST] - [#120363]) +- Deprecate DTE Energy Bridge ([@edenhaus] - [#120350]) +- Prioritize custom intents over builtin ([@synesthesiam] - [#120358]) +- Reduce the amount of data fetched in individual Hydrawise API calls ([@dknowles2] - [#120328]) +- Ensure config_entry is added to hass in tests ([@epenet] - [#120327]) +- Use HassKey in cloud integration ([@epenet] - [#120322]) +- Only raise Reolink re-auth flow when login fails 3 consecutive times ([@starkillerOG] - [#120291]) +- Deprecate Nanoleaf gesture device trigger ([@joostlek] - [#120078]) +- Make Bang & Olufsen products ignore .m3u media source files ([@mj23000] - [#120317]) +- Don't run timer callbacks for delayed commands ([@synesthesiam] - [#120367]) +- Fix pylint error in Google generative AI tests ([@synesthesiam] - [#120371]) +- Fix dlna_dms test RuntimeWarning ([@cdce8p] - [#120341]) +- Strip whitespace characters from token in One-Time-Passwort (OTP) integration ([@tr4nt0r] - [#120380]) +- Bump Bang & Olufsen mozart-open-api to 3.4.1.8.6 fixing blocking IO call ([@mj23000] - [#120369]) +- Use runtime_data in github ([@gjohansson-ST] - [#120362]) +- Remove humbertogontijo as Codeowner for Roborock ([@Lash-L] - [#120336]) +- Add button platform to pyLoad integration ([@tr4nt0r] - [#120359]) +- Update moehlenhoff-alpha2 to 1.3.1 ([@j-a-n] - [#120351]) +- Bump evohome-async to 0.4.20 ([@zxdavb] - [#120353]) +- Add test of get_all_descriptions resolving features ([@emontnemery] - [#120384]) +- Improve type hints in demo tests ([@epenet] - [#120387]) +- Improve type hints in device_tracker tests ([@epenet] - [#120390]) +- Improve type hints in diagnostics tests ([@epenet] - [#120391]) +- Move mqtt debouncer to mqtt utils ([@jbouwh] - [#120392]) +- Fix translation error in Reolink reauth flow ([@starkillerOG] - [#120385]) +- Improve type hints in device_automation tests ([@epenet] - [#120389]) +- Section support for data entry flows ([@emontnemery] - [#118369]) +- Update vallox_websocket_api to 5.3.0 ([@treetip] - [#120395]) +- Install libturbojpeg [ci] ([@cdce8p] - [#120397]) +- Add voluptuous type aliases ([@cdce8p] - [#120399]) +- Use VolDictType for service schemas ([@cdce8p] - [#120403]) +- Add services to Teslemetry ([@Bre77] - [#119119]) +- Improve async_register_admin_service schema typing ([@cdce8p] - [#120405]) +- Improve mqtt schema typing ([@cdce8p] - [#120407]) +- Migrate ESPHome to use entry.runtime_data ([@bdraco] - [#120402]) +- Improve type hints in dsmr tests ([@epenet] - [#120393]) +- Adjust imports in cloud tests ([@epenet] - [#120386]) +- Improve test coverage for ESPHome manager ([@bdraco] - [#120400]) +- Fix incorrect mocking in ESPHome tests ([@bdraco] - [#120410]) +- Improve websocket_api schema typing ([@cdce8p] - [#120411]) +- Add fixture to synchronize with debouncer in MQTT tests ([@jbouwh] - [#120373]) +- Use VolDictType to improve schema typing ([@cdce8p] - [#120417]) +- Apply all todoist custom project filters for calendar events ([@boralyl] - [#117454]) +- Small cleanups to ESPHome ([@bdraco] - [#120414]) +- Bump yalexs-ble to 2.4.3 ([@bdraco] - [#120428]) +- Refactor esphome platform setup to reduce boilerplate ([@bdraco] - [#120415]) +- Improve type hints in cloud tests ([@epenet] - [#120420]) +- Adjust imports in samsungtv tests ([@epenet] - [#120409]) +- Bump pywaze to 1.0.2 ([@eifinger] - [#120412]) +- Add reauth flow to pyLoad integration ([@tr4nt0r] - [#120376]) +- Add script llm tool ([@Shulyaka] - [#118936]) +- Improve type hints in deconz tests ([@epenet] - [#120388]) +- Bump uiprotect to 3.4.0 ([@bdraco] - [#120433]) +- Fix missing vol.Optional keyword ([@cdce8p] - [#120444]) +- Fix schema typing (1) ([@cdce8p] - [#120443]) +- Improve collection schema typing ([@cdce8p] - [#120441]) +- Improve intent schema typing ([@cdce8p] - [#120442]) +- Cleanup common mqtt tests ([@jbouwh] - [#120446]) +- Add import aliases for PLATFORM_SCHEMA ([@cdce8p] - [#120445]) +- Validate new device identifiers and connections ([@emontnemery] - [#120413]) +- Small cleanups to ESPHome manager reconnect shutdown ([@bdraco] - [#120401]) +- Support in service descriptions for input sections ([@emontnemery] - [#116100]) +- Fix gtfs typing ([@cdce8p] - [#120451]) +- Add WS command blueprint/substitute ([@emontnemery] - [#119890]) +- Fix invalid schemas ([@cdce8p] - [#120450]) +- Bump Knocki to 0.2.0 ([@joostlek] - [#120447]) +- Upgrade tplink with new platforms, features and device support ([@rytilahti] - [#120060]) +- Migrate Airgradient select entities to be config source dependent ([@joostlek] - [#120462]) +- Handle http connection errors to Prusa printers ([@agners] - [#120456]) +- Cleanup mqtt platform tests part 1 ([@jbouwh] - [#120470]) +- Bump python-roborock to 2.5.0 ([@Lash-L] - [#120466]) +- Bump pyinsteon to 1.6.3 to fix Insteon device status ([@teharris1] - [#120464]) +- Add @thomaskistler as an owner of hydrawise ([@thomaskistler] - [#120477]) +- Bump uiprotect to 3.7.0 ([@bdraco] - [#120471]) +- Improve vol.Invalid handling ([@cdce8p] - [#120480]) +- Improve SERVICE_TO_METHOD typing ([@cdce8p] - [#120474]) +- Bump wolf-comm to 0.0.9 ([@mtielen] - [#120473]) +- Improve schema typing (2) ([@cdce8p] - [#120475]) +- Improve config vol.Invalid typing ([@cdce8p] - [#120482]) +- Fix dropped unifiprotect motion events ([@bdraco] - [#120489]) +- Align deviceinfo entries in pyLoad integration ([@tr4nt0r] - [#120478]) +- Fix holiday using utc instead of local time ([@gjohansson-ST] - [#120432]) +- Add missing textselectors in `USER_DATA_SCHEMA` in pyLoad integration ([@tr4nt0r] - [#120479]) +- Remove unused translation strings in pyLoad integration ([@tr4nt0r] - [#120476]) +- Add Philips WiZ Lightbulbs to Matter TRANSITION_BLOCKLIST ([@Grubalex] - [#120461]) +- Make fetching integrations with requirements safer ([@bdraco] - [#120481]) +- Cleanup mqtt platform tests part 2 ([@jbouwh] - [#120490]) +- Deduplicate alarm_control_panel services.yaml ([@emontnemery] - [#118796]) +- Create repair when HA auth provider is running in legacy mode ([@edenhaus] - [#119975]) +- Handle availability in Idasen Desk height sensor ([@abmantis] - [#120277]) +- Allow timer management from any device ([@synesthesiam] - [#120440]) +- Fix issue where an MQTT device is removed linked to two config entries ([@jbouwh] - [#120430]) +- Bump dbus-fast to 2.22.1 ([@bdraco] - [#120491]) +- Add active watering time sensor to Hydrawise ([@thomaskistler] - [#120177]) +- Add unique_id to MPD ([@joostlek] - [#120495]) +- Cleanup mqtt platform tests part 3 ([@jbouwh] - [#120493]) +- Do not wait for Reolink firmware check ([@starkillerOG] - [#120377]) +- Add timezone testing in holiday ([@gjohansson-ST] - [#120497]) +- Verify default timezone is restored when test ends ([@emontnemery] - [#116216]) +- Add reconfiguration flow to pyLoad integration ([@tr4nt0r] - [#120485]) +- Remove Knocki triggers on runtime ([@joostlek] - [#120452]) +- Force alias when importing notify PLATFORM_SCHEMA ([@epenet] - [#120494]) +- Force alias when importing air_quality PLATFORM_SCHEMA ([@epenet] - [#120502]) +- Add switch platform to pyload integration ([@tr4nt0r] - [#120352]) +- Force alias when importing tts PLATFORM_SCHEMA ([@epenet] - [#120500]) +- Implement @plugwise_command for Plugwise Number platform ([@bouwew] - [#120503]) +- Switch onkyo to pyeiscp, making it local_push ([@arturpragacz] - [#120026]) +- Force alias when importing switch PLATFORM_SCHEMA ([@epenet] - [#120504]) +- Force alias when importing calendar PLATFORM_SCHEMA ([@epenet] - [#120512]) +- Force alias when importing alarm control panel PLATFORM_SCHEMA ([@epenet] - [#120505]) +- Rename sensor to finished downloads in pyLoad integration ([@tr4nt0r] - [#120483]) +- Force alias when importing binary sensor PLATFORM_SCHEMA ([@epenet] - [#120510]) +- Force alias when importing climate PLATFORM_SCHEMA ([@epenet] - [#120518]) +- Add exception translations for pyLoad integration ([@tr4nt0r] - [#120520]) +- Force alias when importing camera PLATFORM_SCHEMA ([@epenet] - [#120514]) +- Implement @plugwise_command for Plugwise Select platform ([@bouwew] - [#120509]) +- Force alias when importing device tracker PLATFORM_SCHEMA ([@epenet] - [#120523]) +- Simplify EVENT_STATE_REPORTED ([@emontnemery] - [#120508]) +- Force alias when importing humidifier PLATFORM_SCHEMA ([@epenet] - [#120526]) +- Force alias when importing geo location PLATFORM_SCHEMA ([@epenet] - [#120525]) +- Force alias when importing cover PLATFORM_SCHEMA ([@epenet] - [#120522]) +- Force alias when importing image processing PLATFORM_SCHEMA ([@epenet] - [#120527]) +- Improve schema typing (3) ([@cdce8p] - [#120521]) +- Add HmIP-ESI ([@hahn-th] - [#116863]) +- Force alias when importing event and fan PLATFORM_SCHEMA ([@epenet] - [#120524]) +- Improve Matter Server version incompatibility handling ([@agners] - [#120416]) +- Add diagnostics platform to pyLoad integration ([@tr4nt0r] - [#120535]) +- Force alias when importing remote PLATFORM_SCHEMA ([@epenet] - [#120533]) +- Refactor Tessie for future PR ([@Bre77] - [#120406]) +- Force alias when importing lock PLATFORM_SCHEMA ([@epenet] - [#120531]) +- Force alias when importing light PLATFORM_SCHEMA ([@epenet] - [#120529]) +- Force alias when importing scene PLATFORM_SCHEMA ([@epenet] - [#120534]) +- Force alias when importing sensor PLATFORM_SCHEMA ([@epenet] - [#120536]) +- Import DOMAIN constants for Plugwise and implement ([@bouwew] - [#120530]) +- Add learning offset select to Airgradient ([@joostlek] - [#120532]) +- Force alias when importing media player PLATFORM_SCHEMA ([@epenet] - [#120537]) +- Correct type annotations in integration sensor tests ([@emontnemery] - [#120541]) +- Add primary_config_entry attribute to device registry entries ([@emontnemery] - [#119959]) +- Improve BMW tests ([@rikroe] - [#119171]) +- Revert "Force alias when importing scene PLATFORM_SCHEMA" ([@epenet] - [#120540]) +- Fix release in MPD issue ([@joostlek] - [#120545]) +- Remove unnecessary icon states in pyLoad integration ([@tr4nt0r] - [#120548]) +- Fix airgradient select entities ([@edenhaus] - [#120549]) +- Update frontend to 20240626.0 ([@bramkragten] - [#120546]) +- Use state_reported events in Riemann sum sensor ([@emontnemery] - [#113869]) +- Convert dataclass to dict in pyLoad diagnostics ([@tr4nt0r] - [#120552]) +- Fix class and variable naming errors in pyLoad integration ([@tr4nt0r] - [#120547]) +- Implement remaining select-adaptions for Plugwise ([@bouwew] - [#120544]) +- Update docstrings in pyLoad tests ([@tr4nt0r] - [#120556]) +- Increase max temperature to 40 for Tado ([@joostlek] - [#120560]) +- Add Roborock to strict typing ([@Lash-L] - [#120379]) +- Add measurement unit and state_class to sensors in pyLoad ([@tr4nt0r] - [#120551]) +- Add created_seconds to timer info and pass to ESPHome devices ([@synesthesiam] - [#120364]) +- Add switch platform to Airgradient ([@joostlek] - [#120559]) +- Use ruff to force alias when importing PLATFORM_SCHEMA ([@epenet] - [#120539]) +- Add new coordinators to Tessie ([@Bre77] - [#118452]) +- Add options flow to Roborock ([@Lash-L] - [#104345]) +- Adjust tplink codeowners ([@rytilahti] - [#120561]) +- Add Base class for entities in PyLoad integration ([@tr4nt0r] - [#120563]) +- Redact the hostname in pyLoad diagnostics ([@tr4nt0r] - [#120567]) +- Add value_fn to switch entity description in pyLoad ([@tr4nt0r] - [#120569]) +- Implement a reboot-button for Plugwise ([@bouwew] - [#120554]) +- Add support for Dyad vacuums to Roborock ([@Lash-L] - [#115331]) +- Disable Aladdin Connect ([@joostlek] - [#120558]) +- Fix class name and deprecation version ([@tr4nt0r] - [#120570]) +- Import PLATFORM_SCHEMA from platform not from helpers ([@epenet] - [#120565]) +- Refactor PLATFORM_SCHEMA imports in platforms ([@epenet] - [#120564]) +- Add explanatory comment in tests/patch_time.py ([@emontnemery] - [#120572]) +- Add profile duration sensor for Vallox integration ([@treetip] - [#120240]) +- Add config flow to statistics ([@gjohansson-ST] - [#120496]) +- Add platinum scale to pyLoad integration ([@tr4nt0r] - [#120542]) +- Delete removed device(s) at runtime in Plugwise ([@bouwew] - [#120296]) +- Refactor PLATFORM_SCHEMA imports in tests ([@epenet] - [#120566]) +- Add additional tests to youless integration ([@gjong] - [#118869]) + +[#103496]: https://github.com/home-assistant/core/pull/103496 +[#104345]: https://github.com/home-assistant/core/pull/104345 +[#105134]: https://github.com/home-assistant/core/pull/105134 +[#105200]: https://github.com/home-assistant/core/pull/105200 +[#106947]: https://github.com/home-assistant/core/pull/106947 +[#109057]: https://github.com/home-assistant/core/pull/109057 +[#109603]: https://github.com/home-assistant/core/pull/109603 +[#110062]: https://github.com/home-assistant/core/pull/110062 +[#110685]: https://github.com/home-assistant/core/pull/110685 +[#112074]: https://github.com/home-assistant/core/pull/112074 +[#112334]: https://github.com/home-assistant/core/pull/112334 +[#112600]: https://github.com/home-assistant/core/pull/112600 +[#112715]: https://github.com/home-assistant/core/pull/112715 +[#113052]: https://github.com/home-assistant/core/pull/113052 +[#113053]: https://github.com/home-assistant/core/pull/113053 +[#113104]: https://github.com/home-assistant/core/pull/113104 +[#113140]: https://github.com/home-assistant/core/pull/113140 +[#113194]: https://github.com/home-assistant/core/pull/113194 +[#113222]: https://github.com/home-assistant/core/pull/113222 +[#113394]: https://github.com/home-assistant/core/pull/113394 +[#113434]: https://github.com/home-assistant/core/pull/113434 +[#113565]: https://github.com/home-assistant/core/pull/113565 +[#113664]: https://github.com/home-assistant/core/pull/113664 +[#113763]: https://github.com/home-assistant/core/pull/113763 +[#113869]: https://github.com/home-assistant/core/pull/113869 +[#113935]: https://github.com/home-assistant/core/pull/113935 +[#113957]: https://github.com/home-assistant/core/pull/113957 +[#113993]: https://github.com/home-assistant/core/pull/113993 +[#114137]: https://github.com/home-assistant/core/pull/114137 +[#114171]: https://github.com/home-assistant/core/pull/114171 +[#114226]: https://github.com/home-assistant/core/pull/114226 +[#114497]: https://github.com/home-assistant/core/pull/114497 +[#114801]: https://github.com/home-assistant/core/pull/114801 +[#114948]: https://github.com/home-assistant/core/pull/114948 +[#115090]: https://github.com/home-assistant/core/pull/115090 +[#115178]: https://github.com/home-assistant/core/pull/115178 +[#115191]: https://github.com/home-assistant/core/pull/115191 +[#115323]: https://github.com/home-assistant/core/pull/115323 +[#115327]: https://github.com/home-assistant/core/pull/115327 +[#115331]: https://github.com/home-assistant/core/pull/115331 +[#115471]: https://github.com/home-assistant/core/pull/115471 +[#115474]: https://github.com/home-assistant/core/pull/115474 +[#115508]: https://github.com/home-assistant/core/pull/115508 +[#115557]: https://github.com/home-assistant/core/pull/115557 +[#115594]: https://github.com/home-assistant/core/pull/115594 +[#115601]: https://github.com/home-assistant/core/pull/115601 +[#115616]: https://github.com/home-assistant/core/pull/115616 +[#115795]: https://github.com/home-assistant/core/pull/115795 +[#115835]: https://github.com/home-assistant/core/pull/115835 +[#115891]: https://github.com/home-assistant/core/pull/115891 +[#115892]: https://github.com/home-assistant/core/pull/115892 +[#115898]: https://github.com/home-assistant/core/pull/115898 +[#115962]: https://github.com/home-assistant/core/pull/115962 +[#115996]: https://github.com/home-assistant/core/pull/115996 +[#115999]: https://github.com/home-assistant/core/pull/115999 +[#116053]: https://github.com/home-assistant/core/pull/116053 +[#116100]: https://github.com/home-assistant/core/pull/116100 +[#116132]: https://github.com/home-assistant/core/pull/116132 +[#116134]: https://github.com/home-assistant/core/pull/116134 +[#116203]: https://github.com/home-assistant/core/pull/116203 +[#116216]: https://github.com/home-assistant/core/pull/116216 +[#116242]: https://github.com/home-assistant/core/pull/116242 +[#116252]: https://github.com/home-assistant/core/pull/116252 +[#116290]: https://github.com/home-assistant/core/pull/116290 +[#116323]: https://github.com/home-assistant/core/pull/116323 +[#116455]: https://github.com/home-assistant/core/pull/116455 +[#116461]: https://github.com/home-assistant/core/pull/116461 +[#116494]: https://github.com/home-assistant/core/pull/116494 +[#116498]: https://github.com/home-assistant/core/pull/116498 +[#116535]: https://github.com/home-assistant/core/pull/116535 +[#116603]: https://github.com/home-assistant/core/pull/116603 +[#116734]: https://github.com/home-assistant/core/pull/116734 +[#116739]: https://github.com/home-assistant/core/pull/116739 +[#116792]: https://github.com/home-assistant/core/pull/116792 +[#116828]: https://github.com/home-assistant/core/pull/116828 +[#116863]: https://github.com/home-assistant/core/pull/116863 +[#116876]: https://github.com/home-assistant/core/pull/116876 +[#116941]: https://github.com/home-assistant/core/pull/116941 +[#116965]: https://github.com/home-assistant/core/pull/116965 +[#117009]: https://github.com/home-assistant/core/pull/117009 +[#117107]: https://github.com/home-assistant/core/pull/117107 +[#117117]: https://github.com/home-assistant/core/pull/117117 +[#117126]: https://github.com/home-assistant/core/pull/117126 +[#117148]: https://github.com/home-assistant/core/pull/117148 +[#117165]: https://github.com/home-assistant/core/pull/117165 +[#117181]: https://github.com/home-assistant/core/pull/117181 +[#117269]: https://github.com/home-assistant/core/pull/117269 +[#117298]: https://github.com/home-assistant/core/pull/117298 +[#117363]: https://github.com/home-assistant/core/pull/117363 +[#117366]: https://github.com/home-assistant/core/pull/117366 +[#117378]: https://github.com/home-assistant/core/pull/117378 +[#117454]: https://github.com/home-assistant/core/pull/117454 +[#117461]: https://github.com/home-assistant/core/pull/117461 +[#117484]: https://github.com/home-assistant/core/pull/117484 +[#117512]: https://github.com/home-assistant/core/pull/117512 +[#117514]: https://github.com/home-assistant/core/pull/117514 +[#117692]: https://github.com/home-assistant/core/pull/117692 +[#117726]: https://github.com/home-assistant/core/pull/117726 +[#117753]: https://github.com/home-assistant/core/pull/117753 +[#117763]: https://github.com/home-assistant/core/pull/117763 +[#117870]: https://github.com/home-assistant/core/pull/117870 +[#117907]: https://github.com/home-assistant/core/pull/117907 +[#118031]: https://github.com/home-assistant/core/pull/118031 +[#118047]: https://github.com/home-assistant/core/pull/118047 +[#118062]: https://github.com/home-assistant/core/pull/118062 +[#118245]: https://github.com/home-assistant/core/pull/118245 +[#118249]: https://github.com/home-assistant/core/pull/118249 +[#118313]: https://github.com/home-assistant/core/pull/118313 +[#118316]: https://github.com/home-assistant/core/pull/118316 +[#118356]: https://github.com/home-assistant/core/pull/118356 +[#118360]: https://github.com/home-assistant/core/pull/118360 +[#118369]: https://github.com/home-assistant/core/pull/118369 +[#118379]: https://github.com/home-assistant/core/pull/118379 +[#118380]: https://github.com/home-assistant/core/pull/118380 +[#118381]: https://github.com/home-assistant/core/pull/118381 +[#118399]: https://github.com/home-assistant/core/pull/118399 +[#118415]: https://github.com/home-assistant/core/pull/118415 +[#118435]: https://github.com/home-assistant/core/pull/118435 +[#118436]: https://github.com/home-assistant/core/pull/118436 +[#118444]: https://github.com/home-assistant/core/pull/118444 +[#118449]: https://github.com/home-assistant/core/pull/118449 +[#118450]: https://github.com/home-assistant/core/pull/118450 +[#118452]: https://github.com/home-assistant/core/pull/118452 +[#118454]: https://github.com/home-assistant/core/pull/118454 +[#118456]: https://github.com/home-assistant/core/pull/118456 +[#118458]: https://github.com/home-assistant/core/pull/118458 +[#118459]: https://github.com/home-assistant/core/pull/118459 +[#118461]: https://github.com/home-assistant/core/pull/118461 +[#118465]: https://github.com/home-assistant/core/pull/118465 +[#118468]: https://github.com/home-assistant/core/pull/118468 +[#118470]: https://github.com/home-assistant/core/pull/118470 +[#118471]: https://github.com/home-assistant/core/pull/118471 +[#118475]: https://github.com/home-assistant/core/pull/118475 +[#118476]: https://github.com/home-assistant/core/pull/118476 +[#118479]: https://github.com/home-assistant/core/pull/118479 +[#118481]: https://github.com/home-assistant/core/pull/118481 +[#118482]: https://github.com/home-assistant/core/pull/118482 +[#118484]: https://github.com/home-assistant/core/pull/118484 +[#118488]: https://github.com/home-assistant/core/pull/118488 +[#118493]: https://github.com/home-assistant/core/pull/118493 +[#118497]: https://github.com/home-assistant/core/pull/118497 +[#118511]: https://github.com/home-assistant/core/pull/118511 +[#118513]: https://github.com/home-assistant/core/pull/118513 +[#118519]: https://github.com/home-assistant/core/pull/118519 +[#118529]: https://github.com/home-assistant/core/pull/118529 +[#118534]: https://github.com/home-assistant/core/pull/118534 +[#118540]: https://github.com/home-assistant/core/pull/118540 +[#118544]: https://github.com/home-assistant/core/pull/118544 +[#118545]: https://github.com/home-assistant/core/pull/118545 +[#118547]: https://github.com/home-assistant/core/pull/118547 +[#118548]: https://github.com/home-assistant/core/pull/118548 +[#118551]: https://github.com/home-assistant/core/pull/118551 +[#118557]: https://github.com/home-assistant/core/pull/118557 +[#118558]: https://github.com/home-assistant/core/pull/118558 +[#118560]: https://github.com/home-assistant/core/pull/118560 +[#118561]: https://github.com/home-assistant/core/pull/118561 +[#118563]: https://github.com/home-assistant/core/pull/118563 +[#118564]: https://github.com/home-assistant/core/pull/118564 +[#118565]: https://github.com/home-assistant/core/pull/118565 +[#118567]: https://github.com/home-assistant/core/pull/118567 +[#118572]: https://github.com/home-assistant/core/pull/118572 +[#118587]: https://github.com/home-assistant/core/pull/118587 +[#118596]: https://github.com/home-assistant/core/pull/118596 +[#118597]: https://github.com/home-assistant/core/pull/118597 +[#118599]: https://github.com/home-assistant/core/pull/118599 +[#118600]: https://github.com/home-assistant/core/pull/118600 +[#118601]: https://github.com/home-assistant/core/pull/118601 +[#118609]: https://github.com/home-assistant/core/pull/118609 +[#118610]: https://github.com/home-assistant/core/pull/118610 +[#118612]: https://github.com/home-assistant/core/pull/118612 +[#118615]: https://github.com/home-assistant/core/pull/118615 +[#118637]: https://github.com/home-assistant/core/pull/118637 +[#118641]: https://github.com/home-assistant/core/pull/118641 +[#118642]: https://github.com/home-assistant/core/pull/118642 +[#118646]: https://github.com/home-assistant/core/pull/118646 +[#118660]: https://github.com/home-assistant/core/pull/118660 +[#118663]: https://github.com/home-assistant/core/pull/118663 +[#118664]: https://github.com/home-assistant/core/pull/118664 +[#118665]: https://github.com/home-assistant/core/pull/118665 +[#118666]: https://github.com/home-assistant/core/pull/118666 +[#118667]: https://github.com/home-assistant/core/pull/118667 +[#118672]: https://github.com/home-assistant/core/pull/118672 +[#118673]: https://github.com/home-assistant/core/pull/118673 +[#118674]: https://github.com/home-assistant/core/pull/118674 +[#118676]: https://github.com/home-assistant/core/pull/118676 +[#118677]: https://github.com/home-assistant/core/pull/118677 +[#118678]: https://github.com/home-assistant/core/pull/118678 +[#118680]: https://github.com/home-assistant/core/pull/118680 +[#118681]: https://github.com/home-assistant/core/pull/118681 +[#118682]: https://github.com/home-assistant/core/pull/118682 +[#118683]: https://github.com/home-assistant/core/pull/118683 +[#118684]: https://github.com/home-assistant/core/pull/118684 +[#118685]: https://github.com/home-assistant/core/pull/118685 +[#118687]: https://github.com/home-assistant/core/pull/118687 +[#118689]: https://github.com/home-assistant/core/pull/118689 +[#118690]: https://github.com/home-assistant/core/pull/118690 +[#118691]: https://github.com/home-assistant/core/pull/118691 +[#118694]: https://github.com/home-assistant/core/pull/118694 +[#118700]: https://github.com/home-assistant/core/pull/118700 +[#118701]: https://github.com/home-assistant/core/pull/118701 +[#118704]: https://github.com/home-assistant/core/pull/118704 +[#118706]: https://github.com/home-assistant/core/pull/118706 +[#118709]: https://github.com/home-assistant/core/pull/118709 +[#118719]: https://github.com/home-assistant/core/pull/118719 +[#118726]: https://github.com/home-assistant/core/pull/118726 +[#118728]: https://github.com/home-assistant/core/pull/118728 +[#118731]: https://github.com/home-assistant/core/pull/118731 +[#118737]: https://github.com/home-assistant/core/pull/118737 +[#118738]: https://github.com/home-assistant/core/pull/118738 +[#118741]: https://github.com/home-assistant/core/pull/118741 +[#118751]: https://github.com/home-assistant/core/pull/118751 +[#118754]: https://github.com/home-assistant/core/pull/118754 +[#118759]: https://github.com/home-assistant/core/pull/118759 +[#118760]: https://github.com/home-assistant/core/pull/118760 +[#118767]: https://github.com/home-assistant/core/pull/118767 +[#118769]: https://github.com/home-assistant/core/pull/118769 +[#118771]: https://github.com/home-assistant/core/pull/118771 +[#118772]: https://github.com/home-assistant/core/pull/118772 +[#118774]: https://github.com/home-assistant/core/pull/118774 +[#118779]: https://github.com/home-assistant/core/pull/118779 +[#118780]: https://github.com/home-assistant/core/pull/118780 +[#118783]: https://github.com/home-assistant/core/pull/118783 +[#118785]: https://github.com/home-assistant/core/pull/118785 +[#118786]: https://github.com/home-assistant/core/pull/118786 +[#118789]: https://github.com/home-assistant/core/pull/118789 +[#118793]: https://github.com/home-assistant/core/pull/118793 +[#118794]: https://github.com/home-assistant/core/pull/118794 +[#118796]: https://github.com/home-assistant/core/pull/118796 +[#118802]: https://github.com/home-assistant/core/pull/118802 +[#118803]: https://github.com/home-assistant/core/pull/118803 +[#118807]: https://github.com/home-assistant/core/pull/118807 +[#118809]: https://github.com/home-assistant/core/pull/118809 +[#118810]: https://github.com/home-assistant/core/pull/118810 +[#118816]: https://github.com/home-assistant/core/pull/118816 +[#118817]: https://github.com/home-assistant/core/pull/118817 +[#118818]: https://github.com/home-assistant/core/pull/118818 +[#118820]: https://github.com/home-assistant/core/pull/118820 +[#118823]: https://github.com/home-assistant/core/pull/118823 +[#118825]: https://github.com/home-assistant/core/pull/118825 +[#118827]: https://github.com/home-assistant/core/pull/118827 +[#118831]: https://github.com/home-assistant/core/pull/118831 +[#118834]: https://github.com/home-assistant/core/pull/118834 +[#118835]: https://github.com/home-assistant/core/pull/118835 +[#118836]: https://github.com/home-assistant/core/pull/118836 +[#118837]: https://github.com/home-assistant/core/pull/118837 +[#118838]: https://github.com/home-assistant/core/pull/118838 +[#118844]: https://github.com/home-assistant/core/pull/118844 +[#118846]: https://github.com/home-assistant/core/pull/118846 +[#118847]: https://github.com/home-assistant/core/pull/118847 +[#118849]: https://github.com/home-assistant/core/pull/118849 +[#118850]: https://github.com/home-assistant/core/pull/118850 +[#118851]: https://github.com/home-assistant/core/pull/118851 +[#118852]: https://github.com/home-assistant/core/pull/118852 +[#118854]: https://github.com/home-assistant/core/pull/118854 +[#118860]: https://github.com/home-assistant/core/pull/118860 +[#118861]: https://github.com/home-assistant/core/pull/118861 +[#118862]: https://github.com/home-assistant/core/pull/118862 +[#118863]: https://github.com/home-assistant/core/pull/118863 +[#118865]: https://github.com/home-assistant/core/pull/118865 +[#118866]: https://github.com/home-assistant/core/pull/118866 +[#118867]: https://github.com/home-assistant/core/pull/118867 +[#118869]: https://github.com/home-assistant/core/pull/118869 +[#118870]: https://github.com/home-assistant/core/pull/118870 +[#118876]: https://github.com/home-assistant/core/pull/118876 +[#118877]: https://github.com/home-assistant/core/pull/118877 +[#118881]: https://github.com/home-assistant/core/pull/118881 +[#118885]: https://github.com/home-assistant/core/pull/118885 +[#118886]: https://github.com/home-assistant/core/pull/118886 +[#118887]: https://github.com/home-assistant/core/pull/118887 +[#118888]: https://github.com/home-assistant/core/pull/118888 +[#118889]: https://github.com/home-assistant/core/pull/118889 +[#118894]: https://github.com/home-assistant/core/pull/118894 +[#118895]: https://github.com/home-assistant/core/pull/118895 +[#118896]: https://github.com/home-assistant/core/pull/118896 +[#118897]: https://github.com/home-assistant/core/pull/118897 +[#118903]: https://github.com/home-assistant/core/pull/118903 +[#118905]: https://github.com/home-assistant/core/pull/118905 +[#118907]: https://github.com/home-assistant/core/pull/118907 +[#118910]: https://github.com/home-assistant/core/pull/118910 +[#118912]: https://github.com/home-assistant/core/pull/118912 +[#118921]: https://github.com/home-assistant/core/pull/118921 +[#118924]: https://github.com/home-assistant/core/pull/118924 +[#118936]: https://github.com/home-assistant/core/pull/118936 +[#118939]: https://github.com/home-assistant/core/pull/118939 +[#118940]: https://github.com/home-assistant/core/pull/118940 +[#118941]: https://github.com/home-assistant/core/pull/118941 +[#118942]: https://github.com/home-assistant/core/pull/118942 +[#118945]: https://github.com/home-assistant/core/pull/118945 +[#118948]: https://github.com/home-assistant/core/pull/118948 +[#118949]: https://github.com/home-assistant/core/pull/118949 +[#118950]: https://github.com/home-assistant/core/pull/118950 +[#118954]: https://github.com/home-assistant/core/pull/118954 +[#118955]: https://github.com/home-assistant/core/pull/118955 +[#118960]: https://github.com/home-assistant/core/pull/118960 +[#118966]: https://github.com/home-assistant/core/pull/118966 +[#118974]: https://github.com/home-assistant/core/pull/118974 +[#118980]: https://github.com/home-assistant/core/pull/118980 +[#118986]: https://github.com/home-assistant/core/pull/118986 +[#118989]: https://github.com/home-assistant/core/pull/118989 +[#118990]: https://github.com/home-assistant/core/pull/118990 +[#118992]: https://github.com/home-assistant/core/pull/118992 +[#118993]: https://github.com/home-assistant/core/pull/118993 +[#118998]: https://github.com/home-assistant/core/pull/118998 +[#119007]: https://github.com/home-assistant/core/pull/119007 +[#119013]: https://github.com/home-assistant/core/pull/119013 +[#119017]: https://github.com/home-assistant/core/pull/119017 +[#119018]: https://github.com/home-assistant/core/pull/119018 +[#119019]: https://github.com/home-assistant/core/pull/119019 +[#119026]: https://github.com/home-assistant/core/pull/119026 +[#119038]: https://github.com/home-assistant/core/pull/119038 +[#119040]: https://github.com/home-assistant/core/pull/119040 +[#119042]: https://github.com/home-assistant/core/pull/119042 +[#119044]: https://github.com/home-assistant/core/pull/119044 +[#119047]: https://github.com/home-assistant/core/pull/119047 +[#119049]: https://github.com/home-assistant/core/pull/119049 +[#119053]: https://github.com/home-assistant/core/pull/119053 +[#119054]: https://github.com/home-assistant/core/pull/119054 +[#119055]: https://github.com/home-assistant/core/pull/119055 +[#119056]: https://github.com/home-assistant/core/pull/119056 +[#119057]: https://github.com/home-assistant/core/pull/119057 +[#119060]: https://github.com/home-assistant/core/pull/119060 +[#119061]: https://github.com/home-assistant/core/pull/119061 +[#119063]: https://github.com/home-assistant/core/pull/119063 +[#119065]: https://github.com/home-assistant/core/pull/119065 +[#119066]: https://github.com/home-assistant/core/pull/119066 +[#119072]: https://github.com/home-assistant/core/pull/119072 +[#119079]: https://github.com/home-assistant/core/pull/119079 +[#119088]: https://github.com/home-assistant/core/pull/119088 +[#119098]: https://github.com/home-assistant/core/pull/119098 +[#119103]: https://github.com/home-assistant/core/pull/119103 +[#119119]: https://github.com/home-assistant/core/pull/119119 +[#119122]: https://github.com/home-assistant/core/pull/119122 +[#119126]: https://github.com/home-assistant/core/pull/119126 +[#119128]: https://github.com/home-assistant/core/pull/119128 +[#119131]: https://github.com/home-assistant/core/pull/119131 +[#119134]: https://github.com/home-assistant/core/pull/119134 +[#119140]: https://github.com/home-assistant/core/pull/119140 +[#119147]: https://github.com/home-assistant/core/pull/119147 +[#119149]: https://github.com/home-assistant/core/pull/119149 +[#119152]: https://github.com/home-assistant/core/pull/119152 +[#119154]: https://github.com/home-assistant/core/pull/119154 +[#119157]: https://github.com/home-assistant/core/pull/119157 +[#119158]: https://github.com/home-assistant/core/pull/119158 +[#119160]: https://github.com/home-assistant/core/pull/119160 +[#119165]: https://github.com/home-assistant/core/pull/119165 +[#119168]: https://github.com/home-assistant/core/pull/119168 +[#119171]: https://github.com/home-assistant/core/pull/119171 +[#119178]: https://github.com/home-assistant/core/pull/119178 +[#119180]: https://github.com/home-assistant/core/pull/119180 +[#119182]: https://github.com/home-assistant/core/pull/119182 +[#119187]: https://github.com/home-assistant/core/pull/119187 +[#119188]: https://github.com/home-assistant/core/pull/119188 +[#119189]: https://github.com/home-assistant/core/pull/119189 +[#119191]: https://github.com/home-assistant/core/pull/119191 +[#119194]: https://github.com/home-assistant/core/pull/119194 +[#119199]: https://github.com/home-assistant/core/pull/119199 +[#119202]: https://github.com/home-assistant/core/pull/119202 +[#119206]: https://github.com/home-assistant/core/pull/119206 +[#119207]: https://github.com/home-assistant/core/pull/119207 +[#119209]: https://github.com/home-assistant/core/pull/119209 +[#119210]: https://github.com/home-assistant/core/pull/119210 +[#119211]: https://github.com/home-assistant/core/pull/119211 +[#119213]: https://github.com/home-assistant/core/pull/119213 +[#119219]: https://github.com/home-assistant/core/pull/119219 +[#119221]: https://github.com/home-assistant/core/pull/119221 +[#119224]: https://github.com/home-assistant/core/pull/119224 +[#119225]: https://github.com/home-assistant/core/pull/119225 +[#119227]: https://github.com/home-assistant/core/pull/119227 +[#119229]: https://github.com/home-assistant/core/pull/119229 +[#119230]: https://github.com/home-assistant/core/pull/119230 +[#119232]: https://github.com/home-assistant/core/pull/119232 +[#119233]: https://github.com/home-assistant/core/pull/119233 +[#119236]: https://github.com/home-assistant/core/pull/119236 +[#119239]: https://github.com/home-assistant/core/pull/119239 +[#119241]: https://github.com/home-assistant/core/pull/119241 +[#119246]: https://github.com/home-assistant/core/pull/119246 +[#119251]: https://github.com/home-assistant/core/pull/119251 +[#119257]: https://github.com/home-assistant/core/pull/119257 +[#119260]: https://github.com/home-assistant/core/pull/119260 +[#119262]: https://github.com/home-assistant/core/pull/119262 +[#119263]: https://github.com/home-assistant/core/pull/119263 +[#119264]: https://github.com/home-assistant/core/pull/119264 +[#119266]: https://github.com/home-assistant/core/pull/119266 +[#119268]: https://github.com/home-assistant/core/pull/119268 +[#119269]: https://github.com/home-assistant/core/pull/119269 +[#119270]: https://github.com/home-assistant/core/pull/119270 +[#119274]: https://github.com/home-assistant/core/pull/119274 +[#119275]: https://github.com/home-assistant/core/pull/119275 +[#119277]: https://github.com/home-assistant/core/pull/119277 +[#119279]: https://github.com/home-assistant/core/pull/119279 +[#119280]: https://github.com/home-assistant/core/pull/119280 +[#119282]: https://github.com/home-assistant/core/pull/119282 +[#119283]: https://github.com/home-assistant/core/pull/119283 +[#119285]: https://github.com/home-assistant/core/pull/119285 +[#119286]: https://github.com/home-assistant/core/pull/119286 +[#119291]: https://github.com/home-assistant/core/pull/119291 +[#119292]: https://github.com/home-assistant/core/pull/119292 +[#119294]: https://github.com/home-assistant/core/pull/119294 +[#119297]: https://github.com/home-assistant/core/pull/119297 +[#119299]: https://github.com/home-assistant/core/pull/119299 +[#119300]: https://github.com/home-assistant/core/pull/119300 +[#119301]: https://github.com/home-assistant/core/pull/119301 +[#119302]: https://github.com/home-assistant/core/pull/119302 +[#119307]: https://github.com/home-assistant/core/pull/119307 +[#119309]: https://github.com/home-assistant/core/pull/119309 +[#119311]: https://github.com/home-assistant/core/pull/119311 +[#119314]: https://github.com/home-assistant/core/pull/119314 +[#119315]: https://github.com/home-assistant/core/pull/119315 +[#119321]: https://github.com/home-assistant/core/pull/119321 +[#119326]: https://github.com/home-assistant/core/pull/119326 +[#119328]: https://github.com/home-assistant/core/pull/119328 +[#119330]: https://github.com/home-assistant/core/pull/119330 +[#119331]: https://github.com/home-assistant/core/pull/119331 +[#119335]: https://github.com/home-assistant/core/pull/119335 +[#119339]: https://github.com/home-assistant/core/pull/119339 +[#119346]: https://github.com/home-assistant/core/pull/119346 +[#119348]: https://github.com/home-assistant/core/pull/119348 +[#119349]: https://github.com/home-assistant/core/pull/119349 +[#119351]: https://github.com/home-assistant/core/pull/119351 +[#119352]: https://github.com/home-assistant/core/pull/119352 +[#119353]: https://github.com/home-assistant/core/pull/119353 +[#119354]: https://github.com/home-assistant/core/pull/119354 +[#119355]: https://github.com/home-assistant/core/pull/119355 +[#119356]: https://github.com/home-assistant/core/pull/119356 +[#119358]: https://github.com/home-assistant/core/pull/119358 +[#119359]: https://github.com/home-assistant/core/pull/119359 +[#119362]: https://github.com/home-assistant/core/pull/119362 +[#119364]: https://github.com/home-assistant/core/pull/119364 +[#119365]: https://github.com/home-assistant/core/pull/119365 +[#119366]: https://github.com/home-assistant/core/pull/119366 +[#119367]: https://github.com/home-assistant/core/pull/119367 +[#119368]: https://github.com/home-assistant/core/pull/119368 +[#119369]: https://github.com/home-assistant/core/pull/119369 +[#119370]: https://github.com/home-assistant/core/pull/119370 +[#119371]: https://github.com/home-assistant/core/pull/119371 +[#119373]: https://github.com/home-assistant/core/pull/119373 +[#119377]: https://github.com/home-assistant/core/pull/119377 +[#119378]: https://github.com/home-assistant/core/pull/119378 +[#119379]: https://github.com/home-assistant/core/pull/119379 +[#119385]: https://github.com/home-assistant/core/pull/119385 +[#119386]: https://github.com/home-assistant/core/pull/119386 +[#119387]: https://github.com/home-assistant/core/pull/119387 +[#119388]: https://github.com/home-assistant/core/pull/119388 +[#119389]: https://github.com/home-assistant/core/pull/119389 +[#119392]: https://github.com/home-assistant/core/pull/119392 +[#119393]: https://github.com/home-assistant/core/pull/119393 +[#119394]: https://github.com/home-assistant/core/pull/119394 +[#119395]: https://github.com/home-assistant/core/pull/119395 +[#119397]: https://github.com/home-assistant/core/pull/119397 +[#119399]: https://github.com/home-assistant/core/pull/119399 +[#119401]: https://github.com/home-assistant/core/pull/119401 +[#119402]: https://github.com/home-assistant/core/pull/119402 +[#119403]: https://github.com/home-assistant/core/pull/119403 +[#119405]: https://github.com/home-assistant/core/pull/119405 +[#119407]: https://github.com/home-assistant/core/pull/119407 +[#119408]: https://github.com/home-assistant/core/pull/119408 +[#119421]: https://github.com/home-assistant/core/pull/119421 +[#119423]: https://github.com/home-assistant/core/pull/119423 +[#119425]: https://github.com/home-assistant/core/pull/119425 +[#119430]: https://github.com/home-assistant/core/pull/119430 +[#119438]: https://github.com/home-assistant/core/pull/119438 +[#119439]: https://github.com/home-assistant/core/pull/119439 +[#119440]: https://github.com/home-assistant/core/pull/119440 +[#119441]: https://github.com/home-assistant/core/pull/119441 +[#119442]: https://github.com/home-assistant/core/pull/119442 +[#119451]: https://github.com/home-assistant/core/pull/119451 +[#119453]: https://github.com/home-assistant/core/pull/119453 +[#119454]: https://github.com/home-assistant/core/pull/119454 +[#119461]: https://github.com/home-assistant/core/pull/119461 +[#119463]: https://github.com/home-assistant/core/pull/119463 +[#119464]: https://github.com/home-assistant/core/pull/119464 +[#119467]: https://github.com/home-assistant/core/pull/119467 +[#119468]: https://github.com/home-assistant/core/pull/119468 +[#119470]: https://github.com/home-assistant/core/pull/119470 +[#119471]: https://github.com/home-assistant/core/pull/119471 +[#119472]: https://github.com/home-assistant/core/pull/119472 +[#119473]: https://github.com/home-assistant/core/pull/119473 +[#119474]: https://github.com/home-assistant/core/pull/119474 +[#119475]: https://github.com/home-assistant/core/pull/119475 +[#119476]: https://github.com/home-assistant/core/pull/119476 +[#119477]: https://github.com/home-assistant/core/pull/119477 +[#119478]: https://github.com/home-assistant/core/pull/119478 +[#119479]: https://github.com/home-assistant/core/pull/119479 +[#119480]: https://github.com/home-assistant/core/pull/119480 +[#119481]: https://github.com/home-assistant/core/pull/119481 +[#119482]: https://github.com/home-assistant/core/pull/119482 +[#119483]: https://github.com/home-assistant/core/pull/119483 +[#119489]: https://github.com/home-assistant/core/pull/119489 +[#119490]: https://github.com/home-assistant/core/pull/119490 +[#119491]: https://github.com/home-assistant/core/pull/119491 +[#119493]: https://github.com/home-assistant/core/pull/119493 +[#119494]: https://github.com/home-assistant/core/pull/119494 +[#119495]: https://github.com/home-assistant/core/pull/119495 +[#119496]: https://github.com/home-assistant/core/pull/119496 +[#119497]: https://github.com/home-assistant/core/pull/119497 +[#119500]: https://github.com/home-assistant/core/pull/119500 +[#119501]: https://github.com/home-assistant/core/pull/119501 +[#119502]: https://github.com/home-assistant/core/pull/119502 +[#119506]: https://github.com/home-assistant/core/pull/119506 +[#119507]: https://github.com/home-assistant/core/pull/119507 +[#119508]: https://github.com/home-assistant/core/pull/119508 +[#119509]: https://github.com/home-assistant/core/pull/119509 +[#119512]: https://github.com/home-assistant/core/pull/119512 +[#119514]: https://github.com/home-assistant/core/pull/119514 +[#119515]: https://github.com/home-assistant/core/pull/119515 +[#119516]: https://github.com/home-assistant/core/pull/119516 +[#119517]: https://github.com/home-assistant/core/pull/119517 +[#119518]: https://github.com/home-assistant/core/pull/119518 +[#119519]: https://github.com/home-assistant/core/pull/119519 +[#119520]: https://github.com/home-assistant/core/pull/119520 +[#119522]: https://github.com/home-assistant/core/pull/119522 +[#119523]: https://github.com/home-assistant/core/pull/119523 +[#119524]: https://github.com/home-assistant/core/pull/119524 +[#119527]: https://github.com/home-assistant/core/pull/119527 +[#119528]: https://github.com/home-assistant/core/pull/119528 +[#119529]: https://github.com/home-assistant/core/pull/119529 +[#119531]: https://github.com/home-assistant/core/pull/119531 +[#119532]: https://github.com/home-assistant/core/pull/119532 +[#119540]: https://github.com/home-assistant/core/pull/119540 +[#119542]: https://github.com/home-assistant/core/pull/119542 +[#119544]: https://github.com/home-assistant/core/pull/119544 +[#119546]: https://github.com/home-assistant/core/pull/119546 +[#119547]: https://github.com/home-assistant/core/pull/119547 +[#119548]: https://github.com/home-assistant/core/pull/119548 +[#119549]: https://github.com/home-assistant/core/pull/119549 +[#119550]: https://github.com/home-assistant/core/pull/119550 +[#119551]: https://github.com/home-assistant/core/pull/119551 +[#119552]: https://github.com/home-assistant/core/pull/119552 +[#119554]: https://github.com/home-assistant/core/pull/119554 +[#119555]: https://github.com/home-assistant/core/pull/119555 +[#119558]: https://github.com/home-assistant/core/pull/119558 +[#119560]: https://github.com/home-assistant/core/pull/119560 +[#119561]: https://github.com/home-assistant/core/pull/119561 +[#119563]: https://github.com/home-assistant/core/pull/119563 +[#119564]: https://github.com/home-assistant/core/pull/119564 +[#119565]: https://github.com/home-assistant/core/pull/119565 +[#119566]: https://github.com/home-assistant/core/pull/119566 +[#119567]: https://github.com/home-assistant/core/pull/119567 +[#119568]: https://github.com/home-assistant/core/pull/119568 +[#119570]: https://github.com/home-assistant/core/pull/119570 +[#119574]: https://github.com/home-assistant/core/pull/119574 +[#119575]: https://github.com/home-assistant/core/pull/119575 +[#119576]: https://github.com/home-assistant/core/pull/119576 +[#119577]: https://github.com/home-assistant/core/pull/119577 +[#119578]: https://github.com/home-assistant/core/pull/119578 +[#119580]: https://github.com/home-assistant/core/pull/119580 +[#119581]: https://github.com/home-assistant/core/pull/119581 +[#119583]: https://github.com/home-assistant/core/pull/119583 +[#119584]: https://github.com/home-assistant/core/pull/119584 +[#119585]: https://github.com/home-assistant/core/pull/119585 +[#119586]: https://github.com/home-assistant/core/pull/119586 +[#119589]: https://github.com/home-assistant/core/pull/119589 +[#119590]: https://github.com/home-assistant/core/pull/119590 +[#119591]: https://github.com/home-assistant/core/pull/119591 +[#119592]: https://github.com/home-assistant/core/pull/119592 +[#119593]: https://github.com/home-assistant/core/pull/119593 +[#119594]: https://github.com/home-assistant/core/pull/119594 +[#119596]: https://github.com/home-assistant/core/pull/119596 +[#119597]: https://github.com/home-assistant/core/pull/119597 +[#119598]: https://github.com/home-assistant/core/pull/119598 +[#119599]: https://github.com/home-assistant/core/pull/119599 +[#119600]: https://github.com/home-assistant/core/pull/119600 +[#119601]: https://github.com/home-assistant/core/pull/119601 +[#119602]: https://github.com/home-assistant/core/pull/119602 +[#119603]: https://github.com/home-assistant/core/pull/119603 +[#119604]: https://github.com/home-assistant/core/pull/119604 +[#119605]: https://github.com/home-assistant/core/pull/119605 +[#119606]: https://github.com/home-assistant/core/pull/119606 +[#119607]: https://github.com/home-assistant/core/pull/119607 +[#119611]: https://github.com/home-assistant/core/pull/119611 +[#119612]: https://github.com/home-assistant/core/pull/119612 +[#119614]: https://github.com/home-assistant/core/pull/119614 +[#119622]: https://github.com/home-assistant/core/pull/119622 +[#119624]: https://github.com/home-assistant/core/pull/119624 +[#119625]: https://github.com/home-assistant/core/pull/119625 +[#119627]: https://github.com/home-assistant/core/pull/119627 +[#119629]: https://github.com/home-assistant/core/pull/119629 +[#119630]: https://github.com/home-assistant/core/pull/119630 +[#119631]: https://github.com/home-assistant/core/pull/119631 +[#119633]: https://github.com/home-assistant/core/pull/119633 +[#119635]: https://github.com/home-assistant/core/pull/119635 +[#119636]: https://github.com/home-assistant/core/pull/119636 +[#119637]: https://github.com/home-assistant/core/pull/119637 +[#119640]: https://github.com/home-assistant/core/pull/119640 +[#119645]: https://github.com/home-assistant/core/pull/119645 +[#119647]: https://github.com/home-assistant/core/pull/119647 +[#119655]: https://github.com/home-assistant/core/pull/119655 +[#119658]: https://github.com/home-assistant/core/pull/119658 +[#119663]: https://github.com/home-assistant/core/pull/119663 +[#119664]: https://github.com/home-assistant/core/pull/119664 +[#119665]: https://github.com/home-assistant/core/pull/119665 +[#119666]: https://github.com/home-assistant/core/pull/119666 +[#119667]: https://github.com/home-assistant/core/pull/119667 +[#119668]: https://github.com/home-assistant/core/pull/119668 +[#119669]: https://github.com/home-assistant/core/pull/119669 +[#119671]: https://github.com/home-assistant/core/pull/119671 +[#119672]: https://github.com/home-assistant/core/pull/119672 +[#119673]: https://github.com/home-assistant/core/pull/119673 +[#119675]: https://github.com/home-assistant/core/pull/119675 +[#119678]: https://github.com/home-assistant/core/pull/119678 +[#119682]: https://github.com/home-assistant/core/pull/119682 +[#119695]: https://github.com/home-assistant/core/pull/119695 +[#119696]: https://github.com/home-assistant/core/pull/119696 +[#119698]: https://github.com/home-assistant/core/pull/119698 +[#119702]: https://github.com/home-assistant/core/pull/119702 +[#119704]: https://github.com/home-assistant/core/pull/119704 +[#119706]: https://github.com/home-assistant/core/pull/119706 +[#119716]: https://github.com/home-assistant/core/pull/119716 +[#119720]: https://github.com/home-assistant/core/pull/119720 +[#119721]: https://github.com/home-assistant/core/pull/119721 +[#119724]: https://github.com/home-assistant/core/pull/119724 +[#119725]: https://github.com/home-assistant/core/pull/119725 +[#119726]: https://github.com/home-assistant/core/pull/119726 +[#119727]: https://github.com/home-assistant/core/pull/119727 +[#119739]: https://github.com/home-assistant/core/pull/119739 +[#119740]: https://github.com/home-assistant/core/pull/119740 +[#119741]: https://github.com/home-assistant/core/pull/119741 +[#119744]: https://github.com/home-assistant/core/pull/119744 +[#119745]: https://github.com/home-assistant/core/pull/119745 +[#119746]: https://github.com/home-assistant/core/pull/119746 +[#119748]: https://github.com/home-assistant/core/pull/119748 +[#119749]: https://github.com/home-assistant/core/pull/119749 +[#119750]: https://github.com/home-assistant/core/pull/119750 +[#119753]: https://github.com/home-assistant/core/pull/119753 +[#119754]: https://github.com/home-assistant/core/pull/119754 +[#119755]: https://github.com/home-assistant/core/pull/119755 +[#119756]: https://github.com/home-assistant/core/pull/119756 +[#119758]: https://github.com/home-assistant/core/pull/119758 +[#119759]: https://github.com/home-assistant/core/pull/119759 +[#119761]: https://github.com/home-assistant/core/pull/119761 +[#119763]: https://github.com/home-assistant/core/pull/119763 +[#119768]: https://github.com/home-assistant/core/pull/119768 +[#119770]: https://github.com/home-assistant/core/pull/119770 +[#119772]: https://github.com/home-assistant/core/pull/119772 +[#119779]: https://github.com/home-assistant/core/pull/119779 +[#119780]: https://github.com/home-assistant/core/pull/119780 +[#119781]: https://github.com/home-assistant/core/pull/119781 +[#119782]: https://github.com/home-assistant/core/pull/119782 +[#119783]: https://github.com/home-assistant/core/pull/119783 +[#119785]: https://github.com/home-assistant/core/pull/119785 +[#119786]: https://github.com/home-assistant/core/pull/119786 +[#119787]: https://github.com/home-assistant/core/pull/119787 +[#119789]: https://github.com/home-assistant/core/pull/119789 +[#119790]: https://github.com/home-assistant/core/pull/119790 +[#119798]: https://github.com/home-assistant/core/pull/119798 +[#119799]: https://github.com/home-assistant/core/pull/119799 +[#119800]: https://github.com/home-assistant/core/pull/119800 +[#119802]: https://github.com/home-assistant/core/pull/119802 +[#119811]: https://github.com/home-assistant/core/pull/119811 +[#119813]: https://github.com/home-assistant/core/pull/119813 +[#119814]: https://github.com/home-assistant/core/pull/119814 +[#119817]: https://github.com/home-assistant/core/pull/119817 +[#119820]: https://github.com/home-assistant/core/pull/119820 +[#119821]: https://github.com/home-assistant/core/pull/119821 +[#119822]: https://github.com/home-assistant/core/pull/119822 +[#119824]: https://github.com/home-assistant/core/pull/119824 +[#119826]: https://github.com/home-assistant/core/pull/119826 +[#119827]: https://github.com/home-assistant/core/pull/119827 +[#119829]: https://github.com/home-assistant/core/pull/119829 +[#119830]: https://github.com/home-assistant/core/pull/119830 +[#119831]: https://github.com/home-assistant/core/pull/119831 +[#119833]: https://github.com/home-assistant/core/pull/119833 +[#119834]: https://github.com/home-assistant/core/pull/119834 +[#119838]: https://github.com/home-assistant/core/pull/119838 +[#119848]: https://github.com/home-assistant/core/pull/119848 +[#119853]: https://github.com/home-assistant/core/pull/119853 +[#119855]: https://github.com/home-assistant/core/pull/119855 +[#119856]: https://github.com/home-assistant/core/pull/119856 +[#119859]: https://github.com/home-assistant/core/pull/119859 +[#119860]: https://github.com/home-assistant/core/pull/119860 +[#119862]: https://github.com/home-assistant/core/pull/119862 +[#119863]: https://github.com/home-assistant/core/pull/119863 +[#119871]: https://github.com/home-assistant/core/pull/119871 +[#119876]: https://github.com/home-assistant/core/pull/119876 +[#119877]: https://github.com/home-assistant/core/pull/119877 +[#119880]: https://github.com/home-assistant/core/pull/119880 +[#119881]: https://github.com/home-assistant/core/pull/119881 +[#119882]: https://github.com/home-assistant/core/pull/119882 +[#119883]: https://github.com/home-assistant/core/pull/119883 +[#119885]: https://github.com/home-assistant/core/pull/119885 +[#119888]: https://github.com/home-assistant/core/pull/119888 +[#119890]: https://github.com/home-assistant/core/pull/119890 +[#119892]: https://github.com/home-assistant/core/pull/119892 +[#119893]: https://github.com/home-assistant/core/pull/119893 +[#119895]: https://github.com/home-assistant/core/pull/119895 +[#119896]: https://github.com/home-assistant/core/pull/119896 +[#119897]: https://github.com/home-assistant/core/pull/119897 +[#119898]: https://github.com/home-assistant/core/pull/119898 +[#119899]: https://github.com/home-assistant/core/pull/119899 +[#119900]: https://github.com/home-assistant/core/pull/119900 +[#119904]: https://github.com/home-assistant/core/pull/119904 +[#119905]: https://github.com/home-assistant/core/pull/119905 +[#119906]: https://github.com/home-assistant/core/pull/119906 +[#119909]: https://github.com/home-assistant/core/pull/119909 +[#119910]: https://github.com/home-assistant/core/pull/119910 +[#119911]: https://github.com/home-assistant/core/pull/119911 +[#119912]: https://github.com/home-assistant/core/pull/119912 +[#119913]: https://github.com/home-assistant/core/pull/119913 +[#119914]: https://github.com/home-assistant/core/pull/119914 +[#119916]: https://github.com/home-assistant/core/pull/119916 +[#119917]: https://github.com/home-assistant/core/pull/119917 +[#119919]: https://github.com/home-assistant/core/pull/119919 +[#119921]: https://github.com/home-assistant/core/pull/119921 +[#119922]: https://github.com/home-assistant/core/pull/119922 +[#119923]: https://github.com/home-assistant/core/pull/119923 +[#119924]: https://github.com/home-assistant/core/pull/119924 +[#119925]: https://github.com/home-assistant/core/pull/119925 +[#119927]: https://github.com/home-assistant/core/pull/119927 +[#119928]: https://github.com/home-assistant/core/pull/119928 +[#119929]: https://github.com/home-assistant/core/pull/119929 +[#119930]: https://github.com/home-assistant/core/pull/119930 +[#119931]: https://github.com/home-assistant/core/pull/119931 +[#119934]: https://github.com/home-assistant/core/pull/119934 +[#119935]: https://github.com/home-assistant/core/pull/119935 +[#119938]: https://github.com/home-assistant/core/pull/119938 +[#119940]: https://github.com/home-assistant/core/pull/119940 +[#119941]: https://github.com/home-assistant/core/pull/119941 +[#119942]: https://github.com/home-assistant/core/pull/119942 +[#119944]: https://github.com/home-assistant/core/pull/119944 +[#119945]: https://github.com/home-assistant/core/pull/119945 +[#119948]: https://github.com/home-assistant/core/pull/119948 +[#119950]: https://github.com/home-assistant/core/pull/119950 +[#119951]: https://github.com/home-assistant/core/pull/119951 +[#119952]: https://github.com/home-assistant/core/pull/119952 +[#119954]: https://github.com/home-assistant/core/pull/119954 +[#119956]: https://github.com/home-assistant/core/pull/119956 +[#119957]: https://github.com/home-assistant/core/pull/119957 +[#119958]: https://github.com/home-assistant/core/pull/119958 +[#119959]: https://github.com/home-assistant/core/pull/119959 +[#119962]: https://github.com/home-assistant/core/pull/119962 +[#119965]: https://github.com/home-assistant/core/pull/119965 +[#119968]: https://github.com/home-assistant/core/pull/119968 +[#119975]: https://github.com/home-assistant/core/pull/119975 +[#119976]: https://github.com/home-assistant/core/pull/119976 +[#119978]: https://github.com/home-assistant/core/pull/119978 +[#119982]: https://github.com/home-assistant/core/pull/119982 +[#119984]: https://github.com/home-assistant/core/pull/119984 +[#119987]: https://github.com/home-assistant/core/pull/119987 +[#119989]: https://github.com/home-assistant/core/pull/119989 +[#119990]: https://github.com/home-assistant/core/pull/119990 +[#119995]: https://github.com/home-assistant/core/pull/119995 +[#119998]: https://github.com/home-assistant/core/pull/119998 +[#120007]: https://github.com/home-assistant/core/pull/120007 +[#120008]: https://github.com/home-assistant/core/pull/120008 +[#120009]: https://github.com/home-assistant/core/pull/120009 +[#120010]: https://github.com/home-assistant/core/pull/120010 +[#120012]: https://github.com/home-assistant/core/pull/120012 +[#120013]: https://github.com/home-assistant/core/pull/120013 +[#120015]: https://github.com/home-assistant/core/pull/120015 +[#120019]: https://github.com/home-assistant/core/pull/120019 +[#120026]: https://github.com/home-assistant/core/pull/120026 +[#120027]: https://github.com/home-assistant/core/pull/120027 +[#120028]: https://github.com/home-assistant/core/pull/120028 +[#120032]: https://github.com/home-assistant/core/pull/120032 +[#120033]: https://github.com/home-assistant/core/pull/120033 +[#120037]: https://github.com/home-assistant/core/pull/120037 +[#120038]: https://github.com/home-assistant/core/pull/120038 +[#120047]: https://github.com/home-assistant/core/pull/120047 +[#120048]: https://github.com/home-assistant/core/pull/120048 +[#120049]: https://github.com/home-assistant/core/pull/120049 +[#120050]: https://github.com/home-assistant/core/pull/120050 +[#120053]: https://github.com/home-assistant/core/pull/120053 +[#120055]: https://github.com/home-assistant/core/pull/120055 +[#120059]: https://github.com/home-assistant/core/pull/120059 +[#120060]: https://github.com/home-assistant/core/pull/120060 +[#120061]: https://github.com/home-assistant/core/pull/120061 +[#120063]: https://github.com/home-assistant/core/pull/120063 +[#120066]: https://github.com/home-assistant/core/pull/120066 +[#120067]: https://github.com/home-assistant/core/pull/120067 +[#120069]: https://github.com/home-assistant/core/pull/120069 +[#120073]: https://github.com/home-assistant/core/pull/120073 +[#120074]: https://github.com/home-assistant/core/pull/120074 +[#120075]: https://github.com/home-assistant/core/pull/120075 +[#120076]: https://github.com/home-assistant/core/pull/120076 +[#120077]: https://github.com/home-assistant/core/pull/120077 +[#120078]: https://github.com/home-assistant/core/pull/120078 +[#120079]: https://github.com/home-assistant/core/pull/120079 +[#120080]: https://github.com/home-assistant/core/pull/120080 +[#120084]: https://github.com/home-assistant/core/pull/120084 +[#120086]: https://github.com/home-assistant/core/pull/120086 +[#120089]: https://github.com/home-assistant/core/pull/120089 +[#120090]: https://github.com/home-assistant/core/pull/120090 +[#120092]: https://github.com/home-assistant/core/pull/120092 +[#120093]: https://github.com/home-assistant/core/pull/120093 +[#120096]: https://github.com/home-assistant/core/pull/120096 +[#120100]: https://github.com/home-assistant/core/pull/120100 +[#120101]: https://github.com/home-assistant/core/pull/120101 +[#120103]: https://github.com/home-assistant/core/pull/120103 +[#120107]: https://github.com/home-assistant/core/pull/120107 +[#120108]: https://github.com/home-assistant/core/pull/120108 +[#120110]: https://github.com/home-assistant/core/pull/120110 +[#120111]: https://github.com/home-assistant/core/pull/120111 +[#120113]: https://github.com/home-assistant/core/pull/120113 +[#120119]: https://github.com/home-assistant/core/pull/120119 +[#120120]: https://github.com/home-assistant/core/pull/120120 +[#120121]: https://github.com/home-assistant/core/pull/120121 +[#120122]: https://github.com/home-assistant/core/pull/120122 +[#120123]: https://github.com/home-assistant/core/pull/120123 +[#120124]: https://github.com/home-assistant/core/pull/120124 +[#120125]: https://github.com/home-assistant/core/pull/120125 +[#120133]: https://github.com/home-assistant/core/pull/120133 +[#120135]: https://github.com/home-assistant/core/pull/120135 +[#120136]: https://github.com/home-assistant/core/pull/120136 +[#120138]: https://github.com/home-assistant/core/pull/120138 +[#120142]: https://github.com/home-assistant/core/pull/120142 +[#120143]: https://github.com/home-assistant/core/pull/120143 +[#120147]: https://github.com/home-assistant/core/pull/120147 +[#120150]: https://github.com/home-assistant/core/pull/120150 +[#120151]: https://github.com/home-assistant/core/pull/120151 +[#120152]: https://github.com/home-assistant/core/pull/120152 +[#120155]: https://github.com/home-assistant/core/pull/120155 +[#120157]: https://github.com/home-assistant/core/pull/120157 +[#120158]: https://github.com/home-assistant/core/pull/120158 +[#120159]: https://github.com/home-assistant/core/pull/120159 +[#120160]: https://github.com/home-assistant/core/pull/120160 +[#120161]: https://github.com/home-assistant/core/pull/120161 +[#120162]: https://github.com/home-assistant/core/pull/120162 +[#120163]: https://github.com/home-assistant/core/pull/120163 +[#120168]: https://github.com/home-assistant/core/pull/120168 +[#120169]: https://github.com/home-assistant/core/pull/120169 +[#120170]: https://github.com/home-assistant/core/pull/120170 +[#120171]: https://github.com/home-assistant/core/pull/120171 +[#120172]: https://github.com/home-assistant/core/pull/120172 +[#120173]: https://github.com/home-assistant/core/pull/120173 +[#120174]: https://github.com/home-assistant/core/pull/120174 +[#120176]: https://github.com/home-assistant/core/pull/120176 +[#120177]: https://github.com/home-assistant/core/pull/120177 +[#120180]: https://github.com/home-assistant/core/pull/120180 +[#120184]: https://github.com/home-assistant/core/pull/120184 +[#120189]: https://github.com/home-assistant/core/pull/120189 +[#120218]: https://github.com/home-assistant/core/pull/120218 +[#120230]: https://github.com/home-assistant/core/pull/120230 +[#120231]: https://github.com/home-assistant/core/pull/120231 +[#120232]: https://github.com/home-assistant/core/pull/120232 +[#120234]: https://github.com/home-assistant/core/pull/120234 +[#120235]: https://github.com/home-assistant/core/pull/120235 +[#120236]: https://github.com/home-assistant/core/pull/120236 +[#120237]: https://github.com/home-assistant/core/pull/120237 +[#120240]: https://github.com/home-assistant/core/pull/120240 +[#120241]: https://github.com/home-assistant/core/pull/120241 +[#120242]: https://github.com/home-assistant/core/pull/120242 +[#120243]: https://github.com/home-assistant/core/pull/120243 +[#120244]: https://github.com/home-assistant/core/pull/120244 +[#120246]: https://github.com/home-assistant/core/pull/120246 +[#120247]: https://github.com/home-assistant/core/pull/120247 +[#120248]: https://github.com/home-assistant/core/pull/120248 +[#120250]: https://github.com/home-assistant/core/pull/120250 +[#120251]: https://github.com/home-assistant/core/pull/120251 +[#120253]: https://github.com/home-assistant/core/pull/120253 +[#120256]: https://github.com/home-assistant/core/pull/120256 +[#120257]: https://github.com/home-assistant/core/pull/120257 +[#120258]: https://github.com/home-assistant/core/pull/120258 +[#120261]: https://github.com/home-assistant/core/pull/120261 +[#120271]: https://github.com/home-assistant/core/pull/120271 +[#120274]: https://github.com/home-assistant/core/pull/120274 +[#120275]: https://github.com/home-assistant/core/pull/120275 +[#120276]: https://github.com/home-assistant/core/pull/120276 +[#120277]: https://github.com/home-assistant/core/pull/120277 +[#120279]: https://github.com/home-assistant/core/pull/120279 +[#120280]: https://github.com/home-assistant/core/pull/120280 +[#120284]: https://github.com/home-assistant/core/pull/120284 +[#120286]: https://github.com/home-assistant/core/pull/120286 +[#120288]: https://github.com/home-assistant/core/pull/120288 +[#120289]: https://github.com/home-assistant/core/pull/120289 +[#120290]: https://github.com/home-assistant/core/pull/120290 +[#120291]: https://github.com/home-assistant/core/pull/120291 +[#120295]: https://github.com/home-assistant/core/pull/120295 +[#120296]: https://github.com/home-assistant/core/pull/120296 +[#120297]: https://github.com/home-assistant/core/pull/120297 +[#120303]: https://github.com/home-assistant/core/pull/120303 +[#120305]: https://github.com/home-assistant/core/pull/120305 +[#120306]: https://github.com/home-assistant/core/pull/120306 +[#120309]: https://github.com/home-assistant/core/pull/120309 +[#120311]: https://github.com/home-assistant/core/pull/120311 +[#120312]: https://github.com/home-assistant/core/pull/120312 +[#120313]: https://github.com/home-assistant/core/pull/120313 +[#120314]: https://github.com/home-assistant/core/pull/120314 +[#120315]: https://github.com/home-assistant/core/pull/120315 +[#120316]: https://github.com/home-assistant/core/pull/120316 +[#120317]: https://github.com/home-assistant/core/pull/120317 +[#120318]: https://github.com/home-assistant/core/pull/120318 +[#120319]: https://github.com/home-assistant/core/pull/120319 +[#120321]: https://github.com/home-assistant/core/pull/120321 +[#120322]: https://github.com/home-assistant/core/pull/120322 +[#120323]: https://github.com/home-assistant/core/pull/120323 +[#120324]: https://github.com/home-assistant/core/pull/120324 +[#120325]: https://github.com/home-assistant/core/pull/120325 +[#120326]: https://github.com/home-assistant/core/pull/120326 +[#120327]: https://github.com/home-assistant/core/pull/120327 +[#120328]: https://github.com/home-assistant/core/pull/120328 +[#120329]: https://github.com/home-assistant/core/pull/120329 +[#120332]: https://github.com/home-assistant/core/pull/120332 +[#120333]: https://github.com/home-assistant/core/pull/120333 +[#120335]: https://github.com/home-assistant/core/pull/120335 +[#120336]: https://github.com/home-assistant/core/pull/120336 +[#120337]: https://github.com/home-assistant/core/pull/120337 +[#120338]: https://github.com/home-assistant/core/pull/120338 +[#120339]: https://github.com/home-assistant/core/pull/120339 +[#120340]: https://github.com/home-assistant/core/pull/120340 +[#120341]: https://github.com/home-assistant/core/pull/120341 +[#120343]: https://github.com/home-assistant/core/pull/120343 +[#120344]: https://github.com/home-assistant/core/pull/120344 +[#120345]: https://github.com/home-assistant/core/pull/120345 +[#120346]: https://github.com/home-assistant/core/pull/120346 +[#120347]: https://github.com/home-assistant/core/pull/120347 +[#120348]: https://github.com/home-assistant/core/pull/120348 +[#120350]: https://github.com/home-assistant/core/pull/120350 +[#120351]: https://github.com/home-assistant/core/pull/120351 +[#120352]: https://github.com/home-assistant/core/pull/120352 +[#120353]: https://github.com/home-assistant/core/pull/120353 +[#120355]: https://github.com/home-assistant/core/pull/120355 +[#120358]: https://github.com/home-assistant/core/pull/120358 +[#120359]: https://github.com/home-assistant/core/pull/120359 +[#120360]: https://github.com/home-assistant/core/pull/120360 +[#120361]: https://github.com/home-assistant/core/pull/120361 +[#120362]: https://github.com/home-assistant/core/pull/120362 +[#120363]: https://github.com/home-assistant/core/pull/120363 +[#120364]: https://github.com/home-assistant/core/pull/120364 +[#120367]: https://github.com/home-assistant/core/pull/120367 +[#120369]: https://github.com/home-assistant/core/pull/120369 +[#120371]: https://github.com/home-assistant/core/pull/120371 +[#120373]: https://github.com/home-assistant/core/pull/120373 +[#120376]: https://github.com/home-assistant/core/pull/120376 +[#120377]: https://github.com/home-assistant/core/pull/120377 +[#120379]: https://github.com/home-assistant/core/pull/120379 +[#120380]: https://github.com/home-assistant/core/pull/120380 +[#120384]: https://github.com/home-assistant/core/pull/120384 +[#120385]: https://github.com/home-assistant/core/pull/120385 +[#120386]: https://github.com/home-assistant/core/pull/120386 +[#120387]: https://github.com/home-assistant/core/pull/120387 +[#120388]: https://github.com/home-assistant/core/pull/120388 +[#120389]: https://github.com/home-assistant/core/pull/120389 +[#120390]: https://github.com/home-assistant/core/pull/120390 +[#120391]: https://github.com/home-assistant/core/pull/120391 +[#120392]: https://github.com/home-assistant/core/pull/120392 +[#120393]: https://github.com/home-assistant/core/pull/120393 +[#120395]: https://github.com/home-assistant/core/pull/120395 +[#120397]: https://github.com/home-assistant/core/pull/120397 +[#120399]: https://github.com/home-assistant/core/pull/120399 +[#120400]: https://github.com/home-assistant/core/pull/120400 +[#120401]: https://github.com/home-assistant/core/pull/120401 +[#120402]: https://github.com/home-assistant/core/pull/120402 +[#120403]: https://github.com/home-assistant/core/pull/120403 +[#120405]: https://github.com/home-assistant/core/pull/120405 +[#120406]: https://github.com/home-assistant/core/pull/120406 +[#120407]: https://github.com/home-assistant/core/pull/120407 +[#120409]: https://github.com/home-assistant/core/pull/120409 +[#120410]: https://github.com/home-assistant/core/pull/120410 +[#120411]: https://github.com/home-assistant/core/pull/120411 +[#120412]: https://github.com/home-assistant/core/pull/120412 +[#120413]: https://github.com/home-assistant/core/pull/120413 +[#120414]: https://github.com/home-assistant/core/pull/120414 +[#120415]: https://github.com/home-assistant/core/pull/120415 +[#120416]: https://github.com/home-assistant/core/pull/120416 +[#120417]: https://github.com/home-assistant/core/pull/120417 +[#120420]: https://github.com/home-assistant/core/pull/120420 +[#120428]: https://github.com/home-assistant/core/pull/120428 +[#120430]: https://github.com/home-assistant/core/pull/120430 +[#120432]: https://github.com/home-assistant/core/pull/120432 +[#120433]: https://github.com/home-assistant/core/pull/120433 +[#120440]: https://github.com/home-assistant/core/pull/120440 +[#120441]: https://github.com/home-assistant/core/pull/120441 +[#120442]: https://github.com/home-assistant/core/pull/120442 +[#120443]: https://github.com/home-assistant/core/pull/120443 +[#120444]: https://github.com/home-assistant/core/pull/120444 +[#120445]: https://github.com/home-assistant/core/pull/120445 +[#120446]: https://github.com/home-assistant/core/pull/120446 +[#120447]: https://github.com/home-assistant/core/pull/120447 +[#120450]: https://github.com/home-assistant/core/pull/120450 +[#120451]: https://github.com/home-assistant/core/pull/120451 +[#120452]: https://github.com/home-assistant/core/pull/120452 +[#120456]: https://github.com/home-assistant/core/pull/120456 +[#120461]: https://github.com/home-assistant/core/pull/120461 +[#120462]: https://github.com/home-assistant/core/pull/120462 +[#120464]: https://github.com/home-assistant/core/pull/120464 +[#120466]: https://github.com/home-assistant/core/pull/120466 +[#120470]: https://github.com/home-assistant/core/pull/120470 +[#120471]: https://github.com/home-assistant/core/pull/120471 +[#120473]: https://github.com/home-assistant/core/pull/120473 +[#120474]: https://github.com/home-assistant/core/pull/120474 +[#120475]: https://github.com/home-assistant/core/pull/120475 +[#120476]: https://github.com/home-assistant/core/pull/120476 +[#120477]: https://github.com/home-assistant/core/pull/120477 +[#120478]: https://github.com/home-assistant/core/pull/120478 +[#120479]: https://github.com/home-assistant/core/pull/120479 +[#120480]: https://github.com/home-assistant/core/pull/120480 +[#120481]: https://github.com/home-assistant/core/pull/120481 +[#120482]: https://github.com/home-assistant/core/pull/120482 +[#120483]: https://github.com/home-assistant/core/pull/120483 +[#120485]: https://github.com/home-assistant/core/pull/120485 +[#120489]: https://github.com/home-assistant/core/pull/120489 +[#120490]: https://github.com/home-assistant/core/pull/120490 +[#120491]: https://github.com/home-assistant/core/pull/120491 +[#120493]: https://github.com/home-assistant/core/pull/120493 +[#120494]: https://github.com/home-assistant/core/pull/120494 +[#120495]: https://github.com/home-assistant/core/pull/120495 +[#120496]: https://github.com/home-assistant/core/pull/120496 +[#120497]: https://github.com/home-assistant/core/pull/120497 +[#120500]: https://github.com/home-assistant/core/pull/120500 +[#120502]: https://github.com/home-assistant/core/pull/120502 +[#120503]: https://github.com/home-assistant/core/pull/120503 +[#120504]: https://github.com/home-assistant/core/pull/120504 +[#120505]: https://github.com/home-assistant/core/pull/120505 +[#120508]: https://github.com/home-assistant/core/pull/120508 +[#120509]: https://github.com/home-assistant/core/pull/120509 +[#120510]: https://github.com/home-assistant/core/pull/120510 +[#120512]: https://github.com/home-assistant/core/pull/120512 +[#120514]: https://github.com/home-assistant/core/pull/120514 +[#120518]: https://github.com/home-assistant/core/pull/120518 +[#120520]: https://github.com/home-assistant/core/pull/120520 +[#120521]: https://github.com/home-assistant/core/pull/120521 +[#120522]: https://github.com/home-assistant/core/pull/120522 +[#120523]: https://github.com/home-assistant/core/pull/120523 +[#120524]: https://github.com/home-assistant/core/pull/120524 +[#120525]: https://github.com/home-assistant/core/pull/120525 +[#120526]: https://github.com/home-assistant/core/pull/120526 +[#120527]: https://github.com/home-assistant/core/pull/120527 +[#120529]: https://github.com/home-assistant/core/pull/120529 +[#120530]: https://github.com/home-assistant/core/pull/120530 +[#120531]: https://github.com/home-assistant/core/pull/120531 +[#120532]: https://github.com/home-assistant/core/pull/120532 +[#120533]: https://github.com/home-assistant/core/pull/120533 +[#120534]: https://github.com/home-assistant/core/pull/120534 +[#120535]: https://github.com/home-assistant/core/pull/120535 +[#120536]: https://github.com/home-assistant/core/pull/120536 +[#120537]: https://github.com/home-assistant/core/pull/120537 +[#120539]: https://github.com/home-assistant/core/pull/120539 +[#120540]: https://github.com/home-assistant/core/pull/120540 +[#120541]: https://github.com/home-assistant/core/pull/120541 +[#120542]: https://github.com/home-assistant/core/pull/120542 +[#120544]: https://github.com/home-assistant/core/pull/120544 +[#120545]: https://github.com/home-assistant/core/pull/120545 +[#120546]: https://github.com/home-assistant/core/pull/120546 +[#120547]: https://github.com/home-assistant/core/pull/120547 +[#120548]: https://github.com/home-assistant/core/pull/120548 +[#120549]: https://github.com/home-assistant/core/pull/120549 +[#120551]: https://github.com/home-assistant/core/pull/120551 +[#120552]: https://github.com/home-assistant/core/pull/120552 +[#120554]: https://github.com/home-assistant/core/pull/120554 +[#120556]: https://github.com/home-assistant/core/pull/120556 +[#120558]: https://github.com/home-assistant/core/pull/120558 +[#120559]: https://github.com/home-assistant/core/pull/120559 +[#120560]: https://github.com/home-assistant/core/pull/120560 +[#120561]: https://github.com/home-assistant/core/pull/120561 +[#120563]: https://github.com/home-assistant/core/pull/120563 +[#120564]: https://github.com/home-assistant/core/pull/120564 +[#120565]: https://github.com/home-assistant/core/pull/120565 +[#120566]: https://github.com/home-assistant/core/pull/120566 +[#120567]: https://github.com/home-assistant/core/pull/120567 +[#120569]: https://github.com/home-assistant/core/pull/120569 +[#120570]: https://github.com/home-assistant/core/pull/120570 +[#120572]: https://github.com/home-assistant/core/pull/120572 +[#86907]: https://github.com/home-assistant/core/pull/86907 +[@2sheds]: https://github.com/2sheds +[@AlCalzone]: https://github.com/AlCalzone +[@Betacart]: https://github.com/Betacart +[@Bouke]: https://github.com/Bouke +[@Bre77]: https://github.com/Bre77 +[@CFenner]: https://github.com/CFenner +[@Caius-Bonus]: https://github.com/Caius-Bonus +[@ChristophCaina]: https://github.com/ChristophCaina +[@Darsstar]: https://github.com/Darsstar +[@DeKaN]: https://github.com/DeKaN +[@Ernst79]: https://github.com/Ernst79 +[@EtienneSOU]: https://github.com/EtienneSOU +[@EuleMitKeule]: https://github.com/EuleMitKeule +[@GraceGRD]: https://github.com/GraceGRD +[@Grubalex]: https://github.com/Grubalex +[@Guy293]: https://github.com/Guy293 +[@HarvsG]: https://github.com/HarvsG +[@IceBotYT]: https://github.com/IceBotYT +[@Ishima]: https://github.com/Ishima +[@JakeMartin-ICL]: https://github.com/JakeMartin-ICL +[@Jordi1990]: https://github.com/Jordi1990 +[@Kane610]: https://github.com/Kane610 +[@Lash-L]: https://github.com/Lash-L +[@LennP]: https://github.com/LennP +[@MallocArray]: https://github.com/MallocArray +[@MarkGodwin]: https://github.com/MarkGodwin +[@NECH2004]: https://github.com/NECH2004 +[@Noltari]: https://github.com/Noltari +[@OnFreund]: https://github.com/OnFreund +[@OzGav]: https://github.com/OzGav +[@PeteRager]: https://github.com/PeteRager +[@RJPoelstra]: https://github.com/RJPoelstra +[@SLaks]: https://github.com/SLaks +[@Sebclem]: https://github.com/Sebclem +[@Sese-Schneider]: https://github.com/Sese-Schneider +[@Shulyaka]: https://github.com/Shulyaka +[@StevenLooman]: https://github.com/StevenLooman +[@TheJulianJES]: https://github.com/TheJulianJES +[@Thomas55555]: https://github.com/Thomas55555 +[@Virenbar]: https://github.com/Virenbar +[@Yazanmy]: https://github.com/Yazanmy +[@abmantis]: https://github.com/abmantis +[@agners]: https://github.com/agners +[@alexandrecuer]: https://github.com/alexandrecuer +[@allenporter]: https://github.com/allenporter +[@arturpragacz]: https://github.com/arturpragacz +[@ashionky]: https://github.com/ashionky +[@astrandb]: https://github.com/astrandb +[@autinerd]: https://github.com/autinerd +[@azerty9971]: https://github.com/azerty9971 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@basbruss]: https://github.com/basbruss +[@bdraco]: https://github.com/bdraco +[@beastie29a]: https://github.com/beastie29a +[@bieniu]: https://github.com/bieniu +[@bjpetit]: https://github.com/bjpetit +[@boralyl]: https://github.com/boralyl +[@boswelja]: https://github.com/boswelja +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@c0ffeeca7]: https://github.com/c0ffeeca7 +[@cRemE-fReSh]: https://github.com/cRemE-fReSh +[@catsmanac]: https://github.com/catsmanac +[@cdce8p]: https://github.com/cdce8p +[@cermakjn]: https://github.com/cermakjn +[@cgarwood]: https://github.com/cgarwood +[@chamberlain2007]: https://github.com/chamberlain2007 +[@chammp]: https://github.com/chammp +[@chemelli74]: https://github.com/chemelli74 +[@cottsay]: https://github.com/cottsay +[@cyr-ius]: https://github.com/cyr-ius +[@dalinicus]: https://github.com/dalinicus +[@davet2001]: https://github.com/davet2001 +[@david1024pl]: https://github.com/david1024pl +[@dbrgn]: https://github.com/dbrgn +[@dgomes]: https://github.com/dgomes +[@dknowles2]: https://github.com/dknowles2 +[@dkrahmer]: https://github.com/dkrahmer +[@dontinelli]: https://github.com/dontinelli +[@dougiteixeira]: https://github.com/dougiteixeira +[@dsymonds]: https://github.com/dsymonds +[@edenhaus]: https://github.com/edenhaus +[@eifinger]: https://github.com/eifinger +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@engrbm87]: https://github.com/engrbm87 +[@epenet]: https://github.com/epenet +[@erwindouna]: https://github.com/erwindouna +[@ethemcemozkan]: https://github.com/ethemcemozkan +[@etnoy]: https://github.com/etnoy +[@farmio]: https://github.com/farmio +[@focabr]: https://github.com/focabr +[@freekode]: https://github.com/freekode +[@frenck]: https://github.com/frenck +[@gedaliahknizhnik]: https://github.com/gedaliahknizhnik +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@gjong]: https://github.com/gjong +[@hahn-th]: https://github.com/hahn-th +[@huyuwei1996]: https://github.com/huyuwei1996 +[@igorsantos07]: https://github.com/igorsantos07 +[@iprak]: https://github.com/iprak +[@j-a-n]: https://github.com/j-a-n +[@jafar-atili]: https://github.com/jafar-atili +[@jaraco]: https://github.com/jaraco +[@jaym25]: https://github.com/jaym25 +[@jbouwh]: https://github.com/jbouwh +[@jeeftor]: https://github.com/jeeftor +[@jesserockz]: https://github.com/jesserockz +[@jgaedicke]: https://github.com/jgaedicke +[@joostlek]: https://github.com/joostlek +[@jpbede]: https://github.com/jpbede +[@jschlyter]: https://github.com/jschlyter +[@jvmahon]: https://github.com/jvmahon +[@karwosts]: https://github.com/karwosts +[@kvakulo]: https://github.com/kvakulo +[@kvanzuijlen]: https://github.com/kvanzuijlen +[@lboue]: https://github.com/lboue +[@lnx85]: https://github.com/lnx85 +[@luca-angemi]: https://github.com/luca-angemi +[@marcelveldt]: https://github.com/marcelveldt +[@matrixd2]: https://github.com/matrixd2 +[@mawoka-myblock]: https://github.com/mawoka-myblock +[@meee1]: https://github.com/meee1 +[@miaucl]: https://github.com/miaucl +[@mib1185]: https://github.com/mib1185 +[@middlingphys]: https://github.com/middlingphys +[@mikosoft83]: https://github.com/mikosoft83 +[@mj23000]: https://github.com/mj23000 +[@mletenay]: https://github.com/mletenay +[@mtielen]: https://github.com/mtielen +[@natekspencer]: https://github.com/natekspencer +[@neturmel]: https://github.com/neturmel +[@ollo69]: https://github.com/ollo69 +[@osohotwateriot]: https://github.com/osohotwateriot +[@paulusbrand]: https://github.com/paulusbrand +[@pavoni]: https://github.com/pavoni +[@peteS-UK]: https://github.com/peteS-UK +[@piitaya]: https://github.com/piitaya +[@puddly]: https://github.com/puddly +[@r-xyz]: https://github.com/r-xyz +[@raman325]: https://github.com/raman325 +[@rikroe]: https://github.com/rikroe +[@riokuu]: https://github.com/riokuu +[@rokam]: https://github.com/rokam +[@ronweikamp]: https://github.com/ronweikamp +[@rwalker777]: https://github.com/rwalker777 +[@rytilahti]: https://github.com/rytilahti +[@sdb9696]: https://github.com/sdb9696 +[@shaiu]: https://github.com/shaiu +[@slovdahl]: https://github.com/slovdahl +[@starkillerOG]: https://github.com/starkillerOG +[@swistakm]: https://github.com/swistakm +[@synesthesiam]: https://github.com/synesthesiam +[@szclsya]: https://github.com/szclsya +[@t0bst4r]: https://github.com/t0bst4r +[@teharris1]: https://github.com/teharris1 +[@thecode]: https://github.com/thecode +[@themaxgross]: https://github.com/themaxgross +[@thomaskistler]: https://github.com/thomaskistler +[@timmo001]: https://github.com/timmo001 +[@tkdrob]: https://github.com/tkdrob +[@tr4nt0r]: https://github.com/tr4nt0r +[@treetip]: https://github.com/treetip +[@tronikos]: https://github.com/tronikos +[@tsmt09]: https://github.com/tsmt09 +[@tsvi]: https://github.com/tsvi +[@vmonkey]: https://github.com/vmonkey +[@wfltaylor]: https://github.com/wfltaylor +[@wgrant]: https://github.com/wgrant +[@wittypluck]: https://github.com/wittypluck +[@xyzroe]: https://github.com/xyzroe +[@yuxincs]: https://github.com/yuxincs +[@zweckj]: https://github.com/zweckj +[@zxdavb]: https://github.com/zxdavb diff --git a/source/images/blog/2024-07/datatables-customize-columns.png b/source/images/blog/2024-07/datatables-customize-columns.png new file mode 100644 index 0000000000000000000000000000000000000000..ed302ad11e7bba27eea9aa3ebf1156aa0935a949 GIT binary patch literal 15957 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 z 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 literal 0 HcmV?d00001 From 361c523858fec252ac07b37ecf343b75efefd15a Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 26 Jun 2024 17:09:47 +0200 Subject: [PATCH 02/79] 2024.7: Fixes --- source/_posts/2024-07-03-release-20247.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/2024-07-03-release-20247.markdown b/source/_posts/2024-07-03-release-20247.markdown index d56e9b89ae1..4ebd6177279 100644 --- a/source/_posts/2024-07-03-release-20247.markdown +++ b/source/_posts/2024-07-03-release-20247.markdown @@ -95,7 +95,7 @@ Don't forget to [join our release party live stream on YouTube](https://www.yout ## Resize the cards on your Dashboard As [part of our roadmap](/blog/2024/06/12/roadmap-2024h1/#dashboards), we're -keeping up the work on making dashboard organization and and organization easier +keeping up the work on making dashboard organization and customization easier and more intuitive. This month, we add the ability to resize the cards on your dashboard! @@ -138,7 +138,7 @@ your home? Well, now you can! πŸŽ‰

- Screenshot of... + Screenshot of... Temporary screenshot, image needs to be replaced by an actual screenshot.

@@ -200,7 +200,7 @@ changes to existing integrations: - The **[Reolink]** integration has seen a lot of improvements, thanks to [@starkillerOG]. They added support for manual recording, software updates for more cameras, and playback of the auto track lens. πŸŽ₯ -- The [Bang & Olufsen] integration now supports announcements and support +- The **[Bang & Olufsen]** integration now supports announcements and support for Tidal has been added too! Nice work [@mj23000]! - [@joostlek] added the event entity to the **[Nanoleaf]** integration, allowing you to trigger automations you touch your Nanoleaf panels. Nice! From 315b0a060131aa50833ecb2280b13cb4b5792ca1 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 27 Jun 2024 09:44:37 +0200 Subject: [PATCH 03/79] 2024.7: Feedback, tweaks and fixes --- source/_posts/2024-07-03-release-20247.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_posts/2024-07-03-release-20247.markdown b/source/_posts/2024-07-03-release-20247.markdown index 4ebd6177279..dab7ffd5d47 100644 --- a/source/_posts/2024-07-03-release-20247.markdown +++ b/source/_posts/2024-07-03-release-20247.markdown @@ -191,9 +191,10 @@ changes to existing integrations: configure the behavior of your Matter lights, thanks [@jvmahon]! - The **[AndroidTV]** integration now supports remote entities, allowing you to remotely control your Android TV, thanks [@ollo69]! -- [@tronikos] added support for pulling in the camera from the tablet running - **[Fully Kiosk Browser]**, and for taking screenshots and sending - notifications to the tablet. Nice! +- [@tronikos] has added support for integrating the camera from the tablet + running **[Fully Kiosk Browser]**. Furthermore, there's now an image entity + for taking screenshots, the ability to send notifications and text-to-speech + messages to the tablet, and the media player can now play videos! Nice! - We've seen a lot of improvements to the **[UniFi Protect]** integration, thanks to [@bdraco]. [@wfltaylor] chipped in as well, adding support for animal detection sensors. 🐢🐱🐰 @@ -339,7 +340,7 @@ noteworthy changes this release: - Home Assistant will now raise a repair issue if an automation can't be set up (for example, because of YAML syntax errors). Thanks [@emontnemery]! - We now show additional entity categories on the device page, grouping - [notification] entities in a "Notification" category. Furthermore and all + [notification] entities in a "Notification" category. Furthermore all [Assist] related entities, like [conversation agents and text-to-speech] entities, are now grouped in an "Assist" category. Thanks [@balloob]! - [Trend helpers] are now automatically linked to the same device as the source @@ -722,7 +723,8 @@ to `uv_installed` and `filter_installed`. {% details "UniFi Protect" %} -UI has removed this functionality in UI Protect 4.x. +The set default doorbell text service (`set_default_doorbell_text`) has been +removed. UI has removed this functionality in UI Protect 4.x. It is still possible to set a custom message using the other services (`unifiprotect.add_doorbell_text` and `unifiprotect.remove_doorbell_text`, From 7e64c9a5aaaa76ef8bfed4a4fc8c0922472e486a Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 27 Jun 2024 20:03:30 +0200 Subject: [PATCH 04/79] 2024.7: Feedback, tweaks and fixes --- source/_posts/2024-07-03-release-20247.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/_posts/2024-07-03-release-20247.markdown b/source/_posts/2024-07-03-release-20247.markdown index dab7ffd5d47..d3d229feb05 100644 --- a/source/_posts/2024-07-03-release-20247.markdown +++ b/source/_posts/2024-07-03-release-20247.markdown @@ -248,6 +248,7 @@ The following {% term integrations %} reached the platinum πŸ† level on our [integration quality scale](/docs/quality_scale). These integrations are the best of the best and give you an excellent out-of-the-box experience. +- **[ESPHome]**, done by [@jesserockz] & [@bdraco] - **[pyLoad]**, done by [@tr4nt0r] - **[Teslemetry]**, done by [@Bre77] @@ -322,6 +323,9 @@ and the maker of that device provides updates for it, you can now update that device directly from Home Assistant; without the need for you to build, adopt, or set up the the ESPHome software yourself! 😎 +Finally, the ESPHome integration now also reached the platinum integration +quality level! πŸ† + [been donated]: https://esphome.io/changelog/2024.6.0.html#esphome-branding [ESPHome]: https://esphome.io [Made for ESPHome]: https://esphome.io/guides/made_for_esphome @@ -376,8 +380,9 @@ _TODO: insert screenshot_ Assigning a template entity to an existing device can be very useful if you have a template that calculates an additional sensor value for a device. -This feature is available not only from the UI but also for those who prefer to -useΒ {% term "Configuration file" "YAML configuration" %}. + +_Note: This feature is only available for template entities that are created +from the UI._ [Template entities]: /integrations/template [@dougiteixeira]: https://github.com/dougiteixeira From a5df9fe9f28f8739f7138fdf33eddf7947ddd354 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 30 Jun 2024 14:08:20 +0200 Subject: [PATCH 05/79] 2024.7: Migrate note to new alert box format --- source/_posts/2024-07-03-release-20247.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_posts/2024-07-03-release-20247.markdown b/source/_posts/2024-07-03-release-20247.markdown index d3d229feb05..1219f28f5e0 100644 --- a/source/_posts/2024-07-03-release-20247.markdown +++ b/source/_posts/2024-07-03-release-20247.markdown @@ -15,7 +15,7 @@ og_image: /images/blog/2024-07/social.png -
+{% note %} **Welcome to the beta release notes for Home Assistant 2024.7** πŸŽ‰ @@ -58,7 +58,7 @@ issue correctly. Read more about [reporting issues here](/help/reporting_issues/ Issues introduced in the beta are processed with priority. πŸ” -
+{% endnote %} Home Assistant 2024.7! πŸŽ‰ From f76dc766a83716e6fd1feb215361194b03122ddc Mon Sep 17 00:00:00 2001 From: Madelena Mak Date: Sun, 30 Jun 2024 08:27:27 -0400 Subject: [PATCH 06/79] Fix for #33477 (#33479) --- source/_includes/javascripts/scripts.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_includes/javascripts/scripts.html b/source/_includes/javascripts/scripts.html index 649d2630201..b3ce054edf1 100644 --- a/source/_includes/javascripts/scripts.html +++ b/source/_includes/javascripts/scripts.html @@ -23,7 +23,7 @@ document.querySelector('.site-title').addEventListener('contextmenu', function(e const changeNavColor = () => { const scrollPosition = document.documentElement.scrollTop; const nav = document.querySelector("header"); - if (scrollPosition <= 10) { + if (scrollPosition <= 1) { nav.classList.add("dark"); } else { nav.classList.remove("dark"); From 040c2a5a85525cb27e4f0a347df49e5fd6cec348 Mon Sep 17 00:00:00 2001 From: Madelena Mak Date: Sun, 30 Jun 2024 08:30:33 -0400 Subject: [PATCH 07/79] Fix buttons on the Installation page (#33480) --- sass/homeassistant/pages/_getting_started.scss | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/sass/homeassistant/pages/_getting_started.scss b/sass/homeassistant/pages/_getting_started.scss index c088c200a13..4d18be6c3da 100644 --- a/sass/homeassistant/pages/_getting_started.scss +++ b/sass/homeassistant/pages/_getting_started.scss @@ -127,18 +127,30 @@ .button { display: flex; padding-right: 20px; + border-radius: 32px; + &:not(:first-child) { margin-top: 12px; } - &.accent { - background-color: #34b155; + iconify-icon.external-link { + padding-top: 4px; } + svg { - fill: white; + fill: $link-color; height: 24px; min-width: 24px; } + + &.accent { + background-color: #34b155; + color: white; + + svg { + fill: white; + } + } } } } From d833ed794f482bcfe9a556741ccfe6cd427550fe Mon Sep 17 00:00:00 2001 From: Madelena Mak Date: Sun, 30 Jun 2024 08:32:36 -0400 Subject: [PATCH 08/79] Fix clipping text on frontpage (#33478) --- sass/homeassistant/_overrides.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/sass/homeassistant/_overrides.scss b/sass/homeassistant/_overrides.scss index 879811d10b1..95b7836f3a8 100644 --- a/sass/homeassistant/_overrides.scss +++ b/sass/homeassistant/_overrides.scss @@ -620,7 +620,6 @@ article.page, article.listing { font-size: 1.125em; line-height: 1.6; - overflow: hidden; img, table { From de34783512cd511223236c3a1a6a51183a63cd8b Mon Sep 17 00:00:00 2001 From: StevenBay Date: Sun, 30 Jun 2024 15:07:43 +0200 Subject: [PATCH 09/79] Update glances.markdown (#33470) --- source/_integrations/glances.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/glances.markdown b/source/_integrations/glances.markdown index f2b017eb173..9e31f40c68c 100644 --- a/source/_integrations/glances.markdown +++ b/source/_integrations/glances.markdown @@ -22,7 +22,7 @@ The `glances` integration allows you to monitor the system information provided Support for Glances api version 2 is deprecated. It is recommended to upgrade your Glances server to version 3. Once upgraded, reload the integration to connect again. {% endimportant %} -These sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3. +These sensors needs a running instance of `glances` in [Web Server Mode](https://glances.readthedocs.io/en/latest/quickstart.html#web-server-mode) on the host. The minimal supported version of `glances` is 2.3. For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd). From 20b78329ac05aa1c74453384f55982d04e8d9709 Mon Sep 17 00:00:00 2001 From: DavHau Date: Sun, 30 Jun 2024 20:21:47 +0700 Subject: [PATCH 10/79] broadlink: requires app to connect (#33466) --- source/_integrations/broadlink.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown index ffd66c4926f..51b6cbbf8f3 100644 --- a/source/_integrations/broadlink.markdown +++ b/source/_integrations/broadlink.markdown @@ -29,7 +29,11 @@ related: title: Configuration file --- -The **Broadlink** {% term integration %} allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors. The following devices are supported: +The **Broadlink** {% term integration %} allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors. + +The manufacturer's app is required in order to connect new devices to the network. + +The following devices are supported: - Thermostats: `Hysen HY02B05H` and `Floureon HY03WE` - Power Strips: `MP1-1K3S2U` and `MP1-1K4S` From 7de5cd86d54dae9b96f0635814b90aa39c9c0c96 Mon Sep 17 00:00:00 2001 From: Ashton Lafferty Date: Sun, 30 Jun 2024 07:22:54 -0600 Subject: [PATCH 11/79] Update marytts.markdown (#33464) --- source/_integrations/marytts.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/marytts.markdown b/source/_integrations/marytts.markdown index 609f2bd2a88..6b2034515ea 100644 --- a/source/_integrations/marytts.markdown +++ b/source/_integrations/marytts.markdown @@ -14,7 +14,7 @@ related: title: Configuration file --- -The `marytts` text-to-speech {% term integration %} uses [MaryTTS](http://mary.dfki.de/) text-to-speech engine to read a text with natural sounding voices. +The `marytts` text-to-speech {% term integration %} uses [MaryTTS](https://marytts.github.io/) text-to-speech engine to read a text with natural sounding voices. ## Configuration @@ -59,7 +59,7 @@ effect: type: map {% endconfiguration %} -See [documentation](http://mary.dfki.de/documentation/index.html) for details. +See [documentation](https://marytts.github.io/documentation/index.html) for details. ## Speech effects From d69ba5a735a5787c48c3f1f3b366db7bc4d7c6e0 Mon Sep 17 00:00:00 2001 From: Madelena Mak Date: Sun, 30 Jun 2024 09:37:01 -0400 Subject: [PATCH 12/79] Remove max-height from sidebar when mobile (#33481) --- sass/homeassistant/base/_sidebar.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sass/homeassistant/base/_sidebar.scss b/sass/homeassistant/base/_sidebar.scss index d4af6318959..f0ad38166e1 100644 --- a/sass/homeassistant/base/_sidebar.scss +++ b/sass/homeassistant/base/_sidebar.scss @@ -44,6 +44,8 @@ @media only screen and (max-width: $lap-end) { #sidebar { + max-height: fit-content; + .grid { position: initial; width: 100%; From 8895a01ced9eb26acc45922bf2aa13f0623dcf2f Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 30 Jun 2024 16:24:37 +0200 Subject: [PATCH 13/79] Add more icons to aside sections (#33482) --- source/_includes/asides/about.html | 2 +- source/_includes/asides/categories.html | 2 +- source/_includes/asides/dashboards_navigation.html | 8 ++++---- source/_includes/asides/recent_posts.html | 2 +- source/_includes/asides/voice_navigation.html | 8 ++++---- source/_includes/post/sharing.html | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/source/_includes/asides/about.html b/source/_includes/asides/about.html index a6322ca06ac..1c6c6e0bd26 100644 --- a/source/_includes/asides/about.html +++ b/source/_includes/asides/about.html @@ -1,5 +1,5 @@
-

About Home Assistant

+

About Home Assistant

System status