diff --git a/CODEOWNERS b/CODEOWNERS index b7fcf5dd75b..979c8f57e93 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -60,6 +60,7 @@ source/_integrations/assist_pipeline.markdown @balloob @synesthesiam source/_integrations/asuswrt.markdown @kennedyshead @ollo69 source/_integrations/atag.markdown @MatsNL source/_integrations/aten_pe.markdown @mtdcr +source/_integrations/atlanticcityelectric.markdown @tronikos source/_integrations/atome.markdown @baqs source/_integrations/august.markdown @bdraco source/_integrations/august_ble.markdown @bdraco @@ -79,6 +80,7 @@ source/_integrations/baf.markdown @bdraco @jfroy source/_integrations/balboa.markdown @garbled1 @natekspencer source/_integrations/bayesian.markdown @HarvsG 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 @@ -111,7 +113,7 @@ source/_integrations/button.markdown @home-assistant/core source/_integrations/calendar.markdown @home-assistant/core source/_integrations/camera.markdown @home-assistant/core source/_integrations/cast.markdown @emontnemery -source/_integrations/cert_expiry.markdown @Cereal2nd @jjlawren +source/_integrations/cert_expiry.markdown @jjlawren source/_integrations/circuit.markdown @braam source/_integrations/cisco_ios.markdown @fbradyirl source/_integrations/cisco_mobility_express.markdown @fbradyirl @@ -121,6 +123,7 @@ source/_integrations/cloud.markdown @home-assistant/cloud source/_integrations/cloudflare.markdown @ludeeus @ctalkington source/_integrations/coinbase.markdown @tombrien source/_integrations/color_extractor.markdown @GenericStudent +source/_integrations/comed.markdown @tronikos source/_integrations/comfoconnect.markdown @michaelarnauts source/_integrations/command_line.markdown @gjohansson-ST source/_integrations/compensation.markdown @Petro31 @@ -143,6 +146,7 @@ source/_integrations/debugpy.markdown @frenck source/_integrations/deconz.markdown @Kane610 source/_integrations/default_config.markdown @home-assistant/core source/_integrations/delijn.markdown @bollewolle @Emilv2 +source/_integrations/delmarva.markdown @tronikos source/_integrations/deluge.markdown @tkdrob source/_integrations/demo.markdown @home-assistant/core source/_integrations/denonavr.markdown @ol-iver @starkillerOG @@ -172,6 +176,7 @@ source/_integrations/dremel_3d_printer.markdown @tkdrob source/_integrations/dsmr.markdown @Robbie1221 @frenck source/_integrations/dsmr_reader.markdown @depl0y @glodenox source/_integrations/dunehd.markdown @bieniu +source/_integrations/duotecno.markdown @cereal2nd source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 @andarotajo source/_integrations/dynalite.markdown @ziv1234 source/_integrations/easyenergy.markdown @klaasnicolaas @@ -183,6 +188,7 @@ source/_integrations/efergy.markdown @tkdrob source/_integrations/egardia.markdown @jeroenterheerdt source/_integrations/eight_sleep.markdown @mezz64 @raman325 source/_integrations/electrasmart.markdown @jafar-atili +source/_integrations/electric_kiwi.markdown @mikey0000 source/_integrations/elgato.markdown @frenck source/_integrations/elkm1.markdown @gwww @bdraco source/_integrations/elmax.markdown @albertogeniola @@ -209,6 +215,8 @@ source/_integrations/escea.markdown @lazdavila source/_integrations/esera_onewire.markdown @garbled1 @epenet source/_integrations/esphome.markdown @OttoWinter @jesserockz @bdraco source/_integrations/eufylife_ble.markdown @bdr99 +source/_integrations/event.markdown @home-assistant/core +source/_integrations/evergy.markdown @tronikos source/_integrations/evil_genius_labs.markdown @balloob source/_integrations/evohome.markdown @zxdavb source/_integrations/ezviz.markdown @RenierM26 @baqs @@ -245,6 +253,7 @@ source/_integrations/frontend.markdown @home-assistant/frontend source/_integrations/frontier_silicon.markdown @wlcrs source/_integrations/fully_kiosk.markdown @cgarwood source/_integrations/garages_amsterdam.markdown @klaasnicolaas +source/_integrations/gardena_bluetooth.markdown @elupus source/_integrations/gaviota.markdown @starkillerOG source/_integrations/gdacs.markdown @exxamalte source/_integrations/generic.markdown @davet2001 @@ -509,6 +518,7 @@ source/_integrations/opentherm_gw.markdown @mvn23 source/_integrations/openuv.markdown @bachya source/_integrations/openweathermap.markdown @fabaff @freekode @nzapponi source/_integrations/opnsense.markdown @mtreinish +source/_integrations/opower.markdown @tronikos source/_integrations/oralb.markdown @bdraco @Lash-L source/_integrations/oru.markdown @bvlaicu source/_integrations/otbr.markdown @home-assistant/core @@ -519,7 +529,11 @@ source/_integrations/panel_custom.markdown @home-assistant/frontend source/_integrations/panel_iframe.markdown @home-assistant/frontend source/_integrations/pcs_lighting.markdown @gwww source/_integrations/peco.markdown @IceBotYT +source/_integrations/peco_opower.markdown @tronikos +source/_integrations/pegel_online.markdown @mib1185 +source/_integrations/pepco.markdown @tronikos source/_integrations/persistent_notification.markdown @home-assistant/core +source/_integrations/pge.markdown @tronikos source/_integrations/philips_js.markdown @elupus source/_integrations/pi_hole.markdown @johnluetke @shenxn source/_integrations/picnic.markdown @corneyl @@ -539,6 +553,7 @@ source/_integrations/prosegur.markdown @dgomes source/_integrations/proxmoxve.markdown @jhollowe @Corbeno source/_integrations/prusalink.markdown @balloob source/_integrations/ps4.markdown @ktnrg45 +source/_integrations/pse.markdown @tronikos source/_integrations/pure_energie.markdown @klaasnicolaas source/_integrations/purpleair.markdown @bachya source/_integrations/push.markdown @dgomes @@ -566,7 +581,7 @@ source/_integrations/rainmachine.markdown @bachya source/_integrations/random.markdown @fabaff source/_integrations/rapt_ble.markdown @sairon source/_integrations/raven_rock_mfg.markdown @starkillerOG -source/_integrations/rdw.markdown @frenck +source/_integrations/rdw.markdown @frenck @joostlek source/_integrations/recollect_waste.markdown @bachya source/_integrations/recorder.markdown @home-assistant/core source/_integrations/rejseplanen.markdown @DarkFox diff --git a/_config.yml b/_config.yml index c6c3890439a..e20ad3f93ea 100644 --- a/_config.yml +++ b/_config.yml @@ -109,9 +109,9 @@ social: # Home Assistant release details current_major_version: 2023 -current_minor_version: 7 -current_patch_version: 3 -date_released: 2023-07-21 +current_minor_version: 8 +current_patch_version: 0 +date_released: 2023-08-02 # 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/atlanticcityelectric.markdown b/source/_integrations/atlanticcityelectric.markdown index 426aec04d1c..4194f0de339 100644 --- a/source/_integrations/atlanticcityelectric.markdown +++ b/source/_integrations/atlanticcityelectric.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: atlanticcityelectric -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/bge.markdown b/source/_integrations/bge.markdown index 2a8a4c188d7..b85e7ab3916 100644 --- a/source/_integrations/bge.markdown +++ b/source/_integrations/bge.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: bge -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown index dca8784700a..1e6203541cc 100644 --- a/source/_integrations/broadlink.markdown +++ b/source/_integrations/broadlink.markdown @@ -157,7 +157,7 @@ When the LED blinks for the first time, press the button you want to learn. Then #### Learned codes storage location -The learned codes are stored in `/configuration/.storage/` in a JSON file called `broadlink_remote_MACADDRESS_codes`. You can open this file with a text editor and copy the codes to set up [custom IR/RF switches](#setting-up-custom-irrf-switches) or to send them as [base64 codes](#sending-a-base64-code), but beware: the files in the .storage folder _should never be edited manually_. +The learned codes are stored in `/configuration/.storage/` or `/config/.storage/` in a JSON file called `broadlink_remote_MACADDRESS_codes`. You can open this file with a text editor and copy the codes to set up [custom IR/RF switches](#setting-up-custom-irrf-switches) or to send them as [base64 codes](#sending-a-base64-code), but beware: the files in the .storage folder _should never be edited manually_. ### Sending commands diff --git a/source/_integrations/bsblan.markdown b/source/_integrations/bsblan.markdown index 4c48d39de3d..550be726637 100644 --- a/source/_integrations/bsblan.markdown +++ b/source/_integrations/bsblan.markdown @@ -13,7 +13,7 @@ ha_domain: bsblan ha_platforms: - climate - diagnostics -ha_integration_type: integration +ha_integration_type: device --- This integration integrates [BSBLan](https://github.com/fredlcore/BSB-LAN) devices into Home Assistant. diff --git a/source/_integrations/cert_expiry.markdown b/source/_integrations/cert_expiry.markdown index 18c084ee83b..726395db2f9 100644 --- a/source/_integrations/cert_expiry.markdown +++ b/source/_integrations/cert_expiry.markdown @@ -7,7 +7,6 @@ ha_release: 0.44 ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - - '@Cereal2nd' - '@jjlawren' ha_domain: cert_expiry ha_platforms: diff --git a/source/_integrations/co2signal.markdown b/source/_integrations/co2signal.markdown index 3c5cbb3e530..3cb1f8adcac 100644 --- a/source/_integrations/co2signal.markdown +++ b/source/_integrations/co2signal.markdown @@ -2,15 +2,15 @@ title: Electricity Maps description: Instructions on how to use the Electricity Maps (formerly known as CO2Signal) data within Home Assistant ha_category: - - Climate - - Energy - - Environment + - Climate + - Energy + - Environment ha_release: 0.87 ha_iot_class: Cloud Polling ha_domain: co2signal ha_platforms: - - diagnostics - - sensor + - diagnostics + - sensor ha_config_flow: true ha_integration_type: integration --- diff --git a/source/_integrations/comed.markdown b/source/_integrations/comed.markdown index 109a02d6e54..57ac61a3bd2 100644 --- a/source/_integrations/comed.markdown +++ b/source/_integrations/comed.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: comed -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/delmarva.markdown b/source/_integrations/delmarva.markdown index 8852d114914..24dbc94df0c 100644 --- a/source/_integrations/delmarva.markdown +++ b/source/_integrations/delmarva.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: delmarva -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/demo.markdown b/source/_integrations/demo.markdown index 54354a081c0..dba41764e16 100644 --- a/source/_integrations/demo.markdown +++ b/source/_integrations/demo.markdown @@ -19,7 +19,9 @@ ha_platforms: - camera - climate - cover + - date - device_tracker + - event - fan - geo_location - humidifier @@ -35,13 +37,12 @@ ha_platforms: - stt - switch - text + - time - tts - update - vacuum - water_heater - weather - - date - - time ha_integration_type: integration --- diff --git a/source/_integrations/duotecno.markdown b/source/_integrations/duotecno.markdown index 9c6583489d8..6625edbc964 100644 --- a/source/_integrations/duotecno.markdown +++ b/source/_integrations/duotecno.markdown @@ -7,12 +7,12 @@ ha_iot_class: Local Push ha_release: '2023.8' ha_config_flow: true ha_codeowners: - - '@Cereal2nd' + - '@cereal2nd' ha_domain: duotecno ha_platforms: - - switch - cover -ha_integration_type: hub + - switch +ha_integration_type: integration --- The Duotecno integration can be used to control [Duotecno](https://www.duotecno.be/) nodes in Home Assistant. diff --git a/source/_integrations/electric_kiwi.markdown b/source/_integrations/electric_kiwi.markdown index b232d75bafe..1da275d6340 100644 --- a/source/_integrations/electric_kiwi.markdown +++ b/source/_integrations/electric_kiwi.markdown @@ -3,7 +3,7 @@ title: Electric Kiwi description: Instructions on how to set up the Electric Kiwi service in Home Assistant. ha_category: - Energy -ha_release: "2023.8" +ha_release: '2023.8' ha_iot_class: Cloud Polling ha_codeowners: - '@mikey0000' @@ -11,10 +11,10 @@ ha_domain: electric_kiwi ha_config_flow: true ha_platforms: - sensor -ha_integration_type: service +ha_integration_type: hub --- -[Electric Kiwi](https://www.electrickiwi.co.nz/) is an independent power and broadband company in New Zealand, offering variable rates for peak, shoulder, and off-peak pricing with a selectable hour of free power. This integration uses the official [Electric Kiwi API](https://developer.electrickiwi.co.nz) to get your account balance and show and select the hour of free power. +[Electric Kiwi](https://www.electrickiwi.co.nz/) is an independent power and broadband company in New Zealand, offering variable rates for peak, shoulder, and off-peak pricing with a selectable hour of free power. This integration uses the official [Electric Kiwi API](https://developer.electrickiwi.co.nz) to show the hour of free power. {% include integrations/config_flow.md %} diff --git a/source/_integrations/event.mqtt.markdown b/source/_integrations/event.mqtt.markdown index 330576f4b89..b1ab6fcbdd6 100644 --- a/source/_integrations/event.mqtt.markdown +++ b/source/_integrations/event.mqtt.markdown @@ -58,14 +58,6 @@ availability_topic: description: The MQTT topic subscribed to receive availability (online/offline) updates. Must not be used together with `availability`. required: false type: string -command_template: - description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `command_topic`. - required: false - type: template -command_topic: - description: The MQTT topic to publish commands to trigger the event. - required: false - type: string device: description: "Information about the device this event is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false diff --git a/source/_integrations/evergy.markdown b/source/_integrations/evergy.markdown index e0e5e54e9b6..c4dc457a9ad 100644 --- a/source/_integrations/evergy.markdown +++ b/source/_integrations/evergy.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: evergy -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/ezviz.markdown b/source/_integrations/ezviz.markdown index 4e74f136c1e..1e3475387ee 100644 --- a/source/_integrations/ezviz.markdown +++ b/source/_integrations/ezviz.markdown @@ -12,9 +12,11 @@ ha_codeowners: - '@baqs' ha_config_flow: true ha_platforms: + - alarm_control_panel - binary_sensor - button - camera + - image - light - number - select diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown index 95e52209093..dc866de85f6 100644 --- a/source/_integrations/freebox.markdown +++ b/source/_integrations/freebox.markdown @@ -15,11 +15,11 @@ ha_codeowners: ha_config_flow: true ha_domain: freebox ha_platforms: + - binary_sensor - button - camera - device_tracker - sensor - - binary_sensor - switch ha_zeroconf: true ha_integration_type: integration diff --git a/source/_integrations/fritz.markdown b/source/_integrations/fritz.markdown index e00bd9fbc86..d57609c4b64 100644 --- a/source/_integrations/fritz.markdown +++ b/source/_integrations/fritz.markdown @@ -21,10 +21,10 @@ ha_platforms: - button - device_tracker - diagnostics + - image - sensor - switch - update - - image ha_ssdp: true ha_integration_type: integration --- diff --git a/source/_integrations/gardena_bluetooth.markdown b/source/_integrations/gardena_bluetooth.markdown index acb99231dd1..1cf7dcd2a93 100644 --- a/source/_integrations/gardena_bluetooth.markdown +++ b/source/_integrations/gardena_bluetooth.markdown @@ -14,9 +14,11 @@ ha_domain: gardena_bluetooth ha_config_flow: true ha_platforms: - binary_sensor + - button - number - sensor - switch +ha_integration_type: integration --- The Gardena Bluetooth integration allows users to integrate their [Gardena Smart](https://www.gardena.com/int/products/smart/) devices using Bluetooth into Home Assistant. diff --git a/source/_integrations/google_assistant_sdk.markdown b/source/_integrations/google_assistant_sdk.markdown index aa79578966c..67cb345961a 100644 --- a/source/_integrations/google_assistant_sdk.markdown +++ b/source/_integrations/google_assistant_sdk.markdown @@ -107,6 +107,8 @@ The easiest way to check if the integration is working is to check [My Google Ac - If you see the issued commands in [My Google Activity](https://myactivity.google.com/myactivity), the integration is working fine. If the commands don't have the expected outcome, don't open an issue in the Home Assistant Core project or the [underlying library](https://github.com/tronikos/gassist_text). You should instead report the issue directly to Google [here](https://github.com/googlesamples/assistant-sdk-python/issues). Examples of known Google Assistant API issues: - Media playback commands (other than play news, play podcast, play white noise, or play rain sounds) don't work. - Routines don't work. + - Broadcast doesn't work with IPv6. + - Broadcast to specific rooms often doesn't work for non-English languages. ## Configuration diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown index 27b32f6e10d..f07e67057a0 100644 --- a/source/_integrations/homekit_controller.markdown +++ b/source/_integrations/homekit_controller.markdown @@ -31,6 +31,7 @@ ha_platforms: - climate - cover - diagnostics + - event - fan - humidifier - light diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown index 33709ad478e..a613469f845 100644 --- a/source/_integrations/hue.markdown +++ b/source/_integrations/hue.markdown @@ -17,6 +17,7 @@ ha_homekit: true ha_platforms: - binary_sensor - diagnostics + - event - light - scene - sensor diff --git a/source/_integrations/kitchen_sink.markdown b/source/_integrations/kitchen_sink.markdown index 7179786c104..de63ff726bc 100644 --- a/source/_integrations/kitchen_sink.markdown +++ b/source/_integrations/kitchen_sink.markdown @@ -10,9 +10,10 @@ ha_codeowners: ha_domain: kitchen_sink ha_iot_class: Calculated ha_platforms: + - image - lock - sensor - - image + - weather ha_integration_type: integration --- diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index 46f514055a6..4a894e82b9a 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -44,8 +44,8 @@ ha_platforms: - sensor - switch - text - - weather - time + - weather ha_config_flow: true ha_integration_type: hub --- @@ -73,6 +73,10 @@ There is currently support for the following device types within Home Assistant: - [Time](#time) - [Weather](#weather) +## Free KNX online training + +As a Home Assistant KNX user, you can start a FREE KNX online training and get a discounted ETS Home license on the [KNX website](https://www.knx.org/knx-en/for-your-home/home-assistant/). + {% include integrations/config_flow.md %} ## Basic Configuration diff --git a/source/_integrations/litterrobot.markdown b/source/_integrations/litterrobot.markdown index 1a45ea99844..6b14cf35c69 100644 --- a/source/_integrations/litterrobot.markdown +++ b/source/_integrations/litterrobot.markdown @@ -22,9 +22,9 @@ ha_platforms: - select - sensor - switch + - time - update - vacuum - - time ha_integration_type: hub --- diff --git a/source/_integrations/loqed.markdown b/source/_integrations/loqed.markdown index 15928810cbd..1243fc9354b 100644 --- a/source/_integrations/loqed.markdown +++ b/source/_integrations/loqed.markdown @@ -10,6 +10,7 @@ ha_codeowners: ha_domain: loqed ha_platforms: - lock + - sensor ha_config_flow: true ha_integration_type: integration ha_zeroconf: true diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index 6e5656e22db..67a461257d6 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -20,6 +20,7 @@ ha_platforms: - climate - cover - diagnostics + - event - light - lock - sensor diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown index 8c7e70d641e..886fd07f78b 100644 --- a/source/_integrations/microsoft.markdown +++ b/source/_integrations/microsoft.markdown @@ -1,5 +1,5 @@ --- -title: Microsoft text-to-speech (TTS) +title: Microsoft Text-to-Speech (TTS) description: Instructions on how to set up Microsoft text-to-speech with Home Assistant. ha_category: - Text-to-speech diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 9694733f63b..be33b26a0fc 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -21,8 +21,10 @@ ha_platforms: - cover - device_tracker - diagnostics + - event - fan - humidifier + - image - light - lock - number @@ -31,12 +33,11 @@ ha_platforms: - sensor - siren - switch - - text - tag + - text - update - vacuum - water_heater - - image ha_integration_type: integration ha_quality_scale: gold --- diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown index 971b257ee5f..909c7fdca62 100644 --- a/source/_integrations/onvif.markdown +++ b/source/_integrations/onvif.markdown @@ -14,6 +14,7 @@ ha_platforms: - button - camera - diagnostics + - event - sensor - switch ha_integration_type: integration diff --git a/source/_integrations/opensky.markdown b/source/_integrations/opensky.markdown index f8d535e2bcf..fa741967db3 100644 --- a/source/_integrations/opensky.markdown +++ b/source/_integrations/opensky.markdown @@ -11,6 +11,7 @@ ha_platforms: ha_integration_type: integration ha_codeowners: - '@joostlek' +ha_config_flow: true --- The OpenSky integration allows one to track overhead flights in a given region. It uses crowd-sourced data from the [OpenSky Network](https://opensky-network.org/) public API. It will also fire Home Assistant events when flights enter and exit the defined region. diff --git a/source/_integrations/opower.markdown b/source/_integrations/opower.markdown index 7151f17fae5..376c208a9b6 100644 --- a/source/_integrations/opower.markdown +++ b/source/_integrations/opower.markdown @@ -68,10 +68,12 @@ For electricity: 1. Select **Add consumption** for the **Electricity grid**. 2. Select **Opower {utility name} elec {account number} consumption** for the **consumed energy**. -3. Select **Opower {utility name} elec {account number} cost** for the **entity with the total costs**. +3. Select the radio button to **Use an entity tracking the total costs**. +4. Select **Opower {utility name} elec {account number} cost** for the **entity with the total costs**. For gas: 1. Select **Add gas source** for the **Gas consumption**. 2. Select **Opower {utility name} gas {account number} consumption** for the **gas usage**. -3. Select **Opower {utility name} gas {account number} cost** for the **entity with the total costs**. +3. Select the radio button to **Use an entity tracking the total costs**. +4. Select **Opower {utility name} gas {account number} cost** for the **entity with the total costs**. diff --git a/source/_integrations/peco_opower.markdown b/source/_integrations/peco_opower.markdown index 69944fb942b..9472c35d118 100644 --- a/source/_integrations/peco_opower.markdown +++ b/source/_integrations/peco_opower.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: peco_opower -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/pegel_online.markdown b/source/_integrations/pegel_online.markdown index ceac72393c9..5668943799a 100644 --- a/source/_integrations/pegel_online.markdown +++ b/source/_integrations/pegel_online.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 2023.8 ha_config_flow: true ha_iot_class: Cloud Polling -ha_domain: 'pegel_online' +ha_domain: pegel_online ha_platforms: - sensor ha_codeowners: diff --git a/source/_integrations/pepco.markdown b/source/_integrations/pepco.markdown index e2fdaaab7eb..b9a7eb60405 100644 --- a/source/_integrations/pepco.markdown +++ b/source/_integrations/pepco.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: pepco -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/pge.markdown b/source/_integrations/pge.markdown index 66ca0cc78d4..ef0f38c5ad2 100644 --- a/source/_integrations/pge.markdown +++ b/source/_integrations/pge.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: pge -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/pse.markdown b/source/_integrations/pse.markdown index 9cc2b50f8b0..76d844c8899 100644 --- a/source/_integrations/pse.markdown +++ b/source/_integrations/pse.markdown @@ -5,16 +5,16 @@ ha_category: - Energy - Sensor ha_release: 2023.8 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@tronikos' ha_domain: pse -ha_config_flow: true -ha_platforms: - - sensor ha_integration_type: virtual ha_supporting_domain: opower ha_supporting_integration: Opower +ha_codeowners: + - '@tronikos' +ha_config_flow: true +ha_platforms: + - sensor +ha_iot_class: Cloud Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/rdw.markdown b/source/_integrations/rdw.markdown index a1db085ece0..20883675d87 100644 --- a/source/_integrations/rdw.markdown +++ b/source/_integrations/rdw.markdown @@ -11,6 +11,7 @@ ha_config_flow: true ha_quality_scale: platinum ha_codeowners: - '@frenck' + - '@joostlek' ha_domain: rdw ha_platforms: - binary_sensor diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index 5ff44ec2895..fbae3feaf0f 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -17,6 +17,7 @@ ha_platforms: - light - number - select + - sensor - siren - switch - update diff --git a/source/_integrations/roborock.markdown b/source/_integrations/roborock.markdown index 9d65669a263..d6075b5d2a5 100644 --- a/source/_integrations/roborock.markdown +++ b/source/_integrations/roborock.markdown @@ -17,9 +17,11 @@ ha_codeowners: ha_domain: roborock ha_platforms: - diagnostics + - number - select - sensor - switch + - time - vacuum ha_integration_type: integration --- @@ -72,7 +74,7 @@ data: - segments: - 22 - 23 - - repeat: 1 + repeat: 2 target: entity_id: vacuum.s7_roborock diff --git a/source/_integrations/scene.markdown b/source/_integrations/scene.markdown index 30959148f41..2d334127b13 100644 --- a/source/_integrations/scene.markdown +++ b/source/_integrations/scene.markdown @@ -1,5 +1,5 @@ --- -title: Scene +title: Scenes description: Instructions on how to setup scenes within Home Assistant. ha_category: - Organization diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index 99d38e72257..b7c9c545abb 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -283,4 +283,3 @@ scrape: select: "div.nk-tb-item:nth-child(3) > div:nth-child(3) > span:nth-child(1) > span:nth-child(1)" ``` - diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index fe03cc64ed0..caab7a606b2 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -22,6 +22,7 @@ ha_platforms: - button - cover - fan + - image - light - lock - number @@ -30,7 +31,6 @@ ha_platforms: - switch - vacuum - weather - - image ha_integration_type: integration --- diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown index 4ee76bcd89e..d27816c34e7 100644 --- a/source/_integrations/unifi.markdown +++ b/source/_integrations/unifi.markdown @@ -19,6 +19,7 @@ ha_ssdp: true ha_platforms: - device_tracker - diagnostics + - image - sensor - switch - update diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown index 0fe07adaa13..1f768506ed6 100644 --- a/source/_integrations/unifiprotect.markdown +++ b/source/_integrations/unifiprotect.markdown @@ -22,8 +22,8 @@ ha_iot_class: Local Push ha_config_flow: true ha_quality_scale: platinum ha_codeowners: - - "@AngellusMortis" - - "@bdraco" + - '@AngellusMortis' + - '@bdraco' ha_domain: unifiprotect ha_platforms: - binary_sensor diff --git a/source/_integrations/youtube.markdown b/source/_integrations/youtube.markdown index 4709f3f022e..b60d23f9d43 100644 --- a/source/_integrations/youtube.markdown +++ b/source/_integrations/youtube.markdown @@ -10,6 +10,7 @@ ha_codeowners: - '@joostlek' ha_domain: youtube ha_platforms: + - diagnostics - sensor ha_integration_type: service --- diff --git a/source/_integrations/zodiac.markdown b/source/_integrations/zodiac.markdown index 4bb4b935fa5..b5c3ae6a3b6 100644 --- a/source/_integrations/zodiac.markdown +++ b/source/_integrations/zodiac.markdown @@ -12,6 +12,7 @@ ha_domain: zodiac ha_platforms: - sensor ha_integration_type: integration +ha_config_flow: true --- The Zodiac integration tracks the current zodiac sign. diff --git a/source/_posts/2023-08-02-release-20238.markdown b/source/_posts/2023-08-02-release-20238.markdown new file mode 100644 index 00000000000..393cf889f2c --- /dev/null +++ b/source/_posts/2023-08-02-release-20238.markdown @@ -0,0 +1,548 @@ +--- +layout: post +title: "2023.8: Translated services, events, and wildcards!" +description: "Sentence triggers can now contain wildcards, a brand new event entity, all services are now translated into your language, generate images with OpenAI's DALL-E using Assist, and more!" +date: 2023-08-02 00:00:00 +date_formatted: "August 2, 2023" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2023-08/social.png +--- + + + +Home Assistant Core 2023.8! ๐ŸŽ‰ + +Another month, another fine release of Home Assistant! This release is a bit more +conservative after two absolutely packed releases in [June](/blog/2023/06/30/release-20236/) +and [July](/blog/2023/06/07/release-20236/). Many of us are enjoying summer holidays ๐Ÿ–๏ธ. + +Pretty much all features in this release are absolutely amazing, and it is hard +to pick a favorite. Great translation improvements that help with the user +experience, a new entity to capture events from things like remotes, and the +new Assist features are, again, mind-blowing! + +Talking about Assist, have you seen the blog on [Year of the Voice - Chapter 3](/blog/2023/07/20/year-of-the-voice-chapter-3/)? +Or, check [the live stream recording on YouTube](https://www.youtube.com/watch?v=sXzItFksYFA), +where the new features have been demonstrated. + +Some new integrations have been added too. Most notably [Opower](/integrations/opower)! +This integration can pull in energy usage data from many utility companies in +the United States. For example, it supports [PG&E](/integrations/pge), +[ComEd](/integrations/comed), [BGE](/integrations/bge), and many more! โšก๏ธ +Very good news for all our American friends! + +Enjoy the release! + +../Frenck + + + +- [Translated services](#translated-services) +- [Introducing the event entity](#introducing-the-event-entity) +- [Improving the first experience with Home Assistant](#improving-the-first-experience-with-home-assistant) +- [Add items to your shopping list using Assist](#add-items-to-your-shopping-list-using-assist) +- [Wildcard support for sentence triggers](#wildcard-support-for-sentence-triggers) +- [Generate an image with OpenAI's DALL-E](#generate-an-image-with-openais-dall-e) +- [Condition selector](#condition-selector) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New integrations](#new-integrations) +- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [Need help? Join the community!](#need-help-join-the-community) +- [Breaking changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=4EpUgLW03Pg) +2 August 2023, at 12:00 PDT / 21:00 CEST! + + + +## Translated services + +All services in Home Assistant are now translatable! ๐ŸŒŽ + +Services are the actions you can call, like turning on a light. This was one of +the bigger parts of Home Assistant that still was only available in English. +Odd, as the Home Assistant interface can be used in 60+ languages! + +In this release, translations for these services have been added to drastically +improve the experience when English is not your primary language. For example, +when you use the Dutch language (as used in the screenshot below), the service +to turn on a light is now also translated into Dutch. + +Screenshot showing the Home Assistant interface in the Dutch language, showcasing the translations for service calls. + +A big step forward! Implementing this change has resulted in a substantial +increase in the number of translations. They have doubled! ๐Ÿ˜… + +Because of that, translating all services might take some time; howeverโ€ฆ +You can help! You donโ€™t have to be a developer to help with this; you can do this +from the comfort of your browser. Check out our documentation on +[how to contribute translations](https://developers.home-assistant.io/docs/translations). + +## Introducing the event entity + +Events are signals that are emitted when something happens, for example, when +someone presses a physical button like a doorbell or when a button on a remote +control is pressed. + +If you have ever tried to work with events in Home Assistant, you probably +noticed that it was not the easiest thing to do. You need to know the event name, +and then you need to know the data that is being sent with it. Before you know it, +you'll start fiddling with the developer tools to figure out what is going on. + +To make this all easier, we are introducing a new entity type in this release: +[The event entity](/integrations/event). + +The event entity can capture these events in the physical world and makes them +available in Home Assistant as an entity. Take for example, this Hue remote: + +Screenshot showing the new event entities provided by a Philips Hue remote. + +The beauty of the event entity is that they can be used like any other entity +in Home Assistant: They will show up in the UI, can be used directly in the +automations editor, and provide historical information in the logbook. + +Besides [Matter](/integrations/matter), the event entity is also supported by +[HomeKit Devices](/integrations/homekit_controller), [MQTT](/integrations/mqtt), +and [Philips Hue](/integrations/hue). We expect to see more integrations +supporting this new entity type soon. + +## Improving the first experience with Home Assistant + +Onboarding is a user's first experience with Home Assistant. The onboarding +screens are the first you see, and steps you take when you access Home Assistant +for the first time, setting up things like your account and language preferences. +The goal is to ensure this process is seamless, which is why we've made +improvements to the onboarding experience. + +To achieve this, we have implemented a search field on the map during +onboarding. Instead of endlessly dragging the pin on the map around, +you can now easily search for your location. + +Screenshot showing you can now enter your address to quickly find your location on the map. + +This is powered by [OpenStreetMap](https://www.openstreetmap.org/) โค๏ธ + +## Add items to your shopping list using Assist + +What if you could ask [Assist](/integrations/assist) to add items to your +Home Assistant [shopping list](/integrations/shopping_list)? Well, now you can! + +> Add milk to my shopping list! + +Screenshot showing asking assist to add milk to the shopping list. + +In case you are wondering, the shopping list integration adds a handy page to +your Home Assistant interface to which everyone in your household can add items. +It is a great way to keep track of what you need to buy, and now you can +add items to it with your voice using Assist! + +Screenshot showing the shopping list integration in Home Assistant. + +To be able to use this feature, you need to have the shopping list integration +set up, which is as easy as clicking the My Home Assistant button below: + +{% my config_flow_start badge domain="shopping_list" %} + +## Generate an image with OpenAI's DALL-E + +In the last release, we added [the ability for services to respond with data](/blog/2023/07/05/release-20237/#services-can-now-respond), +and now we added a service that allows you to generate an image using +[OpenAI's DALL-E](https://openai.com/dall-e-2). + +All you need is to set up the [OpenAI conversation agent](/integrations/openai_conversation) +integration on your instance, and you will get a new service: +{% my developer_call_service service="openai_conversation.generate_image" %}. + +Call this service describing the image you'd like the AI to generate, and +it will respond with an image URL you can use in your automations. + +Screenshot showing the new generate image service with DALL-E from OpenAI, asking to generate an image of an astronaut riding a unicorn. + +You could, for example, use this to generate an image of a city that matches +the weather conditions outside of your home, let the AI generate an image +about the latest news headline to show on your dashboard, or maybe generate +a fun image of someone putting out garbage on garbage day. + +{% my developer_call_service badge service="openai_conversation.generate_image" %} + +You could even combine it with the wildcard support for sentence triggers so you +could ask Home Assistant to generate an image using your voice... + +## Wildcard support for sentence triggers + +[Sentence triggers](/docs/automation/trigger/#sentence-wildcards) now support +wildcards! This means you can now partially match a sentence, and use the +matched part in your actions. This is what powers the above +[shopping list feature](#add-items-to-your-shopping-list-using-assist) +too, and it can be used for many other things as well. + +You could, for example, create a sentence trigger that matches when you say: + +> Play the white album by the Beatles + +Using the wildcard support, you can get the album and artist name from the spoken +sentence and use those in your actions. To trigger on the above example sentence, +you would use the following command in your sentence trigger: + +Screenshot showing an automation that uses a sentence trigger that has wildcards in it. + +This will make the `album` and `artist` available as trigger variables that you +can use in your actions; for example, to start playing the music requested. + +These wildcards are interesting and open up a lot of possibilities! +[Read more about sentence triggers in our documentation](/docs/automation/trigger/#sentence-trigger). + +[JLo] realized he could use these wildcards, combined with the new +[generate image service](#generate-an-image-with-openais-dall-e), to let +Home Assistant generate an image and show it on his Chrome Cast-enabled device +just by using his voice! ๐Ÿ˜Ž You could ask it: + +> Show me a picture of an astronaut riding a unicorn! + +He put this together in an automation blueprint, which you can use to do the +same thing in your own Home Assistant instance: + +Screenshot showing how the blueprint by JLo looks like in Home Assistant. + +Provide the sentence you like to trigger on and the media player you want to +show the image at, and you're good to go! You can import his blueprint using +the My Home Assistant button below: + +{% my blueprint_import badge blueprint_url="https://www.home-assistant.io/blueprints/blog/2023-08/cast_dall_e.yaml" %} + +[JLo]: https://github.com/jlpouffier + +## Condition selector + +A new selector is available for use in, for example, blueprints: +[The condition selector](/docs/blueprint/selectors/#condition-selector). + +This selector takes and shows the condition part of the automation editor, +and allows blueprint creators to use a user-provided condition in their +blueprinted automations and scripts. + +

+ +This blueprint allows one to set a custom condition using the new condition selector. +

+ +## Other noteworthy changes + +There are many more improvements in this release; here are some of the other +noteworthy changes this release: + +- Tons of performance upgrades again this month (thanks [@bdraco]), these + include a much faster ingress experience when visiting add-on web interfaces. ๐Ÿš€ +- [@emontnemery] added filters to many of the services Home Assistant provides, + meaning only options relevant to the entity you are calling the service on + will be shown in the UI. Nice! +- CO2Signal changed its name to [Electricity Maps]. The integration + has been renamed to match that. Thanks, [@madsnedergaard]! +- [@Lash-L] keeps extending the [Roborock] integration, adding many new entities + in this release. This includes an error sensor, volume controls, + and DnD setting times. Awesome! +- [EZVIZ] received a big update, adding support for alarm control panels, buttons, + and select entities. Thanks [@RenierM26]! +- [@farmio] added support for adding [date] and [date/time] entities to [KNX]! Great! +- The [Xiaomi BLE] now supports the MiScale (V1 and V2). Thanks, [@Ernst79]! +- [UniFi Network] now has controls to turn an UniFi WLAN on and off and added + image entities for QR codes for WLAN access. Thanks, [@Kane610]! + + +[@bdraco]: https://github.com/bdraco +[@emontnemery]: https://github.com/emontnemery +[@Ernst79]: https://github.com/Ernst79 +[@farmio]: https://github.com/farmio +[@Kane610]:https://github.com/Kane610 +[@Lash-L]: https://github.com/Lash-L +[@madsnedergaard]: https://github.com/madsnedergaard +[@RenierM26]:https://github.com/RenierM26 +[date]: /integrations/date +[date/time]: /integrations/datetime +[Electricity Maps]: /integrations/co2signal +[EZVIZ]: /integrations/ezviz +[KNX]: /integrations/knx +[UniFi Network]: /integrations/unifi +[Xiaomi BLE]: /integrations/xiaomi_ble +[Roborock]: /integrations/roborock + +## New integrations + +We welcome the following new integrations in this release: + +- **[Electric Kiwi]**, added by [@mikey0000]
+ Integrate with the independent power and broadband company [Electric Kiwi](https://www.electrickiwi.co.nz/) from New Zealand. +- **[Event]**, added by [@frenck]
+ A new event entity that other integrations can provide to show detected events in the physical world. +- **[Duotecno]**, added by [@Cereal2nd]
+ Integrate with the [Duotecno](https://www.duotecno.be/) nodes. +- **[Gardena Bluetooth]**, added by [@elupus]
+ Integrate your [Gardena Smart](https://www.gardena.com/int/products/smart/) devices using Bluetooth. +- **[Opower]**, added by [@tronikos]
+ Read out energy information from utilities that use [Opower](https://www.oracle.com/industries/utilities/opower-energy-efficiency/). + See the virtual integrations below for which utility providers those are. +- **[PEGELONLINE]**, added by [@mib1185]
+ Provides water level sensors from the [German Federal Waterways and Shipping Administration](https://www.pegelonline.wsv.de/). + +This release also has a new virtual integration. Virtual integrations +are stubs that are handled by other (existing) integrations to help with +findability. These are new: + +- **[Atlantic City Electric]** provided by [Opower] +- **[Baltimore Gas and Electric (BGE)]** provided by [Opower] +- **[Commonwealth Edison (ComEd)]** provided by [Opower] +- **[Delmarva Power]** provided by [Opower] +- **[Evergy]** provided by [Opower] +- **[Pacific Gas & Electric (PG&E)]** provided by [Opower] +- **[PECO Energy Company (PECO)]** provided by [Opower] +- **[Potomac Electric Power Company (Pepco)]** provided by [Opower] +- **[Puget Sound Energy (PSE)]** provided by [Opower] + +[@Cereal2nd]: https://github.com/Cereal2nd +[@elupus]: https://github.com/elupus +[@frenck]: https://github.com/frenck +[@mib1185]: https://github.com/mib1185 +[@mikey0000]: https://github.com/mikey0000 +[@tronikos]: https://github.com/tronikos +[Atlantic City Electric]: /integrations/atlanticcityelectric +[Baltimore Gas and Electric (BGE)]: /integrations/bge +[Commonwealth Edison (ComEd)]: /integrations/comed +[Delmarva Power]: /integrations/delmarva +[Duotecno]: /integrations/duotecno +[Electric Kiwi]: /integrations/electric_kiwi +[Event]: /integrations/event +[Evergy]: /integrations/evergy +[Gardena Bluetooth]: /integrations/gardena_bluetooth +[Opower]: /integrations/opower +[Pacific Gas & Electric (PG&E)]: /integrations/pge +[PECO Energy Company (PECO)]: /integrations/peco_opower +[PEGELONLINE]: /integrations/pegel_online +[Potomac Electric Power Company (Pepco)]: /integrations/pepco +[Puget Sound Energy (PSE)]: /integrations/pse + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- **[OpenSky]**, done by [@joostlek] +- **[Zodiac]**, done by [@joostlek] + +[@joostlek]: https://github.com/jooostlek +[OpenSky]: /integrations/opensky +[Zodiac]: /integrations/zodiac + +## 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. + +## Breaking changes + +{% details "Python 3.10 support has been removed" %} + +Python 3.10 support has previously been deprecated and has now been removed. +Home Assistant now requires Python 3.11 to run. + +You don't have to do anything if you are using Home Assistant OS, +Home Assistant Container, or Home Assistant Supervised installation method. +In those cases, we handle this all for you. + +Your system has been using Python 3.11 for quite some time already. + +([@frenck] - [#97007]) + +[@frenck]: https://github.com/frenck +[#97007]: https://github.com/home-assistant/core/pull/97007 + +{% enddetails %} + + +{% details "Discovery" %} + +The legacy discovery integration has been removed. This only affects the +automatic discovery of Enigma2, Yamaha Network Receivers, and Bluesound. + +These can still be manually configured as per usual. + +Note this is for our very, very old discovery logic. This does not affect the +discovery of any other integration/device/service. + +If you still have `discovery:` listed in your YAML configuration, you can +safely remove it. + +([@frenck] - [#96856]) + +[@frenck]: https://github.com/frenck +[#96856]: https://github.com/home-assistant/core/pull/96856 + +{% enddetails %} + +{% details "Ecovacs" %} + +The Ecovacs integration has been migrated to the new "StateVacuumEntity" +under the hood. + +The states of the vacuum entity now report not only on or off, +instead `cleaning`, `paused`, `docked` (_implicit mean charging_), +`returning` (_to base_), `idle` and `error`. Further, the actions `turn_on` +(_start cleaning_), and `turn_off` (_stop cleaning and return to base_) were +superseded by three single actions `start`, `stop` and `return_to_base`. + +([@mib1185] - [#95920]) ([documentation](/integrations/ecovacs)) + +[@mib1185]: https://github.com/mib1185 +[#95920]: https://github.com/home-assistant/core/pull/95920 + +{% enddetails %} + +{% details "MQTT" %} + +It's no longer allowed for an MQTT RGB light without a `brighness_state_topic` +to report an RGB value of `RGB=0,0,0`. The reason is that for such lights, +the light's brightness is derived from the RGB value, and an RGB value +of `RGB=0,0,0` corresponds to a brightness of 0 which is not allowed. + +In case an MQTT RGB light without a `brighness_state_topic` reports `0,0,0` +for R, G, and B, that update will be ignored. + +([@jbouwh] - [#96286]) ([documentation](/integrations/mqtt)) + +[@jbouwh]: https://github.com/jbouwh +[#96286]: https://github.com/home-assistant/core/pull/96286 + +--- + +The MQTT climate `CONF_POWER_STATE_TOPIC` and `CONF_POWER_STATE_TEMPLATE` were +deprecated in HA Core 2023.2.0 and are now removed. Please remove these options +from your configuration. The options were not implemented but will break your +MQTT configuration if they are still present in your config. + +([@jbouwh] - [#96771]) ([documentation](/integrations/mqtt)) + +[@jbouwh]: https://github.com/jbouwh +[#96771]: https://github.com/home-assistant/core/pull/96771 + +--- + +The way MQTT entities are named and how device configuration can be shared +between discovered entities has changed. + +**Sharing of device configuration** + +Discovered MQTT entities can share device configuration, meaning one entity +can include the full device configuration, and other entities can link to that +device by only setting mandatory fields. + +The mandatory fields were previously limited to at least one of +`connection` and `identifiers`, but have now been extended to at least +one of `connection` and `identifiers` as well as the `name`. + +**Naming of MQTT entities** + +The naming of MQTT entities has been changed to be aligned with the +[entity naming guidelines](https://developers.home-assistant.io/docs/core/entity/#entity-naming): + +- The `has_entity_name` entity will be set to `True` on all MQTT entities. +- This means any MQTT entity which is part of a device will [automatically have its `friendly_name` attribute prefixed with the device name](https://developers.home-assistant.io/docs/core/entity/#has_entity_name-true-mandatory-for-new-integrations). +- Unnamed `binary_sensor`, `button`, `event`, `number`, and `sensor` entities will + now be named by their device class instead of being named "MQTT binary sensor" etc. +- It's now allowed to set an MQTT entity's name to `None` to mark it as the + main feature of a device. + +([@jbouwh] - [#95159]) ([documentation](/integrations/mqtt)) + +[@jbouwh]: https://github.com/jbouwh +[#95159]: https://github.com/home-assistant/core/pull/95159 + +{% enddetails %} + +{% details "Philips Dynalite" %} + +The Dynalite configuration panel, which previously was on the Home Assistant +sidebar, has moved. It can now be accessed via the integration page in +**Settings** -> **Device & services** -> **Dynalite** -> **Configure**. + +([@frenck] - [#95920]) ([documentation](/integrations/dynalite)) + +[@frenck]: https://github.com/frenck +[#96853]: https://github.com/home-assistant/core/pull/96853 + +{% enddetails %} + +{% details "Renson" %} + +The state values of the Reason Ventilation integration have been changed to +be more consistent with other integrations and are now lowercase. Additionally, +it can now provide translations for the state values in the UI. + +This means that the following state values have changed: + +- `Off` -> `off` +- `Level1` -> `level1` +- `Level2` -> `level2` +- `Level3` -> `level3` +- `Level4` -> `level4` +- `Breeze` -> `breeze` +- `Holiday` -> `holiday` + +Please update any automations where you are using the state of this Renson sensor. + +[@joostlek]: https://github.com/joostlek +[#96040]: https://github.com/home-assistant/core/pull/96040 + +{% enddetails %} + +If you are a custom integration developer and want to learn about breaking +changes and new features available for your integration: Be sure to follow our +[developer blog][devblog]. The following are the most notable for this release: + +- [Action event for custom cards](https://developers.home-assistant.io/blog/2023/07/07/action-event-custom-cards) +- [The naming of MQTT entities changes to correspond with HA guidelines](https://developers.home-assistant.io/blog/2023-057-21-change-naming-mqtt-entities) +- [Translating services](https://developers.home-assistant.io/blog/2023/07/11/translating-services) +- [Updates to the Vacuum entity integration](https://developers.home-assistant.io/blog/2023/07/10/vacuum-updates) + +[devblog]: https://developers.home-assistant.io/blog/ + +## Farewell to the following + +The following integrations are also no longer available as of this release: + +- **Discovery** has been removed. This is the old legacy discovery integration. + See the breaking changes above for more information. + ([@frenck] - [#96856]) +- **Mi Flora** has been removed. This integration was replaced by the + [Xiaomi BLE] integration a long time ago and was in a non-functional state. + ([@frenck] - [#96868]) +- **Xiaomi Mijia BLE T&H Sensor** has been removed. This integration was + replaced by the [Xiaomi BLE] integration a long time ago and was in a + non-functional state. + ([@frenck] - [#96869]) + +[@frenck]: https://github.com/frenck +[#96856]: https://github.com/home-assistant/core/pull/96856 +[#96868]: https://github.com/home-assistant/core/pull/96868 +[#96869]: https://github.com/home-assistant/core/pull/96869 +[Xiaomi BLE]: /integations/xiaomi_ble + +## 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 2023.8](/changelogs/core-2023.8) diff --git a/source/blueprints/blog/2023-08/cast_dall_e.yaml b/source/blueprints/blog/2023-08/cast_dall_e.yaml new file mode 100644 index 00000000000..9bbf71d78d1 --- /dev/null +++ b/source/blueprints/blog/2023-08/cast_dall_e.yaml @@ -0,0 +1,72 @@ +blueprint: + name: Cast Dall-E generated images + description: | + Generate an image using your voice and show it on a screen. + Requirements: + - OpenAI Conversation configured + - A Cast-compatible media player + domain: automation + author: JLo + homeassistant: + min_version: 2023.7.99 + input: + assist_command: + name: Assist Command + description: | + The Assist command you will use to generate the picture. + You can change the overall sentence to match your style and language. + **WARNING** you **MUST** include `{prompt}` in order to pass that variable to OpenAI. + default: "Show me a picture of {prompt}" + selector: + text: + open_ai_generation_size: + name: Image Size (px) + description: "Note: Bigger images take more time to generate" + default: "512" + selector: + select: + options: + - "256" + - "512" + - "1024" + open_ai_config_entry: + name: OpenAI Configuration + description: The OpenAI configuration entry to generate the image + selector: + config_entry: + integration: "openai_conversation" + media_player: + name: Media player + description: Media player to show the picture + selector: + entity: + filter: + integration: "cast" + domain: "media_player" + additional_conditions: + name: Additional conditions + description: | + Extra conditions you may want to add to this automation + (Example: Home occupied, TV on, etc) + default: [] + selector: + condition: + +trigger: + - platform: conversation + command: !input assist_command +condition: !input additional_conditions +action: + - service: openai_conversation.generate_image + data: + size: !input open_ai_generation_size + config_entry: !input open_ai_config_entry + prompt: "{{trigger.slots.prompt}}" + response_variable: generated_image + - service: media_player.play_media + data: + media_content_type: image/jpeg + media_content_id: "{{generated_image.url}}" + target: + entity_id: !input media_player +mode: single diff --git a/source/changelogs/core-2023.8.markdown b/source/changelogs/core-2023.8.markdown new file mode 100644 index 00000000000..406daf70e39 --- /dev/null +++ b/source/changelogs/core-2023.8.markdown @@ -0,0 +1,2148 @@ +--- +title: Full Changelog for Home Assistant Core 2023.8 +description: Detailed changelog for the Home Assistant Core 2023.8 release +replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$ +--- + +These are all the changes included in the Home Assistant Core 2023.8 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2023/08/02/release-20238/). + +## Full Changelog + +- Bump version to 2023.8.0dev0 ([@frenck] - [#95476]) +- Update featured integrations screenshot ([@joostlek] - [#95473]) +- Refactor ESPHome connection management logic into a class ([@bdraco] - [#95457]) +- Small cleanups to bluetooth manager advertisement processing ([@bdraco] - [#95453]) +- Remove statement in iss config flow ([@joostlek] - [#95472]) +- Add entity translations to iOS ([@joostlek] - [#95467]) +- Fix device_id not set in esphome ([@bdraco] - [#95580]) +- Refactor Airzone Cloud _attr_has_entity_name in sensor ([@Noltari] - [#95609]) +- Add config flow for zodiac ([@joostlek] - [#95447]) +- Update typing-extensions to 4.7.0 ([@cdce8p] - [#95539]) +- Add ability to configure map icons for PurpleAir ([@bachya] - [#86124]) +- Default device name to config entry title ([@balloob] - [#95547]) +- Add unique_id to Wirelesstag entities. ([@davecpearce] - [#95631]) +- Remove passing MAC as an identifier for Fritz ([@balloob] - [#95648]) +- Met: use correct device info keys ([@balloob] - [#95644]) +- Rainbird: use correct device info keys ([@balloob] - [#95645]) +- VeSync: use correct device info keys ([@balloob] - [#95646]) +- Tesla Wall Connector: use correct device info keys ([@balloob] - [#95647]) +- Update ruff pre-commit repo ([@cdce8p] - [#95603]) +- Use `async_on_remove` for KNX entities removal ([@farmio] - [#95658]) +- Add Bridge module to AsusWRT ([@ollo69] - [#84152]) +- Update log message when referenced entity not found ([@balloob] - [#95577]) +- Met Eireann: fix device info ([@balloob] - [#95683]) +- Fix songpal test_setup_failed test ([@jbouwh] - [#95712]) +- Add action attribute to generic hygrostat ([@Shulyaka] - [#95675]) +- Remove obsolete entity name from Lametric ([@joostlek] - [#95688]) +- Use device info object in LaCrosse View ([@joostlek] - [#95687]) +- Small improvements to websocket api performance ([@bdraco] - [#95693]) +- Add entity translations to kaleidescape ([@joostlek] - [#95625]) +- Add mold risk sensor to Notion ([@bachya] - [#95643]) +- Use a normal tuple for the EventBus jobs ([@bdraco] - [#95731]) +- Use device class naming for Nest ([@joostlek] - [#95742]) +- Add Opower integration for getting electricity/gas usage and cost for many utilities ([@tronikos] - [#90489]) +- Remove NAM translations handled by device class ([@joostlek] - [#95740]) +- Add entity translations to minecraft server ([@joostlek] - [#95737]) +- Add entity translations to melnor ([@joostlek] - [#95734]) +- Use DeviceInfo object for Meater ([@joostlek] - [#95733]) +- Add entity translations for lifx ([@joostlek] - [#95727]) +- Avoid regex for negative zero check in sensor ([@bdraco] - [#95691]) +- Add entity translations to LaCrosse View ([@joostlek] - [#95686]) +- Add entity translations for Meater ([@joostlek] - [#95732]) +- Delete the local calendar store when removing the config entry ([@allenporter] - [#95599]) +- Clean up solarlog const file ([@joostlek] - [#95542]) +- Speed up routing URLs ([@bdraco] - [#95721]) +- Small zwave_js code cleanup ([@raman325] - [#95745]) +- Use DeviceInfo object for Nobo hub ([@joostlek] - [#95753]) +- Use device class naming for Nuki ([@joostlek] - [#95756]) +- Use device info object for Nuki ([@joostlek] - [#95757]) +- Use device info object for Discovergy ([@jpbede] - [#95764]) +- Bump opower to 0.0.12 ([@tronikos] - [#95748]) +- Address Opower review comments ([@tronikos] - [#95763]) +- Improve opower generic typing ([@cdce8p] - [#95758]) +- Add entity translations to Notion ([@joostlek] - [#95755]) +- Remove unsupported services from tuya vacuum ([@emontnemery] - [#95790]) +- Fix flaky websocket_api test ([@emontnemery] - [#95786]) +- Bump aioesphomeapi to 15.1.2 ([@bdraco] - [#95792]) +- Use the converter factory in sensor.recorder._normalize_states ([@bdraco] - [#95785]) +- Tune httpx keep alives for polling integrations ([@bdraco] - [#95782]) +- Remove the weak ref for tracking update listeners ([@balloob] - [#95798]) +- Add entity translations for Open UV ([@joostlek] - [#95810]) +- Add entity translations for P1 Monitor ([@joostlek] - [#95811]) +- Fix siren.toggle service schema ([@emontnemery] - [#95770]) +- Fix ring siren test ([@emontnemery] - [#95825]) +- Update roomba vacuum supported features ([@emontnemery] - [#95828]) +- Update sharkiq vacuum supported features ([@emontnemery] - [#95829]) +- Update tuya vacuum supported features ([@emontnemery] - [#95832]) +- Use common translations for `On`, `Off`, `Open` and `Closed` ([@jbouwh] - [#95779]) +- Update mqtt vacuum supported features ([@emontnemery] - [#95830]) +- Revert "Remove unsupported services from tuya vacuum" ([@emontnemery] - [#95845]) +- Set Matter battery sensors as diagnostic ([@MartinHjelmare] - [#95794]) +- Add Airzone Cloud Zone running binary sensor ([@Noltari] - [#95606]) +- Make local calendar integration title translatable ([@jpbede] - [#95805]) +- Use slots in TraceElement ([@bdraco] - [#95877]) +- Bump protobuf to 4.23.3 ([@bdraco] - [#95875]) +- Small cleanups to service calls ([@bdraco] - [#95873]) +- Adjust services and properties supported by roborock vacuum ([@emontnemery] - [#95789]) +- Add slots to the StateMachine class ([@bdraco] - [#95849]) +- Fix ESPHome camera not accepting the same exact image bytes ([@bdraco] - [#95822]) +- Clarify GPS coordinates for device_tracker.see ([@gigatexel] - [#95847]) +- Add raid array degraded state binary sensor to freebox sensors ([@fthiery] - [#95242]) +- Add slots to the service registry ([@bdraco] - [#95857]) +- Warn when changing multipan channel if there are not 2 known users ([@emontnemery] - [#95898]) +- Address late review of freebox tests ([@jbouwh] - [#95910]) +- Add slots to core EventBus ([@bdraco] - [#95856]) +- Deprecate Dry and Fan preset modes in favor of HVAC modes ([@adrianmo] - [#95634]) +- Correct spelling roborock strings ([@jbouwh] - [#95919]) +- Migrate from deprecated VacuumEntity to StateVacuumEntity in Ecovacs ([@mib1185] - [#95920]) +- Add filters to calendar/services.yaml ([@emontnemery] - [#95853]) +- Mention automatic issue assignment in issue template ([@spacegaier] - [#95987]) +- Add more device info for SmartThings devices ([@guix77] - [#95723]) +- Add entity translations to Pushbullet ([@joostlek] - [#95943]) +- Add entity translations for PureEnergie ([@joostlek] - [#95935]) +- Add humidity to NWS forecast ([@lymanepp] - [#95575]) +- Add entity translations to Purpleair ([@joostlek] - [#95942]) +- Add entity translations to Rainbird ([@joostlek] - [#96030]) +- Add sensors to LOQED integration for battery percentage and BLE stength ([@mikewoudenberg] - [#95726]) +- Remove copy/pasted references to GMail in YouTube integration tests ([@ScottG489] - [#96048]) +- Add entity translations to RFXTRX ([@joostlek] - [#96041]) +- Revert zwave_js change to THERMOSTAT_MODE_SETPOINT_MAP ([@adrianmo] - [#96058]) +- Use device class naming in Renault ([@joostlek] - [#96038]) +- Move platform_integration_no_support issue to the homeassistant integration ([@emontnemery] - [#95927]) +- Add RDW codeowner ([@joostlek] - [#96035]) +- Add entity translations to RDW ([@joostlek] - [#96034]) +- Add full test coverage to Jellyfin ([@j-stienstra] - [#86974]) +- Fix missing name in Renault service descriptions ([@frenck] - [#96075]) +- Add device class back to Purpleair ([@joostlek] - [#96062]) +- Fix missing name in TP-Link service descriptions ([@frenck] - [#96074]) +- Add entity translations to Recollect waste ([@joostlek] - [#96037]) +- Fix missing name in FluxLED service descriptions ([@frenck] - [#96077]) +- Remove deprecated Pihole binary sensors ([@joostlek] - [#95799]) +- Update sentry-sdk to 1.27.1 ([@frenck] - [#96089]) +- Add missing issue translations to the kitchen_sink integration ([@emontnemery] - [#95931]) +- Remove unreferenced issues ([@emontnemery] - [#95976]) +- Bump aioesphomeapi to 15.1.3 ([@bdraco] - [#95819]) +- Add entity translations to Rainmachine ([@joostlek] - [#96033]) +- Make season integration title translatable ([@jpbede] - [#95802]) +- Add entity translations to pvoutput ([@joostlek] - [#96029]) +- Warn when vacuum.turn_on or turn_off is called on Tuya vacuums ([@emontnemery] - [#95848]) +- Add entity translations to Rympro ([@joostlek] - [#96087]) +- Avoid http route linear search fallback when there are multiple paths ([@bdraco] - [#95776]) +- Set some Switchbot entity names to none ([@Nardol] - [#90846]) +- Update PyTurboJPEG to 1.7.1 ([@frenck] - [#96104]) +- Fix missing name in Fritz!Box service descriptions ([@frenck] - [#96076]) +- Correct Goalzero sensor state class ([@tkdrob] - [#96122]) +- Rename 'Switch as X' helper to ... ([@c0ffeeca7] - [#96114]) +- Update apprise to 1.4.5 ([@frenck] - [#96086]) +- Update pipdeptree to 2.9.4 ([@frenck] - [#96115]) +- Move ESPHomeManager into its own file ([@bdraco] - [#95870]) +- Small speed up to cameras ([@bdraco] - [#96124]) +- Use global CONF_API_TOKEN constant rather than defining our own ([@ScottG489] - [#96120]) +- Add entity translations for plugwise ([@joostlek] - [#95808]) +- Speed up hassio ingress ([@bdraco] - [#95777]) +- Add MEDIA_ENQUEUE to MediaPlayerEntityFeature ([@emontnemery] - [#95905]) +- Use device class naming for nobo hub v2 ([@joostlek] - [#96022]) +- Update aioairzone-cloud to v0.2.1 ([@Noltari] - [#96063]) +- Add filters to alarm_control_panel/services.yaml ([@emontnemery] - [#95850]) +- Make generic camera integration title translatable ([@jpbede] - [#95806]) +- Update template vacuum supported features ([@emontnemery] - [#95831]) +- Make workday integration title translatable ([@jpbede] - [#95803]) +- Add filters to fan/services.yaml ([@emontnemery] - [#95855]) +- Add filters to humidifier/services.yaml ([@emontnemery] - [#95859]) +- Add filters to lock/services.yaml ([@emontnemery] - [#95860]) +- Add filters to cover/services.yaml ([@emontnemery] - [#95854]) +- Refactor ESPHome camera to avoid creating tasks ([@bdraco] - [#95818]) +- Update pydantic to 1.10.11 ([@cdce8p] - [#96137]) +- Update lxml to 4.9.3 ([@frenck] - [#96132]) +- Add entity translations to Sensibo ([@joostlek] - [#96091]) +- Add entity translations to Slack ([@joostlek] - [#96149]) +- Update Pillow to 10.0.0 ([@frenck] - [#96106]) +- Add entity translations to SkyBell ([@joostlek] - [#96096]) +- Add dim to full state service for Sensibo ([@gjohansson-ST] - [#96152]) +- Update holidays to 0.28 ([@arkid15r] - [#95091]) +- Add `device_class` and `state_class` in config flow for SQL ([@dougiteixeira] - [#95020]) +- Use device name for Nuki door sensor ([@Nardol] - [#95904]) +- Bump pysensibo to 1.0.31 ([@gjohansson-ST] - [#96154]) +- Add bthome logbook platform ([@bdraco] - [#96171]) +- KNX Cover: Use absolute tilt position if available ([@farmio] - [#96192]) +- Update Ruff to v0.0.277 ([@frenck] - [#96108]) +- Update tplink dhcp discovery ([@bdraco] - [#96191]) +- Update pytest-xdist to 3.3.1 ([@frenck] - [#96110]) +- Migrate ring to entity name ([@joostlek] - [#96080]) +- Add error sensor to Roborock ([@Lash-L] - [#96209]) +- Add entity translations to Speedtest.net ([@joostlek] - [#96168]) +- Restore KNX telegram history ([@farmio] - [#95800]) +- Add entity translations to Starlink ([@joostlek] - [#96181]) +- Fix missing name in wilight service descriptions ([@frenck] - [#96073]) +- Add slots to bluetooth manager ([@bdraco] - [#95881]) +- Enrich instructions to retreive Roomba password ([@alepee] - [#95902]) +- Enhance diagnostics for Sensibo ([@gjohansson-ST] - [#96150]) +- Update pyipp to 0.14.2 ([@ctalkington] - [#96218]) +- Add entity translations to Sonarr ([@joostlek] - [#96159]) +- Refactor IPP tests ([@ctalkington] - [#94097]) +- Optimize bluetooth base scanners for python3.11+ ([@bdraco] - [#96165]) +- Avoid probing ESPHome devices when we do not have the encryption key ([@bdraco] - [#95820]) +- Bump zeroconf to 0.71.0 ([@bdraco] - [#96183]) +- Reduce system_log overhead ([@bdraco] - [#96177]) +- Remove Legacy Works With Nest ([@allenporter] - [#96111]) +- Fix missing name in Siren service descriptions ([@frenck] - [#96072]) +- Update yamllint to 1.32.0 ([@frenck] - [#96109]) +- Bump aioesphomeapi to 15.1.4 ([@bdraco] - [#96227]) +- Simplify FastUrlDispatcher resolve ([@bdraco] - [#96234]) +- Update Nest Legacy removal strings ([@allenporter] - [#96229]) +- Clean up unused device class translations from binary sensor ([@frenck] - [#96241]) +- Use fixed token for CodeCov uploads to deal with recent failures ([@frenck] - [#96133]) +- Add entity translations to tailscale ([@joostlek] - [#96237]) +- Use common string references for device_automation translations ([@jbouwh] - [#95897]) +- Add MEDIA_ANNOUNCE to MediaPlayerEntityFeature ([@emontnemery] - [#95906]) +- Use the ESPHome object_id to suggest the entity id ([@bdraco] - [#95852]) +- Check supported features in calls to vacuum services ([@emontnemery] - [#95833]) +- Add deprecated_yaml issue to the homeassistant integration ([@emontnemery] - [#95980]) +- Add entity translations to trafikverket ferry ([@joostlek] - [#96249]) +- Use explicit device name in trafikverket train ([@joostlek] - [#96250]) +- Correct flags for issue registry issue raised by ezviz ([@emontnemery] - [#95846]) +- Remove unsupported vacuum service handlers ([@emontnemery] - [#95787]) +- Add filters to vacuum/services.yaml ([@emontnemery] - [#95865]) +- Add filters to remote/services.yaml ([@emontnemery] - [#95863]) +- Only load the device entry when it changes in the base entity ([@bdraco] - [#95801]) +- Remove unreferenced issues ([@emontnemery] - [#96262]) +- Change explicit rounding to suggested_display_precision ([@disforw] - [#95773]) +- Use snapshots in devolo Home Network sensor tests ([@Shutgun] - [#95104]) +- Make Zodiac integration title translatable ([@joostlek] - [#95816]) +- Differentiate between device info types ([@balloob] - [#95641]) +- Bump fritzconection to 1.12.2 ([@mib1185] - [#96265]) +- Add entity translations to trafikverket weatherstation ([@joostlek] - [#96251]) +- Add filters to siren/services.yaml ([@emontnemery] - [#95864]) +- Add filters to media_player/services.yaml ([@emontnemery] - [#95862]) +- Move Hydrawise to a supported library ([@dknowles2] - [#96023]) +- Move tractive attribute to entity class ([@joostlek] - [#96247]) +- Correct issues raised when calling deprecated vacuum services ([@emontnemery] - [#96295]) +- Deprecate mqtt vacuum with legacy schema ([@jbouwh] - [#95836]) +- Improve mqtt tag schema logging and avoid tests that use xfail ([@jbouwh] - [#95711]) +- Improve test coverage mqtt vacuum ([@jbouwh] - [#96288]) +- Improve the docstring of some config schema generators ([@emontnemery] - [#96296]) +- Reolink add reboot button ([@starkillerOG] - [#96311]) +- Avoid CI fail in command_line tests ([@jbouwh] - [#96324]) +- Add support for service translations ([@frenck] - [#95984]) +- Remove some duplicated translations ([@emontnemery] - [#96300]) +- Fix hassfest services check ([@frenck] - [#96337]) +- Fix a couple of typos ([@emontnemery] - [#96298]) +- Remove removed_yaml from the spotify integeration ([@emontnemery] - [#96261]) +- Improve integration startup in AVM Fritz!Tools ([@mib1185] - [#96269]) +- Schedule `VacuumEntity` for removal in Home Assistant Core 2024.2 ([@emontnemery] - [#96236]) +- Fix diagnostics Sensibo ([@gjohansson-ST] - [#96336]) +- Speedup tests command_line integration ([@jbouwh] - [#96349]) +- Fix service schema to allow for services without any fields/properties ([@frenck] - [#96346]) +- Use DeviceInfo object s-x ([@joostlek] - [#96281]) +- Use DeviceInfo object d-o ([@joostlek] - [#96280]) +- Bump aioesphomeapi to 15.1.6 ([@bdraco] - [#96297]) +- Tibber upgrade lib, improve reconnect issues ([@Danielhiversen] - [#96276]) +- Remove unreferenced issues ([@emontnemery] - [#96264]) +- Add entity translations to Ukraine Alarm ([@joostlek] - [#96260]) +- Update orjson to 3.9.2 ([@frenck] - [#96257]) +- Use device class naming for sfr box ([@joostlek] - [#96092]) +- Add entity translations to solarlog ([@joostlek] - [#96157]) +- Fix handling MQTT light brightness from zero rgb ([@jbouwh] - [#96286]) +- Add entity translations to Rainforest eagle ([@joostlek] - [#96031]) +- Migrate Roomba to has entity name ([@joostlek] - [#96085]) +- Update colorlog to 6.7.0 ([@frenck] - [#96131]) +- Upgrade pylint-per-file-ignore to v1.2.1 ([@frenck] - [#96134]) +- Cleanup unneeded MQTT vacuum feature check ([@jbouwh] - [#96312]) +- Add entity translations to Juicenet ([@joostlek] - [#95487]) +- Migrate reload only helper services to support translations ([@frenck] - [#96344]) +- Add Reolink sensor platform ([@starkillerOG] - [#96323]) +- Migrate number services to support translations ([@frenck] - [#96343]) +- Migrate camera services to support translations ([@frenck] - [#96313]) +- Migrate backup services to support translations ([@frenck] - [#96308]) +- Migrate integration services (A) to support translations ([@frenck] - [#96362]) +- Migrate integration services (B-D) to support translations ([@frenck] - [#96363]) +- Fix ESPHome deep sleep devices staying unavailable after unexpected disconnect ([@bdraco] - [#96353]) +- Migrate climate services to support translations ([@frenck] - [#96314]) +- Migrate automation services to support translations ([@frenck] - [#96306]) +- Migrate device_tracker services to support translations ([@frenck] - [#96320]) +- Migrate image_processing services to support translations ([@frenck] - [#96328]) +- Migrate button services to support translations ([@frenck] - [#96309]) +- Migrate calendar services to support translations ([@frenck] - [#96310]) +- Migrate cloud services to support translations ([@frenck] - [#96319]) +- Migrate integration services (E-F) to support translations ([@frenck] - [#96367]) +- Migrate integration services (L-M) to support translations ([@frenck] - [#96374]) +- Migrate integration services (N-P) to support translations ([@frenck] - [#96376]) +- Update pre-commit to 3.3.3 ([@frenck] - [#96359]) +- Migrate integration services (Q-S) to support translations ([@frenck] - [#96378]) +- Add additional tplink kasa OUI ([@bdraco] - [#96383]) +- Migrate integration services (W-Z) to support translations ([@frenck] - [#96381]) +- Migrate integration services (T-V) to support translations ([@frenck] - [#96379]) +- Add Nut commands to diagnostics data ([@ollo69] - [#96285]) +- Migrate time services to support translations ([@frenck] - [#96402]) +- Migrate integration services (G-H) to support translations ([@frenck] - [#96372]) +- Migrate conversation services to support translations ([@frenck] - [#96365]) +- Migrate switch services to support translations ([@frenck] - [#96405]) +- Migrate date services to support translations ([@frenck] - [#96317]) +- Migrate datetime services to support translations ([@frenck] - [#96318]) +- Migrate logbook services to support translations ([@frenck] - [#96341]) +- Migrate script services to support translations ([@frenck] - [#96401]) +- Migrate homeassistant services to support translations ([@frenck] - [#96388]) +- Migrate hassio services to support translations ([@frenck] - [#96386]) +- Migrate scene services to support translations ([@frenck] - [#96390]) +- Migrate water_heater services to support translations ([@frenck] - [#96389]) +- Migrate fan services to support translations ([@frenck] - [#96325]) +- Migrate template services to support translations ([@frenck] - [#96414]) +- Migrate LaMetric services to support translations ([@frenck] - [#96415]) +- Migrate intent_script services to support translations ([@frenck] - [#96394]) +- Migrate Matter services to support translations ([@frenck] - [#96406]) +- Add support for gardena bluetooth ([@elupus] - [#95179]) +- Migrate cover services to support translations ([@frenck] - [#96315]) +- Migrate siren services to support translations ([@frenck] - [#96400]) +- Migrate persistent notification services to support translations ([@frenck] - [#96391]) +- Migrate media player services to support translations ([@frenck] - [#96408]) +- Migrate & fix logger services to support translations ([@frenck] - [#96393]) +- Migrate alarm control panel services to support translations ([@frenck] - [#96305]) +- Migrate mqtt services to support translations ([@frenck] - [#96396]) +- Migrate integration services (I-K) to support translations ([@frenck] - [#96373]) +- Add condition selector for blueprint ([@piitaya] - [#96350]) +- Migrate update services to support translations ([@frenck] - [#96395]) +- Migrate lovelace services to support translations ([@frenck] - [#96340]) +- Migrate input helpers services to support translations ([@frenck] - [#96392]) +- Migrate recorder services to support translations ([@frenck] - [#96409]) +- Migrate humidifier services to support translations ([@frenck] - [#96327]) +- Migrate vacuum services to support translations ([@frenck] - [#96417]) +- Migrate remote services to support translations ([@frenck] - [#96410]) +- Migrate lock services to support translations ([@frenck] - [#96416]) +- Add Ezviz select entity ([@RenierM26] - [#93625]) +- Improve chances of recovering stuck down bluetooth adapters ([@bdraco] - [#96382]) +- Migrate select services to support translations ([@frenck] - [#96411]) +- Migrate tts services to support translations ([@frenck] - [#96412]) +- Migrate system_log services to support translations ([@frenck] - [#96398]) +- Migrate group services to support translations ([@frenck] - [#96369]) +- Migrate text services to support translations ([@frenck] - [#96397]) +- Migrate notify services to support translations ([@frenck] - [#96413]) +- Migrate zha services to support translations ([@frenck] - [#96418]) +- Include a warning when changing channels with multi-PAN ([@puddly] - [#96351]) +- Add more common translations ([@joostlek] - [#96429]) +- Fix huawei_lte suspend_integration service URL description ([@scop] - [#96450]) +- Improve ESPHome update platform error reporting ([@bdraco] - [#96455]) +- Add number entity to gardena ([@elupus] - [#96430]) +- Improve performance of http auth logging ([@bdraco] - [#96464]) +- Migrate Z-Wave services to support translations ([@frenck] - [#96361]) +- Use device class translations in airvisual pro ([@joostlek] - [#96472]) +- ImageEntity split load_image_from_url ([@RenierM26] - [#96146]) +- Add deduplicate translations script ([@balloob] - [#96384]) +- Rename CO2Signal to Electricity Maps ([@madsnedergaard] - [#96252]) +- Correct unifi device info ([@emontnemery] - [#96483]) +- Correct huawei_lte device info ([@emontnemery] - [#96481]) +- Correct dlna_dmr device info ([@emontnemery] - [#96480]) +- Correct knx device info ([@emontnemery] - [#96482]) +- Bump yalexs-ble to 2.2.0 ([@bdraco] - [#96460]) +- Don't require passing identifiers to DeviceRegistry.async_get_device ([@emontnemery] - [#96479]) +- Update denonavr to `0.11.3` ([@ol-iver] - [#96467]) +- Bump unifiprotect to 4.10.5 ([@AngellusMortis] - [#96486]) +- Bump bluetooth-data-tools to 1.6.0 ([@bdraco] - [#96461]) +- Bump bond-async to 0.2.1 ([@bdraco] - [#96504]) +- Remove unused code in ESPHome ([@bdraco] - [#96503]) +- Bump opower to 0.0.14 ([@tronikos] - [#96506]) +- Simplify ESPHome bluetooth disconnected during operation wrapper ([@bdraco] - [#96459]) +- Only lookup supported_features once in media_player capability_attributes ([@bdraco] - [#96510]) +- Add Ezviz last motion picture image entity ([@RenierM26] - [#94421]) +- Remove unneeded str() in StrEnum backport ([@bdraco] - [#96509]) +- Bump actions/setup-python from 4.6.1 to 4.7.0 (@dependabot - [#96526]) +- Revert translation reference for Tuya motion_sensitivity ([@jbouwh] - [#96536]) +- Move device info validation to device registry ([@emontnemery] - [#96465]) +- Wyoming Piper 1.1 ([@synesthesiam] - [#96490]) +- Address Ezviz select entity late review ([@RenierM26] - [#96525]) +- Improve Mullvad typing ([@joostlek] - [#96545]) +- Add feature to turn off using IMAP-Push on an IMAP server ([@jbouwh] - [#96436]) +- Add entity translations to Sonos ([@joostlek] - [#96167]) +- Remove unreachable code in the ESPHome fan platform ([@bdraco] - [#96458]) +- Add missing type hints for AndroidTV ([@ollo69] - [#96554]) +- Migrate AppleTV to use has entity name ([@joostlek] - [#96563]) +- Avoid compressing binary images on ingress ([@bdraco] - [#96581]) +- Avoid writing state in homekit_controller for unrelated aid/iids ([@bdraco] - [#96583]) +- Migrate Heos to has entity name ([@joostlek] - [#96595]) +- Add UV Index and UV Health Concern sensors to tomorrow.io ([@dirrgang] - [#96534]) +- Update pip constraint to allow pip 23.2 ([@cdce8p] - [#96614]) +- Bump aioesphomeapi to 15.1.7 ([@bdraco] - [#96615]) +- Use device class naming for Switchbot ([@joostlek] - [#96187]) +- Add entity translations for Mazda ([@joostlek] - [#95729]) +- Migrate evil genius labs to has entity name ([@joostlek] - [#96570]) +- Bump bthome-ble to 3.0.0 ([@bdraco] - [#96616]) +- Correct unit types in gardean bluetooth ([@elupus] - [#96683]) +- Ensure async_get_system_info does not fail if supervisor is unavailable ([@bdraco] - [#96492]) +- Migrate google assistant to has entity name ([@joostlek] - [#96593]) +- Avoid multiple options and current_option lookups in select entites ([@bdraco] - [#96630]) +- Reduce unifiprotect update overhead ([@bdraco] - [#96626]) +- IMAP service strings: Fix typo ([@c0ffeeca7] - [#96711]) +- Use device class naming for BraviaTV ([@joostlek] - [#96564]) +- Migrate DuneHD to has entity name ([@joostlek] - [#96568]) +- Remove redundant phrase ([@c0ffeeca7] - [#96716]) +- Guard type checking assertions in unifiprotect ([@bdraco] - [#96721]) +- Airvisual Pro Outside Station Support ([@tedivm] - [#96618]) +- Ezviz image entity cleanup ([@RenierM26] - [#96548]) +- Remove the ability to defer websocket message construction ([@bdraco] - [#96734]) +- Avoid regenerating the mobile app schema every time a webhook is called ([@bdraco] - [#96733]) +- Check the registry entry in sensor unit_of_measurement instead of unique_id ([@bdraco] - [#96731]) +- Make async_set_state in ConfigEntry a protected method ([@bdraco] - [#96727]) +- Add wellness sensors to Tractive integration ([@bieniu] - [#96719]) +- Vacuum services strings: rename 'base' to 'dock' for consistency ([@c0ffeeca7] - [#96715]) +- Create Tractive battery charging sensor if `charging_state` is not `None` ([@bieniu] - [#96713]) +- Small tweaks to ZHA service strings ([@c0ffeeca7] - [#96709]) +- Migrate Monoprice to has entity name ([@joostlek] - [#96704]) +- Migrate Laundrify to has entity name ([@joostlek] - [#96703]) +- Add sensor to gardena ([@elupus] - [#96691]) +- Migrate Kulersky to has entity name ([@joostlek] - [#96702]) +- Use device class naming in keenteic ndms2 ([@joostlek] - [#96701]) +- Bump Cryptography from 41.0.1 to 41.0.2 ([@blastoise186] - [#96699]) +- Migrate iAlarm to has entity name ([@joostlek] - [#96700]) +- Fix typo for PM 1 ([@joostlek] - [#96473]) +- Add string "Quiet" to fan mode in climate component ([@mattmccormack] - [#96584]) +- Bump pytomorrowio to 0.3.6 ([@raman325] - [#96628]) +- Bump pynina to 0.3.1 ([@DeerMaximum] - [#96693]) +- Speed up single entity/response service calls ([@bdraco] - [#96729]) +- Periodically re-scan for Fronius inverters that were offline while setup ([@weitzelb] - [#96538]) +- Update pygtfs to 0.1.9 ([@cdce8p] - [#96682]) +- Remove the virtual integration for ultraloq ([@b-uwe] - [#96355]) +- Add entity translations to mutesync ([@joostlek] - [#96741]) +- Migrate NuHeat to has entity name ([@joostlek] - [#96742]) +- Add base entity to philips js ([@joostlek] - [#96756]) +- Add entity translations to philips js ([@joostlek] - [#96747]) +- Migrate Plum Lightpad to has entity name ([@joostlek] - [#96744]) +- Fix device name for OwnTracks ([@joostlek] - [#96759]) +- Add entity translations to radiotherm ([@joostlek] - [#96745]) +- Add entity translations to MotionEye ([@joostlek] - [#96740]) +- Migrate OwnTracks to has entity name ([@joostlek] - [#96743]) +- Add entity translations to Twentemilieu ([@joostlek] - [#96762]) +- Reduce attribute lookups in update state_attributes ([@bdraco] - [#96511]) +- Migrate VLC Telnet to has entity naming ([@joostlek] - [#96774]) +- Migrate VeSync to has entity name ([@joostlek] - [#96772]) +- Remove support for mqtt climate option CONF_POWER_STATE_TOPIC and template ([@jbouwh] - [#96771]) +- Switch homekit_controller to use subscriber lookups ([@bdraco] - [#96739]) +- Add external power sensor for Shelly Plus HT ([@bieniu] - [#96768]) +- Protect entities for availability in gardena bluetooth ([@elupus] - [#96776]) +- Add base class to gardena bluetooth entities ([@elupus] - [#96775]) +- Add some basic tests for gardena ([@elupus] - [#96777]) +- Remove extra otbr config entries ([@emontnemery] - [#96785]) +- Include addon name in otbr config entry title ([@emontnemery] - [#96786]) +- Fix otbr test ([@emontnemery] - [#96788]) +- Bump wyoming to 1.1 ([@synesthesiam] - [#96778]) +- Drop upper constraint for pip ([@cdce8p] - [#96738]) +- Alexa temperature adjustment handle multiple setpoint ([@mkeesey] - [#95821]) +- Bump androidtvremote2 to 0.0.12 ([@tronikos] - [#96796]) +- Bump aioesphomeapi to 15.1.9 ([@bdraco] - [#96791]) +- Correct tests for gardena ([@elupus] - [#96806]) +- Bump aiohomekit to 2.6.8 ([@bdraco] - [#96805]) +- Replace EventType annotations with Event ([@cdce8p] - [#96426]) +- Migrate Traccar to has entity naming ([@joostlek] - [#96760]) +- Add binary sensor for valve connectivity for gardena bluetooth ([@elupus] - [#96810]) +- Add entity translations to Transmission ([@joostlek] - [#96761]) +- Bump yalexs-ble to 2.2.1 ([@bdraco] - [#96808]) +- Use entity registry id in zwave_js device actions ([@emontnemery] - [#96407]) +- Migrate gpslogger to has entity name ([@joostlek] - [#96594]) +- Small cleanups to expand_entity_ids ([@bdraco] - [#96585]) +- Make Version integration title translatable ([@joostlek] - [#96586]) +- Remove deprecated state.get_changed_since ([@bdraco] - [#96579]) +- Migrate geofency to has entity name ([@joostlek] - [#96592]) +- Migrate Home plus control to has entity name ([@joostlek] - [#96596]) +- Rename 'life' to 'lifetime' in Tuya ([@c0ffeeca7] - [#96813]) +- Migrate Soundtouch to has entity name ([@joostlek] - [#96754]) +- Migrate Senz to has entity name ([@joostlek] - [#96752]) +- Migrate frontier silicon to has entity name ([@joostlek] - [#96571]) +- Migrate AndroidTV to has entity name ([@joostlek] - [#96572]) +- Migrate Dynalite to has entity name ([@joostlek] - [#96569]) +- Migrate Brunt to has entity name ([@joostlek] - [#96565]) +- Rename 'life' to 'lifetime' in Xiaomi Miio ([@c0ffeeca7] - [#96817]) +- Fix incorrect leagacy code tweak for MQTT ([@jbouwh] - [#96812]) +- Add entity translations to Yalexs BLE ([@joostlek] - [#96827]) +- Migrate Wilight to has entity name ([@joostlek] - [#96825]) +- Add support for restricted playback devices in Spotify ([@joostlek] - [#96794]) +- Allow integrations to register custom config panels ([@frenck] - [#96245]) +- Add entity translations to Whirlpool ([@joostlek] - [#96823]) +- Prevent creating scripts which override script services ([@emontnemery] - [#96828]) +- Add prefix support to text selector ([@frenck] - [#96830]) +- Migrate Volumio to has entity naming ([@joostlek] - [#96822]) +- Rename 'life' to 'lifetime' in trรฅdfri ([@c0ffeeca7] - [#96818]) +- Migrate Songpal to has entity name ([@joostlek] - [#96753]) +- Do not include stack trace when shell_command service times out ([@emontnemery] - [#96833]) +- Fix shell_command timeout test ([@emontnemery] - [#96834]) +- Migrate Zerproc to has entity naming ([@joostlek] - [#96837]) +- Add entity translations to zeversolar ([@joostlek] - [#96838]) +- Migrate Yolink to has entity name ([@joostlek] - [#96839]) +- Make Spotify accept user playlist uris ([@joostlek] - [#96820]) +- Change device classes for Airvisual Pro ([@joostlek] - [#96474]) +- Allow ADR 0007 compliant schema for mqtt ([@jbouwh] - [#94305]) +- Add entity translations to Whois ([@joostlek] - [#96824]) +- Rename homekit "Filter Life" sensor to "Filter lifetime" ([@c0ffeeca7] - [#96821]) +- Resolve bugs with Transport NSW ([@craibo] - [#96692]) +- Fix ESPHome bluetooth client cancellation when the operation is cancelled externally ([@bdraco] - [#96804]) +- Make default theme selectable for set theme service ([@piitaya] - [#96849]) +- Clean up entity descriptions in Tuya ([@joostlek] - [#96847]) +- Rename life to lifetime: wemo ([@c0ffeeca7] - [#96845]) +- Update construct to 2.10.68 ([@cdce8p] - [#96843]) +- Add Tuya Soil sensor ([@iKaew] - [#96819]) +- Rename 'life' to 'lifetime' in Brother ([@c0ffeeca7] - [#96815]) +- Add entity translations to NextCloud ([@joostlek] - [#96544]) +- Use device class for DLink ([@joostlek] - [#96567]) +- Rename life to lifetime in vesync ([@c0ffeeca7] - [#96844]) +- Migrate Crownstone to has entity name ([@joostlek] - [#96566]) +- Migrate Agent DVR to has entity name ([@joostlek] - [#96562]) +- Plugwise prepare native_value_fn and companions for number ([@CoMPaTech] - [#93416]) +- Migrate Ambiclimate to use has entity name ([@joostlek] - [#96561]) +- Migrate MyStrom to has entity name ([@joostlek] - [#96540]) +- Migrate Tradfri to has entity name ([@joostlek] - [#96248]) +- Add device info to ISS ([@joostlek] - [#96469]) +- Add entity translations to Vallox ([@joostlek] - [#96495]) +- Remove duplicated available property from Shelly coordinator entities ([@mib1185] - [#96859]) +- Fix smoke alarm detection in tuya ([@si458] - [#96475]) +- Add entity translations to Forecast Solar ([@joostlek] - [#96476]) +- Clean up Kraken const file ([@joostlek] - [#95544]) +- Use device class naming for SMS ([@joostlek] - [#96156]) +- Migrate Soma to entity naming ([@joostlek] - [#96158]) +- Migrate spider to entity name ([@joostlek] - [#96170]) +- Add entity translations to Tautulli ([@joostlek] - [#96239]) +- Add entity translations to Tesla Wall Connector ([@joostlek] - [#96242]) +- Remove duplicated available property from Picnic coordinator entities ([@mib1185] - [#96861]) +- Add entity translations to islamic prayer times ([@joostlek] - [#95469]) +- Migrate Starline to entity name ([@joostlek] - [#96176]) +- Remove miflora integration ([@frenck] - [#96868]) +- Use dispatcher helper to add new Fronius inverter entities ([@weitzelb] - [#96782]) +- Remove mitemp_bt integration ([@frenck] - [#96869]) +- Allow number to be zero in gardena bluetooth ([@elupus] - [#96872]) +- Add more complete test coverage to gardena bluetooth ([@elupus] - [#96874]) +- Bump aioesphomeapi to 15.1.11 ([@bdraco] - [#96873]) +- Bump flux_led to 1.0.0 ([@bdraco] - [#96879]) +- Remove legacy discovery integration ([@frenck] - [#96856]) +- Clean up conversation agent attribution ([@frenck] - [#96883]) +- Improve handling of unrecoverable storage corruption ([@bdraco] - [#96712]) +- Add support for multiple Russound RNET controllers ([@stonith] - [#96793]) +- Add tomorrow.io state translations and dynamically assign enum device class ([@raman325] - [#96603]) +- Add support for buttons in gardena bluetooth ([@elupus] - [#96871]) +- Add WS command for changing thread channels ([@emontnemery] - [#94525]) +- Ezviz NumberEntity 1st update only when enabled ([@RenierM26] - [#96587]) +- Move Dynalite configuration panel to config entry ([@frenck] - [#96853]) +- Add humidity to meteo_france weather forecast ([@vingerha] - [#96524]) +- Remove version string from Ecowitt name ([@joostlek] - [#96498]) +- Add entity translations to Tuya ([@joostlek] - [#96842]) +- Improve pip caching [ci] ([@cdce8p] - [#96896]) +- Add comment to EntityPlatform._async_add_entity about update_before_add ([@emontnemery] - [#96891]) +- Add Ezviz SensorEntity name and translation ([@RenierM26] - [#95697]) +- Update sentry-sdk to 1.28.1 ([@frenck] - [#96898]) +- Update PyJWT to 2.8.0 ([@frenck] - [#96899]) +- Remove Reolink event connection sensor ([@frenck] - [#96903]) +- Update syrupy to 4.0.6 ([@frenck] - [#96900]) +- Update black to 23.7.0 ([@frenck] - [#96901]) +- Fix typo in Nuki integration ([@steffenrapp] - [#96908]) +- Fix websocket_api _state_diff_event using json_encoder_default ([@bdraco] - [#96905]) +- Add lightweight API to get core state ([@bdraco] - [#96860]) +- Handle nullable context in Spotify ([@joostlek] - [#96913]) +- Allow match quirk_class of custom quirks to ZHA ([@gmsoft-tuxicoman] - [#93268]) +- Correct invalid docstring in gardena button ([@elupus] - [#96922]) +- Bump bleak-retry-connector to 3.1.0 ([@bdraco] - [#96917]) +- Bump aioesphomeapi to 15.1.12 ([@bdraco] - [#96924]) +- Add a message to the config entry cancel call ([@bdraco] - [#96925]) +- EZVIZ NumberEntity async added to hass ([@RenierM26] - [#96930]) +- Fix mock assert_called_with ([@cdce8p] - [#96929]) +- Transport NSW: Set DeviceClass and StateClass ([@craibo] - [#96928]) +- Avoid accessing coordinator in gardena_bluetooth tests ([@elupus] - [#96921]) +- Pre-split unifiprotect nested attribute lookups ([@bdraco] - [#96862]) +- Add support for MiScale V2 ([@Ernst79] - [#96807]) +- Fully unload wemo config entry ([@esev] - [#96620]) +- Upgrade yt-dlp to fix security issue ([@blastoise186] - [#96453]) +- Add EZVIZ BinarySensorEntity proper names and translation key ([@RenierM26] - [#95698]) +- Implement coordinator in Trafikverket Train ([@gjohansson-ST] - [#96916]) +- Add NumberDeviceClass.DURATION ([@emontnemery] - [#96932]) +- Migrate airtouch 4 to use has entity name ([@joostlek] - [#96356]) +- Support Tuya Air Conditioner Mate (WiFi) - Smart IR socket with power monitoring ([@slydiman] - [#95027]) +- Refactor SQL with ManualTriggerEntity ([@gjohansson-ST] - [#95116]) +- Fix bug in check_config when an integration is removed by its own validator ([@joostlek] - [#96068]) +- Shell command response ([@RoboMagus] - [#96695]) +- Create an issue if push updates fail for Shelly gen1 devices ([@bieniu] - [#96910]) +- Update .devcontainer.json structure ([@lkshrk] - [#96537]) +- Fix broken service test ([@emontnemery] - [#96943]) +- Update bind_hass docstring to discourage its use ([@emontnemery] - [#96933]) +- Avoid using name in Subaru migrations ([@joostlek] - [#96221]) +- Update pipdeptree to 2.10.2 ([@frenck] - [#96940]) +- Bump aiohomekit to 2.6.9 ([@bdraco] - [#96956]) +- Fix assertions in zeroconf tests ([@bdraco] - [#96957]) +- Bump yalexs-ble to 2.2.3 ([@bdraco] - [#96927]) +- Use default icon for demo button entity ([@frenck] - [#96961]) +- Bump aioesphomeapi to 15.1.13 ([@bdraco] - [#96964]) +- Add cancel messages to core task cancelation ([@bdraco] - [#96972]) +- Fix translation key in profiler integration ([@bdraco] - [#96979]) +- Do not override extra_state_attributes property for MqttEntity ([@jbouwh] - [#96890]) +- Only lookup hostname/ip_address/mac_address once in device_tracker ([@bdraco] - [#96984]) +- Bump xiaomi-ble to 0.19.1 ([@Ernst79] - [#96967]) +- Fix sentry test assert ([@cdce8p] - [#96983]) +- Cache version compare in update entity ([@bdraco] - [#96978]) +- Add snapshot testing to YouTube ([@joostlek] - [#96974]) +- Add entity translations to Daikin ([@joostlek] - [#95181]) +- Clean up logi circle const ([@joostlek] - [#95540]) +- Clean up Ombi const file ([@joostlek] - [#95541]) +- Update syrupy to 4.0.8 ([@frenck] - [#96990]) +- Add diagnostics to YouTube ([@joostlek] - [#96975]) +- Add EZVIZ AlarmControlPanelEntity ([@RenierM26] - [#96602]) +- Add event entity ([@frenck] - [#96797]) +- Change naming of MQTT entities to correspond with HA guidelines ([@jbouwh] - [#95159]) +- Fix a translation bug for water price issue ([@karwosts] - [#96958]) +- Add uv_index to Weather Entity ([@gjohansson-ST] - [#96951]) +- Update pytest-freezer to 0.4.8 ([@cdce8p] - [#97000]) +- Create an issue if Shelly TRV is not calibrated ([@bieniu] - [#96952]) +- Update pytest-cov to 4.1.0 ([@cdce8p] - [#97010]) +- Move OpenSky constants to separate const file ([@joostlek] - [#97013]) +- Update pytest-socket to 0.6.0 ([@cdce8p] - [#97011]) +- Use walrus in event entity last event attributes ([@frenck] - [#97005]) +- Add new sensors for Shelly Pro 3EM ([@bieniu] - [#97006]) +- Add new Forecasting to Weather ([@gjohansson-ST] - [#75219]) +- Bump aioesphomeapi to 15.1.14 ([@bdraco] - [#97019]) +- Update pytest-sugar to 0.9.7 ([@cdce8p] - [#97001]) +- Update pytest-asyncio to 0.21.0 ([@cdce8p] - [#96999]) +- Update tqdm to 4.65.0 ([@cdce8p] - [#96997]) +- Update respx to 0.20.2 ([@cdce8p] - [#96996]) +- Fix ESPHome bluetooth client cancel behavior when device unexpectedly disconnects ([@bdraco] - [#96918]) +- Display current version in common format in AVM Fritz!Tools ([@mib1185] - [#96424]) +- Decouple more of ESPHome Bluetooth support ([@bdraco] - [#96502]) +- Bump httpcore to 0.17.3 ([@bdraco] - [#97032]) +- Update coverage to 7.2.7 ([@cdce8p] - [#96998]) +- Add entity translations for PoolSense ([@joostlek] - [#95814]) +- Add upload date to Youtube state attributes ([@joostlek] - [#96976]) +- Use snapshot testing in LastFM ([@joostlek] - [#97009]) +- Clean up fitbit const ([@joostlek] - [#95545]) +- Fix duplicate and missing decorators in ESPHome Bluetooth client ([@bdraco] - [#97027]) +- Add entity translations for Ondilo Ico ([@joostlek] - [#95809]) +- Move Aseko coordinator to separate file ([@joostlek] - [#95120]) +- Add entity translations to iCloud ([@joostlek] - [#95461]) +- Add entity translations to Modern Forms ([@joostlek] - [#95738]) +- Add entity translations to Wiz ([@joostlek] - [#96826]) +- Add entity translations to IntelliFire ([@joostlek] - [#95466]) +- Clean up Vilfo const file ([@joostlek] - [#95543]) +- Migrate Uptimerobot to has entity name ([@joostlek] - [#96770]) +- Clean up Enphase Envoy const file ([@joostlek] - [#95536]) +- Add `uv_index` to AccuWeather weather entity ([@bieniu] - [#97015]) +- Fix Vicare cleanup token file on uninstall ([@CFenner] - [#95992]) +- Airthings BLE: Improve supported devices ([@LaStrada] - [#95883]) +- Add entity translations to Subaru ([@joostlek] - [#96186]) +- Teach zwave_js device trigger about entity registry ids ([@emontnemery] - [#96303]) +- Migrate Tolo to entity name ([@joostlek] - [#96244]) +- Apply common entity schema for MQTT Scene ([@jbouwh] - [#96949]) +- Fix zeroconf tests with cython 3 ([@bdraco] - [#97054]) +- Bump aiohomekit to 2.6.10 ([@bdraco] - [#97057]) +- Allow homeassistant in MQTT configuration_url schema ([@jbouwh] - [#96107]) +- Drop Python 3.10 support ([@frenck] - [#97007]) +- Bump aiohomekit to 2.6.11 ([@bdraco] - [#97061]) +- Import names from typing instead of typing_extensions [3.11] ([@cdce8p] - [#97065]) +- Replace typing.Optional with new typing syntax ([@cdce8p] - [#97068]) +- Drop tomli ([@cdce8p] - [#97064]) +- Use datetime.UTC alias [3.11] ([@cdce8p] - [#97067]) +- Add a cancel message to the aiohttp compatiblity layer ([@bdraco] - [#97058]) +- Add another OUI to tplink ([@bdraco] - [#97062]) +- Use entity name naming for Nanoleaf ([@joostlek] - [#95741]) +- Fix has_entity_name not always being set in ESPHome ([@bdraco] - [#97055]) +- Cleanup sensor unit conversion code ([@bdraco] - [#97074]) +- Guard expensive debug formatting with calls with isEnabledFor ([@bdraco] - [#97073]) +- Disable Spotify controls when no active session ([@joostlek] - [#96914]) +- Add repair hint to deprecate generic camera yaml config ([@davet2001] - [#96923]) +- Add support for MiScale V1 ([@Ernst79] - [#97081]) +- Add entity translations for ld2410 BLE ([@joostlek] - [#95709]) +- Add missing translations for power binary sensor device class ([@frenck] - [#97084]) +- Add entity translations to Tado ([@joostlek] - [#96226]) +- Add MQTT event entity platform ([@jbouwh] - [#96876]) +- Add Axis camera sources to diagnostics ([@Kane610] - [#97063]) +- Add new device class: PH (potential hydrogen) ([@cibernox] - [#95928]) +- Add Number platform to Roborock ([@Lash-L] - [#94209]) +- Improve code coverage for LastFM ([@joostlek] - [#97012]) +- Add entity translations to Renson ([@joostlek] - [#96040]) +- Add doorbell event support to alexa ([@jbouwh] - [#97092]) +- Add entity translations to uPnP ([@joostlek] - [#96763]) +- Add "enqueue" parameter to spotify integration ([@FOLLGAD] - [#90687]) +- Bump flux_led to 1.0.1 ([@bdraco] - [#97094]) +- Fix imap cleanup error on abort ([@jbouwh] - [#97097]) +- Fix typo hidrogen to hydrogen ([@frenck] - [#97096]) +- Add frequency and N current sensors for Shelly Pro 3EM ([@bieniu] - [#97082]) +- State attributes translation for Sensibo ([@gjohansson-ST] - [#85239]) +- Fix vulcan integration ([@Antoni-Czaplicki] - [#91401]) +- Add generic Event class ([@cdce8p] - [#97071]) +- Update ruff to v0.0.280 ([@frenck] - [#97102]) +- Update Home Assistant base image to 2023.07.0 ([@frenck] - [#97103]) +- Bump async-upnp-client to 0.34.1 ([@StevenLooman] - [#97105]) +- Add Low Battery binary_sensor to Flume ([@jeeftor] - [#94914]) +- Migrate backported StrEnum to built-in StrEnum ([@frenck] - [#97101]) +- Add second led control for carro smart fan ([@rale] - [#94195]) +- Use EventType for more helper methods ([@cdce8p] - [#97107]) +- Remove the use of StateType from AccuWeather ([@frenck] - [#97109]) +- Update pipdeptree to 2.11.0 ([@frenck] - [#97098]) +- Bump yeelight to 0.7.12 ([@bdraco] - [#97112]) +- Use EventType for state changed [core] ([@cdce8p] - [#97115]) +- Only construct enum __or__ once in emulated_hue ([@bdraco] - [#97114]) +- Remove the use of StateType from Demo ([@frenck] - [#97111]) +- Use EventType for remaining event helper methods ([@cdce8p] - [#97121]) +- Relax typing on cached_property to accept subclasses ([@bdraco] - [#95407]) +- Bump zeroconf to 0.71.3 ([@bdraco] - [#97119]) +- Use EventType for state changed [h-m] ([@cdce8p] - [#97117]) +- Use EventType for state changed [a-h] ([@cdce8p] - [#97116]) +- Use EventType for state changed [m-z] ([@cdce8p] - [#97118]) +- Improve `async_track_state_added/removed_domain` callback typing ([@cdce8p] - [#97126]) +- Wrap internal ZHA exceptions in `HomeAssistantError`s ([@puddly] - [#97033]) +- Improve `async_track_entity_registry_updated_event` callback typing ([@cdce8p] - [#97124]) +- Migrate Yeelight to has entity naming ([@joostlek] - [#96836]) +- Improve `async_track_device_registry_updated_event` callback typing ([@cdce8p] - [#97125]) +- Fix ruff ([@cdce8p] - [#97131]) +- Improve `async_track_template_result` callback typing ([@cdce8p] - [#97135]) +- Improve `async_track_state_change_filtered` callback typing ([@cdce8p] - [#97134]) +- Cleanup EventType typing ([@cdce8p] - [#97136]) +- Update xknx to 2.11.2 - fix DPT 9 small negative values ([@farmio] - [#97137]) +- Fix typos in Radio Browser comment and docstring ([@joostlek] - [#97138]) +- Allow for translating service examples ([@frenck] - [#97141]) +- Reduce attribute lookups in climate needed to write state ([@bdraco] - [#97145]) +- Enable long-term statistics for Fast.com sensor ([@N3rdix] - [#97139]) +- Migrate frontend services to support translations ([@frenck] - [#96342]) +- Add Fallback to cloud api for Roborock ([@Lash-L] - [#96147]) +- Add name and default name to device info of APCUPSD sensors ([@yuxincs] - [#94415]) +- Make Codespell skip snapshot tests ([@joostlek] - [#97150]) +- Add initial test coverage for ESPHome manager ([@bdraco] - [#97147]) +- Bump home-assistant-bluetooth to 1.10.1 ([@bdraco] - [#97153]) +- Remove unused words from codespell check ([@joostlek] - [#97152]) +- Add alternative key names for Discovergy voltage sensors ([@jpbede] - [#97155]) +- Implement data coordinator for LastFM ([@joostlek] - [#96942]) +- Fix denonavr netaudio telnet event ([@ol-iver] - [#97159]) +- Bump zeroconf to 0.71.4 ([@bdraco] - [#97156]) +- Bump bluetooth deps ([@bdraco] - [#97157]) +- Add sensors for Shelly Plus PM Mini ([@bieniu] - [#97163]) +- Change AsusWRT entities unique id ([@ollo69] - [#97066]) +- Limit AndroidTV screencap calls ([@ollo69] - [#96485]) +- Android TV Remote: Add option to disable IME ([@tronikos] - [#95765]) +- Fix EZVIZ LightEntity occasional ValueError ([@RenierM26] - [#95679]) +- Jellyfin: Sort seasons and episodes by index ([@j-stienstra] - [#92961]) +- Bump ulid-transform to 0.8.0 ([@bdraco] - [#97162]) +- Improve reading of MOTD and bump mcstatus to 11.0.0 ([@elmurato] - [#95715]) +- Add entity translations to AsusWRT ([@joostlek] - [#95125]) +- Bump fnv-hash-fast to 0.4.0 ([@bdraco] - [#97160]) +- Bump anyio to 3.7.1 ([@bdraco] - [#97165]) +- Migrate TPLink to has entity name ([@joostlek] - [#96246]) +- Add date platform to KNX ([@farmio] - [#97154]) +- Add support for sleepy Xiaomi BLE sensors ([@Ernst79] - [#97166]) +- Bump dbus-fast to 1.87.2 ([@bdraco] - [#97167]) +- Reolink improve webhook URL error message ([@starkillerOG] - [#96088]) +- Bumb python-homewizard-energy to 2.0.2 ([@DCSBL] - [#97169]) +- Add frequency sensor for Shelly Plus/Pro xPM devices ([@bieniu] - [#97172]) +- Add Airzone Cloud Aidoo binary sensors ([@Noltari] - [#95607]) +- Bump hassil and intents ([@synesthesiam] - [#97174]) +- Make setup of Ecovacs async ([@mib1185] - [#96200]) +- Use snapshots in devolo Home Network button tests ([@Shutgun] - [#95141]) +- Add Ezviz button entities ([@RenierM26] - [#93647]) +- Scrape refactor to ManualTriggerEntity ([@gjohansson-ST] - [#96329]) +- Use get_url to get Home Assistant instance for Loqed webhook ([@mikewoudenberg] - [#95761]) +- Add yolink finger support ([@matrixd2] - [#96944]) +- Aligned integration manifest files ([@GrumpyMeow] - [#97175]) +- Bump python-otbr-api to 2.3.0 ([@emontnemery] - [#97185]) +- Create zwave_js repair issue instead of warning log entry ([@adrianmo] - [#95997]) +- Add WLAN QR code support to UniFi Image platform ([@Kane610] - [#97171]) +- Move Minecraft Server base entity to its own file ([@elmurato] - [#97187]) +- Add service turn_on and turn_off service for water_heater ([@jbouwh] - [#94817]) +- Implement YouTube async library ([@joostlek] - [#97072]) +- Add electric kiwi integration ([@mikey0000] - [#81149]) +- Add datetime platform to KNX ([@farmio] - [#97190]) +- Use device class ENUM for Tractive tracker state sensor ([@bieniu] - [#97191]) +- Add the Duotecno intergration ([@Cereal2nd] - [#96399]) +- Improve Tractive sensor names ([@bieniu] - [#97192]) +- Prevent duplicate Matter attribute event subscription ([@marcelveldt] - [#97194]) +- Bump home-assistant-bluetooth to 1.10.2 ([@bdraco] - [#97193]) +- Fix broken translation keys ([@mikey0000] - [#97202]) +- Add time platform to Roborock ([@Lash-L] - [#94039]) +- Add turn on/off support for mqtt water_heater ([@jbouwh] - [#97197]) +- Bump pydiscovergy to 2.0.1 ([@jpbede] - [#97186]) +- Add controls to enable and disable a UniFi WLAN ([@Kane610] - [#97204]) +- Check before casting to float & add integration type to bsblan ([@jpbede] - [#97210]) +- Bump bleak-retry-connector to 3.1.1 ([@bdraco] - [#97218]) +- Add support for bleak 0.21 ([@bdraco] - [#97212]) +- Update frontend to 20230725.0 ([@frenck] - [#97220]) +- Add config flow to OpenSky ([@joostlek] - [#96912]) +- Add explicit device naming for Verisure ([@joostlek] - [#97224]) +- Whrilpool add periodic update ([@mkmer] - [#97222]) +- Bump youtubeaio to 1.1.5 ([@joostlek] - [#97231]) +- Correct AsusWRT device identifier ([@ollo69] - [#97238]) +- Add HassShoppingListAddItem to default agent ([@synesthesiam] - [#97232]) +- Bump opower==0.0.15 ([@tronikos] - [#97243]) +- Add WLAN clients reporting to UniFi Sensor platform ([@Kane610] - [#97234]) +- Bump pyunifiprotect to 4.10.6 ([@bdraco] - [#97240]) +- Stop rounding history_stats sensor ([@amosyuen] - [#97195]) +- Add event entities to homekit_controller ([@Jc2k] - [#97140]) +- Codeowner update for cert-expiry ([@Cereal2nd] - [#97246]) +- Add Pegel Online integration ([@mib1185] - [#97028]) +- Add service to OpenAI to Generate an image ([@balloob] - [#97018]) +- Fix pegel_online generic typing ([@cdce8p] - [#97252]) +- Add guard for missing xy color support in Matter light platform ([@marcelveldt] - [#97251]) +- Add virtual integrations supported by opower ([@tronikos] - [#97250]) +- Add duotecno covers ([@Cereal2nd] - [#97205]) +- Add Event platform to Matter ([@marcelveldt] - [#97219]) +- Bump whirlpool-sixth-sense to 0.18.4 ([@mkmer] - [#97255]) +- Handle UpdateFailed for YouTube ([@joostlek] - [#97233]) +- Add Event platform/entity to Hue integration ([@marcelveldt] - [#97256]) +- Fix invalid ColorMode on (some) 3rd party Hue Color lights ([@marcelveldt] - [#97263]) +- Fix authlib version constraint required by point ([@jpbede] - [#97228]) +- Add wildcards to sentence triggers ([@synesthesiam] - [#97236]) +- Improve AirNow Configuration Error Handling ([@asymworks] - [#97267]) +- Fix zodiac import flow/issue ([@frenck] - [#97282]) +- Bump aioslimproto to 2.3.3 ([@marcelveldt] - [#97283]) +- Rename key of water level sensor in PEGELONLINE ([@mib1185] - [#97289]) +- Weather remove forecast deprecation ([@gjohansson-ST] - [#97292]) +- Fix implicit use of device name in TPLink switch ([@frenck] - [#97293]) +- Fix dumping lru stats in the profiler ([@bdraco] - [#97303]) +- Set mqtt entity name to `null` when it is a duplicate of the device name ([@jbouwh] - [#97304]) +- bump python-roborock to 0.30.2 ([@Lash-L] - [#97306]) +- Fix typo Lomng -> Long ([@markus-becker-tridonic-com] - [#97315]) +- Fix sql entities not loading ([@gjohansson-ST] - [#97316]) +- Fix DeviceInfo configuration_url validation ([@frenck] - [#97319]) +- Duotecno beta fix ([@Cereal2nd] - [#97325]) +- Fix Hydrawise zone addressing ([@dknowles2] - [#97333]) +- Bump pydrawise to 2023.7.1 ([@dknowles2] - [#97334]) +- Bump aioesphomeapi to 15.1.15 ([@bdraco] - [#97335]) +- Hue event entity follow up ([@marcelveldt] - [#97336]) +- Split availability and data subscriptions in homekit_controller ([@Jc2k] - [#97337]) +- Add urllib3<2 package constraint ([@frenck] - [#97339]) +- Bump aiohomekit to 2.6.12 ([@bdraco] - [#97342]) +- Upgrade Verisure to 2.6.4 ([@niro1987] - [#97278]) +- Bump reolink_aio to 0.7.5 ([@starkillerOG] - [#97357]) +- Bump dbus-fast to 1.87.5 ([@bdraco] - [#97364]) +- Allow deleting config entry devices in jellyfin ([@ctalkington] - [#97377]) +- Bump pysensibo to 1.0.32 ([@gjohansson-ST] - [#97382]) +- Regard long poll without events as valid ([@starkillerOG] - [#97383]) +- Manual trigger entity fix name influence entity_id ([@gjohansson-ST] - [#97398]) +- Return the actual media url from media extractor ([@joostlek] - [#97408]) +- Small cleanup in event entity ([@joostlek] - [#97409]) +- Bump nexia to 2.0.7 ([@bdraco] - [#97432]) +- Bump opower to 0.0.16 ([@tronikos] - [#97437]) +- Reolink long poll recover ([@starkillerOG] - [#97465]) +- Update ha-av to 10.1.1 ([@cdce8p] - [#97481]) +- Revert using has_entity_name in ESPHome when `friendly_name` is not set ([@bdraco] - [#97488]) +- Send language to Wyoming STT ([@synesthesiam] - [#97344]) +- Bump reolink_aio to 0.7.6 + Timeout ([@starkillerOG] - [#97464]) +- Delay creation of Reolink repair issues ([@starkillerOG] - [#97476]) +- Avoid leaking exception trace for philips_js ([@elupus] - [#97491]) +- Bump androidtvremote2==0.0.13 ([@tronikos] - [#97494]) +- Offer work- a-round for MQTT entity names that start with the device name ([@jbouwh] - [#97495]) +- Bump pywemo to 1.2.0 ([@esev] - [#97520]) +- Handle http error in Renault initialisation ([@epenet] - [#97530]) +- Fix RootFolder not iterable in Radarr ([@joostlek] - [#97537]) +- Fix unit tests for wake_on_lan ([@jbouwh] - [#97542]) +- Bump HAP-python to 4.7.1 ([@bdraco] - [#97545]) +- Bump opower to 0.0.18 ([@tronikos] - [#97548]) +- Bump life360 package to 6.0.0 ([@pnbruckner] - [#97549]) +- Bump pywemo to 1.2.1 ([@esev] - [#97550]) +- Fix Starlink ping drop rate reporting ([@boswelja] - [#97555]) +- Fixes London Air parsing error ([@pedrolamas] - [#97557]) +- Update frontend to 20230801.0 ([@bramkragten] - [#97561]) +- Bump pyduotecno to 2023.8.0 (beta fix) ([@Cereal2nd] - [#97564]) +- Unignore today's collection for Rova ([@joostlek] - [#97567]) +- Use legacy rules for ESPHome entity_id construction if `friendly_name` is unset ([@bdraco] - [#97578]) +- Fix UniFi image platform failing to setup on read-only account ([@Kane610] - [#97580]) +- Bump zha-quirks to 0.0.102 ([@TheJulianJES] - [#97588]) +- Ensure load the device registry if it contains invalid configuration URLs ([@frenck] - [#97589]) +- Ensure we have an valid configuration URL in NetGear ([@frenck] - [#97590]) +- Bump zeroconf to 0.72.0 ([@bdraco] - [#97594]) +- Fix Starlink Roaming name being blank ([@boswelja] - [#97597]) +- Fix duotecno's name to be sync with the docs ([@edenhaus] - [#97602]) + +[#75219]: https://github.com/home-assistant/core/pull/75219 +[#81149]: https://github.com/home-assistant/core/pull/81149 +[#84152]: https://github.com/home-assistant/core/pull/84152 +[#85239]: https://github.com/home-assistant/core/pull/85239 +[#86124]: https://github.com/home-assistant/core/pull/86124 +[#86974]: https://github.com/home-assistant/core/pull/86974 +[#90489]: https://github.com/home-assistant/core/pull/90489 +[#90687]: https://github.com/home-assistant/core/pull/90687 +[#90846]: https://github.com/home-assistant/core/pull/90846 +[#91401]: https://github.com/home-assistant/core/pull/91401 +[#92961]: https://github.com/home-assistant/core/pull/92961 +[#93268]: https://github.com/home-assistant/core/pull/93268 +[#93416]: https://github.com/home-assistant/core/pull/93416 +[#93625]: https://github.com/home-assistant/core/pull/93625 +[#93647]: https://github.com/home-assistant/core/pull/93647 +[#94039]: https://github.com/home-assistant/core/pull/94039 +[#94097]: https://github.com/home-assistant/core/pull/94097 +[#94195]: https://github.com/home-assistant/core/pull/94195 +[#94209]: https://github.com/home-assistant/core/pull/94209 +[#94305]: https://github.com/home-assistant/core/pull/94305 +[#94415]: https://github.com/home-assistant/core/pull/94415 +[#94421]: https://github.com/home-assistant/core/pull/94421 +[#94525]: https://github.com/home-assistant/core/pull/94525 +[#94817]: https://github.com/home-assistant/core/pull/94817 +[#94914]: https://github.com/home-assistant/core/pull/94914 +[#95020]: https://github.com/home-assistant/core/pull/95020 +[#95027]: https://github.com/home-assistant/core/pull/95027 +[#95091]: https://github.com/home-assistant/core/pull/95091 +[#95104]: https://github.com/home-assistant/core/pull/95104 +[#95116]: https://github.com/home-assistant/core/pull/95116 +[#95120]: https://github.com/home-assistant/core/pull/95120 +[#95125]: https://github.com/home-assistant/core/pull/95125 +[#95141]: https://github.com/home-assistant/core/pull/95141 +[#95159]: https://github.com/home-assistant/core/pull/95159 +[#95179]: https://github.com/home-assistant/core/pull/95179 +[#95181]: https://github.com/home-assistant/core/pull/95181 +[#95242]: https://github.com/home-assistant/core/pull/95242 +[#95407]: https://github.com/home-assistant/core/pull/95407 +[#95447]: https://github.com/home-assistant/core/pull/95447 +[#95453]: https://github.com/home-assistant/core/pull/95453 +[#95457]: https://github.com/home-assistant/core/pull/95457 +[#95461]: https://github.com/home-assistant/core/pull/95461 +[#95466]: https://github.com/home-assistant/core/pull/95466 +[#95467]: https://github.com/home-assistant/core/pull/95467 +[#95469]: https://github.com/home-assistant/core/pull/95469 +[#95472]: https://github.com/home-assistant/core/pull/95472 +[#95473]: https://github.com/home-assistant/core/pull/95473 +[#95476]: https://github.com/home-assistant/core/pull/95476 +[#95487]: https://github.com/home-assistant/core/pull/95487 +[#95536]: https://github.com/home-assistant/core/pull/95536 +[#95539]: https://github.com/home-assistant/core/pull/95539 +[#95540]: https://github.com/home-assistant/core/pull/95540 +[#95541]: https://github.com/home-assistant/core/pull/95541 +[#95542]: https://github.com/home-assistant/core/pull/95542 +[#95543]: https://github.com/home-assistant/core/pull/95543 +[#95544]: https://github.com/home-assistant/core/pull/95544 +[#95545]: https://github.com/home-assistant/core/pull/95545 +[#95547]: https://github.com/home-assistant/core/pull/95547 +[#95575]: https://github.com/home-assistant/core/pull/95575 +[#95577]: https://github.com/home-assistant/core/pull/95577 +[#95580]: https://github.com/home-assistant/core/pull/95580 +[#95599]: https://github.com/home-assistant/core/pull/95599 +[#95603]: https://github.com/home-assistant/core/pull/95603 +[#95606]: https://github.com/home-assistant/core/pull/95606 +[#95607]: https://github.com/home-assistant/core/pull/95607 +[#95609]: https://github.com/home-assistant/core/pull/95609 +[#95625]: https://github.com/home-assistant/core/pull/95625 +[#95631]: https://github.com/home-assistant/core/pull/95631 +[#95634]: https://github.com/home-assistant/core/pull/95634 +[#95641]: https://github.com/home-assistant/core/pull/95641 +[#95643]: https://github.com/home-assistant/core/pull/95643 +[#95644]: https://github.com/home-assistant/core/pull/95644 +[#95645]: https://github.com/home-assistant/core/pull/95645 +[#95646]: https://github.com/home-assistant/core/pull/95646 +[#95647]: https://github.com/home-assistant/core/pull/95647 +[#95648]: https://github.com/home-assistant/core/pull/95648 +[#95658]: https://github.com/home-assistant/core/pull/95658 +[#95675]: https://github.com/home-assistant/core/pull/95675 +[#95679]: https://github.com/home-assistant/core/pull/95679 +[#95683]: https://github.com/home-assistant/core/pull/95683 +[#95686]: https://github.com/home-assistant/core/pull/95686 +[#95687]: https://github.com/home-assistant/core/pull/95687 +[#95688]: https://github.com/home-assistant/core/pull/95688 +[#95691]: https://github.com/home-assistant/core/pull/95691 +[#95693]: https://github.com/home-assistant/core/pull/95693 +[#95697]: https://github.com/home-assistant/core/pull/95697 +[#95698]: https://github.com/home-assistant/core/pull/95698 +[#95709]: https://github.com/home-assistant/core/pull/95709 +[#95711]: https://github.com/home-assistant/core/pull/95711 +[#95712]: https://github.com/home-assistant/core/pull/95712 +[#95715]: https://github.com/home-assistant/core/pull/95715 +[#95721]: https://github.com/home-assistant/core/pull/95721 +[#95723]: https://github.com/home-assistant/core/pull/95723 +[#95726]: https://github.com/home-assistant/core/pull/95726 +[#95727]: https://github.com/home-assistant/core/pull/95727 +[#95729]: https://github.com/home-assistant/core/pull/95729 +[#95731]: https://github.com/home-assistant/core/pull/95731 +[#95732]: https://github.com/home-assistant/core/pull/95732 +[#95733]: https://github.com/home-assistant/core/pull/95733 +[#95734]: https://github.com/home-assistant/core/pull/95734 +[#95737]: https://github.com/home-assistant/core/pull/95737 +[#95738]: https://github.com/home-assistant/core/pull/95738 +[#95740]: https://github.com/home-assistant/core/pull/95740 +[#95741]: https://github.com/home-assistant/core/pull/95741 +[#95742]: https://github.com/home-assistant/core/pull/95742 +[#95745]: https://github.com/home-assistant/core/pull/95745 +[#95748]: https://github.com/home-assistant/core/pull/95748 +[#95753]: https://github.com/home-assistant/core/pull/95753 +[#95755]: https://github.com/home-assistant/core/pull/95755 +[#95756]: https://github.com/home-assistant/core/pull/95756 +[#95757]: https://github.com/home-assistant/core/pull/95757 +[#95758]: https://github.com/home-assistant/core/pull/95758 +[#95761]: https://github.com/home-assistant/core/pull/95761 +[#95763]: https://github.com/home-assistant/core/pull/95763 +[#95764]: https://github.com/home-assistant/core/pull/95764 +[#95765]: https://github.com/home-assistant/core/pull/95765 +[#95770]: https://github.com/home-assistant/core/pull/95770 +[#95773]: https://github.com/home-assistant/core/pull/95773 +[#95776]: https://github.com/home-assistant/core/pull/95776 +[#95777]: https://github.com/home-assistant/core/pull/95777 +[#95779]: https://github.com/home-assistant/core/pull/95779 +[#95782]: https://github.com/home-assistant/core/pull/95782 +[#95785]: https://github.com/home-assistant/core/pull/95785 +[#95786]: https://github.com/home-assistant/core/pull/95786 +[#95787]: https://github.com/home-assistant/core/pull/95787 +[#95789]: https://github.com/home-assistant/core/pull/95789 +[#95790]: https://github.com/home-assistant/core/pull/95790 +[#95792]: https://github.com/home-assistant/core/pull/95792 +[#95794]: https://github.com/home-assistant/core/pull/95794 +[#95798]: https://github.com/home-assistant/core/pull/95798 +[#95799]: https://github.com/home-assistant/core/pull/95799 +[#95800]: https://github.com/home-assistant/core/pull/95800 +[#95801]: https://github.com/home-assistant/core/pull/95801 +[#95802]: https://github.com/home-assistant/core/pull/95802 +[#95803]: https://github.com/home-assistant/core/pull/95803 +[#95805]: https://github.com/home-assistant/core/pull/95805 +[#95806]: https://github.com/home-assistant/core/pull/95806 +[#95808]: https://github.com/home-assistant/core/pull/95808 +[#95809]: https://github.com/home-assistant/core/pull/95809 +[#95810]: https://github.com/home-assistant/core/pull/95810 +[#95811]: https://github.com/home-assistant/core/pull/95811 +[#95814]: https://github.com/home-assistant/core/pull/95814 +[#95816]: https://github.com/home-assistant/core/pull/95816 +[#95818]: https://github.com/home-assistant/core/pull/95818 +[#95819]: https://github.com/home-assistant/core/pull/95819 +[#95820]: https://github.com/home-assistant/core/pull/95820 +[#95821]: https://github.com/home-assistant/core/pull/95821 +[#95822]: https://github.com/home-assistant/core/pull/95822 +[#95825]: https://github.com/home-assistant/core/pull/95825 +[#95828]: https://github.com/home-assistant/core/pull/95828 +[#95829]: https://github.com/home-assistant/core/pull/95829 +[#95830]: https://github.com/home-assistant/core/pull/95830 +[#95831]: https://github.com/home-assistant/core/pull/95831 +[#95832]: https://github.com/home-assistant/core/pull/95832 +[#95833]: https://github.com/home-assistant/core/pull/95833 +[#95836]: https://github.com/home-assistant/core/pull/95836 +[#95845]: https://github.com/home-assistant/core/pull/95845 +[#95846]: https://github.com/home-assistant/core/pull/95846 +[#95847]: https://github.com/home-assistant/core/pull/95847 +[#95848]: https://github.com/home-assistant/core/pull/95848 +[#95849]: https://github.com/home-assistant/core/pull/95849 +[#95850]: https://github.com/home-assistant/core/pull/95850 +[#95852]: https://github.com/home-assistant/core/pull/95852 +[#95853]: https://github.com/home-assistant/core/pull/95853 +[#95854]: https://github.com/home-assistant/core/pull/95854 +[#95855]: https://github.com/home-assistant/core/pull/95855 +[#95856]: https://github.com/home-assistant/core/pull/95856 +[#95857]: https://github.com/home-assistant/core/pull/95857 +[#95859]: https://github.com/home-assistant/core/pull/95859 +[#95860]: https://github.com/home-assistant/core/pull/95860 +[#95862]: https://github.com/home-assistant/core/pull/95862 +[#95863]: https://github.com/home-assistant/core/pull/95863 +[#95864]: https://github.com/home-assistant/core/pull/95864 +[#95865]: https://github.com/home-assistant/core/pull/95865 +[#95870]: https://github.com/home-assistant/core/pull/95870 +[#95873]: https://github.com/home-assistant/core/pull/95873 +[#95875]: https://github.com/home-assistant/core/pull/95875 +[#95877]: https://github.com/home-assistant/core/pull/95877 +[#95881]: https://github.com/home-assistant/core/pull/95881 +[#95883]: https://github.com/home-assistant/core/pull/95883 +[#95897]: https://github.com/home-assistant/core/pull/95897 +[#95898]: https://github.com/home-assistant/core/pull/95898 +[#95902]: https://github.com/home-assistant/core/pull/95902 +[#95904]: https://github.com/home-assistant/core/pull/95904 +[#95905]: https://github.com/home-assistant/core/pull/95905 +[#95906]: https://github.com/home-assistant/core/pull/95906 +[#95910]: https://github.com/home-assistant/core/pull/95910 +[#95919]: https://github.com/home-assistant/core/pull/95919 +[#95920]: https://github.com/home-assistant/core/pull/95920 +[#95927]: https://github.com/home-assistant/core/pull/95927 +[#95928]: https://github.com/home-assistant/core/pull/95928 +[#95931]: https://github.com/home-assistant/core/pull/95931 +[#95935]: https://github.com/home-assistant/core/pull/95935 +[#95942]: https://github.com/home-assistant/core/pull/95942 +[#95943]: https://github.com/home-assistant/core/pull/95943 +[#95976]: https://github.com/home-assistant/core/pull/95976 +[#95980]: https://github.com/home-assistant/core/pull/95980 +[#95984]: https://github.com/home-assistant/core/pull/95984 +[#95987]: https://github.com/home-assistant/core/pull/95987 +[#95992]: https://github.com/home-assistant/core/pull/95992 +[#95997]: https://github.com/home-assistant/core/pull/95997 +[#96022]: https://github.com/home-assistant/core/pull/96022 +[#96023]: https://github.com/home-assistant/core/pull/96023 +[#96029]: https://github.com/home-assistant/core/pull/96029 +[#96030]: https://github.com/home-assistant/core/pull/96030 +[#96031]: https://github.com/home-assistant/core/pull/96031 +[#96033]: https://github.com/home-assistant/core/pull/96033 +[#96034]: https://github.com/home-assistant/core/pull/96034 +[#96035]: https://github.com/home-assistant/core/pull/96035 +[#96037]: https://github.com/home-assistant/core/pull/96037 +[#96038]: https://github.com/home-assistant/core/pull/96038 +[#96040]: https://github.com/home-assistant/core/pull/96040 +[#96041]: https://github.com/home-assistant/core/pull/96041 +[#96048]: https://github.com/home-assistant/core/pull/96048 +[#96058]: https://github.com/home-assistant/core/pull/96058 +[#96062]: https://github.com/home-assistant/core/pull/96062 +[#96063]: https://github.com/home-assistant/core/pull/96063 +[#96068]: https://github.com/home-assistant/core/pull/96068 +[#96072]: https://github.com/home-assistant/core/pull/96072 +[#96073]: https://github.com/home-assistant/core/pull/96073 +[#96074]: https://github.com/home-assistant/core/pull/96074 +[#96075]: https://github.com/home-assistant/core/pull/96075 +[#96076]: https://github.com/home-assistant/core/pull/96076 +[#96077]: https://github.com/home-assistant/core/pull/96077 +[#96080]: https://github.com/home-assistant/core/pull/96080 +[#96085]: https://github.com/home-assistant/core/pull/96085 +[#96086]: https://github.com/home-assistant/core/pull/96086 +[#96087]: https://github.com/home-assistant/core/pull/96087 +[#96088]: https://github.com/home-assistant/core/pull/96088 +[#96089]: https://github.com/home-assistant/core/pull/96089 +[#96091]: https://github.com/home-assistant/core/pull/96091 +[#96092]: https://github.com/home-assistant/core/pull/96092 +[#96096]: https://github.com/home-assistant/core/pull/96096 +[#96104]: https://github.com/home-assistant/core/pull/96104 +[#96106]: https://github.com/home-assistant/core/pull/96106 +[#96107]: https://github.com/home-assistant/core/pull/96107 +[#96108]: https://github.com/home-assistant/core/pull/96108 +[#96109]: https://github.com/home-assistant/core/pull/96109 +[#96110]: https://github.com/home-assistant/core/pull/96110 +[#96111]: https://github.com/home-assistant/core/pull/96111 +[#96114]: https://github.com/home-assistant/core/pull/96114 +[#96115]: https://github.com/home-assistant/core/pull/96115 +[#96120]: https://github.com/home-assistant/core/pull/96120 +[#96122]: https://github.com/home-assistant/core/pull/96122 +[#96124]: https://github.com/home-assistant/core/pull/96124 +[#96131]: https://github.com/home-assistant/core/pull/96131 +[#96132]: https://github.com/home-assistant/core/pull/96132 +[#96133]: https://github.com/home-assistant/core/pull/96133 +[#96134]: https://github.com/home-assistant/core/pull/96134 +[#96137]: https://github.com/home-assistant/core/pull/96137 +[#96146]: https://github.com/home-assistant/core/pull/96146 +[#96147]: https://github.com/home-assistant/core/pull/96147 +[#96149]: https://github.com/home-assistant/core/pull/96149 +[#96150]: https://github.com/home-assistant/core/pull/96150 +[#96152]: https://github.com/home-assistant/core/pull/96152 +[#96154]: https://github.com/home-assistant/core/pull/96154 +[#96156]: https://github.com/home-assistant/core/pull/96156 +[#96157]: https://github.com/home-assistant/core/pull/96157 +[#96158]: https://github.com/home-assistant/core/pull/96158 +[#96159]: https://github.com/home-assistant/core/pull/96159 +[#96165]: https://github.com/home-assistant/core/pull/96165 +[#96167]: https://github.com/home-assistant/core/pull/96167 +[#96168]: https://github.com/home-assistant/core/pull/96168 +[#96170]: https://github.com/home-assistant/core/pull/96170 +[#96171]: https://github.com/home-assistant/core/pull/96171 +[#96176]: https://github.com/home-assistant/core/pull/96176 +[#96177]: https://github.com/home-assistant/core/pull/96177 +[#96181]: https://github.com/home-assistant/core/pull/96181 +[#96183]: https://github.com/home-assistant/core/pull/96183 +[#96186]: https://github.com/home-assistant/core/pull/96186 +[#96187]: https://github.com/home-assistant/core/pull/96187 +[#96191]: https://github.com/home-assistant/core/pull/96191 +[#96192]: https://github.com/home-assistant/core/pull/96192 +[#96200]: https://github.com/home-assistant/core/pull/96200 +[#96209]: https://github.com/home-assistant/core/pull/96209 +[#96218]: https://github.com/home-assistant/core/pull/96218 +[#96221]: https://github.com/home-assistant/core/pull/96221 +[#96226]: https://github.com/home-assistant/core/pull/96226 +[#96227]: https://github.com/home-assistant/core/pull/96227 +[#96229]: https://github.com/home-assistant/core/pull/96229 +[#96234]: https://github.com/home-assistant/core/pull/96234 +[#96236]: https://github.com/home-assistant/core/pull/96236 +[#96237]: https://github.com/home-assistant/core/pull/96237 +[#96239]: https://github.com/home-assistant/core/pull/96239 +[#96241]: https://github.com/home-assistant/core/pull/96241 +[#96242]: https://github.com/home-assistant/core/pull/96242 +[#96244]: https://github.com/home-assistant/core/pull/96244 +[#96245]: https://github.com/home-assistant/core/pull/96245 +[#96246]: https://github.com/home-assistant/core/pull/96246 +[#96247]: https://github.com/home-assistant/core/pull/96247 +[#96248]: https://github.com/home-assistant/core/pull/96248 +[#96249]: https://github.com/home-assistant/core/pull/96249 +[#96250]: https://github.com/home-assistant/core/pull/96250 +[#96251]: https://github.com/home-assistant/core/pull/96251 +[#96252]: https://github.com/home-assistant/core/pull/96252 +[#96257]: https://github.com/home-assistant/core/pull/96257 +[#96260]: https://github.com/home-assistant/core/pull/96260 +[#96261]: https://github.com/home-assistant/core/pull/96261 +[#96262]: https://github.com/home-assistant/core/pull/96262 +[#96264]: https://github.com/home-assistant/core/pull/96264 +[#96265]: https://github.com/home-assistant/core/pull/96265 +[#96269]: https://github.com/home-assistant/core/pull/96269 +[#96276]: https://github.com/home-assistant/core/pull/96276 +[#96280]: https://github.com/home-assistant/core/pull/96280 +[#96281]: https://github.com/home-assistant/core/pull/96281 +[#96285]: https://github.com/home-assistant/core/pull/96285 +[#96286]: https://github.com/home-assistant/core/pull/96286 +[#96288]: https://github.com/home-assistant/core/pull/96288 +[#96295]: https://github.com/home-assistant/core/pull/96295 +[#96296]: https://github.com/home-assistant/core/pull/96296 +[#96297]: https://github.com/home-assistant/core/pull/96297 +[#96298]: https://github.com/home-assistant/core/pull/96298 +[#96300]: https://github.com/home-assistant/core/pull/96300 +[#96303]: https://github.com/home-assistant/core/pull/96303 +[#96305]: https://github.com/home-assistant/core/pull/96305 +[#96306]: https://github.com/home-assistant/core/pull/96306 +[#96308]: https://github.com/home-assistant/core/pull/96308 +[#96309]: https://github.com/home-assistant/core/pull/96309 +[#96310]: https://github.com/home-assistant/core/pull/96310 +[#96311]: https://github.com/home-assistant/core/pull/96311 +[#96312]: https://github.com/home-assistant/core/pull/96312 +[#96313]: https://github.com/home-assistant/core/pull/96313 +[#96314]: https://github.com/home-assistant/core/pull/96314 +[#96315]: https://github.com/home-assistant/core/pull/96315 +[#96317]: https://github.com/home-assistant/core/pull/96317 +[#96318]: https://github.com/home-assistant/core/pull/96318 +[#96319]: https://github.com/home-assistant/core/pull/96319 +[#96320]: https://github.com/home-assistant/core/pull/96320 +[#96323]: https://github.com/home-assistant/core/pull/96323 +[#96324]: https://github.com/home-assistant/core/pull/96324 +[#96325]: https://github.com/home-assistant/core/pull/96325 +[#96327]: https://github.com/home-assistant/core/pull/96327 +[#96328]: https://github.com/home-assistant/core/pull/96328 +[#96329]: https://github.com/home-assistant/core/pull/96329 +[#96336]: https://github.com/home-assistant/core/pull/96336 +[#96337]: https://github.com/home-assistant/core/pull/96337 +[#96340]: https://github.com/home-assistant/core/pull/96340 +[#96341]: https://github.com/home-assistant/core/pull/96341 +[#96342]: https://github.com/home-assistant/core/pull/96342 +[#96343]: https://github.com/home-assistant/core/pull/96343 +[#96344]: https://github.com/home-assistant/core/pull/96344 +[#96346]: https://github.com/home-assistant/core/pull/96346 +[#96349]: https://github.com/home-assistant/core/pull/96349 +[#96350]: https://github.com/home-assistant/core/pull/96350 +[#96351]: https://github.com/home-assistant/core/pull/96351 +[#96353]: https://github.com/home-assistant/core/pull/96353 +[#96355]: https://github.com/home-assistant/core/pull/96355 +[#96356]: https://github.com/home-assistant/core/pull/96356 +[#96359]: https://github.com/home-assistant/core/pull/96359 +[#96361]: https://github.com/home-assistant/core/pull/96361 +[#96362]: https://github.com/home-assistant/core/pull/96362 +[#96363]: https://github.com/home-assistant/core/pull/96363 +[#96365]: https://github.com/home-assistant/core/pull/96365 +[#96367]: https://github.com/home-assistant/core/pull/96367 +[#96369]: https://github.com/home-assistant/core/pull/96369 +[#96372]: https://github.com/home-assistant/core/pull/96372 +[#96373]: https://github.com/home-assistant/core/pull/96373 +[#96374]: https://github.com/home-assistant/core/pull/96374 +[#96376]: https://github.com/home-assistant/core/pull/96376 +[#96378]: https://github.com/home-assistant/core/pull/96378 +[#96379]: https://github.com/home-assistant/core/pull/96379 +[#96381]: https://github.com/home-assistant/core/pull/96381 +[#96382]: https://github.com/home-assistant/core/pull/96382 +[#96383]: https://github.com/home-assistant/core/pull/96383 +[#96384]: https://github.com/home-assistant/core/pull/96384 +[#96386]: https://github.com/home-assistant/core/pull/96386 +[#96388]: https://github.com/home-assistant/core/pull/96388 +[#96389]: https://github.com/home-assistant/core/pull/96389 +[#96390]: https://github.com/home-assistant/core/pull/96390 +[#96391]: https://github.com/home-assistant/core/pull/96391 +[#96392]: https://github.com/home-assistant/core/pull/96392 +[#96393]: https://github.com/home-assistant/core/pull/96393 +[#96394]: https://github.com/home-assistant/core/pull/96394 +[#96395]: https://github.com/home-assistant/core/pull/96395 +[#96396]: https://github.com/home-assistant/core/pull/96396 +[#96397]: https://github.com/home-assistant/core/pull/96397 +[#96398]: https://github.com/home-assistant/core/pull/96398 +[#96399]: https://github.com/home-assistant/core/pull/96399 +[#96400]: https://github.com/home-assistant/core/pull/96400 +[#96401]: https://github.com/home-assistant/core/pull/96401 +[#96402]: https://github.com/home-assistant/core/pull/96402 +[#96405]: https://github.com/home-assistant/core/pull/96405 +[#96406]: https://github.com/home-assistant/core/pull/96406 +[#96407]: https://github.com/home-assistant/core/pull/96407 +[#96408]: https://github.com/home-assistant/core/pull/96408 +[#96409]: https://github.com/home-assistant/core/pull/96409 +[#96410]: https://github.com/home-assistant/core/pull/96410 +[#96411]: https://github.com/home-assistant/core/pull/96411 +[#96412]: https://github.com/home-assistant/core/pull/96412 +[#96413]: https://github.com/home-assistant/core/pull/96413 +[#96414]: https://github.com/home-assistant/core/pull/96414 +[#96415]: https://github.com/home-assistant/core/pull/96415 +[#96416]: https://github.com/home-assistant/core/pull/96416 +[#96417]: https://github.com/home-assistant/core/pull/96417 +[#96418]: https://github.com/home-assistant/core/pull/96418 +[#96424]: https://github.com/home-assistant/core/pull/96424 +[#96426]: https://github.com/home-assistant/core/pull/96426 +[#96429]: https://github.com/home-assistant/core/pull/96429 +[#96430]: https://github.com/home-assistant/core/pull/96430 +[#96436]: https://github.com/home-assistant/core/pull/96436 +[#96450]: https://github.com/home-assistant/core/pull/96450 +[#96453]: https://github.com/home-assistant/core/pull/96453 +[#96455]: https://github.com/home-assistant/core/pull/96455 +[#96458]: https://github.com/home-assistant/core/pull/96458 +[#96459]: https://github.com/home-assistant/core/pull/96459 +[#96460]: https://github.com/home-assistant/core/pull/96460 +[#96461]: https://github.com/home-assistant/core/pull/96461 +[#96464]: https://github.com/home-assistant/core/pull/96464 +[#96465]: https://github.com/home-assistant/core/pull/96465 +[#96467]: https://github.com/home-assistant/core/pull/96467 +[#96469]: https://github.com/home-assistant/core/pull/96469 +[#96472]: https://github.com/home-assistant/core/pull/96472 +[#96473]: https://github.com/home-assistant/core/pull/96473 +[#96474]: https://github.com/home-assistant/core/pull/96474 +[#96475]: https://github.com/home-assistant/core/pull/96475 +[#96476]: https://github.com/home-assistant/core/pull/96476 +[#96479]: https://github.com/home-assistant/core/pull/96479 +[#96480]: https://github.com/home-assistant/core/pull/96480 +[#96481]: https://github.com/home-assistant/core/pull/96481 +[#96482]: https://github.com/home-assistant/core/pull/96482 +[#96483]: https://github.com/home-assistant/core/pull/96483 +[#96485]: https://github.com/home-assistant/core/pull/96485 +[#96486]: https://github.com/home-assistant/core/pull/96486 +[#96490]: https://github.com/home-assistant/core/pull/96490 +[#96492]: https://github.com/home-assistant/core/pull/96492 +[#96495]: https://github.com/home-assistant/core/pull/96495 +[#96498]: https://github.com/home-assistant/core/pull/96498 +[#96502]: https://github.com/home-assistant/core/pull/96502 +[#96503]: https://github.com/home-assistant/core/pull/96503 +[#96504]: https://github.com/home-assistant/core/pull/96504 +[#96506]: https://github.com/home-assistant/core/pull/96506 +[#96509]: https://github.com/home-assistant/core/pull/96509 +[#96510]: https://github.com/home-assistant/core/pull/96510 +[#96511]: https://github.com/home-assistant/core/pull/96511 +[#96524]: https://github.com/home-assistant/core/pull/96524 +[#96525]: https://github.com/home-assistant/core/pull/96525 +[#96526]: https://github.com/home-assistant/core/pull/96526 +[#96534]: https://github.com/home-assistant/core/pull/96534 +[#96536]: https://github.com/home-assistant/core/pull/96536 +[#96537]: https://github.com/home-assistant/core/pull/96537 +[#96538]: https://github.com/home-assistant/core/pull/96538 +[#96540]: https://github.com/home-assistant/core/pull/96540 +[#96544]: https://github.com/home-assistant/core/pull/96544 +[#96545]: https://github.com/home-assistant/core/pull/96545 +[#96548]: https://github.com/home-assistant/core/pull/96548 +[#96554]: https://github.com/home-assistant/core/pull/96554 +[#96561]: https://github.com/home-assistant/core/pull/96561 +[#96562]: https://github.com/home-assistant/core/pull/96562 +[#96563]: https://github.com/home-assistant/core/pull/96563 +[#96564]: https://github.com/home-assistant/core/pull/96564 +[#96565]: https://github.com/home-assistant/core/pull/96565 +[#96566]: https://github.com/home-assistant/core/pull/96566 +[#96567]: https://github.com/home-assistant/core/pull/96567 +[#96568]: https://github.com/home-assistant/core/pull/96568 +[#96569]: https://github.com/home-assistant/core/pull/96569 +[#96570]: https://github.com/home-assistant/core/pull/96570 +[#96571]: https://github.com/home-assistant/core/pull/96571 +[#96572]: https://github.com/home-assistant/core/pull/96572 +[#96579]: https://github.com/home-assistant/core/pull/96579 +[#96581]: https://github.com/home-assistant/core/pull/96581 +[#96583]: https://github.com/home-assistant/core/pull/96583 +[#96584]: https://github.com/home-assistant/core/pull/96584 +[#96585]: https://github.com/home-assistant/core/pull/96585 +[#96586]: https://github.com/home-assistant/core/pull/96586 +[#96587]: https://github.com/home-assistant/core/pull/96587 +[#96592]: https://github.com/home-assistant/core/pull/96592 +[#96593]: https://github.com/home-assistant/core/pull/96593 +[#96594]: https://github.com/home-assistant/core/pull/96594 +[#96595]: https://github.com/home-assistant/core/pull/96595 +[#96596]: https://github.com/home-assistant/core/pull/96596 +[#96602]: https://github.com/home-assistant/core/pull/96602 +[#96603]: https://github.com/home-assistant/core/pull/96603 +[#96614]: https://github.com/home-assistant/core/pull/96614 +[#96615]: https://github.com/home-assistant/core/pull/96615 +[#96616]: https://github.com/home-assistant/core/pull/96616 +[#96618]: https://github.com/home-assistant/core/pull/96618 +[#96620]: https://github.com/home-assistant/core/pull/96620 +[#96626]: https://github.com/home-assistant/core/pull/96626 +[#96628]: https://github.com/home-assistant/core/pull/96628 +[#96630]: https://github.com/home-assistant/core/pull/96630 +[#96682]: https://github.com/home-assistant/core/pull/96682 +[#96683]: https://github.com/home-assistant/core/pull/96683 +[#96691]: https://github.com/home-assistant/core/pull/96691 +[#96692]: https://github.com/home-assistant/core/pull/96692 +[#96693]: https://github.com/home-assistant/core/pull/96693 +[#96695]: https://github.com/home-assistant/core/pull/96695 +[#96699]: https://github.com/home-assistant/core/pull/96699 +[#96700]: https://github.com/home-assistant/core/pull/96700 +[#96701]: https://github.com/home-assistant/core/pull/96701 +[#96702]: https://github.com/home-assistant/core/pull/96702 +[#96703]: https://github.com/home-assistant/core/pull/96703 +[#96704]: https://github.com/home-assistant/core/pull/96704 +[#96709]: https://github.com/home-assistant/core/pull/96709 +[#96711]: https://github.com/home-assistant/core/pull/96711 +[#96712]: https://github.com/home-assistant/core/pull/96712 +[#96713]: https://github.com/home-assistant/core/pull/96713 +[#96715]: https://github.com/home-assistant/core/pull/96715 +[#96716]: https://github.com/home-assistant/core/pull/96716 +[#96719]: https://github.com/home-assistant/core/pull/96719 +[#96721]: https://github.com/home-assistant/core/pull/96721 +[#96727]: https://github.com/home-assistant/core/pull/96727 +[#96729]: https://github.com/home-assistant/core/pull/96729 +[#96731]: https://github.com/home-assistant/core/pull/96731 +[#96733]: https://github.com/home-assistant/core/pull/96733 +[#96734]: https://github.com/home-assistant/core/pull/96734 +[#96738]: https://github.com/home-assistant/core/pull/96738 +[#96739]: https://github.com/home-assistant/core/pull/96739 +[#96740]: https://github.com/home-assistant/core/pull/96740 +[#96741]: https://github.com/home-assistant/core/pull/96741 +[#96742]: https://github.com/home-assistant/core/pull/96742 +[#96743]: https://github.com/home-assistant/core/pull/96743 +[#96744]: https://github.com/home-assistant/core/pull/96744 +[#96745]: https://github.com/home-assistant/core/pull/96745 +[#96747]: https://github.com/home-assistant/core/pull/96747 +[#96752]: https://github.com/home-assistant/core/pull/96752 +[#96753]: https://github.com/home-assistant/core/pull/96753 +[#96754]: https://github.com/home-assistant/core/pull/96754 +[#96756]: https://github.com/home-assistant/core/pull/96756 +[#96759]: https://github.com/home-assistant/core/pull/96759 +[#96760]: https://github.com/home-assistant/core/pull/96760 +[#96761]: https://github.com/home-assistant/core/pull/96761 +[#96762]: https://github.com/home-assistant/core/pull/96762 +[#96763]: https://github.com/home-assistant/core/pull/96763 +[#96768]: https://github.com/home-assistant/core/pull/96768 +[#96770]: https://github.com/home-assistant/core/pull/96770 +[#96771]: https://github.com/home-assistant/core/pull/96771 +[#96772]: https://github.com/home-assistant/core/pull/96772 +[#96774]: https://github.com/home-assistant/core/pull/96774 +[#96775]: https://github.com/home-assistant/core/pull/96775 +[#96776]: https://github.com/home-assistant/core/pull/96776 +[#96777]: https://github.com/home-assistant/core/pull/96777 +[#96778]: https://github.com/home-assistant/core/pull/96778 +[#96782]: https://github.com/home-assistant/core/pull/96782 +[#96785]: https://github.com/home-assistant/core/pull/96785 +[#96786]: https://github.com/home-assistant/core/pull/96786 +[#96788]: https://github.com/home-assistant/core/pull/96788 +[#96791]: https://github.com/home-assistant/core/pull/96791 +[#96793]: https://github.com/home-assistant/core/pull/96793 +[#96794]: https://github.com/home-assistant/core/pull/96794 +[#96796]: https://github.com/home-assistant/core/pull/96796 +[#96797]: https://github.com/home-assistant/core/pull/96797 +[#96804]: https://github.com/home-assistant/core/pull/96804 +[#96805]: https://github.com/home-assistant/core/pull/96805 +[#96806]: https://github.com/home-assistant/core/pull/96806 +[#96807]: https://github.com/home-assistant/core/pull/96807 +[#96808]: https://github.com/home-assistant/core/pull/96808 +[#96810]: https://github.com/home-assistant/core/pull/96810 +[#96812]: https://github.com/home-assistant/core/pull/96812 +[#96813]: https://github.com/home-assistant/core/pull/96813 +[#96815]: https://github.com/home-assistant/core/pull/96815 +[#96817]: https://github.com/home-assistant/core/pull/96817 +[#96818]: https://github.com/home-assistant/core/pull/96818 +[#96819]: https://github.com/home-assistant/core/pull/96819 +[#96820]: https://github.com/home-assistant/core/pull/96820 +[#96821]: https://github.com/home-assistant/core/pull/96821 +[#96822]: https://github.com/home-assistant/core/pull/96822 +[#96823]: https://github.com/home-assistant/core/pull/96823 +[#96824]: https://github.com/home-assistant/core/pull/96824 +[#96825]: https://github.com/home-assistant/core/pull/96825 +[#96826]: https://github.com/home-assistant/core/pull/96826 +[#96827]: https://github.com/home-assistant/core/pull/96827 +[#96828]: https://github.com/home-assistant/core/pull/96828 +[#96830]: https://github.com/home-assistant/core/pull/96830 +[#96833]: https://github.com/home-assistant/core/pull/96833 +[#96834]: https://github.com/home-assistant/core/pull/96834 +[#96836]: https://github.com/home-assistant/core/pull/96836 +[#96837]: https://github.com/home-assistant/core/pull/96837 +[#96838]: https://github.com/home-assistant/core/pull/96838 +[#96839]: https://github.com/home-assistant/core/pull/96839 +[#96842]: https://github.com/home-assistant/core/pull/96842 +[#96843]: https://github.com/home-assistant/core/pull/96843 +[#96844]: https://github.com/home-assistant/core/pull/96844 +[#96845]: https://github.com/home-assistant/core/pull/96845 +[#96847]: https://github.com/home-assistant/core/pull/96847 +[#96849]: https://github.com/home-assistant/core/pull/96849 +[#96853]: https://github.com/home-assistant/core/pull/96853 +[#96856]: https://github.com/home-assistant/core/pull/96856 +[#96859]: https://github.com/home-assistant/core/pull/96859 +[#96860]: https://github.com/home-assistant/core/pull/96860 +[#96861]: https://github.com/home-assistant/core/pull/96861 +[#96862]: https://github.com/home-assistant/core/pull/96862 +[#96868]: https://github.com/home-assistant/core/pull/96868 +[#96869]: https://github.com/home-assistant/core/pull/96869 +[#96871]: https://github.com/home-assistant/core/pull/96871 +[#96872]: https://github.com/home-assistant/core/pull/96872 +[#96873]: https://github.com/home-assistant/core/pull/96873 +[#96874]: https://github.com/home-assistant/core/pull/96874 +[#96876]: https://github.com/home-assistant/core/pull/96876 +[#96879]: https://github.com/home-assistant/core/pull/96879 +[#96883]: https://github.com/home-assistant/core/pull/96883 +[#96890]: https://github.com/home-assistant/core/pull/96890 +[#96891]: https://github.com/home-assistant/core/pull/96891 +[#96896]: https://github.com/home-assistant/core/pull/96896 +[#96898]: https://github.com/home-assistant/core/pull/96898 +[#96899]: https://github.com/home-assistant/core/pull/96899 +[#96900]: https://github.com/home-assistant/core/pull/96900 +[#96901]: https://github.com/home-assistant/core/pull/96901 +[#96903]: https://github.com/home-assistant/core/pull/96903 +[#96905]: https://github.com/home-assistant/core/pull/96905 +[#96908]: https://github.com/home-assistant/core/pull/96908 +[#96910]: https://github.com/home-assistant/core/pull/96910 +[#96912]: https://github.com/home-assistant/core/pull/96912 +[#96913]: https://github.com/home-assistant/core/pull/96913 +[#96914]: https://github.com/home-assistant/core/pull/96914 +[#96916]: https://github.com/home-assistant/core/pull/96916 +[#96917]: https://github.com/home-assistant/core/pull/96917 +[#96918]: https://github.com/home-assistant/core/pull/96918 +[#96921]: https://github.com/home-assistant/core/pull/96921 +[#96922]: https://github.com/home-assistant/core/pull/96922 +[#96923]: https://github.com/home-assistant/core/pull/96923 +[#96924]: https://github.com/home-assistant/core/pull/96924 +[#96925]: https://github.com/home-assistant/core/pull/96925 +[#96927]: https://github.com/home-assistant/core/pull/96927 +[#96928]: https://github.com/home-assistant/core/pull/96928 +[#96929]: https://github.com/home-assistant/core/pull/96929 +[#96930]: https://github.com/home-assistant/core/pull/96930 +[#96932]: https://github.com/home-assistant/core/pull/96932 +[#96933]: https://github.com/home-assistant/core/pull/96933 +[#96940]: https://github.com/home-assistant/core/pull/96940 +[#96942]: https://github.com/home-assistant/core/pull/96942 +[#96943]: https://github.com/home-assistant/core/pull/96943 +[#96944]: https://github.com/home-assistant/core/pull/96944 +[#96949]: https://github.com/home-assistant/core/pull/96949 +[#96951]: https://github.com/home-assistant/core/pull/96951 +[#96952]: https://github.com/home-assistant/core/pull/96952 +[#96956]: https://github.com/home-assistant/core/pull/96956 +[#96957]: https://github.com/home-assistant/core/pull/96957 +[#96958]: https://github.com/home-assistant/core/pull/96958 +[#96961]: https://github.com/home-assistant/core/pull/96961 +[#96964]: https://github.com/home-assistant/core/pull/96964 +[#96967]: https://github.com/home-assistant/core/pull/96967 +[#96972]: https://github.com/home-assistant/core/pull/96972 +[#96974]: https://github.com/home-assistant/core/pull/96974 +[#96975]: https://github.com/home-assistant/core/pull/96975 +[#96976]: https://github.com/home-assistant/core/pull/96976 +[#96978]: https://github.com/home-assistant/core/pull/96978 +[#96979]: https://github.com/home-assistant/core/pull/96979 +[#96983]: https://github.com/home-assistant/core/pull/96983 +[#96984]: https://github.com/home-assistant/core/pull/96984 +[#96990]: https://github.com/home-assistant/core/pull/96990 +[#96996]: https://github.com/home-assistant/core/pull/96996 +[#96997]: https://github.com/home-assistant/core/pull/96997 +[#96998]: https://github.com/home-assistant/core/pull/96998 +[#96999]: https://github.com/home-assistant/core/pull/96999 +[#97000]: https://github.com/home-assistant/core/pull/97000 +[#97001]: https://github.com/home-assistant/core/pull/97001 +[#97005]: https://github.com/home-assistant/core/pull/97005 +[#97006]: https://github.com/home-assistant/core/pull/97006 +[#97007]: https://github.com/home-assistant/core/pull/97007 +[#97009]: https://github.com/home-assistant/core/pull/97009 +[#97010]: https://github.com/home-assistant/core/pull/97010 +[#97011]: https://github.com/home-assistant/core/pull/97011 +[#97012]: https://github.com/home-assistant/core/pull/97012 +[#97013]: https://github.com/home-assistant/core/pull/97013 +[#97015]: https://github.com/home-assistant/core/pull/97015 +[#97018]: https://github.com/home-assistant/core/pull/97018 +[#97019]: https://github.com/home-assistant/core/pull/97019 +[#97027]: https://github.com/home-assistant/core/pull/97027 +[#97028]: https://github.com/home-assistant/core/pull/97028 +[#97032]: https://github.com/home-assistant/core/pull/97032 +[#97033]: https://github.com/home-assistant/core/pull/97033 +[#97054]: https://github.com/home-assistant/core/pull/97054 +[#97055]: https://github.com/home-assistant/core/pull/97055 +[#97057]: https://github.com/home-assistant/core/pull/97057 +[#97058]: https://github.com/home-assistant/core/pull/97058 +[#97061]: https://github.com/home-assistant/core/pull/97061 +[#97062]: https://github.com/home-assistant/core/pull/97062 +[#97063]: https://github.com/home-assistant/core/pull/97063 +[#97064]: https://github.com/home-assistant/core/pull/97064 +[#97065]: https://github.com/home-assistant/core/pull/97065 +[#97066]: https://github.com/home-assistant/core/pull/97066 +[#97067]: https://github.com/home-assistant/core/pull/97067 +[#97068]: https://github.com/home-assistant/core/pull/97068 +[#97071]: https://github.com/home-assistant/core/pull/97071 +[#97072]: https://github.com/home-assistant/core/pull/97072 +[#97073]: https://github.com/home-assistant/core/pull/97073 +[#97074]: https://github.com/home-assistant/core/pull/97074 +[#97081]: https://github.com/home-assistant/core/pull/97081 +[#97082]: https://github.com/home-assistant/core/pull/97082 +[#97084]: https://github.com/home-assistant/core/pull/97084 +[#97092]: https://github.com/home-assistant/core/pull/97092 +[#97094]: https://github.com/home-assistant/core/pull/97094 +[#97096]: https://github.com/home-assistant/core/pull/97096 +[#97097]: https://github.com/home-assistant/core/pull/97097 +[#97098]: https://github.com/home-assistant/core/pull/97098 +[#97101]: https://github.com/home-assistant/core/pull/97101 +[#97102]: https://github.com/home-assistant/core/pull/97102 +[#97103]: https://github.com/home-assistant/core/pull/97103 +[#97105]: https://github.com/home-assistant/core/pull/97105 +[#97107]: https://github.com/home-assistant/core/pull/97107 +[#97109]: https://github.com/home-assistant/core/pull/97109 +[#97111]: https://github.com/home-assistant/core/pull/97111 +[#97112]: https://github.com/home-assistant/core/pull/97112 +[#97114]: https://github.com/home-assistant/core/pull/97114 +[#97115]: https://github.com/home-assistant/core/pull/97115 +[#97116]: https://github.com/home-assistant/core/pull/97116 +[#97117]: https://github.com/home-assistant/core/pull/97117 +[#97118]: https://github.com/home-assistant/core/pull/97118 +[#97119]: https://github.com/home-assistant/core/pull/97119 +[#97121]: https://github.com/home-assistant/core/pull/97121 +[#97124]: https://github.com/home-assistant/core/pull/97124 +[#97125]: https://github.com/home-assistant/core/pull/97125 +[#97126]: https://github.com/home-assistant/core/pull/97126 +[#97131]: https://github.com/home-assistant/core/pull/97131 +[#97134]: https://github.com/home-assistant/core/pull/97134 +[#97135]: https://github.com/home-assistant/core/pull/97135 +[#97136]: https://github.com/home-assistant/core/pull/97136 +[#97137]: https://github.com/home-assistant/core/pull/97137 +[#97138]: https://github.com/home-assistant/core/pull/97138 +[#97139]: https://github.com/home-assistant/core/pull/97139 +[#97140]: https://github.com/home-assistant/core/pull/97140 +[#97141]: https://github.com/home-assistant/core/pull/97141 +[#97145]: https://github.com/home-assistant/core/pull/97145 +[#97147]: https://github.com/home-assistant/core/pull/97147 +[#97150]: https://github.com/home-assistant/core/pull/97150 +[#97152]: https://github.com/home-assistant/core/pull/97152 +[#97153]: https://github.com/home-assistant/core/pull/97153 +[#97154]: https://github.com/home-assistant/core/pull/97154 +[#97155]: https://github.com/home-assistant/core/pull/97155 +[#97156]: https://github.com/home-assistant/core/pull/97156 +[#97157]: https://github.com/home-assistant/core/pull/97157 +[#97159]: https://github.com/home-assistant/core/pull/97159 +[#97160]: https://github.com/home-assistant/core/pull/97160 +[#97162]: https://github.com/home-assistant/core/pull/97162 +[#97163]: https://github.com/home-assistant/core/pull/97163 +[#97165]: https://github.com/home-assistant/core/pull/97165 +[#97166]: https://github.com/home-assistant/core/pull/97166 +[#97167]: https://github.com/home-assistant/core/pull/97167 +[#97169]: https://github.com/home-assistant/core/pull/97169 +[#97171]: https://github.com/home-assistant/core/pull/97171 +[#97172]: https://github.com/home-assistant/core/pull/97172 +[#97174]: https://github.com/home-assistant/core/pull/97174 +[#97175]: https://github.com/home-assistant/core/pull/97175 +[#97185]: https://github.com/home-assistant/core/pull/97185 +[#97186]: https://github.com/home-assistant/core/pull/97186 +[#97187]: https://github.com/home-assistant/core/pull/97187 +[#97190]: https://github.com/home-assistant/core/pull/97190 +[#97191]: https://github.com/home-assistant/core/pull/97191 +[#97192]: https://github.com/home-assistant/core/pull/97192 +[#97193]: https://github.com/home-assistant/core/pull/97193 +[#97194]: https://github.com/home-assistant/core/pull/97194 +[#97195]: https://github.com/home-assistant/core/pull/97195 +[#97197]: https://github.com/home-assistant/core/pull/97197 +[#97202]: https://github.com/home-assistant/core/pull/97202 +[#97204]: https://github.com/home-assistant/core/pull/97204 +[#97205]: https://github.com/home-assistant/core/pull/97205 +[#97210]: https://github.com/home-assistant/core/pull/97210 +[#97212]: https://github.com/home-assistant/core/pull/97212 +[#97218]: https://github.com/home-assistant/core/pull/97218 +[#97219]: https://github.com/home-assistant/core/pull/97219 +[#97220]: https://github.com/home-assistant/core/pull/97220 +[#97222]: https://github.com/home-assistant/core/pull/97222 +[#97224]: https://github.com/home-assistant/core/pull/97224 +[#97228]: https://github.com/home-assistant/core/pull/97228 +[#97231]: https://github.com/home-assistant/core/pull/97231 +[#97232]: https://github.com/home-assistant/core/pull/97232 +[#97233]: https://github.com/home-assistant/core/pull/97233 +[#97234]: https://github.com/home-assistant/core/pull/97234 +[#97236]: https://github.com/home-assistant/core/pull/97236 +[#97238]: https://github.com/home-assistant/core/pull/97238 +[#97240]: https://github.com/home-assistant/core/pull/97240 +[#97243]: https://github.com/home-assistant/core/pull/97243 +[#97246]: https://github.com/home-assistant/core/pull/97246 +[#97250]: https://github.com/home-assistant/core/pull/97250 +[#97251]: https://github.com/home-assistant/core/pull/97251 +[#97252]: https://github.com/home-assistant/core/pull/97252 +[#97255]: https://github.com/home-assistant/core/pull/97255 +[#97256]: https://github.com/home-assistant/core/pull/97256 +[#97263]: https://github.com/home-assistant/core/pull/97263 +[#97267]: https://github.com/home-assistant/core/pull/97267 +[#97278]: https://github.com/home-assistant/core/pull/97278 +[#97282]: https://github.com/home-assistant/core/pull/97282 +[#97283]: https://github.com/home-assistant/core/pull/97283 +[#97289]: https://github.com/home-assistant/core/pull/97289 +[#97292]: https://github.com/home-assistant/core/pull/97292 +[#97293]: https://github.com/home-assistant/core/pull/97293 +[#97303]: https://github.com/home-assistant/core/pull/97303 +[#97304]: https://github.com/home-assistant/core/pull/97304 +[#97306]: https://github.com/home-assistant/core/pull/97306 +[#97315]: https://github.com/home-assistant/core/pull/97315 +[#97316]: https://github.com/home-assistant/core/pull/97316 +[#97319]: https://github.com/home-assistant/core/pull/97319 +[#97325]: https://github.com/home-assistant/core/pull/97325 +[#97333]: https://github.com/home-assistant/core/pull/97333 +[#97334]: https://github.com/home-assistant/core/pull/97334 +[#97335]: https://github.com/home-assistant/core/pull/97335 +[#97336]: https://github.com/home-assistant/core/pull/97336 +[#97337]: https://github.com/home-assistant/core/pull/97337 +[#97339]: https://github.com/home-assistant/core/pull/97339 +[#97342]: https://github.com/home-assistant/core/pull/97342 +[#97344]: https://github.com/home-assistant/core/pull/97344 +[#97357]: https://github.com/home-assistant/core/pull/97357 +[#97364]: https://github.com/home-assistant/core/pull/97364 +[#97377]: https://github.com/home-assistant/core/pull/97377 +[#97382]: https://github.com/home-assistant/core/pull/97382 +[#97383]: https://github.com/home-assistant/core/pull/97383 +[#97398]: https://github.com/home-assistant/core/pull/97398 +[#97408]: https://github.com/home-assistant/core/pull/97408 +[#97409]: https://github.com/home-assistant/core/pull/97409 +[#97432]: https://github.com/home-assistant/core/pull/97432 +[#97437]: https://github.com/home-assistant/core/pull/97437 +[#97464]: https://github.com/home-assistant/core/pull/97464 +[#97465]: https://github.com/home-assistant/core/pull/97465 +[#97476]: https://github.com/home-assistant/core/pull/97476 +[#97481]: https://github.com/home-assistant/core/pull/97481 +[#97488]: https://github.com/home-assistant/core/pull/97488 +[#97491]: https://github.com/home-assistant/core/pull/97491 +[#97494]: https://github.com/home-assistant/core/pull/97494 +[#97495]: https://github.com/home-assistant/core/pull/97495 +[#97520]: https://github.com/home-assistant/core/pull/97520 +[#97530]: https://github.com/home-assistant/core/pull/97530 +[#97537]: https://github.com/home-assistant/core/pull/97537 +[#97542]: https://github.com/home-assistant/core/pull/97542 +[#97545]: https://github.com/home-assistant/core/pull/97545 +[#97548]: https://github.com/home-assistant/core/pull/97548 +[#97549]: https://github.com/home-assistant/core/pull/97549 +[#97550]: https://github.com/home-assistant/core/pull/97550 +[#97555]: https://github.com/home-assistant/core/pull/97555 +[#97557]: https://github.com/home-assistant/core/pull/97557 +[#97561]: https://github.com/home-assistant/core/pull/97561 +[#97564]: https://github.com/home-assistant/core/pull/97564 +[#97567]: https://github.com/home-assistant/core/pull/97567 +[#97578]: https://github.com/home-assistant/core/pull/97578 +[#97580]: https://github.com/home-assistant/core/pull/97580 +[#97588]: https://github.com/home-assistant/core/pull/97588 +[#97589]: https://github.com/home-assistant/core/pull/97589 +[#97590]: https://github.com/home-assistant/core/pull/97590 +[#97594]: https://github.com/home-assistant/core/pull/97594 +[#97597]: https://github.com/home-assistant/core/pull/97597 +[#97602]: https://github.com/home-assistant/core/pull/97602 +[@AngellusMortis]: https://github.com/AngellusMortis +[@Antoni-Czaplicki]: https://github.com/Antoni-Czaplicki +[@CFenner]: https://github.com/CFenner +[@Cereal2nd]: https://github.com/Cereal2nd +[@CoMPaTech]: https://github.com/CoMPaTech +[@DCSBL]: https://github.com/DCSBL +[@Danielhiversen]: https://github.com/Danielhiversen +[@DeerMaximum]: https://github.com/DeerMaximum +[@Ernst79]: https://github.com/Ernst79 +[@FOLLGAD]: https://github.com/FOLLGAD +[@GrumpyMeow]: https://github.com/GrumpyMeow +[@Jc2k]: https://github.com/Jc2k +[@Kane610]: https://github.com/Kane610 +[@LaStrada]: https://github.com/LaStrada +[@Lash-L]: https://github.com/Lash-L +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@N3rdix]: https://github.com/N3rdix +[@Nardol]: https://github.com/Nardol +[@Noltari]: https://github.com/Noltari +[@RenierM26]: https://github.com/RenierM26 +[@RoboMagus]: https://github.com/RoboMagus +[@ScottG489]: https://github.com/ScottG489 +[@Shulyaka]: https://github.com/Shulyaka +[@Shutgun]: https://github.com/Shutgun +[@StevenLooman]: https://github.com/StevenLooman +[@TheJulianJES]: https://github.com/TheJulianJES +[@adrianmo]: https://github.com/adrianmo +[@alepee]: https://github.com/alepee +[@allenporter]: https://github.com/allenporter +[@amosyuen]: https://github.com/amosyuen +[@arkid15r]: https://github.com/arkid15r +[@asymworks]: https://github.com/asymworks +[@b-uwe]: https://github.com/b-uwe +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@blastoise186]: https://github.com/blastoise186 +[@boswelja]: https://github.com/boswelja +[@bramkragten]: https://github.com/bramkragten +[@c0ffeeca7]: https://github.com/c0ffeeca7 +[@cdce8p]: https://github.com/cdce8p +[@cibernox]: https://github.com/cibernox +[@craibo]: https://github.com/craibo +[@ctalkington]: https://github.com/ctalkington +[@davecpearce]: https://github.com/davecpearce +[@davet2001]: https://github.com/davet2001 +[@dirrgang]: https://github.com/dirrgang +[@disforw]: https://github.com/disforw +[@dknowles2]: https://github.com/dknowles2 +[@dougiteixeira]: https://github.com/dougiteixeira +[@edenhaus]: https://github.com/edenhaus +[@elmurato]: https://github.com/elmurato +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@esev]: https://github.com/esev +[@farmio]: https://github.com/farmio +[@frenck]: https://github.com/frenck +[@fthiery]: https://github.com/fthiery +[@gigatexel]: https://github.com/gigatexel +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@gmsoft-tuxicoman]: https://github.com/gmsoft-tuxicoman +[@guix77]: https://github.com/guix77 +[@iKaew]: https://github.com/iKaew +[@j-stienstra]: https://github.com/j-stienstra +[@jbouwh]: https://github.com/jbouwh +[@jeeftor]: https://github.com/jeeftor +[@joostlek]: https://github.com/joostlek +[@jpbede]: https://github.com/jpbede +[@karwosts]: https://github.com/karwosts +[@lkshrk]: https://github.com/lkshrk +[@lymanepp]: https://github.com/lymanepp +[@madsnedergaard]: https://github.com/madsnedergaard +[@marcelveldt]: https://github.com/marcelveldt +[@markus-becker-tridonic-com]: https://github.com/markus-becker-tridonic-com +[@matrixd2]: https://github.com/matrixd2 +[@mattmccormack]: https://github.com/mattmccormack +[@mib1185]: https://github.com/mib1185 +[@mikewoudenberg]: https://github.com/mikewoudenberg +[@mikey0000]: https://github.com/mikey0000 +[@mkeesey]: https://github.com/mkeesey +[@mkmer]: https://github.com/mkmer +[@niro1987]: https://github.com/niro1987 +[@ol-iver]: https://github.com/ol-iver +[@ollo69]: https://github.com/ollo69 +[@pedrolamas]: https://github.com/pedrolamas +[@piitaya]: https://github.com/piitaya +[@pnbruckner]: https://github.com/pnbruckner +[@puddly]: https://github.com/puddly +[@rale]: https://github.com/rale +[@raman325]: https://github.com/raman325 +[@scop]: https://github.com/scop +[@si458]: https://github.com/si458 +[@slydiman]: https://github.com/slydiman +[@spacegaier]: https://github.com/spacegaier +[@starkillerOG]: https://github.com/starkillerOG +[@steffenrapp]: https://github.com/steffenrapp +[@stonith]: https://github.com/stonith +[@synesthesiam]: https://github.com/synesthesiam +[@tedivm]: https://github.com/tedivm +[@tkdrob]: https://github.com/tkdrob +[@tronikos]: https://github.com/tronikos +[@vingerha]: https://github.com/vingerha +[@weitzelb]: https://github.com/weitzelb +[@yuxincs]: https://github.com/yuxincs +[accuweather docs]: /integrations/accuweather/ +[agent_dvr docs]: /integrations/agent_dvr/ +[airnow docs]: /integrations/airnow/ +[airthings_ble docs]: /integrations/airthings_ble/ +[airtouch4 docs]: /integrations/airtouch4/ +[airvisual_pro docs]: /integrations/airvisual_pro/ +[airzone_cloud docs]: /integrations/airzone_cloud/ +[alarm_control_panel docs]: /integrations/alarm_control_panel/ +[alert docs]: /integrations/alert/ +[alexa docs]: /integrations/alexa/ +[amberelectric docs]: /integrations/amberelectric/ +[ambiclimate docs]: /integrations/ambiclimate/ +[android_ip_webcam docs]: /integrations/android_ip_webcam/ +[androidtv docs]: /integrations/androidtv/ +[androidtv_remote docs]: /integrations/androidtv_remote/ +[apcupsd docs]: /integrations/apcupsd/ +[api docs]: /integrations/api/ +[apple_tv docs]: /integrations/apple_tv/ +[apprise docs]: /integrations/apprise/ +[aseko_pool_live docs]: /integrations/aseko_pool_live/ +[asuswrt docs]: /integrations/asuswrt/ +[august docs]: /integrations/august/ +[automation docs]: /integrations/automation/ +[axis docs]: /integrations/axis/ +[backup docs]: /integrations/backup/ +[bayesian docs]: /integrations/bayesian/ +[binary_sensor docs]: /integrations/binary_sensor/ +[bluetooth docs]: /integrations/bluetooth/ +[bond docs]: /integrations/bond/ +[braviatv docs]: /integrations/braviatv/ +[brother docs]: /integrations/brother/ +[brunt docs]: /integrations/brunt/ +[bsblan docs]: /integrations/bsblan/ +[bthome docs]: /integrations/bthome/ +[button docs]: /integrations/button/ +[calendar docs]: /integrations/calendar/ +[camera docs]: /integrations/camera/ +[cert_expiry docs]: /integrations/cert_expiry/ +[climate docs]: /integrations/climate/ +[cloud docs]: /integrations/cloud/ +[co2signal docs]: /integrations/co2signal/ +[command_line docs]: /integrations/command_line/ +[compensation docs]: /integrations/compensation/ +[config docs]: /integrations/config/ +[conversation docs]: /integrations/conversation/ +[counter docs]: /integrations/counter/ +[cover docs]: /integrations/cover/ +[crownstone docs]: /integrations/crownstone/ +[daikin docs]: /integrations/daikin/ +[date docs]: /integrations/date/ +[datetime docs]: /integrations/datetime/ +[deconz docs]: /integrations/deconz/ +[demo docs]: /integrations/demo/ +[denonavr docs]: /integrations/denonavr/ +[derivative docs]: /integrations/derivative/ +[device_automation docs]: /integrations/device_automation/ +[device_tracker docs]: /integrations/device_tracker/ +[devolo_home_network docs]: /integrations/devolo_home_network/ +[dhcp docs]: /integrations/dhcp/ +[discovergy docs]: /integrations/discovergy/ +[discovery docs]: /integrations/discovery/ +[dlink docs]: /integrations/dlink/ +[dlna_dmr docs]: /integrations/dlna_dmr/ +[dlna_dms docs]: /integrations/dlna_dms/ +[dsmr docs]: /integrations/dsmr/ +[dunehd docs]: /integrations/dunehd/ +[duotecno docs]: /integrations/duotecno/ +[dynalite docs]: /integrations/dynalite/ +[ecovacs docs]: /integrations/ecovacs/ +[ecowitt docs]: /integrations/ecowitt/ +[electric_kiwi docs]: /integrations/electric_kiwi/ +[elmax docs]: /integrations/elmax/ +[emulated_hue docs]: /integrations/emulated_hue/ +[energy docs]: /integrations/energy/ +[enphase_envoy docs]: /integrations/enphase_envoy/ +[eq3btsmart docs]: /integrations/eq3btsmart/ +[esphome docs]: /integrations/esphome/ +[event docs]: /integrations/event/ +[evil_genius_labs docs]: /integrations/evil_genius_labs/ +[ezviz docs]: /integrations/ezviz/ +[fan docs]: /integrations/fan/ +[fastdotcom docs]: /integrations/fastdotcom/ +[filter docs]: /integrations/filter/ +[fitbit docs]: /integrations/fitbit/ +[flume docs]: /integrations/flume/ +[flux_led docs]: /integrations/flux_led/ +[forecast_solar docs]: /integrations/forecast_solar/ +[forked_daapd docs]: /integrations/forked_daapd/ +[freebox docs]: /integrations/freebox/ +[fritz docs]: /integrations/fritz/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[fronius docs]: /integrations/fronius/ +[frontend docs]: /integrations/frontend/ +[frontier_silicon docs]: /integrations/frontier_silicon/ +[gardena_bluetooth docs]: /integrations/gardena_bluetooth/ +[generic docs]: /integrations/generic/ +[generic_hygrostat docs]: /integrations/generic_hygrostat/ +[generic_thermostat docs]: /integrations/generic_thermostat/ +[geo_location docs]: /integrations/geo_location/ +[geofency docs]: /integrations/geofency/ +[goalzero docs]: /integrations/goalzero/ +[google_assistant docs]: /integrations/google_assistant/ +[google_assistant_sdk docs]: /integrations/google_assistant_sdk/ +[gpslogger docs]: /integrations/gpslogger/ +[group docs]: /integrations/group/ +[gtfs docs]: /integrations/gtfs/ +[guardian docs]: /integrations/guardian/ +[hassio docs]: /integrations/hassio/ +[heos docs]: /integrations/heos/ +[history docs]: /integrations/history/ +[history_stats docs]: /integrations/history_stats/ +[home_plus_control docs]: /integrations/home_plus_control/ +[homeassistant docs]: /integrations/homeassistant/ +[homeassistant_hardware docs]: /integrations/homeassistant_hardware/ +[homeassistant_sky_connect docs]: /integrations/homeassistant_sky_connect/ +[homeassistant_yellow docs]: /integrations/homeassistant_yellow/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homewizard docs]: /integrations/homewizard/ +[http docs]: /integrations/http/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hue docs]: /integrations/hue/ +[humidifier docs]: /integrations/humidifier/ +[hydrawise docs]: /integrations/hydrawise/ +[ialarm docs]: /integrations/ialarm/ +[icloud docs]: /integrations/icloud/ +[image docs]: /integrations/image/ +[image_processing docs]: /integrations/image_processing/ +[imap docs]: /integrations/imap/ +[input_boolean docs]: /integrations/input_boolean/ +[input_button docs]: /integrations/input_button/ +[input_datetime docs]: /integrations/input_datetime/ +[input_number docs]: /integrations/input_number/ +[input_select docs]: /integrations/input_select/ +[input_text docs]: /integrations/input_text/ +[integration docs]: /integrations/integration/ +[intellifire docs]: /integrations/intellifire/ +[intent_script docs]: /integrations/intent_script/ +[ios docs]: /integrations/ios/ +[ipp docs]: /integrations/ipp/ +[islamic_prayer_times docs]: /integrations/islamic_prayer_times/ +[iss docs]: /integrations/iss/ +[jellyfin docs]: /integrations/jellyfin/ +[juicenet docs]: /integrations/juicenet/ +[kaleidescape docs]: /integrations/kaleidescape/ +[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/ +[kitchen_sink docs]: /integrations/kitchen_sink/ +[kmtronic docs]: /integrations/kmtronic/ +[knx docs]: /integrations/knx/ +[kraken docs]: /integrations/kraken/ +[kulersky docs]: /integrations/kulersky/ +[lacrosse_view docs]: /integrations/lacrosse_view/ +[lametric docs]: /integrations/lametric/ +[lastfm docs]: /integrations/lastfm/ +[laundrify docs]: /integrations/laundrify/ +[lcn docs]: /integrations/lcn/ +[ld2410_ble docs]: /integrations/ld2410_ble/ +[led_ble docs]: /integrations/led_ble/ +[life360 docs]: /integrations/life360/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litterrobot docs]: /integrations/litterrobot/ +[local_calendar docs]: /integrations/local_calendar/ +[lock docs]: /integrations/lock/ +[logbook docs]: /integrations/logbook/ +[logger docs]: /integrations/logger/ +[logi_circle docs]: /integrations/logi_circle/ +[london_air docs]: /integrations/london_air/ +[loqed docs]: /integrations/loqed/ +[lovelace docs]: /integrations/lovelace/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[manual_mqtt docs]: /integrations/manual_mqtt/ +[matter docs]: /integrations/matter/ +[mazda docs]: /integrations/mazda/ +[meater docs]: /integrations/meater/ +[media_extractor docs]: /integrations/media_extractor/ +[media_player docs]: /integrations/media_player/ +[melnor docs]: /integrations/melnor/ +[met docs]: /integrations/met/ +[met_eireann docs]: /integrations/met_eireann/ +[meteo_france docs]: /integrations/meteo_france/ +[miflora docs]: /integrations/miflora/ +[min_max docs]: /integrations/min_max/ +[minecraft_server docs]: /integrations/minecraft_server/ +[mitemp_bt docs]: /integrations/mitemp_bt/ +[mobile_app docs]: /integrations/mobile_app/ +[modern_forms docs]: /integrations/modern_forms/ +[monoprice docs]: /integrations/monoprice/ +[moon docs]: /integrations/moon/ +[motioneye docs]: /integrations/motioneye/ +[mqtt docs]: /integrations/mqtt/ +[mullvad docs]: /integrations/mullvad/ +[mutesync docs]: /integrations/mutesync/ +[mystrom docs]: /integrations/mystrom/ +[nam docs]: /integrations/nam/ +[nanoleaf docs]: /integrations/nanoleaf/ +[nest docs]: /integrations/nest/ +[netgear docs]: /integrations/netgear/ +[nexia docs]: /integrations/nexia/ +[nextcloud docs]: /integrations/nextcloud/ +[nina docs]: /integrations/nina/ +[nobo_hub docs]: /integrations/nobo_hub/ +[notify docs]: /integrations/notify/ +[notion docs]: /integrations/notion/ +[nuheat docs]: /integrations/nuheat/ +[nuki docs]: /integrations/nuki/ +[number docs]: /integrations/number/ +[nut docs]: /integrations/nut/ +[nws docs]: /integrations/nws/ +[ombi docs]: /integrations/ombi/ +[ondilo_ico docs]: /integrations/ondilo_ico/ +[onvif docs]: /integrations/onvif/ +[openai_conversation docs]: /integrations/openai_conversation/ +[opensky docs]: /integrations/opensky/ +[openuv docs]: /integrations/openuv/ +[opower docs]: /integrations/opower/ +[otbr docs]: /integrations/otbr/ +[overkiz docs]: /integrations/overkiz/ +[owntracks docs]: /integrations/owntracks/ +[p1_monitor docs]: /integrations/p1_monitor/ +[panel_custom docs]: /integrations/panel_custom/ +[pegel_online docs]: /integrations/pegel_online/ +[persistent_notification docs]: /integrations/persistent_notification/ +[philips_js docs]: /integrations/philips_js/ +[pi_hole docs]: /integrations/pi_hole/ +[picnic docs]: /integrations/picnic/ +[plant docs]: /integrations/plant/ +[plugwise docs]: /integrations/plugwise/ +[plum_lightpad docs]: /integrations/plum_lightpad/ +[point docs]: /integrations/point/ +[poolsense docs]: /integrations/poolsense/ +[profiler docs]: /integrations/profiler/ +[pure_energie docs]: /integrations/pure_energie/ +[purpleair docs]: /integrations/purpleair/ +[pushbullet docs]: /integrations/pushbullet/ +[pvoutput docs]: /integrations/pvoutput/ +[qnap docs]: /integrations/qnap/ +[radarr docs]: /integrations/radarr/ +[radio_browser docs]: /integrations/radio_browser/ +[radiotherm docs]: /integrations/radiotherm/ +[rainbird docs]: /integrations/rainbird/ +[rainforest_eagle docs]: /integrations/rainforest_eagle/ +[rainmachine docs]: /integrations/rainmachine/ +[rdw docs]: /integrations/rdw/ +[recollect_waste docs]: /integrations/recollect_waste/ +[recorder docs]: /integrations/recorder/ +[remote docs]: /integrations/remote/ +[renault docs]: /integrations/renault/ +[renson docs]: /integrations/renson/ +[reolink docs]: /integrations/reolink/ +[rfxtrx docs]: /integrations/rfxtrx/ +[ring docs]: /integrations/ring/ +[roborock docs]: /integrations/roborock/ +[roomba docs]: /integrations/roomba/ +[rova docs]: /integrations/rova/ +[rympro docs]: /integrations/rympro/ +[samsungtv docs]: /integrations/samsungtv/ +[scene docs]: /integrations/scene/ +[scrape docs]: /integrations/scrape/ +[script docs]: /integrations/script/ +[season docs]: /integrations/season/ +[select docs]: /integrations/select/ +[sensibo docs]: /integrations/sensibo/ +[sensor docs]: /integrations/sensor/ +[sentry docs]: /integrations/sentry/ +[senz docs]: /integrations/senz/ +[sfr_box docs]: /integrations/sfr_box/ +[sharkiq docs]: /integrations/sharkiq/ +[shell_command docs]: /integrations/shell_command/ +[shelly docs]: /integrations/shelly/ +[shopping_list docs]: /integrations/shopping_list/ +[siren docs]: /integrations/siren/ +[skybell docs]: /integrations/skybell/ +[slack docs]: /integrations/slack/ +[slimproto docs]: /integrations/slimproto/ +[smartthings docs]: /integrations/smartthings/ +[sms docs]: /integrations/sms/ +[solarlog docs]: /integrations/solarlog/ +[soma docs]: /integrations/soma/ +[sonarr docs]: /integrations/sonarr/ +[songpal docs]: /integrations/songpal/ +[sonos docs]: /integrations/sonos/ +[soundtouch docs]: /integrations/soundtouch/ +[speedtestdotnet docs]: /integrations/speedtestdotnet/ +[spider docs]: /integrations/spider/ +[spotify docs]: /integrations/spotify/ +[sql docs]: /integrations/sql/ +[squeezebox docs]: /integrations/squeezebox/ +[ssdp docs]: /integrations/ssdp/ +[starline docs]: /integrations/starline/ +[starlink docs]: /integrations/starlink/ +[stream docs]: /integrations/stream/ +[subaru docs]: /integrations/subaru/ +[switch docs]: /integrations/switch/ +[switch_as_x docs]: /integrations/switch_as_x/ +[switchbot docs]: /integrations/switchbot/ +[synology_dsm docs]: /integrations/synology_dsm/ +[system_log docs]: /integrations/system_log/ +[tado docs]: /integrations/tado/ +[tailscale docs]: /integrations/tailscale/ +[tautulli docs]: /integrations/tautulli/ +[template docs]: /integrations/template/ +[tesla_wall_connector docs]: /integrations/tesla_wall_connector/ +[text docs]: /integrations/text/ +[thread docs]: /integrations/thread/ +[tibber docs]: /integrations/tibber/ +[time docs]: /integrations/time/ +[tolo docs]: /integrations/tolo/ +[tomorrowio docs]: /integrations/tomorrowio/ +[tplink docs]: /integrations/tplink/ +[traccar docs]: /integrations/traccar/ +[tractive docs]: /integrations/tractive/ +[tradfri docs]: /integrations/tradfri/ +[trafikverket_ferry docs]: /integrations/trafikverket_ferry/ +[trafikverket_train docs]: /integrations/trafikverket_train/ +[trafikverket_weatherstation docs]: /integrations/trafikverket_weatherstation/ +[transmission docs]: /integrations/transmission/ +[transport_nsw docs]: /integrations/transport_nsw/ +[tts docs]: /integrations/tts/ +[tuya docs]: /integrations/tuya/ +[twentemilieu docs]: /integrations/twentemilieu/ +[twitch docs]: /integrations/twitch/ +[ukraine_alarm docs]: /integrations/ukraine_alarm/ +[ultraloq docs]: /integrations/ultraloq/ +[unifi docs]: /integrations/unifi/ +[unifiprotect docs]: /integrations/unifiprotect/ +[universal docs]: /integrations/universal/ +[update docs]: /integrations/update/ +[upnp docs]: /integrations/upnp/ +[uptime docs]: /integrations/uptime/ +[uptimerobot docs]: /integrations/uptimerobot/ +[vacuum docs]: /integrations/vacuum/ +[vallox docs]: /integrations/vallox/ +[venstar docs]: /integrations/venstar/ +[verisure docs]: /integrations/verisure/ +[version docs]: /integrations/version/ +[vesync docs]: /integrations/vesync/ +[vicare docs]: /integrations/vicare/ +[vilfo docs]: /integrations/vilfo/ +[vlc_telnet docs]: /integrations/vlc_telnet/ +[volumio docs]: /integrations/volumio/ +[vulcan docs]: /integrations/vulcan/ +[wake_on_lan docs]: /integrations/wake_on_lan/ +[water_heater docs]: /integrations/water_heater/ +[weather docs]: /integrations/weather/ +[websocket_api docs]: /integrations/websocket_api/ +[wemo docs]: /integrations/wemo/ +[whirlpool docs]: /integrations/whirlpool/ +[whois docs]: /integrations/whois/ +[wilight docs]: /integrations/wilight/ +[wirelesstag docs]: /integrations/wirelesstag/ +[wiz docs]: /integrations/wiz/ +[workday docs]: /integrations/workday/ +[wyoming docs]: /integrations/wyoming/ +[xiaomi_ble docs]: /integrations/xiaomi_ble/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[yalexs_ble docs]: /integrations/yalexs_ble/ +[yeelight docs]: /integrations/yeelight/ +[yolink docs]: /integrations/yolink/ +[youtube docs]: /integrations/youtube/ +[zamg docs]: /integrations/zamg/ +[zeroconf docs]: /integrations/zeroconf/ +[zerproc docs]: /integrations/zerproc/ +[zeversolar docs]: /integrations/zeversolar/ +[zha docs]: /integrations/zha/ +[zodiac docs]: /integrations/zodiac/ +[zone docs]: /integrations/zone/ +[zwave_js docs]: /integrations/zwave_js/ diff --git a/source/getting-started/onboarding.markdown b/source/getting-started/onboarding.markdown index 81e5c728197..be295c3514f 100644 --- a/source/getting-started/onboarding.markdown +++ b/source/getting-started/onboarding.markdown @@ -20,26 +20,34 @@ In this step, you will create the owner account of Home Assistant. This account ![Set your username and password.](/images/getting-started/username.png) -2. Enter a name for your home and define the location specific settings and the language of the user interface. - - To automatically populate these settings, select **Detect**. - - If you'd rather not send your location, you can set these values manually. +2. Enter a name for your home. +3. Enter the location of your home. + - The location is used to populate settings such as time zone, unit system, and currency. + - It is also used for location-based information and automations: for example showing the weather-forecast, opening the shades at sunrise, or starting the vacuum when you leave the home. + - If you'd rather not send your location, you can choose a location far away from where you live. + - You can always change this information later in the settings. - ![Define your location specific settings.](/images/getting-started/onboarding_location.png) + ![Define your location.](/images/getting-started/onboarding_location.png) -3. Select which information you are willing to share. - - Sharing is disabled by default. However, we would like to encourage you to share some of this data. +4. Check if the location based information is correct and change if necessary. + - You can always change this information later in the settings. + + ![Define your location specific settings.](/images/getting-started/location_based_settings.png) + +5. Select which information you are willing to share. + - Sharing is disabled by default. However, we would like to encourage you to share some of this data. - This information helps us to find out which platforms we need to support and where to focus our efforts. - - The data is anonymized and aggregated. To see the charts we generate out of this data, take a look at our [analytics page](https://analytics.home-assistant.io/). + - The data is anonymized and aggregated. To see the charts we generate out of this data, take a look at our [analytics page](https://analytics.home-assistant.io/). - ![Share anonymized data](/images/getting-started/onboarding_share_anonymized_info.png) + ![Share anonymized data](/images/getting-started/onboarding_share_anonymized_info.png) -4. Once you are done, select **Next**. +6. Once you are done, select **Next**. - Home Assistant will then show any {% term devices %} it has discovered on your network. - Don't be alarmed if you see fewer items than shown below; you can always manually add devices later. ![Discovery of devices on your network.](/images/getting-started/onboarding_devices.png) -5. Finally, select **Finish**. +7. Finally, select **Finish**. - Now you're brought to the Home Assistant web interface. This screen will show all of your devices. -{% include getting-started/next_step.html step="Concepts & Terminologies" link="/getting-started/concepts-terminology/" %} +{% include getting-started/next_step.html step="Concepts & Terminology" link="/getting-started/concepts-terminology/" %} diff --git a/source/images/blog/2023-08/assist-shopping-list.png b/source/images/blog/2023-08/assist-shopping-list.png new file mode 100644 index 00000000000..27906118bb2 Binary files /dev/null and b/source/images/blog/2023-08/assist-shopping-list.png differ diff --git a/source/images/blog/2023-08/assist-wildcard-dall-e-blueprint.png b/source/images/blog/2023-08/assist-wildcard-dall-e-blueprint.png new file mode 100644 index 00000000000..0c8c494c810 Binary files /dev/null and b/source/images/blog/2023-08/assist-wildcard-dall-e-blueprint.png differ diff --git a/source/images/blog/2023-08/condition-selector.png b/source/images/blog/2023-08/condition-selector.png new file mode 100644 index 00000000000..260c21969d8 Binary files /dev/null and b/source/images/blog/2023-08/condition-selector.png differ diff --git a/source/images/blog/2023-08/events-hue-dimmer-switch.png b/source/images/blog/2023-08/events-hue-dimmer-switch.png new file mode 100644 index 00000000000..c76ea3982b1 Binary files /dev/null and b/source/images/blog/2023-08/events-hue-dimmer-switch.png differ diff --git a/source/images/blog/2023-08/onboarding-openstreetmap.png b/source/images/blog/2023-08/onboarding-openstreetmap.png new file mode 100644 index 00000000000..2a964c0b0e6 Binary files /dev/null and b/source/images/blog/2023-08/onboarding-openstreetmap.png differ diff --git a/source/images/blog/2023-08/openai-generate-image.png b/source/images/blog/2023-08/openai-generate-image.png new file mode 100644 index 00000000000..d5cf1fdbf4c Binary files /dev/null and b/source/images/blog/2023-08/openai-generate-image.png differ diff --git a/source/images/blog/2023-08/sentence-trigger-wildcard-music.png b/source/images/blog/2023-08/sentence-trigger-wildcard-music.png new file mode 100644 index 00000000000..d099ac78b77 Binary files /dev/null and b/source/images/blog/2023-08/sentence-trigger-wildcard-music.png differ diff --git a/source/images/blog/2023-08/shopping-list.png b/source/images/blog/2023-08/shopping-list.png new file mode 100644 index 00000000000..d4c5f32a08a Binary files /dev/null and b/source/images/blog/2023-08/shopping-list.png differ diff --git a/source/images/blog/2023-08/social.png b/source/images/blog/2023-08/social.png new file mode 100644 index 00000000000..c1b374eb285 Binary files /dev/null and b/source/images/blog/2023-08/social.png differ diff --git a/source/images/blog/2023-08/translated-services.png b/source/images/blog/2023-08/translated-services.png new file mode 100644 index 00000000000..8533a380e78 Binary files /dev/null and b/source/images/blog/2023-08/translated-services.png differ diff --git a/source/images/getting-started/location_based_settings.png b/source/images/getting-started/location_based_settings.png new file mode 100644 index 00000000000..b7ac42c524d Binary files /dev/null and b/source/images/getting-started/location_based_settings.png differ diff --git a/source/images/getting-started/onboarding_location.png b/source/images/getting-started/onboarding_location.png index ebd995e3b70..aaddfe7a430 100644 Binary files a/source/images/getting-started/onboarding_location.png and b/source/images/getting-started/onboarding_location.png differ