diff --git a/CODEOWNERS b/CODEOWNERS
index 1cd47e58d2f..f9892db88d2 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -354,7 +354,7 @@ source/_integrations/hive.markdown @Rendili @KJonline
source/_integrations/hko.markdown @MisterCommand
source/_integrations/hlk_sw16.markdown @jameshilliard
source/_integrations/holiday.markdown @jrieger @gjohansson-ST
-source/_integrations/home_connect.markdown @DavidMStraub
+source/_integrations/home_connect.markdown @DavidMStraub @Diegorro98
source/_integrations/home_plus_control.markdown @cgtobi
source/_integrations/homeassistant.markdown @home-assistant/core
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
@@ -706,7 +706,7 @@ source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roborock.markdown @Lash-L
source/_integrations/roku.markdown @ctalkington
source/_integrations/romy.markdown @xeniter
-source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
+source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Orhideous
source/_integrations/roon.markdown @pavoni
source/_integrations/rpi_power.markdown @shenxn @swetoast
source/_integrations/rss_feed_template.markdown @home-assistant/core
@@ -795,11 +795,10 @@ source/_integrations/sonos.markdown @jjlawren @peterager
source/_integrations/soundtouch.markdown @kroimon
source/_integrations/spaceapi.markdown @fabaff
source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
-source/_integrations/spider.markdown @peternijssen
source/_integrations/splunk.markdown @Bre77
source/_integrations/spotify.markdown @frenck @joostlek
source/_integrations/sql.markdown @gjohansson-ST @dougiteixeira
-source/_integrations/squeezebox.markdown @rajlaud
+source/_integrations/squeezebox.markdown @rajlaud @pssc @peteS-UK
source/_integrations/srp_energy.markdown @briglx
source/_integrations/starline.markdown @anonym-tsk
source/_integrations/starlink.markdown @boswelja
@@ -812,7 +811,7 @@ source/_integrations/stookwijzer.markdown @fwestenberg
source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter
source/_integrations/stt.markdown @home-assistant/core
source/_integrations/subaru.markdown @G-Two
-source/_integrations/suez_water.markdown @ooii
+source/_integrations/suez_water.markdown @ooii @jb101010-2
source/_integrations/sun.markdown @Swamp-Ig
source/_integrations/sunweg.markdown @rokam
source/_integrations/supla.markdown @mwegrzynek
diff --git a/Gemfile b/Gemfile
index e40b8611dad..a86b44a7678 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,6 +10,8 @@ group :development do
gem 'stringex', '2.8.6'
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
gem 'sassc', '2.1.0'
+ # 1.80.5 breaks the build
+ gem 'sass-embedded', '1.80.4'
gem 'rubocop', '1.67.0'
gem 'ruby-lsp', '0.20.1'
gem 'rackup', '2.1.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index c1b7d1f0de7..606ef79e7da 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -66,7 +66,7 @@ GEM
nokogiri (~> 1.12)
jekyll-watch (2.2.1)
listen (~> 3.0)
- json (2.7.3)
+ json (2.7.4)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
@@ -123,7 +123,7 @@ GEM
rubocop-ast (>= 1.32.2, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.32.3)
+ rubocop-ast (1.33.0)
parser (>= 3.3.1.0)
ruby-lsp (0.20.1)
language_server-protocol (~> 3.17.0)
@@ -134,9 +134,9 @@ GEM
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass (3.4.25)
- sass-embedded (1.80.4-arm64-darwin)
+ sass-embedded (1.80.5-arm64-darwin)
google-protobuf (~> 4.28)
- sass-embedded (1.80.4-x86_64-linux-gnu)
+ sass-embedded (1.80.5-x86_64-linux-gnu)
google-protobuf (~> 4.28)
sass-globbing (1.1.5)
sass (>= 3.1)
@@ -150,7 +150,7 @@ GEM
rack-protection (= 4.0.0)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
- sorbet-runtime (0.5.11615)
+ sorbet-runtime (0.5.11625)
stringex (2.8.6)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
@@ -178,6 +178,7 @@ DEPENDENCIES
rake (= 13.2.1)
rubocop (= 1.67.0)
ruby-lsp (= 0.20.1)
+ sass-embedded (= 1.80.4)
sass-globbing (= 1.1.5)
sassc (= 2.1.0)
sinatra (= 4.0.0)
diff --git a/_config.yml b/_config.yml
index baadd3287cc..67d3ee2ec79 100644
--- a/_config.yml
+++ b/_config.yml
@@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2024
-current_minor_version: 10
-current_patch_version: 4
-date_released: 2024-10-25
+current_minor_version: 11
+current_patch_version: 0
+date_released: 2024-11-06
# 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/sass/homeassistant/_overrides.scss b/sass/homeassistant/_overrides.scss
index 3d289b8accf..609776c748a 100644
--- a/sass/homeassistant/_overrides.scss
+++ b/sass/homeassistant/_overrides.scss
@@ -888,6 +888,35 @@ dt:hover a.title-link {
}
}
+.hero-github-badge .desktop {
+ display: none;
+ max-width: 658px;
+ width: 100%;
+}
+
+.hero-github-badge .mobile {
+ display: block;
+ max-width: 420px;
+ width: 100%;
+ margin-bottom: 2rem;
+}
+
+// after 768px, show desktop, hide mobile
+@media only screen and (min-width: 1025px) {
+ .hero-github-badge .mobile {
+ display: none;
+ max-width: 385px;
+ }
+
+ .hero-github-badge .desktop {
+ display: block;
+ }
+}
+
+.hero-buttons {
+ margin-bottom: 0;
+}
+
.hero-buttons a {
margin: 0 30px 10px 0;
@@ -896,7 +925,6 @@ dt:hover a.title-link {
}
}
-
// Article formatting
article.post,
@@ -1362,13 +1390,13 @@ a.my {
// Prevent headings from disappearing behind the site header when linked to
h1, h2, h3, h4, h5, h6 {
position: relative;
+ word-wrap: break-word;
}
-:target {
- display: block;
- position: absolute;
- top: -100px;
- visibility: hidden;
+:target, .title-link {
+ display: inline-block;
+ position: relative;
+ scroll-margin-top: 140px;
}
.site-header {
diff --git a/sass/homeassistant/homepage/_hero_unit.scss b/sass/homeassistant/homepage/_hero_unit.scss
index 758a3622f8e..e288652a7c6 100644
--- a/sass/homeassistant/homepage/_hero_unit.scss
+++ b/sass/homeassistant/homepage/_hero_unit.scss
@@ -14,7 +14,7 @@
max-height: 1080px;
height: 100vh;
align-content: center;
- min-height: 720px;
+ min-height: 840px;
// scroll-snap-align: start;
color: $white;
@@ -86,11 +86,11 @@
// animation-iteration-count: infinite;
// animation-direction: alternate;
- @media only screen and (max-height: 720px) {
+ @media only screen and (max-height: 840px) {
border-bottom: 0;
margin-bottom: -8px;
border-radius: 48px 48px 0 0;
- height: 640px;
+ height: 750px;
}
@@ -126,6 +126,7 @@
@media only screen and (max-width: 760px) {
.hero {
+ min-height: 940px;
.flex {
flex-direction: column;
}
diff --git a/source/_dashboards/entities.markdown b/source/_dashboards/entities.markdown
index 6185487a423..3b95e8e033c 100644
--- a/source/_dashboards/entities.markdown
+++ b/source/_dashboards/entities.markdown
@@ -115,6 +115,10 @@ double_tap_action:
required: false
description: Action taken on row double tap. See [action documentation](/dashboards/actions/#double-tap-action).
type: map
+confirmation:
+ required: false
+ description: For entities that display a button element in the row (for example, button, lock, script), this option adds a confirmation dialog to the press of the button. See [options for confirmation](/dashboards/actions/#options-for-confirmation) for configuration options.
+ type: map
{% endconfiguration %}
## Special row elements
diff --git a/source/_dashboards/map.markdown b/source/_dashboards/map.markdown
index e955f788317..eadd522b5a6 100644
--- a/source/_dashboards/map.markdown
+++ b/source/_dashboards/map.markdown
@@ -58,11 +58,11 @@ type:
type: string
entities:
required: true
- description: List of entity IDs or `entity` objects (see below). Either this or the `geo_location_sources` configuration option is required.
+ description: List of entity IDs or `entity` objects (see [below](#options-for-entities)). Either this or the `geo_location_sources` configuration option is required.
type: list
geo_location_sources:
required: true
- description: List of geolocation sources. All current entities with that source will be displayed on the map. See [Geolocation](/integrations/geo_location/) platform for valid sources. Set to `all` to use all available sources. Either this or the `entities` configuration option is required.
+ description: List of geolocation sources or `source` objects (see [below](#options-for-geolocation-sources)). All current entities with that source will be displayed on the map. See [Geolocation](/integrations/geo_location/) platform for valid sources. Set to `all` to use all available sources. Either this or the `entities` configuration option is required.
type: list
auto_fit:
required: false
@@ -134,6 +134,22 @@ focus:
type: boolean
{% endconfiguration %}
+## Options for geolocation sources:
+
+If you define geolocation sources as objects instead of strings (by adding `source:` before the ID), you can add more customization and configuration.
+
+{% configuration %}
+source:
+ required: true
+ description: Name of a geolocation source, or `all`.
+ type: string
+focus:
+ required: false
+ default: true
+ description: When set to `false`, the entities of this source will not be considered for determining the default zoom or fit of the map.
+ type: boolean
+{% endconfiguration %}
+
## Examples
```yaml
@@ -150,6 +166,8 @@ entities:
type: map
geo_location_sources:
- nsw_rural_fire_service_feed
+ - source: gdacs
+ focus: false
entities:
- zone.home
```
diff --git a/source/_includes/asides/docs_sitemap.html b/source/_includes/asides/docs_sitemap.html
index d0b3183d2fb..1b6e214ca55 100644
--- a/source/_includes/asides/docs_sitemap.html
+++ b/source/_includes/asides/docs_sitemap.html
@@ -126,7 +126,7 @@
{% active_link /voice_control/voice_remote_expose_devices/ Exposing devices to voice assistant %}
{% active_link /voice_control/install_wake_word_add_on/ Enabling a wake word %}
{% active_link /voice_control/about_wake_word/ About wake words %}
- {% active_link /voice_control/builtin_sentences/ Built-in sentences %}
+ {% active_link /voice_control/builtin_sentences/ Sentences starter kit %}
{% active_link /voice_control/custom_sentences/ Custom sentences %}
{% active_link /voice_control/aliases/ Using aliases %}
{% active_link /voice_control/using_tts_in_automation/ Using Piper TTS in automations %}
diff --git a/source/_includes/common-tasks/remove_device_service.md b/source/_includes/common-tasks/remove_device_service.md
new file mode 100644
index 00000000000..886175a11c5
--- /dev/null
+++ b/source/_includes/common-tasks/remove_device_service.md
@@ -0,0 +1,13 @@
+## Removing an integration instance
+
+If you no longer want to use a device or service in Home Assistant, you can remove the integration instance including the device or service with all its entities.
+
+The following steps describe the general steps needed to remove an integration instance. Depending on the integration, additional steps can be needed, such as resetting the device or to delete credentials. Refer to the integration documentation to see if additional steps are needed.
+
+### To remove an integration instance from Home Assistant
+
+1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the integration card.
+2. From the list of devices, select the integration instance you want to remove.
+3. Next to the entry, select the three-dot menu. Then, select **Delete**.
+
+ 
diff --git a/source/_includes/custom/welcome.html b/source/_includes/custom/welcome.html
index a3f3f9e08f4..b6e3a3ebe08 100644
--- a/source/_includes/custom/welcome.html
+++ b/source/_includes/custom/welcome.html
@@ -19,3 +19,15 @@
View live demos
Browse {{ tot | minus: 1 | divided_by: 100 | round | times: 100 }}+ integrations
+
+
+
+
\ No newline at end of file
diff --git a/source/_integrations/airgradient.markdown b/source/_integrations/airgradient.markdown
index 34539dbfc51..a760e9b67e8 100644
--- a/source/_integrations/airgradient.markdown
+++ b/source/_integrations/airgradient.markdown
@@ -14,6 +14,7 @@ ha_codeowners:
ha_domain: airgradient
ha_platforms:
- button
+ - diagnostics
- number
- select
- sensor
diff --git a/source/_integrations/blebox.markdown b/source/_integrations/blebox.markdown
index f396c13b2db..c5668039273 100644
--- a/source/_integrations/blebox.markdown
+++ b/source/_integrations/blebox.markdown
@@ -397,6 +397,14 @@ This integration adds the Blebox device as a sensor entity to Home Assistant.
- Periodic read of current wind speed
+### luxSensor
+
+This integration adds the Blebox device as a sensor entity to Home Assistant.
+
+#### Key supported features
+
+- Periodic read of illuminance (unit: lx)
+
------
## "BleBox inside" controllers
diff --git a/source/_integrations/cambridge_audio.markdown b/source/_integrations/cambridge_audio.markdown
index 73be2d0df04..c40391323e0 100644
--- a/source/_integrations/cambridge_audio.markdown
+++ b/source/_integrations/cambridge_audio.markdown
@@ -11,6 +11,7 @@ ha_platforms:
- diagnostics
- media_player
- select
+ - switch
ha_codeowners:
- '@noahhusby'
ha_config_flow: true
@@ -56,7 +57,8 @@ The integration provides a few entities to configure the device settings. The fo
- Display brightness
- Pre-Amp
-- Early Update
+- Early update
+- Audio output (Speaker select)
## Playing media
diff --git a/source/_integrations/comelit.markdown b/source/_integrations/comelit.markdown
index c0cc86022a7..947bb6dc8b8 100644
--- a/source/_integrations/comelit.markdown
+++ b/source/_integrations/comelit.markdown
@@ -20,6 +20,7 @@ ha_platforms:
- binary_sensor
- climate
- cover
+ - diagnostics
- humidifier
- light
- sensor
diff --git a/source/_integrations/dsmr_reader.markdown b/source/_integrations/dsmr_reader.markdown
index e91215d9fd2..e3d1be83de9 100644
--- a/source/_integrations/dsmr_reader.markdown
+++ b/source/_integrations/dsmr_reader.markdown
@@ -17,6 +17,7 @@ ha_platforms:
- diagnostics
- sensor
ha_integration_type: integration
+ha_quality_scale: gold
---
The `dsmr_reader` sensor integration allows you to easily add all sensors that [DSMR Reader](https://dsmr-reader.readthedocs.io/en/latest/) (Dutch Smart Meter Requirements Reader) exposes to MQTT. It adds a separate sensor for every field in the MQTT topics which is named `sensor_dsmr_`.
diff --git a/source/_integrations/govee_light_local.markdown b/source/_integrations/govee_light_local.markdown
index 720b032f990..543e3305e3f 100644
--- a/source/_integrations/govee_light_local.markdown
+++ b/source/_integrations/govee_light_local.markdown
@@ -44,6 +44,8 @@ H6087,
H6088,
H608A,
H608B,
+H608D,
+H60A1,
H610A,
H610B,
H6110,
@@ -79,6 +81,7 @@ H61A8,
H61B2,
H61B5,
H61BA,
+H61BC,
H61BE,
H61C3,
H61C5,
@@ -86,6 +89,7 @@ H61D3,
H61D5,
H61E0,
H61E1,
+H61F5,
H7012,
H7013,
H7020,
@@ -104,14 +108,19 @@ H7055,
H705A,
H705B,
H705C,
+H705E,
H7060,
H7061,
H7062,
H7063,
H7065,
H7066,
+H706A,
+H706B,
+H706C,
H7075,
H70A1,
H70B1,
H70C1,
-H70C2
\ No newline at end of file
+H70C2
+H70C2
diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown
index 735b1671458..ec4a7f91937 100644
--- a/source/_integrations/habitica.markdown
+++ b/source/_integrations/habitica.markdown
@@ -4,6 +4,7 @@ description: Instructions on enabling Habitica support for your Home Assistant
ha_category:
- To-do list
- Sensor
+ - Calendar
ha_release: 0.78
ha_iot_class: Cloud Polling
ha_domain: habitica
@@ -12,6 +13,7 @@ ha_platforms:
- sensor
- switch
- todo
+ - calendar
ha_codeowners:
- '@ASMfreaK'
- '@leikoilja'
@@ -64,6 +66,11 @@ The following Habitica tasks are available as to-do lists in Home Assistant. You
- **To-Do's:** Displays a comprehensive list of active and completed to-dos. Each to-do includes its due date if applicable, allowing you to check them off, edit them, delete them, and create new to-dos seamlessly.
- **Dailies:** Shows the daily tasks that need to be completed today or in the future. Tasks completed yesterday can still be marked off as "yesterdailies" until a new day starts.
+## Calendars
+
+- **To-Do calendar:** Lists the due dates for all active to-do tasks. Each event on this calendar represents a to-do item that has a set due date, making it easy to track upcoming deadlines and plan accordingly.
+- **Dailies calendar:** Displays all daily tasks that are scheduled for today and are still active. It also shows all tasks scheduled for future dates, helping you stay organized and track upcoming routines. The calendar sensor will be active if there are unfinished tasks for today and display the next due daily (based on sort order if there are multiple tasks due for that day).
+
## Button controls
- **Start my day:** Initiates daily routine actions in Habitica, including resetting your dailies, deal damage from unfinished dailies and quest bosses, habits adjustment, buff expiration, and mana regeneration based on completed dailies.
diff --git a/source/_integrations/husqvarna_automower_ble.markdown b/source/_integrations/husqvarna_automower_ble.markdown
new file mode 100644
index 00000000000..f2e47f3209e
--- /dev/null
+++ b/source/_integrations/husqvarna_automower_ble.markdown
@@ -0,0 +1,33 @@
+---
+title: Husqvarna Automower BLE
+description: Instructions on how to integrate Husqvarna Automower BLE lawn mowers into Home Assistant.
+ha_category:
+ - Lawn Mower
+ha_release: 2024.11
+ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@alistair23'
+ha_platforms:
+ - lawn_mower
+ha_integration_type: integration
+ha_domain: husqvarna_automower_ble
+---
+
+The Husqvarna Automower BLE integration provides connectivity with Husqvarna Automowers lawn mowers via a local Bluetooth connection. This allows connecting and controlling an Automower without any accounts, cloud, or network connection.
+
+The integration is based on [AutoMower-BLE](https://github.com/alistair23/AutoMower-BLE), an unofficial reverse engineered Husqvarna Automower Connect BLE library.
+
+There is currently support for the following device types within Home Assistant:
+
+- Lawn Mower
+
+### Prerequisites
+
+1. Setup a [Bluetooth controller](https://www.home-assistant.io/integrations/bluetooth/). An ESPHome Bluetooth proxy works well and allows locating a device close to the mower.
+2. Enter the pairing mode on the mower. Different models will do this in different ways. For the 305, for example, the mower will enter pairing mode for the first 3 minutes after powering on. Ensure the mower is in pairing mode when adding the integration. This only needs to be done once per BLE controller (so changing the ESPHome device will require a repair).
+3. When adding the integration to Home Assistant, you will need to enter the mower BLE Mac address. You can find this in the ESPHome logs, on an Android phone, or by some other means.
+
+Pairing can take a few goes. Even when using the official Android application, it can be tricky to get the first pair to succeed. If you are having issues, reboot the mower and try again.
+
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/lamarzocco.markdown b/source/_integrations/lamarzocco.markdown
index dbd69c6456a..b742fdfe15b 100644
--- a/source/_integrations/lamarzocco.markdown
+++ b/source/_integrations/lamarzocco.markdown
@@ -76,6 +76,7 @@ Host:
| Prebrew on time | Time prebrew wets the puck | Linea Micra, Linea Mini, GS3 AV | GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default |
| Prebrew off time | Time prebrew waits before turning on the pump | Linea Micra, Linea Mini, GS3 AV | GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default |
| Preinfusion time | Duration of preinfusion | Linea Micra, Linea Mini, GS3 AV | GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default |
+| Smart standby time | Time until the machine will automatically stand by (if enabled) | all | - |
## Switches
@@ -84,6 +85,7 @@ Host:
|-------------|-------------| ---------------------- |
| Main | Allows to turn machines on-/off | all |
| Steam boiler | Allows to enable/disable the steam boiler | all |
+| Smart standby enabled | Whether smart standby is on (machine will automatically stand by after given time) | all |
## Binary sensors
@@ -116,6 +118,7 @@ Host:
|-------------|-------------| ------------------------| ---------------------- |
| Prebrew/-infusion mode | Whether to use prebrew, preinfusion, or neither | Disabled, Prebrew, Preinfusion | Linea Micra, Linea Mini, GS3 AV |
| Steam level | The level your steam boiler should run at | 1,2,3 | Linea Micra |
+| Smart standby mode | The smart standby mode, that decides from which events the timer to standby will run. | Last brewing, Power on | all |
## Supported devices
diff --git a/source/_integrations/lcn.markdown b/source/_integrations/lcn.markdown
index aae0d7d856b..da45dc390ee 100644
--- a/source/_integrations/lcn.markdown
+++ b/source/_integrations/lcn.markdown
@@ -31,7 +31,7 @@ The **LCN** {% term integration %} for Home Assistant allows you to connect to [
## Prerequisites
-- The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler.
+- The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler.
- Alternatively, an LCN-VISU or LCN-PKE coupler can be used which offers at least two PCHK licenses.
With this setup, sending and receiving commands to and from LCN modules is possible.
@@ -75,8 +75,6 @@ The detailed documentation for the LCN frontend panel can be found [here](https:
The `lcn` binary sensor platform allows the monitoring of the following [LCN](https://www.lcn.eu/) binary data sources:
- Binary hardware sensors
-- Lock state of regulator setpoints
-- Lock state of keys
The binary sensor can be used in automation scripts or in conjunction with `template` platforms.
@@ -141,6 +139,8 @@ The `lcn` switch platform allows the control of the following [LCN](https://www.
- Output ports
- Relays
+- Lock state of regulators
+- Lock state of keys
## Additional features
diff --git a/source/_integrations/lektrico.markdown b/source/_integrations/lektrico.markdown
index 2779fd8b148..aeebca94d43 100644
--- a/source/_integrations/lektrico.markdown
+++ b/source/_integrations/lektrico.markdown
@@ -15,6 +15,7 @@ ha_platforms:
- number
- select
- sensor
+ - switch
ha_integration_type: device
---
diff --git a/source/_integrations/lg_thinq.markdown b/source/_integrations/lg_thinq.markdown
new file mode 100644
index 00000000000..1fac8705476
--- /dev/null
+++ b/source/_integrations/lg_thinq.markdown
@@ -0,0 +1,285 @@
+---
+title: LG ThinQ
+description: Setup for LG ThinQ Integration.
+ha_category:
+ - Hub
+ha_release: "2024.11"
+ha_iot_class: Cloud Push
+ha_code_owners:
+ - '@LG-ThinQ-Integration'
+ha_config_flow: true
+ha_domain: lg_thinq
+ha_platforms:
+ - switch
+ - binary_sensor
+ - climate
+ - event
+ - fan
+ - number
+ - sensor
+ - select
+ - vacuum
+ha_integration_type: integration
+---
+
+The **LG ThinQ** integration allows you to connect LG ThinQ devices to Home Assistant. The features of this integration include:
+
+- Control LG appliances as Home Assistant entities through the [LG ThinQ Connect API](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/overview/).
+
+## Prerequisites
+
+- This feature works via LG ThinQ cloud. Therefore, an internet connection is required.
+- A [personal access token](https://connect-pat.lgthinq.com) to use the [LG ThinQ Connect API](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/overview/).
+
+### Personal Access Token (PAT)
+
+1. Access the **[personal access token](https://connect-pat.lgthinq.com)** page (requires an LG ThinQ account).
+2. Select **ADD NEW TOKEN**.
+3. Enter a new token name and select the following authorized scopes:
+ - **Permission to view all devices**
+ - **Permission to view all device statuses**
+ - **All device control rights**
+ - **All device event subscription rights**
+ - **All device push notification permissions**
+4. Select **CREATE TOKEN**.
+5. Once all the steps are completed, you will see that a **PAT** has been generated.
+
+{% include integrations/config_flow.md %}
+
+1. Enter the information to use LG ThinQ Connect API:
+ - The **Token Value** obtained through the PAT issuance process. (Required)
+ - The entry name.
+2. Choose the region (country).
+
+## Supported Devices
+
+### Appliance
+
+Support LG Appliances as follows:
+
+- [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/)
+- [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/)
+- [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/)
+- [Ceiling Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/ceiling-fan/)
+- [Cooktop](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/cooktop/)
+- [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/)
+- [Dishwasher](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/)
+- [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dryer/)
+- [Home Brew](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/home-brew/)
+- [Hood](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/hood/)
+- [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/)
+- [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/kimchi-refrigerator/)
+- [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/microwave-oven/)
+- [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/oven/)
+- [Plant Cultivator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/plant-cultivator/)
+- [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/)
+- [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/)
+- [Stick Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Stick-Cleaner/)
+- [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/)
+- [System Boiler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/system-boiler/)
+- [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
+- [Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
+- [Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
+- [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
+- [Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
+- [Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/)
+- [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/water-heater/)
+- [Water Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/water-purifier/)
+- [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/wine-cellar/)
+
+## Platforms
+
+LG ThinQ represents devices as a set of [profiles](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/). And these are mapped to entities in Home Assistant.
+
+A list of all Entity Platforms provided by LG ThinQ Integration:
+
+- [Binary sensor](#binary-sensor)
+- [Climate](#climate)
+- [Event](#event)
+- [Fan](#fan)
+- [Number](#number)
+- [Select](#select)
+- [Sensor](#sensor)
+- [Switch](#switch)
+- [Vacuum](#vacuum)
+
+### Binary sensor
+
+A read-only property which has only two states that can be toggled is represented as a binary sensor platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Cooktop](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Cooktop/)
| Remote start |
+| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Chime sound
Clean indicator light
Door
Machine clean reminder
Remote start
Rinse refill needed |
+| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/)
| Remote start |
+| [Hood](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Hood/) | Power |
+| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Remote start |
+| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Door
Eco friendly
Power saving mode
Sabbath |
+| [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Kimchi-Refrigerator/) | Fresh air filter |
+| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Remote start |
+| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Remote start |
+| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Remote start |
+| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Power |
+| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Sabbath |
+
+### Climate
+
+The properties for controlling both the temperature and wind strength of the appliance are represented as a climate platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Current temperature
Fan mode
HVAC mode
Preset mode
Temperature
Temperature cool
Temperature heat
Unit |
+| [System Boiler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/System-Boiler/) | Current temperature
HVAC mode
Temperature
Temperature cool
Temperature heat
Unit |
+
+### Event
+
+A notification message pushed from the server is represented as an event platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Notification |
+| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Notification |
+| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Notification |
+| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Notification |
+| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Error
Notification |
+| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Error
Notification |
+| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Notification |
+| [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Kimchi-Refrigerator/) | Notification |
+| [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Microwave-Oven/) | Notification |
+| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Notification |
+| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Notification |
+| [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/) | Error
Notification |
+| [Stick Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Stick-Cleaner/) | Notification |
+| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Error
Notification |
+| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Error
Notification |
+| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Error
Notification |
+| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Notification |
+
+### Fan
+
+The properties for controlling the wind strength of the appliance are represented as a fan platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Ceiling Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/ceiling-fan/) | Power
Speed |
+
+### Number
+
+A read-write property which has numeric value is represented as a number platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Schedule turn-off
Schedule turn-on
Sleep timer |
+| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Sleep timer
Wind temperature |
+| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Delay ends in
Delay starts in |
+| [Hood](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Hood/) | Fan
Light |
+| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Sleep timer
Target humidity |
+| [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Microwave-Oven/) | Fan
Light |
+| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Temperature |
+| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Temperature |
+| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Delay ends in |
+| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Delay ends in
Delay starts in |
+| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Delay ends in
Delay starts in |
+| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Temperature |
+| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Light
Temperature |
+
+### Select
+
+A writable property which has a list of selectable values is represented as a select platform.
+
+| Device |Property |
+| ------ |-------- |
+| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Air purify
Air quality sensor |
+| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Operating mode
Speed |
+| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Display brightness
Operating mode
Rotation
Speed |
+| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Speed |
+| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Operation |
+| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Operation |
+| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Display brightness
Drying mode
Operating mode
Speed |
+| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Cook mode
Operation
|
+| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Fresh air filter |
+| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Operation |
+| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Operation |
+| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Operation |
+| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Operating mode |
+| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Light
Operating mode |
+
+### Sensor
+
+A read-only property which has states is represented as a sensor platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Filter remaining
Humidity
Odor
Overall air quality
PM1
PM10
PM2.5
Schedule turn-off
Schedule turn-on
Sleep timer |
+| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Air quality sensor
Humidity
Odor
Operating mode
Overall air quality
Personal mode
PM1
PM10
PM2.5 |
+| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Air quality sensor
Humidity
Odor
Overall air quality
PM1
PM10
PM2.5
Sleep timer
Temperature |
+| [Cooktop](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Cooktop/) | Current status
Power level
Remaining time |
+| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Humidity
Operating mode |
+| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Current cycle
Current status
Delay starts in
Remaining time
Rinse aid dispenser level
Softening level
Total time |
+| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Current status
Delay ends in
Delay starts in
Remaining time
Total time |
+| [Home Brew](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Home-Brew/)| Brewing duration
Brewing period
Current status
Flavor
Homebrew recipe
Hops
Recipe progress
Wort
Yeast |
+| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Air quality sensor
Humidity
Overall air quality
PM1
PM10
PM2.5
Schedule turn-off
Schedule turn-on
Sleep timer
Temperature |
+| [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Kimchi-Refrigerator/) | Fresh air filter
Temperature |
+| [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Microwave-Oven/) | Current status
Remaining time |
+| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Cook time
Current status
Remaining time
Temperature |
+| [Plant Cultivator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Plant-Cultivator/) | Current status
Day growth temperature
Lighting duration
Lighting intensity
Lights on time
Mode
Night growth temperature
Temperature
Wind speed |
+| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Fresh air filter
Water filter used |
+| [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/) | Current status
Operating mode
Running time |
+| [Stick Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Stick-Cleaner/) | Battery
Current status
Operating mode |
+| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Current status
Delay ends in
Delay starts in
Remaining time
Total time |
+| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Current status
Delay ends in
Delay starts in
Remaining time
Total time |
+| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Current status
Delay ends in
Delay starts in
Remaining time
Total time |
+| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Temperature |
+| [Water Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/water-purifier/) | High-temp sterilization
Type
UVnano|
+
+### Switch
+
+A read-write property which has only two states that can be toggled is represented as a switch platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Energy saving |
+| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Power |
+| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Heating
Power
UVnano |
+| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Power |
+| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Auto mode
Heating
Mood light
Power
Sleep mode |
+| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Ice plus
Quick freeze |
+| [System Boiler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/System-Boiler/) | Hot water |
+| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Ventilation |
+
+### Vacuum
+
+The properties for controlling the clean operations of the appliance are represented as a vacuum platform.
+
+| Device | Property |
+| ------ | -------- |
+| [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/) | Battery
Current status
Operation |
+
+## Troubleshooting
+
+### Setup
+
+#### Aborted: The token is not valid
+
+This error occurs when the Personal Access Token (PAT) is invalid or entered incorrectly. Please visit the [Personal Access Token Page](https://connect-pat.lgthinq.com) page to check if your token is valid.
+
+#### Aborted: The country is not supported
+
+Check your PAT's valid country in the **Choose the region / Country** section.
+
+#### Error: The number of API calls has been exceeded
+
+This error occurs when there's an abnormal number of API calls made using the PAT.
+The LG ThinQ integration will work properly after some time.
+
+## Debugging
+
+The LG ThinQ integration will show additional information by enabling log configuration. Add the line to your {% term "`configuration.yaml`" %}:
+Don't forget to remove the line again once you are done debugging.
+
+```yaml
+logger:
+ default: info
+ logs:
+ homeassistant.components.lg_thinq: debug
+```
diff --git a/source/_integrations/local_file.markdown b/source/_integrations/local_file.markdown
index ccd1adcbac8..15592416fb9 100644
--- a/source/_integrations/local_file.markdown
+++ b/source/_integrations/local_file.markdown
@@ -6,7 +6,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.22
ha_domain: local_file
-ha_config_flow: true
ha_platforms:
- camera
ha_integration_type: integration
diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown
index ac314f11801..5daa68ebd99 100644
--- a/source/_integrations/matter.markdown
+++ b/source/_integrations/matter.markdown
@@ -14,6 +14,7 @@ ha_category:
- Sensor
- Switch
- Update
+ - Vacuum
- Valve
ha_release: '2022.12'
ha_iot_class: Local Push
@@ -36,6 +37,7 @@ ha_platforms:
- sensor
- switch
- update
+ - vacuum
- valve
ha_integration_type: integration
related:
diff --git a/source/_integrations/music_assistant.markdown b/source/_integrations/music_assistant.markdown
new file mode 100644
index 00000000000..548ff4acd27
--- /dev/null
+++ b/source/_integrations/music_assistant.markdown
@@ -0,0 +1,38 @@
+---
+title: Music Assistant
+description: Instructions on how to integrate Music Assistant into Home Assistant.
+ha_category:
+ - Media player
+ha_release: 2024.11
+ha_iot_class: Local Push
+ha_config_flow: true
+ha_codeowners:
+ - '@music_assistant'
+ha_domain: music_assistant
+ha_platforms:
+ - media_player
+ha_zeroconf: true
+ha_integration_type: integration
+---
+
+The **Music Assistant**(MA) {% term integrations %} allows you to connect Home Assistant to a [Music Assistant Server](https://music-assistant.io/). Once configured, all [MA Players](https://music-assistant.io/player-support/) show up as Home Assistant [media player entities](/integrations/media_player/). Media players will allow you to control media playback and see the currently playing item.
+
+There is currently support for the following Home Assistant Platforms:
+
+- [Media player](#media-player)
+
+All of the Home Assistant [Media Player Control Actions](https://www.home-assistant.io/integrations/media_player/#media-control-actions) are supported.
+
+{% include integrations/config_flow.md %}
+
+### Manual configuration
+
+Under normal circumstances, Home Assistant automatically discovers your running Music Assistant Server. If something special about the HA or MA setup (for example, the MA server is running as a remote Docker container) or discovery is not working, you can manually specify the URL to your Music Assistant server.
+
+## Media player
+
+The Music Assistant media player creates media player entities for all players available in MA including those imported from Home Assistant. This is needed to provide the full functionality Music Assistant has to offer. These entities will display media information, playback progress, and playback controls.
+
+## Notes
+
+- Any Home Assistant players added to Music Assistant will appear duplicated as the MA version of the player is created. The original HA player can be hidden if desired.
diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown
index 0898ebbcc54..d56f1c86a8f 100644
--- a/source/_integrations/onkyo.markdown
+++ b/source/_integrations/onkyo.markdown
@@ -3,93 +3,51 @@ title: Onkyo
description: Instructions on how to integrate Onkyo and some Pioneer receivers into Home Assistant.
ha_category:
- Media player
-ha_release: 0.17
-ha_iot_class: Local Push
+ha_codeowners:
+ - '@arturpragacz'
+ha_config_flow: true
ha_domain: onkyo
+ha_integration_type: integration
+ha_iot_class: Local Push
ha_platforms:
- media_player
-ha_integration_type: integration
+ha_release: 0.17
related:
- docs: /docs/configuration/
title: Configuration file
-ha_codeowners:
- - '@arturpragacz'
---
The `onkyo` {% term integration %} allows you to control a [Onkyo](https://www.onkyo.com), [Integra](http://www.integrahometheater.com)
and some recent [Pioneer](https://www.pioneerelectronics.com) receivers from Home Assistant.
Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware.
-## Configuration
+{% include integrations/config_flow.md %}
-To add an Onkyo or Pioneer receiver to your installation, add the following to your {% term "`configuration.yaml`" %} file.
-{% include integrations/restart_ha_after_config_inclusion.md %}
+If your receiver has second or third zone available, they are displayed as additional media players with the same functionality as the main zone.
-```yaml
-# Example configuration.yaml entry
-media_player:
- - platform: onkyo
- host: 192.168.1.2
- name: receiver
- sources:
- pc: "HTPC"
-```
-
- If your receiver has second or third zone’s available, they are displayed as additional media players with the same functionality as the main zone.
-
-{% configuration %}
-host:
- description: IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers.
- required: false
+{% configuration_basic %}
+Host:
+ description: Hostname or IP address of the device, for example:`192.168.1.2`.
type: string
-name:
- description: Name of the device. (*Required if host is specified*)
- required: false
- type: string
-max_volume:
- description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will set Home Assistant's 100% volume to be this setting on the amp. i.e., if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of its maximum volume.
- required: false
+Volume Resolution:
+ description: Number of steps it takes for the receiver to go from the lowest to the highest possible volume. Possible values are 50, 80, 100, 200. For older Onkyo receivers, this typically is 80; newer Onkyo receivers use 200.
+ type: integer
+Input sources:
+ description: List of input sources supported by the receiver.
+ type: list
+{% endconfiguration_basic %}
+
+{% include integrations/option_flow.md %}
+
+{% configuration_basic %}
+Max Volume:
+ description: Maximum volume limit as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will set Home Assistant's 100% volume to be this setting on the amp, i.e., if you set this to 50%, when you set Home Assistant to be 100%, then your receiver will be set to 50% of its maximum volume.
default: 100
type: integer
-receiver_max_volume:
- description: The number of steps it takes for the receiver to go from the lowest to the highest possible volume. Possible values are 50, 80, 100, 200. For older Onkyo receivers, this typically is 80; newer Onkyo receivers use 200.
- required: false
- default: 80
- type: integer
-sources:
- description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified.
- required: false
+Input sources:
+ description: Mappings of input sources to their names.
type: list
-{% endconfiguration %}
-
-List of source names:
-
-- `video1`
-- `video2`
-- `video3`
-- `video4`
-- `video5`
-- `video6`
-- `video7`
-- `dvd`
-- `bd-dvd`
-- `tape1`
-- `tv-tape`
-- `tape2`
-- `phono`
-- `cd`
-- `tv-cd`
-- `fm`
-- `am`
-- `tuner`
-- `dlna`
-- `internet-radio`
-- `usb`
-- `network`
-- `universal-port`
-- `multi-ch`
-- `xm`
-- `sirius`
+{% endconfiguration_basic %}
### Action `onkyo_select_hdmi_output`
@@ -105,6 +63,21 @@ Accepted values are:
which one to use seems to vary depending on model so you will have to try them out.
( For model TX-NR676E it seems to be 'out' for main, 'out-sub' for sub, and 'sub' for both )
+### Example `onkyo_select_hdmi_output` script
+
+```yaml
+# Example onkyo_select_hdmi_output script
+#
+script:
+ hdmi_sub:
+ alias: "Hdmi out projector"
+ sequence:
+ - action: media_player.onkyo_select_hdmi_output
+ data:
+ entity_id: media_player.onkyo
+ hdmi_output: out-sub
+```
+
### Example `play_media` script
The `play_media` function can be used in script to play radio station by preset number.
@@ -114,7 +87,7 @@ Not working for NET radio.
# Example play_media script
#
script:
- radio1:
+ radio1:
alias: "Radio 1"
sequence:
- action: media_player.turn_on
@@ -127,18 +100,3 @@ script:
media_content_type: "radio"
media_content_id: "1"
```
-
-### Example `onkyo_select_hdmi_output` script
-
-```yaml
-# Example onkyo_select_hdmi_output script
-#
-script:
- hdmi_sub:
- alias: "Hdmi out projector"
- sequence:
- - action: media_player.onkyo_select_hdmi_output
- data:
- entity_id: media_player.onkyo
- hdmi_output: out-sub
-```
diff --git a/source/_integrations/pegel_online.markdown b/source/_integrations/pegel_online.markdown
index dfcfa9e3065..f8eaec981d0 100644
--- a/source/_integrations/pegel_online.markdown
+++ b/source/_integrations/pegel_online.markdown
@@ -9,6 +9,7 @@ ha_config_flow: true
ha_iot_class: Cloud Polling
ha_domain: pegel_online
ha_platforms:
+ - diagnostics
- sensor
ha_codeowners:
- '@mib1185'
diff --git a/source/_integrations/pinecil.markdown b/source/_integrations/pinecil.markdown
index f8a7e293fdb..abea23d09a1 100644
--- a/source/_integrations/pinecil.markdown
+++ b/source/_integrations/pinecil.markdown
@@ -4,6 +4,7 @@ description: Connect and control your Pinecil devices using the IronOS integrati
ha_category:
- Number
- Sensor
+ - Update
ha_release: 2024.8
ha_domain: pinecil
ha_integration_type: virtual
@@ -15,6 +16,7 @@ ha_config_flow: true
ha_platforms:
- number
- sensor
+ - update
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/prometheus.markdown b/source/_integrations/prometheus.markdown
index 8fa1bb1287f..9558608a81a 100644
--- a/source/_integrations/prometheus.markdown
+++ b/source/_integrations/prometheus.markdown
@@ -189,22 +189,27 @@ When looking into the metrics on the Prometheus side, there will be:
- All Home Assistant domains, which can be easily found through the common **namespace** prefix, if defined.
- The [client library](https://github.com/prometheus/client_python) provided metrics, which are a bunch of **process_\*** and also a single pseudo-metric **python_info** which contains (not as value but as labels) information about the Python version of the client, i.e., the Home Assistant Python interpreter.
-
+
Typically, you will only be interested in the first set of metrics.
## Metrics in unavailable or unknown states
-When the Prometheus exporter starts (typically when Home Assistant starts), all non-excluded entities in an unavailable or unknown state are not be exported until they are available again. If the entity goes into state unavailable or unknown again, the value exported will always be the latest known one.
+When the Prometheus exporter starts (typically when Home Assistant starts), all non-excluded entities in an unavailable or unknown state are not exported until they are available and known.
-While an entity is in those states, the `entity_available` corresponding metric is set to 0. This metric can be used to filter out values while the entity is unavailable or in an unknown state thanks to a [recording rule](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).
+If an available entity goes into state unavailable or unknown, then it will automatically be unexported and return again automatically when available and known.
-For example:
+{% note %}
+
+To filter out these stale values, `entity_available` could be used in a query or recording rule. For example:
```yaml
- record: "known_temperature_c"
expr: "temperature_c unless entity_available == 0"
```
+This use of `unless` (which can be slow to compute) is no longer necessary, but will continue to work.
+{% endnote %}
+
## Supported metrics
Metrics are exported only for the following domains:
diff --git a/source/_integrations/pushover.markdown b/source/_integrations/pushover.markdown
index cba763cf55f..f030e4a641c 100644
--- a/source/_integrations/pushover.markdown
+++ b/source/_integrations/pushover.markdown
@@ -38,7 +38,7 @@ Example Automation:
Integration-specific values in the nested `data` section are optional.
-Image attachments can be added using the `attachment` parameter, which can either be a local file reference (ex: `/tmp/image.png`).
+Image attachments can be added using the `attachment` parameter, which must be a local file reference (ex: `/tmp/image.png`).
To use a specific Pushover device, set it using `target`. If one of the entered devices doesn't exist or is disabled in your Pushover account it will send a message to all you devices. To send to all devices, just skip the target attribute.
diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown
index 475d3bb204c..ed52d463615 100644
--- a/source/_integrations/reolink.markdown
+++ b/source/_integrations/reolink.markdown
@@ -76,11 +76,9 @@ Depending on the supported features of the camera, binary sensors are added for:
- AI package detection+
- Sleep status
-\+ These sensors receive events using 3 methods in order: ONVIF push, ONVIF long polling or fast polling (every 5 seconds).
-The latency for receiving the events is the best for ONVIF push and the worst for fast polling, the fastest available method that is detected to work will be used, and slower methods will not be used.
+\+ These sensors receive events using the following 4 methods (in order): TCP push, ONVIF push, ONVIF long polling or fast polling (every 5 seconds).
+The latency for receiving the events is the best for TCP push and the worst for fast polling, the fastest available method that is detected to work will be used, and slower methods will not be used.
For redundancy, these sensors are polled every 60 seconds together with the update of all other entities.
-Not all camera models generate ONVIF push events for all event types, some binary sensors might, therefore, only be polled.
-For list of Reolink products that support ONVIF see the [Reolink Support Site](https://support.reolink.com/hc/en-us/articles/900000617826).
To ensure you have the best latency possible, refer to the [Reducing latency of motion events](#reducing-latency-of-motion-events) section.
## Number entities
@@ -400,11 +398,11 @@ Set up the Reolink integration in Home Assistant using the credentials you set i
### Reducing latency of motion events
-ONVIF push will result in slightly faster state changes of the binary motion/AI event sensors than ONVIF long polling.
-Moreover, ONVIF push is less demanding for the camera than ONVIF long polling or fast polling, resulting in potentially less connection issues.
-However, ONVIF push has some additional network configuration requirements:
+TCP push and ONVIF push will result in slightly faster state changes of the binary motion/AI event sensors than ONVIF long polling.
+Moreover, TCP push and ONVIF push are less demanding for the camera than ONVIF long polling or fast polling, resulting in potentially less connection issues.
+TCP push does not have any particular requirements. However, ONVIF push has some additional network configuration requirements:
-- Reolink products can not push motion events to an HTTPS address (SSL).
+- Reolink products can not push ONVIF motion events to an HTTPS address (SSL).
Therefore, make sure a (local) HTTP address at which HA is reachable is configured under **Home Assistant URL** in the {% my network title="network settings" %}.
A valid address could, for example, be `http://192.168.1.10:8123` where `192.168.1.10` is the IP of the Home Assistant device.
@@ -412,4 +410,4 @@ A valid address could, for example, be `http://192.168.1.10:8123` where `192.168
Therefore, ensure no Global SSL certificate is configured in the [`configuration.yaml` under HTTP](/integrations/http/#ssl_certificate).
An SSL certificate can still be enforced for external connections, by, for instance, using the [NGINX add-on](https://github.com/home-assistant/addons/tree/master/nginx_proxy) or [NGINX Proxy Manager add-on](https://github.com/hassio-addons/addon-nginx-proxy-manager) instead of a globally enforced SSL certificate.
-To see if a Reolink integration is currently using `ONVIF push`, `ONVIF long polling` or `Fast polling`, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"event connection": "ONVIF push"\"ONVIF long polling"\"Fast polling"` in the txt file.
+To see if a Reolink integration is currently using `TCP push`, `ONVIF push`, `ONVIF long polling` or `Fast polling`, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"event connection": "TCP push"\"ONVIF push"\"ONVIF long polling"\"Fast polling"` in the txt file.
diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown
index f44c0919c25..6c5f4db1601 100644
--- a/source/_integrations/roomba.markdown
+++ b/source/_integrations/roomba.markdown
@@ -10,7 +10,6 @@ ha_codeowners:
- '@pschmitt'
- '@cyr-ius'
- '@shenxn'
- - '@Xitee1'
- '@Orhideous'
ha_domain: roomba
ha_config_flow: true
diff --git a/source/_integrations/schlage.markdown b/source/_integrations/schlage.markdown
index b166555d62a..5a738c02fd0 100644
--- a/source/_integrations/schlage.markdown
+++ b/source/_integrations/schlage.markdown
@@ -14,6 +14,7 @@ ha_platforms:
- binary_sensor
- diagnostics
- lock
+ - select
- sensor
- switch
ha_integration_type: integration
diff --git a/source/_integrations/spotify.markdown b/source/_integrations/spotify.markdown
index fe3f53722e7..af686b8ea09 100644
--- a/source/_integrations/spotify.markdown
+++ b/source/_integrations/spotify.markdown
@@ -13,7 +13,9 @@ ha_codeowners:
ha_domain: spotify
ha_zeroconf: true
ha_platforms:
+ - diagnostics
- media_player
+ - sensor
ha_integration_type: service
---
@@ -152,3 +154,19 @@ The `media_content_id` value can be obtained from the Spotify desktop app by cli
## Unsupported devices
- **Sonos**: Although Sonos is a Spotify Connect device, it is not supported by the official Spotify API.
+
+## Sensors
+
+Spotify provides sensors that display information about the song that is currently being played. The following sensors are available:
+
+- **Song acousticness**: Indicates how much the sound is free from electronic modification. 100% indicates it not electronically modified.
+- **Song danceability**. In percent. Describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. The higher the value, the more danceable.
+- **Song energy**. In percent. A measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy. A higher number means more energetic.
+- **Song instrumentalness**: In percent. Describes whether a track contains no vocals. “Ooh” and “aah” sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly “vocal”. The higher the value the more instrumental the song is.
+- **Song key**: The estimated overall key of the track. If no key was detected, the value is unknown. For example, C sharp or E flat.
+- **Song liveness**: In percent. Describes the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live.
+- **Song mode**: The modality (major or minor) of a song.
+- **Song speechiness**: In percent. Describes the presence of spoken words in a song. The more exclusively speech-like the recording (for example, talk show, audio book, poetry), the higher the value.
+- **Song tempo**: The speed of the piece of music that is currently playing, in beats per minute (bpm).
+- **Song time signature**: The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). For example: 4/4, 6/8.
+- **Song valence**. In percent. Tracks with high valence sound more positive (happy, cheerful, euphoric), while tracks with low valence sound more negative (sad, depressed, angry).
\ No newline at end of file
diff --git a/source/_integrations/squeezebox.markdown b/source/_integrations/squeezebox.markdown
index 44fc26ce4da..d9cc0b10305 100644
--- a/source/_integrations/squeezebox.markdown
+++ b/source/_integrations/squeezebox.markdown
@@ -8,6 +8,8 @@ ha_iot_class: Local Polling
ha_domain: squeezebox
ha_codeowners:
- '@rajlaud'
+ - '@pssc'
+ - '@peteS-UK'
ha_config_flow: true
ha_dhcp: true
ha_platforms:
diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown
index be5fbd05c84..d4cbca66c65 100644
--- a/source/_integrations/statistics.markdown
+++ b/source/_integrations/statistics.markdown
@@ -20,14 +20,19 @@ ha_config_flow: true
The `statistics` integration observes the state of a source sensor and provides aggregated statistical characteristics about its recent past. This integration can be useful in automation, for example, to trigger an action when the air humidity in the bathroom settles after a hot shower or when the number of brewed coffees over a day gets too high.
-The statistics sensor updates with every update of the source sensor, for which the numeric `sensor` and `binary_sensor` are supported. The time period and/or number of recent state changes, which should be considered, must be given in configuration. Check the configuration section below for details.
+The `statistics` sensor can use either the numeric `sensor` or `binary_sensor` as it's input. The time period and/or number of recent state changes, which should be considered, must be given in configuration. Check the configuration section below for details.
Assuming the [`recorder`](/integrations/recorder/) integration is running, historical sensor data is read from the database on startup and is available immediately after a restart of the platform. If the [`recorder`](/integrations/recorder/) integration is *not* running, it can take some time for the sensor to start reporting data because some characteristics calculations require more than one source sensor value.
{% tip %}
-The `statistics` integration is different to [Long-term Statistics](https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics). More details on the differences can be found in the [2021.8.0 release notes](/blog/2021/08/04/release-20218/#long-term-statistics).
+The `statistics` integration is not the same as the [Long-term Statistics](https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics). More details on the differences can be found in the [2021.8.0 release notes](/blog/2021/08/04/release-20218/#long-term-statistics).
{% endtip %}
+The `statistics` sensor has an internal buffer that stores the values it needs for the computation of the various functions (for example, `average_step`). The sensor is updated whenever new values are added to the buffer or when elements are removed. This is triggered either by a change of the source sensor (which may or may not change its actual value) or by values expiring (in cases where `max_age` was specified). This means that the buffer can hold a sequence of identical values in cases where values are not changing over time.
+
+When using a time-based buffer (by providing a `max_age`), it is recommended to ensure that the buffer contains at least a decent number of values spanning the full range of time. For sensors that don't change much, this can be achieved by using a template sensor with a time-based trigger as input. If the input values don't cover most of the time range, the computed output values could lead to unexpected results.
+Example: To find out whether a switch was used in the last 5 minutes, `count_on` could be used. However, if there are no frequent readings a single "Off" (maybe only a second ago) in the buffer would produce 0 even though the sensor was "On" for most of the last five minutes.
+
{% include integrations/config_flow.md %}
Further information about these configuration options can be found under the [YAML configuration](#yaml-configuration)
@@ -61,8 +66,8 @@ The following are supported for `sensor` source sensors `state_characteristic`:
| State Characteristic | Description |
| -------------------- | ----------- |
-| `average_linear` | The average value of stored measurements under consideration of the time distances between them. A linear interpolation is applied per measurement pair. Suited to observe a source sensor with frequent, non-periodic sensor updates and when continuous behavior is represented by the measurements (e.g. your electricity consumption). WARNING: This type of average may show unexpected behavior in cases where values remain stable (e.g. an equally spaced sequence of t1:0 -> t2:0 -> t3:0 -> t4:0 -> t5:10 would produce an average of 5 instead of 1,25 because the non-changing zeros in the middle (t2 to t4) are being filtered out by Home Assistant and so the actually computed curve already starts rising at t1 instead of staying flat until t4). Accordingly, this function is only making sense in the context of noisy sensors that keep changing constantly. |
-| `average_step` | The average value of stored measurements under consideration of the time distances between them. LOCF (last observation carried forward weighting) is applied, meaning, that the old value is assumed between two measurements. This is a better fit to how Home Assistant deals with constant values (compared to the linear function) and it is also better fitting to sensors that are switching between stable phases (e.g. a heating level set to either 1, 2 or 3). WARNING: Even when a time interval is specified by the max age parameter, the average is not necessarily matching the average over that whole interval (e.g. when values were removed due to the sampling size limit). |
+| `average_linear` | The average value of stored measurements under consideration of the time distances between them. A linear interpolation is applied per measurement pair. Suited to observe a source sensor with frequent, non-periodic sensor updates and when continuous behavior is represented by the measurements (e.g. your electricity consumption). WARNING: This doesn't compute the exact average over the full interval defined by `max_age`. It will only consider the interval between the first and the last value in the buffer. |
+| `average_step` | The average value of stored measurements under consideration of the time distances between them. LOCF (last observation carried forward weighting) is applied, meaning, that the old value is assumed between two measurements. This is a better fit to how Home Assistant deals with constant values (compared to the linear function) and it is also better fitting to sensors that are switching between stable phases (e.g. a heating level set to either 1, 2 or 3). WARNING: This doesn't compute the exact average over the full interval defined by `max_age`. It will only consider the interval between the first and the last value in the buffer. |
| `average_timeless` | The average value of stored measurements. This method assumes that all measurements are equally spaced and, therefore, time is ignored and a simple average of values is computed. Equal to `mean`. |
| `change_sample` | The average change per sample. The difference between the newest and the oldest measurement is divided by the number of in-between measurements (n-1). |
| `change_second` | The average change per second. The difference between the newest and the oldest measurement is divided by seconds between them. |
diff --git a/source/_integrations/suez_water.markdown b/source/_integrations/suez_water.markdown
index 3d45195c6e7..ffb57c2ca21 100644
--- a/source/_integrations/suez_water.markdown
+++ b/source/_integrations/suez_water.markdown
@@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@ooii'
+ - '@jb101010-2'
ha_domain: suez_water
ha_platforms:
- sensor
diff --git a/source/_integrations/switchbot_cloud.markdown b/source/_integrations/switchbot_cloud.markdown
index 6b1d3330220..bd5015944e5 100644
--- a/source/_integrations/switchbot_cloud.markdown
+++ b/source/_integrations/switchbot_cloud.markdown
@@ -6,6 +6,7 @@ ha_category:
- Plug
- Remote
- Sensor
+ - Lock
- Switch
- Vacuum
ha_release: '2023.10'
@@ -17,6 +18,7 @@ ha_codeowners:
ha_domain: switchbot_cloud
ha_platforms:
- climate
+ - lock
- sensor
- switch
- vacuum
@@ -41,6 +43,7 @@ Please note, device names configured in the SwitchBot app are transferred into H
- IR appliances exposed through the different hubs:
- ON/OFF for all appliance types excepted "Others"
- Air Conditioner
+- Lock
- Meter
- MeterPlus
- Outdoor Meter
diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown
index 674b1a55d30..dd1e21b2add 100644
--- a/source/_integrations/switcher_kis.markdown
+++ b/source/_integrations/switcher_kis.markdown
@@ -17,6 +17,7 @@ ha_platforms:
- climate
- cover
- diagnostics
+ - light
- sensor
- switch
ha_config_flow: true
@@ -33,6 +34,7 @@ Supported devices:
- Switcher V2 (Espressif chipset - from firmware 3.21)
- Switcher V2 (Qualcomm chipset - from firmware 72.32)
- Switcher V4
+- Switcher Mini
- Switcher Breeze
- Switcher Runner
- Switcher Runner S11
diff --git a/source/_integrations/vodafone_station.markdown b/source/_integrations/vodafone_station.markdown
index 09c4df3df52..3d01b3f5fe8 100644
--- a/source/_integrations/vodafone_station.markdown
+++ b/source/_integrations/vodafone_station.markdown
@@ -15,6 +15,7 @@ ha_iot_class: Local Polling
ha_platforms:
- button
- device_tracker
+ - diagnostics
- sensor
ha_integration_type: hub
ha_quality_scale: silver
diff --git a/source/_integrations/wyoming.markdown b/source/_integrations/wyoming.markdown
index 46f32a88321..7550079d424 100644
--- a/source/_integrations/wyoming.markdown
+++ b/source/_integrations/wyoming.markdown
@@ -12,6 +12,7 @@ ha_domain: wyoming
ha_integration_type: service
ha_platforms:
- binary_sensor
+ - conversation
- number
- select
- stt
diff --git a/source/_posts/2024-11-06-release-202411.markdown b/source/_posts/2024-11-06-release-202411.markdown
new file mode 100644
index 00000000000..a8c9ea3149e
--- /dev/null
+++ b/source/_posts/2024-11-06-release-202411.markdown
@@ -0,0 +1,358 @@
+---
+layout: post
+title: "2024.11: Beta release notes"
+description: "Beta release notes for Home Assistant 2024.11"
+date: 2024-10-30 00:00:00
+date_formatted: "November 6, 2024"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories:
+ - Release-Notes
+ - Core
+og_image: /images/blog/2024-11/social.png
+---
+
+
+
+{% note %}
+
+**Welcome to the beta release notes for Home Assistant 2024.11** 🎉
+
+
+
+Please note that these release notes are a work in progress. 👷♀️ We will be
+completing them over the next couple of days. Not all features might be final
+yet, and some features _**may not** make it into the final release_.
+
+
+
+**Want to help test the beta?** Awesome! ❤️ We have documented how you
+[can join our beta channel and install the beta here](/common-tasks/os/#running-a-beta-version).
+
+
+
+While running the beta, we highly recommend joining our _#beta_ channel on
+the [Home Assistant Discord chat](/join-chat)! 💬 Most developers and beta
+testers are in this channel during the beta period to share experiences, ideas,
+and iterate over new features, fine-tuning them before the final release.
+It's a really fun place to hang out. 😎
+
+
+
+**Reporting issues**: As this is a beta test, you might encounter unexpected
+behavior or issues. 🐞 We use the GitHub issue tracker to track beta issues.
+You can find our issue trackers and the reported issues during beta here:
+
+
+
+- [Report(ed) beta **dashboards/UI/frontend** issues](https://github.com/home-assistant/frontend/milestone/125)
+- [Report(ed) beta **integrations/automations/backend/core** issues](https://github.com/home-assistant/core/milestone/699)
+- [Report(ed) beta **documentation** issues](https://github.com/home-assistant/home-assistant.io/milestone/132)
+
+🙏 When reporting issues, **make sure to mention the exact beta version you are
+running** in the issue description. This will help us identify and track the
+issue correctly. Read more about [reporting issues here](/help/reporting_issues/).
+
+
+
+Issues introduced in the beta are processed with priority. 🔝
+
+{% endnote %}
+
+{% tip %}
+
+Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=_X2-encNyrA)
+6 November 2024, at 20:00 GMT / 12:00 PT / 21:00 CET!
+
+{% endtip %}
+
+Home Assistant 2024.11! 🎉
+
+Enjoy the (beta) release!
+
+../Frenck
+
+
+
+- [Sections dashboard now generally available](#sections-dashboard-now-generally-available)
+- [Low latency cameras using WebRTC](#low-latency-cameras-using-webrtc)
+- [Integrations](#integrations)
+ - [New integrations](#new-integrations)
+ - [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations)
+ - [Now available to set up from the UI](#now-available-to-set-up-from-the-ui)
+- [Other noteworthy changes](#other-noteworthy-changes)
+ - [Live logs](#live-logs)
+- [Need help? Join the community!](#need-help-join-the-community)
+- [Backward-incompatible changes](#backward-incompatible-changes)
+- [All changes](#all-changes)
+
+## Sections dashboard now generally available
+
+Exciting news on the dashboarding front; the new sections type dashboards are
+now marked as stable!
+
+This means that, as of this release, when you create a new dashboard, you
+will get our awesome drag and drop experience!
+
+### Convert your old dashboards to sections dashboards
+
+This release also includes a conversion from the old masonry type to the new sections type dashboards. If you change the type of a view to sections you get a button to convert the view. All the cards of the old view are then placed in an imported cards section, and you can drag them into sections as you please!
+
+### Precise sizing mode
+
+You now have even more control over the size of cards. In the layout options of a card you can now enable "Precise mode", this will give you 3 time more options for width and height as before!
+
+## Low latency cameras using WebRTC
+
+Camera stream will now try to use WebRTC when possible. This is a peer-to-peer connection making for lower latency streams.
+It will try to use the fastest and most direct path. Sometimes a direct connection between the client and camera is not possible, for those situations the stream needs to be relayed by an external server. Home Assistant Cloud by Nabu Casa provides this relay server for all Home Assistant Cloud subscribers! So no matter where you are, you should always be able to stream your camera with low latency.
+
+If WebRTC is not available it will fallback to using the old method of streaming.
+
+## Integrations
+
+Thanks to our community for keeping pace with the new {% term integrations %}
+and improvements to existing ones! You’re all awesome 🥰
+
+### New integrations
+
+We welcome the following new integrations in this release:
+
+- **[Husqvarna Automower BLE]**, added by [@alistair23]
+ Integrate your Husqvarna lawnmower using Bluetooth
+
+[@alistair23]: https://github.com/alistair23
+[Husqvarna Automower BLE]: /integrations/husqvarna_automower_ble
+
+- Add go2rtc and extend camera integration for better WebRTC support ([@edenhaus] - [#124410]) ([camera docs]) ([rtsp_to_webrtc docs]) (new-integration)
+- Allow SSL security_protocol configuration property in apache_kafka component ([@jkaflik] - [#128651]) ([apache_kafka docs]) (new-integration)
+- Palazzetti integration ([@dotvav] - [#128259]) ([palazzetti docs]) (new-integration)
+- Add LG ThinQ integration ([@LG-ThinQ-Integration] - [#129299]) ([lg_thinq docs]) (new-integration)
+- Add musicassistant integration ([@jozefKruszynski] - [#128919]) ([mass docs]) (new-integration)
+
+### Noteworthy improvements to existing integrations
+
+It is not just new {% term integrations %} that have been added; existing
+integrations are also being constantly improved. Here are some of the noteworthy
+changes to existing integrations:
+
+- Add Light support for Switcher Runner S11 ([@YogevBokobza] - [#126402]) ([switcher_kis docs]) (new-platform)
+- Add power sensor detection in fibaro integration ([@rappenze] - [#126964]) ([fibaro docs])
+- Add support for room sensors in ViCare integration ([@CFenner] - [#125243]) ([vicare docs])
+- Add hotwater storage sensors to ViCare integration ([@CFenner] - [#126570]) ([vicare docs])
+- Add sensor for total installations and integrations to Analytics Insights ([@starkillerOG] - [#127248]) ([analytics_insights docs])
+- Add sensors for gems and mystic hourglasses to Habitica integration ([@tr4nt0r] - [#127651]) ([habitica docs])
+- Add work area sensors to Husqvarna Automower ([@Thomas55555] - [#126931]) ([husqvarna_automower docs])
+- Add sensors to Omada ([@MarkGodwin] - [#127767]) ([tplink_omada docs]) (new-platform)
+- Add audio feature sensors to Spotify ([@joostlek] - [#128785]) ([spotify docs]) (new-platform)
+- Add Airzone Cloud main zone mode select ([@Noltari] - [#125918]) ([airzone_cloud docs])
+- Add Airzone Cloud switch entities to zones ([@Noltari] - [#125917]) ([airzone_cloud docs]) (new-platform)
+- Add 'select' to configure Schlage locks "Auto Lock Time" ([@mxr] - [#123758]) ([schlage docs])
+- Add Meter Pro support to SwitchBot ([@bdraco] - [#128991]) ([switchbot docs]) (noteworthy)
+- Add lock to switchbot_cloud ([@miterion] - [#115128]) ([switchbot_cloud docs]) (new-platform)
+- LinkPlay multiroom support ([@silamon] - [#127862]) ([linkplay docs])
+- Add more spotify sensors ([@joostlek] - [#129215]) ([spotify docs]) (noteworthy)
+
+{% details "Potential changes to process" icon="mdi:scale-balance" %}
+
+Processed up to _#129297.
+
+{% enddetails %}
+
+### Now available to set up from the UI
+
+While most {% term integrations %} can be set up directly from the Home Assistant
+user interface, some were only available using YAML configuration. We keep moving
+more integrations to the UI, making them more accessible for everyone
+to set up and use.
+
+The following integrations are now available via the Home Assistant UI:
+
+- **[Local file]**, done by [@gjohansson-ST]
+- **[Onkyo]**, done by [@Nebula83]
+- **[Smarty]**, done by [@joostlek]
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@joostlek]: https://github.com/joostlek
+[@Nebula83]: https://github.com/Nebula83
+[Local file]: /integrations/local_file
+[Onkyo]: /integrations/onkyo
+[Smarty]: /integrations/smarty
+
+### Farewell to the following
+
+The following {% term integrations %} are also no longer available as
+of this release:
+
+- **Bloomsky**. Their service shut down.
+- **Google Domains**. The domain registration service by Google has been
+ shut down.
+- **Spider**. The service is no longer available.
+
+## Other noteworthy changes
+
+There are many more improvements in this release; here are some of the other
+noteworthy changes this release:
+
+- Add snapshot service to image entity ([@NickM-27] - [#110057]) ([image docs])
+- Blueprints for template entities ([@tetele] - [#126971]) ([template docs]) (noteworthy)
+- Add limited template to at field for time triggers ([@Petro31] - [#126584]) ([homeassistant docs])
+- Add `nmi` (nautical miles) as valid distance unit ([@mib1185] - [#124723]) (noteworthy)
+
+### Live logs
+
+A bit technical maybe, but if you need to view the Home Assistant supervisor logs, you
+can now view those live! No need to press refresh buttons anymore, and you can scroll back in time to see previous log items.
+
+_**Insert recording of it streaming**_
+
+## Need help? Join the community!
+
+Home Assistant has a great community of users who are all more than willing
+to help each other out. So, join us!
+
+Our very active [Discord chat server](/join-chat) is an excellent place to be
+at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
+
+Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
+to get it fixed! Or, check [our help page](/help) for guidance for more
+places you can go.
+
+Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter)
+to get the latest news about features, things happening in our community and
+other news about building an Open Home; straight into your inbox.
+
+## Backward-incompatible changes
+
+We do our best to avoid making changes to existing functionality that might
+unexpectedly impact your Home Assistant installation. Unfortunately, sometimes,
+it is inevitable.
+
+We always make sure to document these changes to make the transition as easy as
+possible for you. This release has the following backward-incompatible changes:
+
+{% details "A. O. Smith" %}
+
+A. O. Smith now provides the hot water status as a percentage rather than low,
+medium, or high. The hot water status entity has been updated accordingly.
+
+([@bdr99] - [#127678]) ([documentation](/integrations/aosmith))
+
+[@bdr99]: https://github.com/bdr99
+[#127678]: https://github.com/home-assistant/core/pull/127678
+
+{% enddetails %}
+
+{% details "HomeKit" %}
+
+Historically, many integrations implemented doorbells as binary sensors with a
+device class of occupancy. This design was replaced with the new event entities,
+which use a purpose-built device class of doorbell.
+
+HomeKit will no longer automatically link binary sensors with device class
+occupancy as a linked doorbell sensor. Linked doorbell sensors can continue
+to be configured manually via YAML.
+
+([@bdraco] - [#127668]) ([documentation](/integrations/homekit))
+
+[@bdraco]: https://github.com/bdraco
+[#127668]: https://github.com/home-assistant/core/pull/127668
+
+{% enddetails %}
+
+{% details "Litter-Robot" %}
+
+Previously Litter-Robot could use have an off-state. This has now changed to
+`docked` as `off` isn't a valid state for `vacuum` entities.
+
+([@gjohansson-ST] - [#128297]) ([documentation](/integrations/litterrobot))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#128297]: https://github.com/home-assistant/core/pull/128297
+
+{% enddetails %}
+
+{% details "Netatmo" %}
+
+The preset modes of the thermostat have been renamed in order to support
+translations `Schedule`, `Frost guard` and `Manual` has been renamed to
+`schedule`, `frost_guard` and `manual`.
+
+([@piitaya] - [#128890]) ([documentation](/integrations/netatmo))
+
+[@piitaya]: https://github.com/piitaya
+[#128890]: https://github.com/home-assistant/core/pull/128890
+
+{% enddetails %}
+
+{% details "Updates" %}
+
+State attributes of update entities have been changed:
+
+- The `in_progress` state attribute is now always a `bool`, never an integer.
+- A new state attribute `update_percentage` has been added. The
+ `update_percentage` is a number between 0-100 if an update is in progress
+ and the entity supports reporting progress, or `None` if an update is not
+ in progress or an update is in progress but the entity does not support
+ reporting progress.
+
+Scripts, automations, custom frontend components etc. which consume the
+`in_progress` state attribute of update entities need to be updated accordingly.
+
+([@emontnemery] - [#128877]) ([documentation](/integrations/update))
+
+[@emontnemery]: https://github.com/emontnemery
+[#128877]: https://github.com/home-assistant/core/pull/128877
+
+{% enddetails %}
+
+{% details "all" %}
+
+- Remove the Google Domains integration ([@emontnemery] - [#127278]) ([google_domains docs]) (breaking-change)
+- Add protocol upload / download sensors to Deluge ([@mgrandi] - [#119203]) ([deluge docs]) (breaking-change)
+- Remove Spider integration ([@joostlek] - [#127346]) ([spider docs]) (breaking-change)
+- Remove enigma2 yaml import ([@autinerd] - [#127597]) ([enigma2 docs]) (breaking-change)
+- Remove automatic linkage of doorbells to HomeKit accessories via device class occupancy ([@bdraco] - [#127668]) ([homekit docs]) (breaking-change)
+- Update A. O. Smith integration to reflect upstream API changes ([@bdr99] - [#127678]) ([aosmith docs]) (breaking-change)
+- Remove deprecated yaml import from Habitica ([@tr4nt0r] - [#127946]) ([habitica docs]) (breaking-change)
+- End deprecation for config entry import for folder watcher ([@gjohansson-ST] - [#128056]) ([folder_watcher docs]) (breaking-change)
+- Remove deprecated restart service in modbus ([@gjohansson-ST] - [#128059]) ([modbus docs]) (breaking-change)
+- Remove deprecated speed limit lock entity from tessie ([@jpbede] - [#128043]) ([tessie docs]) (breaking-change)
+- Remove config entry import from lg_netcast ([@gjohansson-ST] - [#128179]) ([lg_netcast docs]) (breaking-change)
+- Remove deprecated notify service in ecobee ([@gjohansson-ST] - [#128177]) ([ecobee docs]) (breaking-change)
+- Remove legacy knx notify service ([@gjohansson-ST] - [#128185]) ([knx docs]) (breaking-change)
+- Remove legacy notify service from ecobee ([@jpbede] - [#128115]) ([ecobee docs]) (breaking-change)
+- Remove deprecated yaml support from lg_netcast ([@jpbede] - [#128114]) ([lg_netcast docs]) (breaking-change)
+- Fix state for litterrobot ([@gjohansson-ST] - [#128297]) ([litterrobot docs]) (breaking-change)
+- Remove deprecated map integration ([@jpbede] - [#128529]) ([map docs]) (breaking-change)
+- Remove deprecated panel_iframe integration ([@jpbede] - [#128532]) ([panel_iframe docs]) (breaking-change)
+- Add translations for Netatmo thermostat preset modes ([@piitaya] - [#128890]) ([netatmo docs]) (breaking-change)
+- Add update_percentage state attribute to update entity ([@emontnemery] - [#128877]) ([update docs]) (breaking-change)
+- Remove bloomsky integration ([@epenet] - [#129073]) ([bloomsky docs]) (breaking-change)
+- Add config flow to Onkyo ([@Nebula83] - [#117319]) ([onkyo docs]) (breaking-change)
+- Remove deprecated `retries` and `lazy_error_count` yaml option ([@jpbede] - [#128932]) ([modbus docs]) (breaking-change)
+- Omit declined Google Calendar events ([@joelhawksley] - [#128900]) ([google docs]) (breaking-change)
+- Fix visualization by inverting open/closed state of patio awnings ([@mback2k] - [#128079]) ([wmspro docs]) (breaking-change)
+- Change Tibber get_prices action to return datetimes as str ([@functionpointer] - [#123901]) ([tibber docs]) (breaking-change)
+
+{% enddetails %}
+
+
+
+If you are a custom integration developer and want to learn about changes and
+new features available for your integration: Be sure to follow our
+[developer blog][devblog]. The following are the most notable for this release:
+
+- [Changes to the UnitOfConductivity enum](https://developers.home-assistant.io/blog/2024/10/08/unit-of-conductivity-changes)
+- [Deprecating state constants for cover](https://developers.home-assistant.io/blog/2024/10/08/state-constants-cover-deprecation)
+- [Extend deprecation period of hass.helpers](https://developers.home-assistant.io/blog/2024/10/09/extend-deprecation-hass-helpers)
+- [New alarm control panel state property and state enum](https://developers.home-assistant.io/blog/2024/10/22/new-alarm-state-property)
+- [New helpers and best practises for reauth and reconfigure flows](https://developers.home-assistant.io/blog/2024/10/21/reauth-reconfigure-helpers)
+
+[devblog]: https://developers.home-assistant.io/blog/
+
+## All changes
+
+Of course, there is a lot more in this release. You can find a list of
+all changes made here: [Full changelog for Home Assistant Core 2024.11](/changelogs/core-2024.11)
diff --git a/source/changelogs/core-2024.11.markdown b/source/changelogs/core-2024.11.markdown
new file mode 100644
index 00000000000..fe8aa2f879b
--- /dev/null
+++ b/source/changelogs/core-2024.11.markdown
@@ -0,0 +1,3030 @@
+---
+title: Full changelog for Home Assistant Core 2024.11
+description: Detailed changelog for the Home Assistant Core 2024.11 release
+replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$
+---
+
+These are all the changes included in the Home Assistant Core 2024.11 release.
+
+For a summary in a more readable format:
+[Release notes blog for this release](/blog/2024/11/06/release-202411/).
+
+- Bump version to 2024.11.0dev0 ([@frenck] - [#126776])
+- Use shorthand attributes in geofency device tracker ([@epenet] - [#126741]) ([geofency docs])
+- Remove unnecessary patch from evohome tests ([@zxdavb] - [#126760]) ([evohome docs])
+- Switch coordinator setup to `_async_setup` ([@zweckj] - [#126810]) ([lamarzocco docs])
+- Bump actions/checkout from 4.1.7 to 4.2.0 ([@dependabot[bot]] - [#126801])
+- Small typing improvements ([@cdce8p] - [#126818]) ([knx docs]) ([zha docs]) ([html5 docs]) ([plugwise docs]) ([google_photos docs])
+- Use pytest.mark.usefixtures for start_ha in template tests ([@epenet] - [#126805]) ([template docs])
+- Update pydantic to 1.10.18 ([@cdce8p] - [#126821])
+- Improve type hints in template ([@epenet] - [#126802]) ([template docs])
+- Bump ruff to 0.6.8 ([@autinerd] - [#126842]) ([lifx docs]) ([esphome docs]) ([motion_blinds docs])
+- Improve type hints in template config_flow tests ([@epenet] - [#126803]) ([template docs])
+- Use Parametrizing in Matter tests ([@joostlek] - [#126759]) ([matter docs])
+- Bump aiowithings to 3.1.0 ([@joostlek] - [#126854]) ([withings docs])
+- Fix small typo in mobile_app docstring ([@joostlek] - [#126863]) ([mobile_app docs])
+- Update pytest warnings filter ([@cdce8p] - [#126858])
+- Refactor evohome test fixtures for improved testing ([@zxdavb] - [#126781]) ([evohome docs])
+- Add `nmi` (nautical miles) as valid distance unit ([@mib1185] - [#124723])
+- Add FlowManager.async_has_matching_flow ([@emontnemery] - [#126804]) ([apple_tv docs])
+- Use ConfigFlow.has_matching_flow to deduplicate fritzbox flows ([@emontnemery] - [#126891]) ([fritzbox docs])
+- Use ConfigFlow.has_matching_flow to deduplicate gogogate2 flows ([@emontnemery] - [#126892]) ([gogogate2 docs])
+- Use ConfigFlow.has_matching_flow to deduplicate fritz flows ([@emontnemery] - [#126890]) ([fritz docs])
+- Use ConfigFlow.has_matching_flow to deduplicate elkm1 flows ([@emontnemery] - [#126887]) ([elkm1 docs])
+- Introduce base entity in Switcher ([@joostlek] - [#126822]) ([switcher_kis docs])
+- Use ConfigFlow.has_matching_flow to deduplicate steamist flows ([@emontnemery] - [#126897]) ([steamist docs])
+- Use shorthand attributes in tile device tracker ([@epenet] - [#126735]) ([tile docs])
+- Use two words for Nautical miles unit ([@mib1185] - [#126905])
+- Use ConfigFlow.has_matching_flow to deduplicate hunterdouglas flows ([@emontnemery] - [#126895]) ([hunterdouglas_powerview docs])
+- Update grpcio constraints to 1.62.3 ([@cdce8p] - [#126908])
+- Use ConfigFlow.has_matching_flow to deduplicate homekit_controller flows ([@emontnemery] - [#126894]) ([homekit_controller docs])
+- Cleanup sensor tests ([@epenet] - [#126881]) ([sensor docs])
+- Set the default time zone for evohome tests ([@zxdavb] - [#126679]) ([evohome docs])
+- Add RSS description to Feedreader event ([@rubenbe] - [#126681]) ([feedreader docs])
+- Use ConfigFlow.has_matching_flow to deduplicate plugwise flows ([@emontnemery] - [#126896]) ([plugwise docs])
+- Remove unused properties in tado device tracker ([@epenet] - [#126737]) ([tado docs])
+- Use shorthand attributes in gpslogger device tracker ([@epenet] - [#126739]) ([gpslogger docs])
+- Use shorthand attributes in traccar device tracker ([@epenet] - [#126733]) ([traccar docs])
+- Use shorthand attributes in vodafone_station device tracker ([@epenet] - [#126747]) ([vodafone_station docs])
+- Refactor Trace to avoid self import ([@epenet] - [#125822]) ([trace docs])
+- Add unique id migration to Geniushub ([@joostlek] - [#122330]) ([geniushub docs])
+- Fix Evohome snapshots ([@joostlek] - [#126915]) ([evohome docs])
+- Add EntityIDPostMigration data migrator class ([@emontnemery] - [#125307]) ([recorder docs])
+- Code quality improvements for Teslemetry ([@Bre77] - [#123444]) ([teslemetry docs])
+- Change Turkey to Türkiye per 2022 UN resolution on official name ([@tr4nt0r] - [#126779]) ([bring docs])
+- Fix ruff import validation ([@jbouwh] - [#126917]) ([recorder docs])
+- Modify pytest workflow to support testing multiple Python versions [ci] ([@cdce8p] - [#126936])
+- Extend dhcp discovery flow for ring integration ([@sdb9696] - [#126661]) ([ring docs])
+- Use ConfigFlow.has_matching_flow to deduplicate yalexs_ble flows ([@emontnemery] - [#126899]) ([yalexs_ble docs])
+- Adjust BaseEditConfigView.__init__ ([@emontnemery] - [#126729]) ([config docs])
+- Use `_async_setup` in tedee coordinator ([@zweckj] - [#126812]) ([tedee docs])
+- Add support for stop command in LinkPlay ([@silamon] - [#126941]) ([linkplay docs])
+- Use ConfigFlow.has_matching_flow to deduplicate flux_led flows ([@emontnemery] - [#126888]) ([flux_led docs])
+- Translate exception from fjäråskupan ([@elupus] - [#126673]) ([fjaraskupan docs])
+- Set DSMR Reader quality scale to Gold ([@erwindouna] - [#121466]) ([dsmr_reader docs])
+- Bump protobuf to 5.28.2 ([@bdraco] - [#124936])
+- Update debugpy to 1.8.6 ([@frenck] - [#126945]) ([debugpy docs])
+- Update grpcio constraints to 1.66.1 ([@cdce8p] - [#126947])
+- Update ollama to 0.3.3 ([@frenck] - [#126953]) ([ollama docs])
+- Allow passing filename to licenses script [ci] ([@cdce8p] - [#126951])
+- Add preview to mold_indicator ([@gjohansson-ST] - [#125530]) ([mold_indicator docs])
+- Add proper exception handling to lamarzocco ([@zweckj] - [#125913]) ([lamarzocco docs])
+- Add preview to statistics ([@gjohansson-ST] - [#122590]) ([statistics docs])
+- Update vsure to 2.6.7 ([@frenck] - [#126950]) ([verisure docs])
+- Update pyvera to 0.3.15 ([@frenck] - [#126956]) ([vera docs])
+- Update apprise to 1.9.0 ([@frenck] - [#126952]) ([apprise docs])
+- Add `translation_domain` to lamarzocco exceptions ([@zweckj] - [#126959]) ([lamarzocco docs])
+- Add translation for tedee exceptions ([@zweckj] - [#126963]) ([tedee docs])
+- Use ConfigFlow.has_matching_flow to deduplicate webostv flows ([@emontnemery] - [#126898]) ([webostv docs])
+- Updated languages.py to add Irish lang code (manually) ([@aindriu80] - [#126689])
+- Include requirements_test_pre_commit.txt in pre-commit hassfest ([@autinerd] - [#125388])
+- Add reconfigure flow for Jewish Calendar ([@tsvi] - [#126773]) ([jewish_calendar docs])
+- Bump smhi-pkg to 1.0.18 ([@gjohansson-ST] - [#126999]) ([smhi docs])
+- Bump pypck to 0.7.24 ([@alengwenus] - [#126995]) ([lcn docs])
+- Add Local Calendar ics events import on calendar creation ([@raulcodes] - [#117955]) ([local_calendar docs])
+- Add Light support for Switcher Runner S11 ([@YogevBokobza] - [#126402]) ([switcher_kis docs]) (new-platform)
+- Update grpcio constraints to 1.66.2 ([@cdce8p] - [#127026])
+- Switch oamda to use a strongly typed config entry ([@MarkGodwin] - [#127044]) ([tplink_omada docs])
+- Add unique id to mold_indicator setup from yaml ([@gjohansson-ST] - [#126992]) ([mold_indicator docs])
+- Use HassKey in application_credentials ([@epenet] - [#127069]) ([application_credentials docs])
+- Bump docker/build-push-action from 6.7.0 to 6.8.0 ([@dependabot[bot]] - [#127070])
+- Use config entry runtime_data in arve ([@epenet] - [#127078]) ([arve docs])
+- Use config entry runtime_data in android ip webcam ([@epenet] - [#127080]) ([android_ip_webcam docs])
+- Use config entry runtime_data in aprilaire ([@epenet] - [#127079]) ([aprilaire docs])
+- Use config entry runtime_data in aseko_pool_live ([@epenet] - [#127077]) ([aseko_pool_live docs])
+- Use config entry runtime_data in awair ([@epenet] - [#127073]) ([awair docs])
+- Move aussie broadband coordinator to separate class ([@epenet] - [#127081]) ([aussie_broadband docs])
+- Use config entry runtime_data in aurora_abb_powerone ([@epenet] - [#127075]) ([aurora_abb_powerone docs])
+- Move atag coordinator to separate class ([@epenet] - [#127071]) ([atag docs])
+- Use config entry runtime_data in azure event hub ([@epenet] - [#127082]) ([azure_event_hub docs])
+- Use config entry runtime_data in aussie broadband ([@epenet] - [#127083]) ([aussie_broadband docs])
+- Use config entry runtime_data in atag ([@epenet] - [#127084]) ([atag docs])
+- Use HassKey in analytics ([@epenet] - [#127089]) ([analytics docs])
+- Use HassKey in azure_event_hub ([@epenet] - [#127086]) ([azure_event_hub docs])
+- Add is_opening and is_closing properties to VeluxCover ([@j-a-n] - [#127038]) ([velux docs])
+- Do not store apache kafka in hass.data ([@epenet] - [#127090]) ([apache_kafka docs])
+- Add power sensor detection in fibaro integration ([@rappenze] - [#126964]) ([fibaro docs])
+- Fix stale docstring in loader.USBMatcher ([@emontnemery] - [#127094])
+- Start mqtt integration discovery config flow only once if config has not changed ([@jbouwh] - [#126966]) ([mqtt docs])
+- Add select volume to yale_smart_alarm ([@gjohansson-ST] - [#127005]) ([yale_smart_alarm docs]) (new-platform)
+- Add test for start_reauth_flow test helper ([@epenet] - [#127093])
+- Use start_reauth_flow helper in switcher_kis tests ([@epenet] - [#127098]) ([switcher_kis docs])
+- Add support for room sensors in ViCare integration ([@CFenner] - [#125243]) ([vicare docs])
+- Move monzo test ([@epenet] - [#127101]) ([monzo docs])
+- Use HassKey in azure_data_explorer ([@epenet] - [#127087]) ([azure_data_explorer docs])
+- Adjust type hints in zha config flow ([@epenet] - [#127105]) ([zha docs])
+- Adjust type hints in enphase_envoy config_flow ([@epenet] - [#127106]) ([enphase_envoy docs])
+- Adjust type hints in wilight config_flow ([@epenet] - [#127107]) ([wilight docs])
+- Adjust type hints in insteon config_flow ([@epenet] - [#127108]) ([insteon docs])
+- Add default description placeholder in workday config_flow ([@epenet] - [#127110]) ([workday docs])
+- Raise HomeAssistantError in entity action calls in Nice G.O. ([@IceBotYT] - [#126439]) ([nice_go docs])
+- Use a generic string as default description placeholder in workday config_flow ([@epenet] - [#127112]) ([workday docs])
+- Use scheduled current preset (if set), when setting HVAC mode in AVM Fritz!Smarthome ([@naruxde] - [#126044]) ([fritzbox docs])
+- Add hotwater storage sensors to ViCare integration ([@CFenner] - [#126570]) ([vicare docs])
+- Use start_reauth_flow helper in ezviz and netatmo tests ([@epenet] - [#127100]) ([netatmo docs])
+- Add Open Home Foundation logo to README ([@mrdarrengriffin] - [#127111])
+- Add devices to Withings ([@joostlek] - [#126853]) ([withings docs])
+- Fix naming and docstring in yale_smart_alarm select ([@gjohansson-ST] - [#127141]) ([yale_smart_alarm docs])
+- Use async_update_reload_and_abort in Trafikverket Camera ([@gjohansson-ST] - [#127137]) ([trafikverket_camera docs])
+- Adjust type hints in zwave_js config flow ([@epenet] - [#127104]) ([zwave_js docs])
+- Bump docker/build-push-action from 6.8.0 to 6.9.0 ([@dependabot[bot]] - [#127156])
+- Bump github/codeql-action from 3.26.9 to 3.26.10 ([@dependabot[bot]] - [#127157])
+- Fix incorrect type hint in zwave_js config flow ([@epenet] - [#127158]) ([zwave_js docs])
+- Store arcam_fmj flow data in flow handler attributes ([@emontnemery] - [#127166]) ([arcam_fmj docs])
+- Store esphome flow data in flow handler attributes ([@emontnemery] - [#127170]) ([esphome docs])
+- Store ezviz flow data in flow handler attributes ([@emontnemery] - [#127171]) ([ezviz docs])
+- Store fully_kiosk flow data in flow handler attributes ([@emontnemery] - [#127172]) ([fully_kiosk docs])
+- Store devolo_home_network flow data in flow handler attributes ([@emontnemery] - [#127169]) ([devolo_home_network docs])
+- Store toon flow data in flow handler attributes ([@emontnemery] - [#127180]) ([toon docs])
+- Store keenetic_ndms2 flow data in flow handler attributes ([@emontnemery] - [#127174]) ([keenetic_ndms2 docs])
+- Store smappee flow data in flow handler attributes ([@emontnemery] - [#127178]) ([smappee docs])
+- Store huawei_lte flow data in flow handler attributes ([@emontnemery] - [#127173]) ([huawei_lte docs])
+- Use ConfigFlow.has_matching_flow to deduplicate lifx flows ([@emontnemery] - [#127163]) ([lifx docs])
+- Adjust type hints in alarmdecoder config_flow ([@epenet] - [#127161]) ([alarmdecoder docs])
+- Adjust type hints in aosmith config_flow ([@epenet] - [#127160]) ([aosmith docs])
+- Change ViCare dependency back to original one ([@CFenner] - [#127168]) ([vicare docs])
+- Add a working location google calendar entity ([@allenporter] - [#127016]) ([google docs])
+- Add test helper for starting reconfiguration flow ([@epenet] - [#127154]) ([axis docs])
+- Remove unused custom flow context key 'name' from wyoming ([@emontnemery] - [#127182]) ([wyoming docs])
+- Adjust type hints in ezviz config_flow ([@epenet] - [#127186]) ([ezviz docs])
+- Avoid mutating title_placeholders in devolo_home_network ([@emontnemery] - [#127188]) ([devolo_home_network docs])
+- Ensure dlna_dmr config flow title_placeholders items are [str, str] ([@emontnemery] - [#127189]) ([dlna_dmr docs])
+- Adjust type hints in devialet config_flow ([@epenet] - [#127185]) ([devialet docs])
+- Avoid mutating title_placeholders in synology_dsm ([@emontnemery] - [#127210]) ([synology_dsm docs])
+- Add missing None-check in roomba config flow ([@emontnemery] - [#127212]) ([roomba docs])
+- Remove unused title_placeholders from plugwise ([@emontnemery] - [#127211]) ([plugwise docs])
+- Avoid mutating title_placeholders in reolink ([@emontnemery] - [#127209]) ([reolink docs])
+- Ensure tesla_wall_connector config flow title_placeholders items are [str, str] ([@emontnemery] - [#127208]) ([tesla_wall_connector docs])
+- Ensure soundtouch config flow title_placeholders items are [str, str] ([@emontnemery] - [#127207]) ([soundtouch docs])
+- Ensure radiotherm config flow title_placeholders items are [str, str] ([@emontnemery] - [#127206]) ([radiotherm docs])
+- Ensure powerwall config flow title_placeholders items are [str, str] ([@emontnemery] - [#127205]) ([powerwall docs])
+- Ensure ovo_energy config flow title_placeholders items are [str, str] ([@emontnemery] - [#127204]) ([ovo_energy docs])
+- Ensure ezviz config flow title_placeholders items are [str, str] ([@emontnemery] - [#127194]) ([ezviz docs])
+- Ensure octoprint config flow title_placeholders items are [str, str] ([@emontnemery] - [#127202]) ([octoprint docs])
+- Bump uv to 0.4.17 ([@edenhaus] - [#127223])
+- Simplify reconfigure step in axis config flow ([@epenet] - [#127225]) ([axis docs])
+- Remove custom flow deduplication logic from guardian ([@emontnemery] - [#127159]) ([guardian docs])
+- Ensure overkiz config flow title_placeholders items are [str, str] ([@emontnemery] - [#127203]) ([overkiz docs])
+- Use ConfigFlow.has_matching_flow to deduplicate samsungtv flows ([@emontnemery] - [#127235]) ([samsungtv docs])
+- Improve code of normalized name registry ([@arturpragacz] - [#125282])
+- Skip unnecessary checks for entities with unique_id ([@arturpragacz] - [#125051])
+- Improve / clean up Plugwise config_flow code ([@bouwew] - [#127238]) ([plugwise docs])
+- Store openhome flow data in flow handler attributes ([@emontnemery] - [#127176]) ([openhome docs])
+- Ensure enphase_envoy config flow title_placeholders items are [str, str] ([@emontnemery] - [#127193]) ([enphase_envoy docs])
+- Ensure flux_led config flow title_placeholders items are [str, str] ([@emontnemery] - [#127196]) ([flux_led docs])
+- Improve type hints in config_flow reconfigure step ([@epenet] - [#127224])
+- Use ConfigFlow.has_matching_flow to deduplicate yeelight flows ([@emontnemery] - [#127165]) ([yeelight docs])
+- Ensure frontier_silicon config flow title_placeholders items are [str, str] ([@emontnemery] - [#127197]) ([frontier_silicon docs])
+- Bump codecov/codecov-action from 4.5.0 to 4.6.0 ([@dependabot[bot]] - [#127259])
+- Use start_reconfigure_flow in config flow tests ([@epenet] - [#127191])
+- Ensure dlna_dms config flow title_placeholders items are [str, str] ([@emontnemery] - [#127192]) ([dlna_dms docs])
+- Bump python-homeassistant-analytics to 0.8.0 ([@starkillerOG] - [#127271]) ([analytics_insights docs])
+- Add config_flow helper to get reauth/reconfigure config entry ([@epenet] - [#127115]) ([aussie_broadband docs]) ([bryant_evolution docs])
+- Update mypy-dev to 1.12.0a5 ([@cdce8p] - [#127181]) ([deconz docs]) ([vlc_telnet docs])
+- Ensure motionblinds_ble config flow title_placeholders items are [str, str] ([@emontnemery] - [#127201]) ([motionblinds_ble docs])
+- Ensure lookin config flow title_placeholders items are [str, str] ([@emontnemery] - [#127200]) ([lookin docs])
+- Use _get_reauth/reconfigure_entry in fritz ([@epenet] - [#127283]) ([fritz docs])
+- Remove the Google Domains integration ([@emontnemery] - [#127278]) ([google_domains docs]) (breaking-change)
+- Fix telegram_bot tests for Python 3.13 ([@cdce8p] - [#127293]) ([telegram_bot docs])
+- Ensure directv config flow title_placeholders items are [str, str] ([@emontnemery] - [#127288]) ([directv docs])
+- Ensure songpal config flow title_placeholders items are [str, str] ([@emontnemery] - [#127290]) ([songpal docs])
+- Ensure keenetic_ndms2 config flow title_placeholders items are [str, str] ([@emontnemery] - [#127289]) ([keenetic_ndms2 docs])
+- Ensure braviatv config flow title_placeholders items are [str, str] ([@emontnemery] - [#127287]) ([braviatv docs])
+- Use _get_reauth/reconfigure_entry in enphase_envoy ([@epenet] - [#127281]) ([enphase_envoy docs])
+- Use _get_reconfigure_entry in google_travel_time ([@epenet] - [#127285]) ([google_travel_time docs])
+- Use _get_reauth/reconfigure_entry in fritzbox ([@epenet] - [#127284]) ([fritzbox docs])
+- Use _get_reconfigure_entry in feedreader ([@epenet] - [#127282]) ([feedreader docs])
+- Add electrolyzer data to Aseko Pool Live ([@hopkins-tk] - [#127249]) ([aseko_pool_live docs])
+- Adjust type hints in konnected config_flow ([@epenet] - [#127276]) ([konnected docs])
+- Adjust type hints in goalzero config_flow ([@epenet] - [#127270]) ([goalzero docs])
+- Use _get_reconfigure_entry in homeworks ([@epenet] - [#127296]) ([homeworks docs])
+- Use _get_reconfigure_entry in jewish_calendar ([@epenet] - [#127297]) ([jewish_calendar docs])
+- Use _get_reconfigure_entry in holiday ([@epenet] - [#127295]) ([holiday docs])
+- Use _get_reconfigure_entry in here_travel_time ([@epenet] - [#127294]) ([here_travel_time docs])
+- Use _get_reauth/reconfigure_entry in lamarzocco ([@epenet] - [#127298]) ([lamarzocco docs])
+- Use _get_reauth/reconfigure_entry in mealie ([@epenet] - [#127301]) ([mealie docs])
+- Use _get_reconfigure_entry in madvr ([@epenet] - [#127300]) ([madvr docs])
+- Use _get_reconfigure_entry in lcn ([@epenet] - [#127299]) ([lcn docs])
+- Use _get_reconfigure_entry in smhi ([@epenet] - [#127309]) ([smhi docs])
+- Use _get_reconfigure_entry in tado ([@epenet] - [#127311]) ([tado docs])
+- Use _get_reconfigure_entry in vallox ([@epenet] - [#127313]) ([vallox docs])
+- Use _get_reauth_entry in trafikverket_weatherstation ([@epenet] - [#127316]) ([trafikverket_weatherstation docs])
+- Bump swiss-public-transport requirement python-opendata-transport to 0.5.0 ([@miaucl] - [#127306]) ([swiss_public_transport docs])
+- Use _get_reauth_entry in azure_devops config flow ([@epenet] - [#127321]) ([azure_devops docs])
+- Use _get_reauth_entry in aseko_pool_live ([@epenet] - [#127319]) ([aseko_pool_live docs])
+- Use _get_reauth_entry in airvisual_pro ([@epenet] - [#127318]) ([airvisual_pro docs])
+- Use _get_reauth/reconfigure_entry in tedee ([@epenet] - [#127312]) ([tedee docs])
+- Use _get_reauth/reconfigure_entry in shelly ([@epenet] - [#127308]) ([shelly docs])
+- Adjust reauth checks in august ([@epenet] - [#127320]) ([august docs])
+- Use _get_reauth/reconfigure_entry in nam ([@epenet] - [#127303]) ([nam docs])
+- Add sensor for total installations and integrations to Analytics Insights ([@starkillerOG] - [#127248]) ([analytics_insights docs])
+- Add protocol upload / download sensors to Deluge ([@mgrandi] - [#119203]) ([deluge docs]) (breaking-change)
+- Use _get_reauth_entry in bring config flow ([@epenet] - [#127325]) ([bring docs])
+- Use _get_reauth_entry in brunt config flow ([@epenet] - [#127324]) ([brunt docs])
+- Use _get_reauth_entry in bthome config flow ([@epenet] - [#127323]) ([bthome docs])
+- Use _get_reauth_entry in blue_current config flow ([@epenet] - [#127328]) ([blue_current docs])
+- Use _get_reauth/reconfigure_entry in solarlog ([@epenet] - [#127310]) ([solarlog docs])
+- Use _get_reconfigure_entry in waze_travel_time ([@epenet] - [#127314]) ([waze_travel_time docs])
+- Use _get_reauth/reconfigure_entry in melcloud ([@epenet] - [#127302]) ([melcloud docs])
+- Ensure homekit_controller config flow title_placeholders items are [str, str] ([@emontnemery] - [#127198]) ([homekit_controller docs])
+- Use ConfigFlow.has_matching_flow to deduplicate tplink flows ([@emontnemery] - [#127164]) ([tplink docs])
+- Store modern_forms flow data in flow handler attributes ([@emontnemery] - [#127175]) ([modern_forms docs])
+- Handle the correct exception type when subscribing to the router service returns an error in the upnp component ([@StevenLooman] - [#127006]) ([upnp docs])
+- Add reconfigure step to trafikverket weather ([@gjohansson-ST] - [#127140]) ([trafikverket_weatherstation docs])
+- Add turn on and off function to lg_soundbar ([@skynet01] - [#127022]) ([lg_soundbar docs])
+- Store instance name in Thread router discovery ([@agners] - [#127253]) ([thread docs])
+- Use _get_reconfigure_entry in brother ([@epenet] - [#127279]) ([brother docs])
+- Make numeric device classes a constant ([@bdraco] - [#127354]) ([sensor docs])
+- Add line numbers to swiss-public-transport ([@polgarc] - [#127332]) ([swiss_public_transport docs])
+- Add reconfigure flow to trafikverket_camera ([@gjohansson-ST] - [#127355]) ([trafikverket_camera docs])
+- Store awair flow data in flow handler attributes ([@emontnemery] - [#127381]) ([awair docs])
+- Improve generic camera preview tests ([@emontnemery] - [#127382]) ([generic docs])
+- Add go2rtc and extend camera integration for better WebRTC support ([@edenhaus] - [#124410]) ([camera docs]) ([rtsp_to_webrtc docs]) (new-integration)
+- Use _get_reauth_entry in comelit config flow ([@epenet] - [#127386]) ([comelit docs])
+- Remove unused translation keys from Tami4 ([@joostlek] - [#127342]) ([tami4 docs])
+- Correct reconfigure flows to get data from config entry ([@epenet] - [#127393]) ([axis docs]) ([shelly docs]) ([here_travel_time docs])
+- Use _get_reauth_entry in braviatv config flow ([@epenet] - [#127326]) ([braviatv docs])
+- Use _get_reauth/reconfigure_entry in pyload ([@epenet] - [#127304]) ([pyload docs])
+- Use _get_reauth_entry in bmw_connected_drive config flow ([@epenet] - [#127327]) ([bmw_connected_drive docs])
+- Align config flow reconfigure step test helper with frontend ([@epenet] - [#127329])
+- Adjust type hints in androidtv_remote config_flow ([@epenet] - [#127162]) ([androidtv_remote docs])
+- Add MOES Matter Light 1.0 to the blocklist for Matter transitions ([@raphaeleduardo42] - [#127345]) ([matter docs])
+- Use _get_reauth_entry in dormakaba_dkey config flow ([@epenet] - [#127392]) ([dormakaba_dkey docs])
+- Use _get_reauth_entry in doorbird config flow ([@epenet] - [#127391]) ([doorbird docs])
+- Use _get_reauth_entry in discovergy config flow ([@epenet] - [#127390]) ([discovergy docs])
+- Use _get_reauth_entry in devolo_home_control config flow ([@epenet] - [#127387]) ([devolo_home_control docs])
+- Store generic camera flow data in flow handler attributes ([@emontnemery] - [#127405]) ([generic docs])
+- Use _get_reauth_entry in caldav config flow ([@epenet] - [#127384]) ([caldav docs])
+- Bump elkm1_lib to 2.2.10 ([@gwww] - [#127344]) ([elkm1 docs])
+- Use async_update_reload_and_abort in Trafikverket Weather reauth flow ([@gjohansson-ST] - [#127341]) ([trafikverket_weatherstation docs])
+- Set default Matter fabric label ([@agners] - [#127252]) ([matter docs])
+- Bump python-ecobee-api to 0.2.20 ([@myztillx] - [#127351]) ([ecobee docs])
+- Block Alexa Media Player v4.13.3 ([@joostlek] - [#127412])
+- Use _get_reauth_entry in devolo_home_network config flow ([@epenet] - [#127389]) ([devolo_home_network docs])
+- Use async_update_reload_and_abort in abode ([@epenet] - [#127426]) ([abode docs])
+- Use async_update_reload_and_abort in airvisual_pro ([@epenet] - [#127430]) ([airvisual_pro docs])
+- Use async_update_reload_and_abort in airvisual ([@epenet] - [#127429]) ([airvisual docs])
+- Fix AMP block ([@joostlek] - [#127424])
+- Use reauth helpers in aosmith config flow ([@epenet] - [#127432]) ([aosmith docs])
+- Use reauth helpers in esphome config flow ([@epenet] - [#127419]) ([esphome docs])
+- Use async_update_reload_and_abort in aseko_pool_live config flow ([@epenet] - [#127433]) ([aseko_pool_live docs])
+- Use reauth helpers in blue_current config flow ([@epenet] - [#127434]) ([blue_current docs])
+- Use async_update_reload_and_abort in bosch_shc config flow ([@epenet] - [#127436]) ([bosch_shc docs])
+- Make go2rtc supported streams a frozenset ([@bdraco] - [#127439]) ([go2rtc docs])
+- Use reauth helpers in ezviz config flow ([@epenet] - [#127448]) ([ezviz docs])
+- Use reauth helpers in efergy config flow ([@epenet] - [#127447]) ([efergy docs])
+- Cancel listen task when setting the Matter fabric label fails ([@agners] - [#127423]) ([matter docs])
+- Reolink auto add new cameras/chimes ([@starkillerOG] - [#126268]) ([reolink docs])
+- Fix config entry unique_id collision in proximity ([@emontnemery] - [#127456]) ([proximity docs])
+- Don't add the same config entry id twice in google tests ([@allenporter] - [#127457]) ([google docs])
+- Fix bluetooth tests to not create the same config entry twice ([@bdraco] - [#127461]) ([bluetooth docs])
+- Align async_step_reconfigure type hints ([@epenet] - [#127450])
+- Use reauth helpers in comelit config flow ([@epenet] - [#127443]) ([comelit docs])
+- Use reauth helpers in electric_kiwi config flow ([@epenet] - [#127414]) ([electric_kiwi docs])
+- Remove test workaround from snooz ([@emontnemery] - [#127465]) ([snooz docs])
+- Bump p1monitor to 3.1.0 ([@klaasnicolaas] - [#127459]) ([p1_monitor docs])
+- Use reauth helpers in dormakaba_dkey config flow ([@epenet] - [#127446]) ([dormakaba_dkey docs])
+- Use reauth helpers in deluge config flow ([@epenet] - [#127445]) ([deluge docs])
+- Use reauth helpers in caldav config flow ([@epenet] - [#127440]) ([caldav docs])
+- Use reauth helpers in brunt config flow ([@epenet] - [#127438]) ([brunt docs])
+- Use reauth helpers in braviatv config flow ([@epenet] - [#127437]) ([braviatv docs])
+- Cache serialization of config entry storage ([@bdraco] - [#127435])
+- Use _get_reauth_entry in cloudflare config flow ([@epenet] - [#127385]) ([cloudflare docs])
+- Switch to using fast cached_property implementation in propcache ([@bdraco] - [#127339])
+- Bump cached-ipaddress to 0.7.0 ([@bdraco] - [#127475]) ([dhcp docs])
+- Bump yalexs to 8.9.0 ([@bdraco] - [#127474]) ([august docs]) ([yale docs])
+- Bump uiprotect to 6.2.0 ([@bdraco] - [#127477]) ([unifiprotect docs])
+- Use reauth helpers in elmax config flow ([@epenet] - [#127417]) ([elmax docs])
+- Fix config entry unique_id collision in lamarzocco tests ([@emontnemery] - [#127484]) ([lamarzocco docs])
+- Remove Spider integration ([@joostlek] - [#127346]) ([spider docs]) (breaking-change)
+- Adjust type hints in hyperion config_flow ([@epenet] - [#127273]) ([hyperion docs])
+- Restore __slots__ to core objects ([@bdraco] - [#127441])
+- Fix preview available in statistics ([@gjohansson-ST] - [#127349]) ([statistics docs])
+- Migrate config_entries to use propcache cached_property ([@bdraco] - [#127495])
+- Prepare websocket writer for aiohttp 3.11 ([@bdraco] - [#127043]) ([websocket_api docs])
+- Add re-authemtication flow to AVM FRITZ!Box Call Monitor ([@mib1185] - [#127497]) ([fritzbox_callmonitor docs])
+- Add pylint rule for cached_property ([@bdraco] - [#127482])
+- Fix lingering tasks in snooz tests ([@epenet] - [#127523]) ([snooz docs])
+- Fix config entry unique_id collision in tplink tests ([@emontnemery] - [#127522]) ([tplink docs])
+- Convert evohome's test factory into an async generator ([@zxdavb] - [#126925]) ([evohome docs])
+- Add support for Shelly CCT light ([@bieniu] - [#126989]) ([shelly docs])
+- Bump github/codeql-action from 3.26.10 to 3.26.11 ([@dependabot[bot]] - [#127524])
+- Fix reolink tests ([@epenet] - [#127525]) ([reolink docs])
+- Add more fixtures to the matter fixture ([@joostlek] - [#126761]) ([matter docs])
+- Add entity icons for Autarco integration ([@klaasnicolaas] - [#127505]) ([autarco docs])
+- Use reauth helpers in spotify config flow ([@epenet] - [#127532]) ([spotify docs])
+- Revert Alexa Media Player block ([@frenck] - [#127553])
+- Simplify Jellyfin ([@joostlek] - [#127353]) ([jellyfin docs])
+- Use HassKey in backup ([@epenet] - [#127546]) ([backup docs])
+- Add codeowners for Squeezebox ([@rajlaud] - [#127564]) ([squeezebox docs])
+- Use HassKey in auth ([@epenet] - [#127573]) ([auth docs])
+- Blueprints for template entities ([@tetele] - [#126971]) ([template docs])
+- Bump ruff to 0.6.9 ([@autinerd] - [#127596])
+- Disable by default smlight auto zigbee update switch ([@tl-sl] - [#126707]) ([smlight docs])
+- Bump aiohttp to 3.10.9 ([@bdraco] - [#127594])
+- Remove enigma2 yaml import ([@autinerd] - [#127597]) ([enigma2 docs]) (breaking-change)
+- Fix blocking stat call in local media_source ([@bdraco] - [#127587]) ([media_source docs])
+- Bump sigstore/cosign-installer from 3.6.0 to 3.7.0 ([@dependabot[bot]] - [#127628])
+- Bump actions/cache from 4.0.2 to 4.1.0 ([@dependabot[bot]] - [#127627])
+- Introduce Jellyfin client/server base entities ([@joostlek] - [#127572]) ([jellyfin docs])
+- Fix Husqvarna Automower reauth title ([@Thomas55555] - [#127583]) ([husqvarna_automower docs])
+- Use common reconfigure string in bryant_evolution ([@epenet] - [#127561]) ([bryant_evolution docs])
+- Fix grpcio wheel build ([@cdce8p] - [#127533])
+- Fix snooz tests ([@emontnemery] - [#127468]) ([snooz docs])
+- Restore __slots__ to registry entries ([@bdraco] - [#127481])
+- Improve mqtt sensor options validion logging ([@jbouwh] - [#127631]) ([mqtt docs])
+- Bump async-upnp-client to 0.41.0 ([@StevenLooman] - [#127642]) ([upnp docs]) ([yeelight docs]) ([dlna_dmr docs]) ([samsungtv docs]) ([ssdp docs]) ([dlna_dms docs])
+- Return an error if no error key is provided in Husqvarna Automower ([@Thomas55555] - [#127584]) ([husqvarna_automower docs])
+- Improve handling of call deflection switches in AVM Fritz!Tools ([@mib1185] - [#127592]) ([fritz docs])
+- Remove automatic linkage of doorbells to HomeKit accessories via device class occupancy ([@bdraco] - [#127668]) ([homekit docs]) (breaking-change)
+- Add sensors for gems and mystic hourglasses to Habitica integration ([@tr4nt0r] - [#127651]) ([habitica docs])
+- Replace Rachio warning with debug logging ([@brg468] - [#127673]) ([rachio docs])
+- Add tests for evohome climate entities ([@zxdavb] - [#127612]) ([evohome docs])
+- Add tests for evohome water_heater entities ([@zxdavb] - [#127611]) ([evohome docs])
+- Update dbus-fast to 2.24.3 ([@cdce8p] - [#127683]) ([bluetooth docs])
+- Update bluetooth-adapters to 0.20.0 ([@cdce8p] - [#127684]) ([bluetooth docs])
+- Update bleak-retry-connector to 3.6.0 ([@cdce8p] - [#127686]) ([bluetooth docs])
+- Update bleak to 0.22.3 ([@cdce8p] - [#127688]) ([bluetooth docs])
+- Update habluetooth to 3.5.0 ([@cdce8p] - [#127690]) ([bluetooth docs])
+- Update bleak-esphome to 1.1.0 ([@cdce8p] - [#127692])
+- Update yalexs-ble to 2.5.0 ([@cdce8p] - [#127696]) ([august docs]) ([yalexs_ble docs]) ([yale docs])
+- Bump yalexs to 8.10.0 ([@bdraco] - [#127704]) ([august docs]) ([yale docs])
+- Bump cached-ipaddress to 0.8.0 ([@bdraco] - [#127703]) ([dhcp docs])
+- Bump syrupy to 4.7.2 ([@joostlek] - [#127710])
+- Bump uiprotect to 6.3.1 ([@bdraco] - [#127702]) ([unifiprotect docs])
+- Add cast skill action to Habitica integration ([@tr4nt0r] - [#127000]) ([habitica docs])
+- Use BSH keys as unique ID's suffix at Home Connect ([@Diegorro98] - [#126143]) ([home_connect docs])
+- Remove obsolete entity count safeguards when using `snapshot_platform` test helper ([@mib1185] - [#127736]) ([axis docs]) ([fritz docs]) ([nextcloud docs]) ([israel_rail docs])
+- Remove expected lingering test fixture from Matter ([@joostlek] - [#127713]) ([matter docs])
+- Use reconfigure helpers in config tests ([@epenet] - [#127534]) ([config docs])
+- Add work area sensors to Husqvarna Automower ([@Thomas55555] - [#126931]) ([husqvarna_automower docs])
+- Update A. O. Smith integration to reflect upstream API changes ([@bdr99] - [#127678]) ([aosmith docs]) (breaking-change)
+- Fix typo ([@strugee] - [#127775]) ([caldav docs])
+- Correct typing in rediscovery tests ([@emontnemery] - [#127777]) ([zeroconf docs]) ([config docs]) ([ssdp docs]) ([dhcp docs]) ([bluetooth docs])
+- Add default reconfigure reason in update_reload_and_abort ([@epenet] - [#127756])
+- Update ephem to 4.1.6 ([@cdce8p] - [#127761]) ([season docs])
+- Disable SELinux enforcement on dev containers ([@strugee] - [#127774])
+- Update types packages ([@cdce8p] - [#127783])
+- Update pre-commit to 4.0.0 ([@cdce8p] - [#127782])
+- Add option to disable keep-alive for Enphase Envoy connections ([@catsmanac] - [#127603]) ([enphase_envoy docs])
+- Extend update_entry_and_reload tests ([@epenet] - [#127776])
+- Bump pychromecast to 14.0.4 ([@emontnemery] - [#127791]) ([cast docs])
+- Use reauth helpers in permobil config flow ([@epenet] - [#127530]) ([permobil docs])
+- Add strict typing to radio_browser ([@cdce8p] - [#127799]) ([radio_browser docs])
+- Enable strict typing for workday ([@cdce8p] - [#127797])
+- Add missing patch in dnsip test ([@epenet] - [#127802]) ([dnsip docs])
+- Fix incorrect translation string in august ([@epenet] - [#127817]) ([august docs])
+- Fix incorrect translation string in blink ([@epenet] - [#127828]) ([blink docs])
+- Add missing translation string in electric_kiwi ([@epenet] - [#127835]) ([electric_kiwi docs])
+- Fix incorrect translation string in airvisual ([@epenet] - [#127813]) ([airvisual docs])
+- Add missing translation string in axis ([@epenet] - [#127822]) ([axis docs])
+- Improve Spotify mock ([@joostlek] - [#127825]) ([spotify docs])
+- Replace Spotify fixtures ([@joostlek] - [#127850]) ([spotify docs])
+- Update fritzconnection to 1.14.0 ([@cdce8p] - [#127793]) ([fritz docs]) ([fritzbox_callmonitor docs])
+- Add missing translation string in AVM Fritz!Tools ([@mib1185] - [#127863]) ([fritz docs])
+- Add missing translation string in dnsip ([@epenet] - [#127833]) ([dnsip docs])
+- Add Tesla Fleet grid status ([@JEMcats] - [#126438]) ([tesla_fleet docs])
+- Bump aioshelly to 12.0.0 ([@thecode] - [#127884]) ([shelly docs])
+- Enable strict typing for shell_command ([@cdce8p] - [#127856])
+- BMW: Add reconfiguration flow ([@rikroe] - [#127726]) ([bmw_connected_drive docs])
+- Clean up Tibber service tests ([@functionpointer] - [#127334]) ([tibber docs])
+- Enable strict typing for openai_conversation ([@cdce8p] - [#127854]) ([openai_conversation docs])
+- Use separate constants in template cover ([@gjohansson-ST] - [#127853]) ([template docs])
+- Add missing translation string in awair ([@epenet] - [#127819]) ([awair docs])
+- Add missing translation string in broadlink ([@epenet] - [#127829]) ([broadlink docs])
+- Add missing translation string in kitchen_sink ([@epenet] - [#127838]) ([kitchen_sink docs])
+- Use SensorDeviceClass.CONDUCTIVITY for xiaomi_ble conductivity sensors ([@emontnemery] - [#127880]) ([xiaomi_ble docs])
+- Add missing translation string in deluge ([@epenet] - [#127831]) ([deluge docs])
+- Bump propcache to 0.2.0 ([@bdraco] - [#127816])
+- Enable strict typing for panel_custom ([@cdce8p] - [#127855])
+- Don't cache reauth entry in androidtv_remote config flow ([@epenet] - [#127900]) ([androidtv_remote docs])
+- Fix translation strings in geonetnz_volcano ([@mib1185] - [#127872]) ([geonetnz_volcano docs])
+- Fix incorrect translation string in fivem ([@epenet] - [#127907]) ([fivem docs])
+- Fix incorrect translation key in crownstone ([@epenet] - [#127913]) ([crownstone docs])
+- Add missing translation string in tile ([@epenet] - [#127911]) ([tile docs])
+- Add missing and fix incorrect translation string in permobil ([@epenet] - [#127910]) ([permobil docs])
+- Don't cache reauth entry in aseko_pool_live config flow ([@epenet] - [#127902]) ([aseko_pool_live docs])
+- Add missing translation string in cloudflare ([@epenet] - [#127906]) ([cloudflare docs])
+- Bump actions/checkout from 4.2.0 to 4.2.1 ([@dependabot[bot]] - [#127903])
+- Bump github/codeql-action from 3.26.11 to 3.26.12 ([@dependabot[bot]] - [#127904])
+- Use separate constants in slide cover ([@gjohansson-ST] - [#127852]) ([slide docs])
+- Bump actions/upload-artifact from 4.4.0 to 4.4.1 ([@dependabot[bot]] - [#127905])
+- Don't abort on unknown error in nina config flow ([@epenet] - [#127908]) ([nina docs])
+- Fix devContainer startup ([@srescio] - [#127042])
+- Add missing translation string in tesla_fleet ([@epenet] - [#127915]) ([tesla_fleet docs])
+- Add new helper for matching reauth/reconfigure config flows ([@epenet] - [#127565]) ([spotify docs])
+- Make FlowHandler.context a typed dict ([@emontnemery] - [#126291])
+- Use homeassistant STUN server ([@edenhaus] - [#127922]) ([camera docs])
+- Remove dead reconfigure code ([@epenet] - [#127398])
+- Bump yarl to 1.14.0 ([@bdraco] - [#127924])
+- Reinitialize hassio discovery flow on config entry removal ([@emontnemery] - [#127088]) ([hassio docs])
+- Deprecate hassio service to update addon ([@joostlek] - [#127927]) ([hassio docs])
+- Add device_class for LCN sensors ([@alengwenus] - [#127921]) ([lcn docs])
+- Warn when async_update_entry creates a unique_id collision ([@emontnemery] - [#127929])
+- Rename `UnitOfConductivity` enum members ([@emontnemery] - [#127919])
+- Cleanup unused variable in tests ([@epenet] - [#127930])
+- Prevent `async_create_entry` from reauth/reconfigure flows ([@epenet] - [#127527])
+- Update integrations to use new UnitOfConductivity enums ([@emontnemery] - [#127932]) ([mysensors docs]) ([plant docs]) ([xiaomi_ble docs]) ([fyta docs])
+- Avoid unknown error translation strings in anthropic ([@epenet] - [#127823]) ([anthropic docs])
+- Snapshot more platforms for Matter ([@joostlek] - [#127541]) ([matter docs])
+- Cover state is enum ([@gjohansson-ST] - [#127144]) ([cover docs])
+- Bump actions/cache from 4.1.0 to 4.1.1 ([@dependabot[bot]] - [#127961])
+- Bump actions/upload-artifact from 4.4.1 to 4.4.2 ([@dependabot[bot]] - [#127962])
+- Add updates argument to update_reload_and_abort helper ([@epenet] - [#127781]) ([aosmith docs])
+- Bump auroranoaa to 0.0.5 ([@johangus65] - [#127965]) ([aurora docs])
+- Improve IssueRegistryItemSnapshot ([@emontnemery] - [#127949]) ([workday docs])
+- Use reconfigure helpers in brother config flow ([@epenet] - [#127975]) ([brother docs])
+- Remove deprecated yaml import from Habitica ([@tr4nt0r] - [#127946]) ([habitica docs]) (breaking-change)
+- Add Spotify media player tests ([@joostlek] - [#127839]) ([spotify docs])
+- Add tests for the Spotify media browser ([@joostlek] - [#127857]) ([spotify docs])
+- Do not cache the reconfigure entry in google travel time config flow ([@epenet] - [#128002]) ([google_travel_time docs])
+- Simplify jewish_calendar reconfigure flow ([@epenet] - [#128008]) ([jewish_calendar docs])
+- Use reconfigure helpers in nam config flow ([@epenet] - [#128016]) ([nam docs])
+- Do not cache reconfigure entry in tado config flow ([@epenet] - [#128024]) ([tado docs])
+- Enable strict typing for switch_as_x ([@cdce8p] - [#127998])
+- Do not cache reauth/reconfigure entry in pyload config flow ([@epenet] - [#128017]) ([pyload docs])
+- Use reconfigure helpers in madvr config flow ([@epenet] - [#128012]) ([madvr docs])
+- Do not cache reconfigure entry in smhi config flow ([@epenet] - [#128021]) ([smhi docs])
+- Do not cache the reconfigure entry in homeworks config flow ([@epenet] - [#128006]) ([homeworks docs])
+- Use reauth/reconfigure helpers in trafikverket_camera config flow ([@epenet] - [#128026]) ([trafikverket_camera docs])
+- Use reauth/reconfigure helpers in trafikverket_weatherstation config flow ([@epenet] - [#128028]) ([trafikverket_weatherstation docs])
+- Use reconfigure helpers in lcn config flow ([@epenet] - [#128011]) ([lcn docs])
+- Do not cache reconfigure entry in waze_travel_time config flow ([@epenet] - [#128030]) ([waze_travel_time docs])
+- Do not cache reconfigure entry in vallox config flow ([@epenet] - [#128029]) ([vallox docs])
+- Use reauth/reconfigure helpers in fritz config flow ([@epenet] - [#127990]) ([fritz docs])
+- Do not cache the reconfigure entry in holiday config flow ([@epenet] - [#128005]) ([holiday docs])
+- Do not cache the reconfigure entry in here travel time config flow ([@epenet] - [#128003]) ([here_travel_time docs])
+- Do not cache the entry in lamarzocco config flow ([@epenet] - [#128010]) ([lamarzocco docs])
+- Do not cache reauth/reconfigure entry in solarlog config flow ([@epenet] - [#128023]) ([solarlog docs])
+- Use reconfigure helpers in melcloud config flow ([@epenet] - [#128014]) ([melcloud docs])
+- Use reauth/reconfigure helpers in reolink config flow ([@epenet] - [#128018]) ([reolink docs])
+- Use reconfigure helpers in mealie config flow ([@epenet] - [#128013]) ([mealie docs])
+- Use reauth/reconfigure helpers in fritzbox config flow ([@epenet] - [#127993]) ([fritzbox docs])
+- Do not cache the reconfigure entry in feedreader config flow ([@epenet] - [#127989]) ([feedreader docs])
+- Use reconfigure helpers in enphase envoy config flow ([@epenet] - [#127977]) ([enphase_envoy docs])
+- Use reconfigure helpers in fronius config flow ([@epenet] - [#128001]) ([fronius docs])
+- Allow single use of device class translations in tplink snapshot tests ([@sdb9696] - [#128022]) ([tplink docs])
+- Add strict typing for govee_ble ([@cdce8p] - [#128044]) ([govee_ble docs])
+- Fix StateType imports ([@cdce8p] - [#128042]) ([thethingsnetwork docs]) ([flexit_bacnet docs]) ([rainforest_raven docs]) ([apsystems docs])
+- Extend deprecation period for hass.helpers by 6 months ([@jpbede] - [#128038])
+- Update RestrictedPython to 7.4 ([@cdce8p] - [#128039]) ([python_script docs])
+- Add state class to qBittorrent UL / DL speed ([@owenvoke] - [#127988]) ([qbittorrent docs])
+- Add missing translations strings in trafikverket_camera ([@gjohansson-ST] - [#128037]) ([trafikverket_camera docs])
+- Use reauth/reconfigure helpers in shelly config flow ([@epenet] - [#128019]) ([shelly docs])
+- Add missing translation string in enphase envoy ([@mib1185] - [#128053]) ([enphase_envoy docs])
+- End deprecation for config entry import for folder watcher ([@gjohansson-ST] - [#128056]) ([folder_watcher docs]) (breaking-change)
+- Drop reconfigure_confirm step in trafikverket_camera ([@epenet] - [#128031]) ([trafikverket_camera docs])
+- Use snapshot platform test helper in IPP ([@mib1185] - [#127734]) ([ipp docs])
+- Add Jellyfin remote entity ([@ianhattendorf] - [#126461]) ([jellyfin docs]) (new-platform)
+- Bump actions/upload-artifact from 4.4.2 to 4.4.3 ([@dependabot[bot]] - [#128074])
+- Add ability to pass the config entry explicitly in data update coordinators ([@epenet] - [#127980])
+- Use aiohasupervisor for store APIs ([@mdegat01] - [#126780]) ([hassio docs]) ([zwave_js docs]) ([matter docs]) ([homeassistant_hardware docs])
+- Support non-dimmable color lights in Z-Wave JS ([@AlCalzone] - [#127808]) ([zwave_js docs])
+- Add scene support to WMS WebControl pro ([@mback2k] - [#126081]) ([wmspro docs]) (new-platform)
+- Use custom function instead mashumaro in WebRTC dataclasses ([@edenhaus] - [#128099]) ([camera docs])
+- Minor improvement of device registry tests ([@emontnemery] - [#128095])
+- Remove deprecated restart service in modbus ([@gjohansson-ST] - [#128059]) ([modbus docs]) (breaking-change)
+- Add squeezebox API failure test ([@pssc] - [#128066]) ([squeezebox docs])
+- Remove deprecated speed limit lock entity from tessie ([@jpbede] - [#128043]) ([tessie docs]) (breaking-change)
+- Add missing already_configured strings ([@mib1185] - [#128058]) ([smappee docs]) ([luftdaten docs]) ([met_eireann docs]) ([local_calendar docs]) ([sunweg docs])
+- Add deconz IKEA SOMRIG device trigger ([@bluemoehre] - [#127464]) ([deconz docs])
+- Bump tesla-fleet-api to 0.8.4 ([@Bre77] - [#127995]) ([tessie docs]) ([teslemetry docs]) ([tesla_fleet docs])
+- Improve entity registry test coverage ([@emontnemery] - [#128073])
+- Add deCONZ IKEA RODRET device trigger ([@bluemoehre] - [#128121]) ([deconz docs])
+- Support open next and close next actions for shades ([@kevdliu] - [#125097]) ([bond docs])
+- Minor improvement of device_registry ([@emontnemery] - [#128075])
+- Bump aiohttp to 3.10.10 ([@bdraco] - [#128128])
+- Log exceptions in the config flow of Opower ([@tronikos] - [#128146]) ([opower docs])
+- Add reboot button for tplink ([@rytilahti] - [#127935]) ([tplink docs])
+- Do not use async_config_entry_first_refresh in fronius ([@epenet] - [#128153]) ([fronius docs])
+- Improve docstring of EntityComponent and EntityPlatform ([@emontnemery] - [#128135])
+- Add snapshot testing to Spotify ([@joostlek] - [#128032]) ([spotify docs])
+- Remove parameter add_config_entry from DeviceRegistry.async_update_device ([@emontnemery] - [#128139])
+- Add more Spotify tests for the media player ([@joostlek] - [#127999]) ([spotify docs])
+- Minor improvement of entity platform tests ([@emontnemery] - [#128158])
+- Add test for Spotify select source ([@joostlek] - [#128160]) ([spotify docs])
+- Cleanup unnecessary reconfigure_confirm in fritz config flow ([@epenet] - [#128089]) ([fritz docs])
+- Replace ValueError with deprecation in data update coordinator ([@epenet] - [#128082])
+- Add x-client headers to Habitica API calls ([@tr4nt0r] - [#127952]) ([habitica docs])
+- Fix grammar in Template Helper creation dialog ([@marcjay] - [#128174]) ([template docs])
+- Migrate device models to entity descriptions and add localization & icons at Home Connect ([@Diegorro98] - [#127870]) ([home_connect docs])
+- Remove config entry import from lg_netcast ([@gjohansson-ST] - [#128179]) ([lg_netcast docs]) (breaking-change)
+- Remove deprecated notify service in ecobee ([@gjohansson-ST] - [#128177]) ([ecobee docs]) (breaking-change)
+- Bump aiohasupervisor to 0.2.0b0 ([@mdegat01] - [#128173]) ([hassio docs])
+- Use exposed error messages in Assist ([@synesthesiam] - [#127503]) ([conversation docs])
+- Add tests for Habitica integration ([@tr4nt0r] - [#126445]) ([habitica docs])
+- Remove legacy knx notify service ([@gjohansson-ST] - [#128185]) ([knx docs]) (breaking-change)
+- Remove legacy notify service from ecobee ([@jpbede] - [#128115]) ([ecobee docs]) (breaking-change)
+- Remove deprecated yaml support from lg_netcast ([@jpbede] - [#128114]) ([lg_netcast docs]) (breaking-change)
+- Remove not used issue strings in tessie ([@gjohansson-ST] - [#128178]) ([tessie docs])
+- Use device area/floor in HassGetState intent ([@synesthesiam] - [#128197]) ([conversation docs]) ([intent docs])
+- Use single_instance_allowed in hassio ([@mib1185] - [#128060]) ([hassio docs])
+- Mark integrations as single_config_entry in manifest [system integrations] ([@mib1185] - [#128201]) ([rhasspy docs]) ([rpi_power docs]) ([hardkernel docs]) ([homeassistant_yellow docs]) ([homeassistant_green docs])
+- Add to-do list response target for ListAddItemIntent ([@JosephAbbey] - [#121970]) ([todo docs])
+- Fix ci (dhcp tests) ([@mib1185] - [#128207]) ([dhcp docs])
+- Cleanup unnecessary reconfigure_confirm in fritzbox config flow ([@epenet] - [#128087]) ([fritzbox docs])
+- Bump yarl to 1.15.0 ([@bdraco] - [#128215])
+- Mark integrations as single_config_entry in manifest [a-i] ([@mib1185] - [#128189])
+- Mark integrations as single_config_entry in manifest [k-r] ([@mib1185] - [#128191])
+- Fix binary sensor at Home Connect ([@Diegorro98] - [#128234]) ([home_connect docs])
+- Fix hassio data fetching over list[Repository] ([@jbouwh] - [#128206]) ([hassio docs])
+- Mark mqtt as integration with single config entry ([@jbouwh] - [#128202]) ([mqtt docs])
+- Use reconfigure helpers in axis config flow ([@epenet] - [#127976]) ([axis docs])
+- Bump gios to version 5.0.0 ([@bieniu] - [#128257]) ([gios docs])
+- Fix translation string in google ([@j4n-e4t] - [#128237]) ([google docs])
+- Bump yarl to 1.15.1 ([@bdraco] - [#128268])
+- Use entry.runtime_data for caldav ([@autinerd] - [#128278]) ([caldav docs])
+- Do not link nextbus coordinator to config entry ([@epenet] - [#128151]) ([nextbus docs])
+- Do not use async_config_entry_first_refresh in fastdotcom ([@epenet] - [#128152]) ([fastdotcom docs])
+- Add translatable title to history_stats ([@gjohansson-ST] - [#128287]) ([history_stats docs])
+- Add translatable title to statistics ([@gjohansson-ST] - [#128286]) ([statistics docs])
+- Add switch entity for Shelly scripts ([@chemelli74] - [#108171]) ([shelly docs])
+- Fix state for litterrobot ([@gjohansson-ST] - [#128297]) ([litterrobot docs]) (breaking-change)
+- Refactor todo tests ([@Lesekater] - [#128251]) ([todo docs])
+- Bump pydeconz to v118 ([@hanskroner] - [#128289]) ([deconz docs])
+- Fix translation string in knocki ([@j4n-e4t] - [#128318]) ([knocki docs])
+- Bump yarl to 1.15.2 ([@bdraco] - [#128309])
+- Add model_id to lamarzocco ([@zweckj] - [#128344]) ([lamarzocco docs])
+- Remove single-use variable in aussie-broadband ([@epenet] - [#128340]) ([aussie_broadband docs])
+- Bump opower to 0.8.4 ([@tronikos] - [#128338]) ([opower docs])
+- Use reauth helpers in airvisual ([@epenet] - [#128335]) ([airvisual docs])
+- Refactor abode config flow tests ([@epenet] - [#128334]) ([abode docs])
+- Fix translation string in tankerkoenig ([@j4n-e4t] - [#128320]) ([tankerkoenig docs])
+- Cleanup unnecessary reconfigure_confirm from config flows ([@epenet] - [#128086])
+- Strip path from Mastodon base url ([@andrew-codechimp] - [#127994]) ([mastodon docs])
+- Use reauth_confirm in azure_devops ([@epenet] - [#128349]) ([azure_devops docs])
+- Use async_update_reload_and_abort in awair ([@epenet] - [#128345]) ([awair docs])
+- Fix translation string in tplink ([@j4n-e4t] - [#128352]) ([tplink docs])
+- Fix translation string in yolink ([@j4n-e4t] - [#128353]) ([yolink docs])
+- Add model_id to tedee ([@zweckj] - [#128356]) ([tedee docs])
+- Rewrite go2rtc binary handling to be async ([@edenhaus] - [#128078]) ([go2rtc docs])
+- Fix translation string in melcloud ([@j4n-e4t] - [#128363]) ([melcloud docs])
+- Ensure config_flow abort reasons have translations ([@epenet] - [#128140])
+- Use long option for pytest numprocesses ([@epenet] - [#128354])
+- Use reauth/reconfigure helpers in tedee config flow ([@epenet] - [#128025]) ([tedee docs])
+- Fix translation string in weatherflow ([@j4n-e4t] - [#128321]) ([weatherflow docs])
+- Fix translation string in lifx ([@j4n-e4t] - [#128362]) ([lifx docs])
+- Fix translation string in eq3btsmart ([@j4n-e4t] - [#128319]) ([eq3btsmart docs])
+- Fix translation string in gardena_bluetooth ([@j4n-e4t] - [#128387]) ([gardena_bluetooth docs])
+- Improve internal naming ([@Thomas55555] - [#128390]) ([husqvarna_automower docs])
+- Fix initialization of some `denonavr` receivers when telnet API is enabled ([@ol-iver] - [#127882]) ([denonavr docs])
+- Fix go2rtc test RuntimeWarnings ([@cdce8p] - [#128411]) ([go2rtc docs])
+- Response type should not contain datetime for Swiss Public Transport ([@miaucl] - [#128391]) ([swiss_public_transport docs])
+- Add tests/components/conftest.py to core files ([@epenet] - [#128425])
+- Fix reauth strings in Teslemetry ([@Bre77] - [#128426]) ([teslemetry docs])
+- Fix translation string in rova ([@j4n-e4t] - [#128402]) ([rova docs])
+- Fix translation string in iotty ([@j4n-e4t] - [#128385]) ([iotty docs])
+- Add missing translation for youtube ([@epenet] - [#128431]) ([youtube docs])
+- Adjust homewizard translation strings ([@epenet] - [#128423]) ([homewizard docs])
+- Fix translation string in matter ([@j4n-e4t] - [#128364]) ([matter docs])
+- Fix pytest workflow for testing multiple Python versions [ci] ([@cdce8p] - [#128412])
+- Add BaseBackupManager as a common interface for backup managers ([@ludeeus] - [#126611]) ([backup docs])
+- Fail on unused ignore_translations fixture ([@epenet] - [#128422]) ([application_credentials docs])
+- Add WS endpoint to fetch the details of a backup ([@ludeeus] - [#128430]) ([backup docs])
+- Bump github/codeql-action from 3.26.12 to 3.26.13 ([@dependabot[bot]] - [#128420])
+- Fix translation string in spotify ([@j4n-e4t] - [#128440]) ([spotify docs])
+- Improve check for user-visible flows when checking translations in tests ([@epenet] - [#128434])
+- Refactor prometheus integration tests ([@jzucker2] - [#113849]) ([prometheus docs])
+- Add support HmIP-BSL after firmware update to 2.0 to homematicip_cloud ([@hahn-th] - [#117657]) ([homematicip_cloud docs])
+- Improve intent recognition in default conversation agent ([@arturpragacz] - [#124282]) ([conversation docs])
+- Trim the text of todo and shopping list items in intents ([@synesthesiam] - [#128456]) ([shopping_list docs]) ([todo docs])
+- Replace webexteamssdk with webexpythonsdk ([@DJF3] - [#127928]) ([cisco_webex_teams docs])
+- Move backup plaform loading to the base class ([@ludeeus] - [#128449]) ([backup docs])
+- Add missing translation string in unifi ([@MichScha] - [#128062]) ([unifi docs])
+- Fix translation string in lyric ([@j4n-e4t] - [#128386]) ([lyric docs])
+- Fix default conversation agent tests ([@arturpragacz] - [#128490]) ([conversation docs])
+- Bump yarl to 1.15.3 ([@bdraco] - [#128499])
+- Mark custom components that overwrite core ([@MindFreeze] - [#127937])
+- Add SOURCE_SYSTEM to DISCOVERY_SOURCES ([@epenet] - [#128457])
+- Remove duplicate oauth2 token validity check ([@CFenner] - [#128419])
+- Add missing Weheat temperature sensors ([@barryvdh] - [#128452]) ([weheat docs])
+- Add even more tests to Spotify ([@joostlek] - [#128298]) ([spotify docs])
+- Rename host to url in go2rtc config flow ([@edenhaus] - [#128508]) ([go2rtc docs])
+- Add SOURCE_HASSIO to DISCOVERY_SOURCES ([@epenet] - [#128454])
+- Fix incorrect error strings in triggercmd ([@epenet] - [#128450]) ([triggercmd docs])
+- Fix incorrect error strings in webmin ([@epenet] - [#128448]) ([webmin docs])
+- Fix incorrect error strings in weatherflow ([@epenet] - [#128447]) ([weatherflow docs])
+- Add check for valid abort reason translation in option flows ([@epenet] - [#128444])
+- Use unique_id_mismatch in aseko_pool_live reauth ([@epenet] - [#128339]) ([aseko_pool_live docs])
+- Correct type hints on MQTT tests ([@jbouwh] - [#128299]) ([mqtt docs]) ([light docs])
+- Update build-system ([@cdce8p] - [#128256])
+- Add checks for config entry state in async_config_entry_first_refresh ([@epenet] - [#128148])
+- Reorder Google Assistant Traits ([@joostlek] - [#127646]) ([google_assistant docs])
+- Bump aiostreammagic to 2.6.0 ([@noahhusby] - [#128498]) ([cambridge_audio docs])
+- Migrate Wyoming satellite to Assist satellite entity ([@synesthesiam] - [#128488]) ([wyoming docs])
+- Add conversation agent to Wyoming ([@synesthesiam] - [#124373]) ([wyoming docs])
+- Migrate spotify to aiospotify ([@joostlek] - [#127728]) ([spotify docs])
+- Prevent leak of current_entry context variable ([@epenet] - [#128145])
+- Update aioairzone-cloud to v0.6.7 ([@Noltari] - [#128231]) ([airzone_cloud docs])
+- Bump uv to 0.4.22 ([@edenhaus] - [#128518])
+- Use runtime_data in rainforest_raven ([@epenet] - [#128517]) ([rainforest_raven docs])
+- Bump aiostreammagic to 2.7.0 ([@noahhusby] - [#128525]) ([cambridge_audio docs])
+- Add check for valid error code in translation checks in flows ([@epenet] - [#128445])
+- Update terminology for built-in blueprints ([@olafz] - [#128383]) ([automation docs])
+- Add diagnostics to Spotify ([@joostlek] - [#128521]) ([spotify docs])
+- Add port to config flow of P1 Monitor integration ([@klaasnicolaas] - [#128324]) ([p1_monitor docs])
+- Always use uv from virtual environment at runtime ([@sdb9696] - [#128371])
+- Add select entity to Cambridge Audio ([@noahhusby] - [#128527]) ([cambridge_audio docs]) (new-platform)
+- Remove deprecated map integration ([@jpbede] - [#128529]) ([map docs]) (breaking-change)
+- Fix translation string in hyperion ([@j4n-e4t] - [#128384]) ([hyperion docs])
+- Remove deprecated panel_iframe integration ([@jpbede] - [#128532]) ([panel_iframe docs]) (breaking-change)
+- Add missing description placeholder in Tessie ([@Bre77] - [#128481]) ([tessie docs])
+- Add a missing translation for energy error ([@karwosts] - [#128413]) ([energy docs])
+- Fix translation string in guardian ([@j4n-e4t] - [#128535]) ([guardian docs])
+- Bump ZHA dependencies ([@puddly] - [#128539]) ([zha docs])
+- Bump yarl to 1.15.4 ([@bdraco] - [#128536])
+- Update mypy-dev to 1.13.0a1 ([@cdce8p] - [#128548])
+- Cleanup unused snapshots ([@epenet] - [#128549]) ([gardena_bluetooth docs])
+- Fix schema violations in manifest.json files ([@autinerd] - [#128561]) ([google docs]) ([arris_tg2492lg docs]) ([sunweg docs]) ([triggercmd docs]) ([wmspro docs])
+- Keep ZHA entity enabled setting in sync with lib ([@dmulcahey] - [#125472]) ([zha docs])
+- Improve camera tests ([@emontnemery] - [#128545]) ([camera docs])
+- Use reauth helpers in google_assistant_sdk ([@epenet] - [#128582]) ([google_assistant_sdk docs])
+- Use reauth helpers in google_generative_ai_conversation ([@epenet] - [#128583]) ([google_generative_ai_conversation docs])
+- Refactor unittest tests to use pytest ([@Honza-m] - [#127770])
+- Use reauth helpers in fujitsu_fglair ([@epenet] - [#128570]) ([fujitsu_fglair docs])
+- Rename the SkyConnect integration to Connect ZBT-1 ([@puddly] - [#128599]) ([homeassistant_sky_connect docs])
+- Use reauth helpers in fyta ([@epenet] - [#128571]) ([fyta docs])
+- Use reauth helpers in fitbit ([@epenet] - [#128568]) ([fitbit docs])
+- Remove metadata and cover art using ffmpeg proxy conversion ([@synesthesiam] - [#128603]) ([esphome docs])
+- Bump mozart-api to 4.1.1.116.0 ([@mj23000] - [#128573]) ([bang_olufsen docs])
+- Use reauth helpers in co2signal ([@epenet] - [#128566]) ([co2signal docs])
+- Use shorthand attribute in threshold binary sensor ([@gjohansson-ST] - [#128612]) ([threshold docs])
+- Bump aiostreammagic to 2.8.1 ([@noahhusby] - [#128542]) ([cambridge_audio docs])
+- Bump ruff to 0.7.0 ([@autinerd] - [#128626])
+- Use reauth helpers in hydrawise ([@epenet] - [#128632]) ([hydrawise docs])
+- Use reauth helpers in husqvarna_automower ([@epenet] - [#128631]) ([husqvarna_automower docs])
+- Use reauth helpers in huawei_lte ([@epenet] - [#128630]) ([huawei_lte docs])
+- Use reauth helpers in honeywell ([@epenet] - [#128629]) ([honeywell docs])
+- Refactor duplicate host check in homeworks config flow ([@epenet] - [#128627]) ([homeworks docs])
+- Use reauth helpers in google_photos ([@epenet] - [#128585]) ([google_photos docs])
+- Use reauth helpers in google_tasks ([@epenet] - [#128586]) ([google_tasks docs])
+- Use reauth helpers in google_mail ([@epenet] - [#128584]) ([google_mail docs])
+- Use shorthand attribute in trend binary sensor ([@gjohansson-ST] - [#128614]) ([trend docs])
+- Use reauth helpers in homewizard ([@epenet] - [#128628]) ([homewizard docs])
+- Bump reolink_aio to 0.10.0 ([@starkillerOG] - [#128578]) ([reolink docs])
+- Use shorthand attribute in derivative sensor ([@gjohansson-ST] - [#128610]) ([derivative docs])
+- Remove ExternalDevice 'invalid ID' migration in HomeWizard ([@DCSBL] - [#128634]) ([homewizard docs])
+- Add asdf tools dot file to gitignore ([@jzucker2] - [#128608])
+- Use reauth helpers in frontier_silicon ([@epenet] - [#128569]) ([frontier_silicon docs])
+- Use reauth helpers in fibaro ([@epenet] - [#128567]) ([fibaro docs])
+- Add sensors to Omada ([@MarkGodwin] - [#127767]) ([tplink_omada docs]) (new-platform)
+- Use snapshot assertion in rainforest_raven sensor tests ([@epenet] - [#128604]) ([rainforest_raven docs])
+- Use snapshot assertion in rainforest_raven diagnostic tests ([@epenet] - [#128602]) ([rainforest_raven docs])
+- Update Reolink config entry port info if needed ([@starkillerOG] - [#128589]) ([reolink docs])
+- Use reauth helpers in glances ([@epenet] - [#128579]) ([glances docs])
+- Use reauth helpers in google_sheets ([@epenet] - [#128587]) ([google_sheets docs])
+- Add list as possible values for State On/Off ModBus Switch ([@crug80] - [#127444]) ([modbus docs])
+- Use reauth helpers in jvc_projector ([@epenet] - [#128650]) ([jvc_projector docs])
+- Use reauth helpers in justnimbus ([@epenet] - [#128649]) ([justnimbus docs])
+- Use reauth helpers in imap ([@epenet] - [#128645]) ([imap docs])
+- Fix reload not triggered on DisabledError in HomeWizard ([@DCSBL] - [#128636]) ([homewizard docs])
+- Use reauth_confirm in osoenergy ([@epenet] - [#128665]) ([osoenergy docs])
+- Use reauth helpers in ring ([@epenet] - [#128663]) ([ring docs])
+- Add model_id to rainforest_raven device info ([@epenet] - [#128652]) ([rainforest_raven docs])
+- Refactor rainforest_raven coordinator tests ([@epenet] - [#128591]) ([rainforest_raven docs])
+- Use new reauth helpers in overkiz ([@epenet] - [#128666]) ([overkiz docs])
+- Use reauth helpers in lacrosse_view ([@epenet] - [#128655]) ([lacrosse_view docs])
+- Use reauth helpers in linear_garage_door ([@epenet] - [#128658]) ([linear_garage_door docs])
+- Use reauth helpers in litterrobot ([@epenet] - [#128659]) ([litterrobot docs])
+- Use reauth helpers in lidarr ([@epenet] - [#128657]) ([lidarr docs])
+- Use reauth helpers in lametric ([@epenet] - [#128656]) ([lametric docs])
+- Use reauth helpers in intellifire ([@epenet] - [#128646]) ([intellifire docs])
+- Use reauth helpers in jellyfin ([@epenet] - [#128648]) ([jellyfin docs])
+- Use reauth helpers in ista_ecotrend ([@epenet] - [#128647]) ([ista_ecotrend docs])
+- Improve logic for detecting unused ignore translations ([@epenet] - [#128441])
+- Block until config is retrieved when adding satellite entity to HA ([@synesthesiam] - [#128685]) ([esphome docs])
+- Bump yarl to 1.15.5 ([@bdraco] - [#128681])
+- Use reauth_confirm in nanoleaf ([@epenet] - [#128698]) ([nanoleaf docs])
+- Add lighting effects to Hue lights managed by deCONZ ([@hanskroner] - [#128292]) ([deconz docs])
+- Use reauth_confirm in myuplink ([@epenet] - [#128697]) ([myuplink docs])
+- Use reauth_confirm in opower ([@epenet] - [#128707]) ([opower docs])
+- Use reauth_confirm in mqtt ([@epenet] - [#128696]) ([mqtt docs])
+- Remove dead code and increase test coverage for google config flow ([@allenporter] - [#128690]) ([google docs])
+- Use new reauth_helpers in onvif ([@epenet] - [#128705]) ([onvif docs])
+- Use new reauth_helpers in oncue ([@epenet] - [#128704]) ([oncue docs])
+- Use new reauth_helpers in notion ([@epenet] - [#128703]) ([notion docs])
+- Use new reauth_helpers in microbees ([@epenet] - [#128692]) ([microBees docs])
+- Use reauth helpers in google ([@epenet] - [#128580]) ([google docs])
+- Use new reauth_helpers in nice_go ([@epenet] - [#128702]) ([nice_go docs])
+- Use new reauth_helpers in mikrotik ([@epenet] - [#128693]) ([mikrotik docs])
+- Use new reauth_helpers in nextdns ([@epenet] - [#128701]) ([nextdns docs])
+- Use new reauth_helpers in openexchangerates ([@epenet] - [#128706]) ([openexchangerates docs])
+- Use new reauth helpers in pvoutput ([@epenet] - [#128720]) ([pvoutput docs])
+- Use new reauth_helpers in monzo ([@epenet] - [#128694]) ([monzo docs])
+- Use new reauth_helpers in motioneye ([@epenet] - [#128695]) ([motioneye docs])
+- Use new reauth_helpers in nextcloud ([@epenet] - [#128700]) ([nextcloud docs])
+- Use new reauth helpers in philips_js ([@epenet] - [#128714]) ([philips_js docs])
+- Use new reauth helpers in pi_hole ([@epenet] - [#128715]) ([pi_hole docs])
+- Use new reauth helpers in point ([@epenet] - [#128716]) ([point docs])
+- Use new reauth helpers in powerwall ([@epenet] - [#128717]) ([powerwall docs])
+- Use new reauth helpers in prosegur ([@epenet] - [#128718]) ([prosegur docs])
+- Use new reauth helpers in purpleair ([@epenet] - [#128719]) ([purpleair docs])
+- Use new reauth helpers in radarr ([@epenet] - [#128725]) ([radarr docs])
+- Add coordinator to Twitch ([@joostlek] - [#127724]) ([twitch docs])
+- Use new reauth helpers in ruckus_unleashed ([@epenet] - [#128727]) ([ruckus_unleashed docs])
+- Use new reauth helpers in roborock ([@epenet] - [#128726]) ([roborock docs])
+- Use new reauth helpers in samsungtv ([@epenet] - [#128729]) ([samsungtv docs])
+- Use new reauth helpers in pvpc_hourly_pricing ([@epenet] - [#128721]) ([pvpc_hourly_pricing docs])
+- Use new reauth helpers in rympro ([@epenet] - [#128728]) ([rympro docs])
+- Allow SSL security_protocol configuration property in apache_kafka component ([@jkaflik] - [#128651]) ([apache_kafka docs]) (new-integration)
+- Catch Reolink LoginFirmwareError ([@starkillerOG] - [#128590]) ([reolink docs])
+- Bump huawei-lte-api to 1.9.3 ([@scop] - [#128731]) ([huawei_lte docs])
+- Use new reauth helpers in surepetcare ([@epenet] - [#128748]) ([surepetcare docs])
+- Use new reauth helpers in tplink ([@epenet] - [#128768]) ([tplink docs])
+- Use new reauth helpers in twitch ([@epenet] - [#128767]) ([twitch docs])
+- Use new reauth helpers in tuya ([@epenet] - [#128766]) ([tuya docs])
+- Fix Airzone climate temperature range ([@Noltari] - [#128737]) ([airzone docs])
+- Use new reauth helpers in transmission ([@epenet] - [#128765]) ([transmission docs])
+- Use new reauth helpers in trafikverket_train ([@epenet] - [#128764]) ([trafikverket_train docs])
+- Use new reauth helpers in trafikverket_ferry ([@epenet] - [#128763]) ([trafikverket_ferry docs])
+- Bump spotifyaio to 0.7.0 ([@joostlek] - [#128751]) ([spotify docs])
+- Use new reauth helpers in schlage ([@epenet] - [#128736]) ([schlage docs])
+- Bump upcloud-api to 2.6.0 ([@scop] - [#128734]) ([upcloud docs])
+- Use new reauth helpers in sfr_box ([@epenet] - [#128739]) ([sfr_box docs])
+- Fix Airzone Cloud climate temperature range ([@Noltari] - [#128740]) ([airzone_cloud docs])
+- Update ha-ffmpeg to 3.2.1 ([@cdce8p] - [#128769]) ([ffmpeg docs])
+- Use new reauth helpers in tplink_omada ([@epenet] - [#128762]) ([tplink_omada docs])
+- Use new reauth helpers in thethingsnetwork ([@epenet] - [#128761]) ([thethingsnetwork docs])
+- Use new reauth helpers in tailscale ([@epenet] - [#128752]) ([tailscale docs])
+- Use new reauth helpers in sensibo ([@epenet] - [#128738]) ([sensibo docs])
+- Use new reauth helpers in tailwind ([@epenet] - [#128755]) ([tailwind docs])
+- Use new reauth helpers in skybell ([@epenet] - [#128741]) ([skybell docs])
+- Use new reauth helpers in sleepiq ([@epenet] - [#128742]) ([sleepiq docs])
+- Use new reauth helpers in smlight ([@epenet] - [#128744]) ([smlight docs])
+- Use new reauth helpers in sonarr ([@epenet] - [#128745]) ([sonarr docs])
+- Use new reauth helpers in steam_online ([@epenet] - [#128746]) ([steam_online docs])
+- Use new reauth helpers in sunweg ([@epenet] - [#128747]) ([sunweg docs])
+- Use new reauth helpers in tautulli ([@epenet] - [#128758]) ([tautulli docs])
+- Use new reauth helpers in switcher_kis ([@epenet] - [#128750]) ([switcher_kis docs])
+- Use new reauth helpers in tankerkoenig ([@epenet] - [#128756]) ([tankerkoenig docs])
+- Use new reauth helpers in vlc_telnet ([@epenet] - [#128780]) ([vlc_telnet docs])
+- Use new reauth helpers in vodafone_station ([@epenet] - [#128781]) ([vodafone_station docs])
+- Use new reauth helpers in smarttub ([@epenet] - [#128743]) ([smarttub docs])
+- Use new reauth_helpers in nest ([@epenet] - [#128699]) ([nest docs])
+- Fix device data roborock ([@Lash-L] - [#128792]) ([roborock docs])
+- Bump pysqueezebox to v0.10.0 ([@rajlaud] - [#128774]) ([squeezebox docs])
+- Use new reauth helpers in unifiprotect ([@epenet] - [#128775]) ([unifiprotect docs])
+- Use new reauth helpers in verisure ([@epenet] - [#128778]) ([verisure docs])
+- Use new reauth helpers in volvooncall ([@epenet] - [#128782]) ([volvooncall docs])
+- Remove erroneous switch entity description at Home Connect ([@Diegorro98] - [#128576]) ([home_connect docs])
+- Use new reauth helpers in tessie ([@epenet] - [#128760]) ([tessie docs])
+- Use new reauth helpers in teslemetry ([@epenet] - [#128759]) ([teslemetry docs])
+- Update eq3btsmart to 1.2.0 ([@cdce8p] - [#128808]) ([eq3btsmart docs])
+- Bump google-nest-sdm to 6.1.0 ([@allenporter] - [#128812]) ([nest docs])
+- Use new reauth helpers in weatherflow_cloud ([@epenet] - [#128821]) ([weatherflow_cloud docs])
+- Use new reauth helpers in wallbox ([@epenet] - [#128820]) ([wallbox docs])
+- Simplify custom component loading ([@balloob] - [#128813])
+- Bump spotifyaio to 0.7.1 ([@joostlek] - [#128807]) ([spotify docs])
+- Use new reauth helpers in webostv ([@epenet] - [#128823]) ([webostv docs])
+- Use new reauth helpers in whirlpool ([@epenet] - [#128825]) ([whirlpool docs])
+- Handle invalid zeroconf messages in Android TV Remote ([@tronikos] - [#128819]) ([androidtv_remote docs])
+- Use new reauth helpers in xiaomi_ble ([@epenet] - [#128827]) ([xiaomi_ble docs])
+- Use new reauth helpers in yale ([@epenet] - [#128828]) ([yale docs])
+- Update zhong-hong-hvac to 1.0.13 ([@cdce8p] - [#128822]) ([zhong_hong docs])
+- Use new reauth helpers in vicare ([@epenet] - [#128779]) ([vicare docs])
+- Auto lower case username for Schlage auth flows ([@frenck] - [#128730]) ([schlage docs])
+- Bump plugwise to v1.4.3 ([@bouwew] - [#128773]) ([plugwise docs])
+- Use new reauth helpers in weheat ([@epenet] - [#128824]) ([weheat docs])
+- Use new reauth helpers in youtube ([@epenet] - [#128835]) ([youtube docs])
+- Use new reauth helpers in yolink ([@epenet] - [#128834]) ([yolink docs])
+- Update attrs to 24.2.0 ([@cdce8p] - [#126656])
+- Add Spotify to strict typing ([@joostlek] - [#128846]) ([spotify docs])
+- Use new reauth helpers in yalexs_ble ([@epenet] - [#128831]) ([yalexs_ble docs])
+- Use new reauth helpers in withings ([@epenet] - [#128826]) ([withings docs])
+- Add New Music Category for Media Browser ([@peteS-UK] - [#128147]) ([squeezebox docs])
+- Add Twitch stream viewer as readable data for integration ([@LunaBytesBack] - [#128787]) ([twitch docs])
+- Align consumption sensor names in ViCare integration ([@CFenner] - [#127888]) ([vicare docs])
+- Reduce the size of the Nest event media storage cache ([@oliverwoodings] - [#128855]) ([nest docs])
+- Add humidity to KNX climate ([@alexkn] - [#128844]) ([knx docs])
+- Use new reauth helpers in yale_smart_alarm ([@epenet] - [#128836]) ([yale_smart_alarm docs])
+- Bump google-nest-sdm to 6.1.3 ([@allenporter] - [#128871]) ([nest docs])
+- Remove myself from roomba codeowners ([@Xitee1] - [#128858]) ([roomba docs])
+- Bump habluetooth to 3.6.0 ([@bdraco] - [#128815]) ([bluetooth docs])
+- Add audio feature sensors to Spotify ([@joostlek] - [#128785]) ([spotify docs]) (new-platform)
+- Improve entity cached attributes ([@emontnemery] - [#128876])
+- Use runtime_data for Swiss Public Transport ([@miaucl] - [#128369]) ([swiss_public_transport docs])
+- Add translations for Netatmo thermostat preset modes ([@piitaya] - [#128890]) ([netatmo docs]) (breaking-change)
+- Simplify Swiss public transport coordinator ([@miaucl] - [#128891]) ([swiss_public_transport docs])
+- Include Z-Wave JS lowSecurityReason in node added websocket message ([@MindFreeze] - [#128896]) ([zwave_js docs])
+- Remove dead code from concord232 ([@emontnemery] - [#128907]) ([concord232 docs])
+- Add reconfigure flow to ring integration ([@sdb9696] - [#128357]) ([ring docs])
+- Add update_percentage state attribute to update entity ([@emontnemery] - [#128877]) ([update docs]) (breaking-change)
+- Push real binary sensor states to state machine in tests ([@epenet] - [#128894]) ([logbook docs]) ([homekit docs]) ([google_pubsub docs]) ([template docs])
+- Use STATE_ON/STATE_OFF constants in template test ([@epenet] - [#128883]) ([template docs])
+- Bump pyopenweathermap to v0.2.1 ([@10100011] - [#128892]) ([openweathermap docs])
+- Add ecobee set_sensors_used_in_climate service ([@myztillx] - [#102871]) ([ecobee docs])
+- Add Airzone switch entities to zones ([@Noltari] - [#124562]) ([airzone docs]) (new-platform)
+- Add new QNAP QSW uptime timestamp sensor ([@Noltari] - [#122589]) ([qnap_qsw docs])
+- Remove explicit templating of persistent_notification service data ([@emontnemery] - [#128903]) ([persistent_notification docs])
+- Remaining addon management to aiohasupervisor ([@mdegat01] - [#128484]) ([mqtt docs]) ([hassio docs]) ([zwave_js docs]) ([matter docs]) ([homeassistant_hardware docs])
+- Add Airzone Cloud main zone mode select ([@Noltari] - [#125918]) ([airzone_cloud docs])
+- Add Airzone Cloud switch entities to zones ([@Noltari] - [#125917]) ([airzone_cloud docs]) (new-platform)
+- Add SIA alarm code ([@DurandAN] - [#127467]) ([sia docs])
+- Add floor heating device valve positions in Homematic IP Cloud ([@barryvdh] - [#122759]) ([homematicip_cloud docs])
+- Add fan `set_speed` support for Xiaomi Mi Air Purifier 3C ([@tr4nt0r] - [#126870]) ([xiaomi_miio docs])
+- Add config flow to local_file ([@gjohansson-ST] - [#125835]) ([local_file docs])
+- Add firmware update entity to IronOS integration ([@tr4nt0r] - [#123031]) ([iron_os docs]) (new-platform)
+- Deprecate entity_id template variable in camera services ([@emontnemery] - [#128592]) ([camera docs])
+- Add update_percentage property to update entity ([@emontnemery] - [#128908]) ([update docs])
+- Allow Trend title to be translated ([@gjohansson-ST] - [#128926]) ([trend docs])
+- Fix description placeholder in fibaro reauth ([@gjohansson-ST] - [#128925]) ([fibaro docs])
+- Allow Random title to be translated ([@gjohansson-ST] - [#128928]) ([random docs])
+- Bump holidays to 0.59 ([@gjohansson-ST] - [#128924]) ([workday docs]) ([holiday docs])
+- Remove explicit templating of telegram_bot service data ([@emontnemery] - [#128906]) ([telegram_bot docs])
+- Remove explicit templating of minio service data ([@emontnemery] - [#128905]) ([minio docs])
+- Remove explicit templating of velbus service data ([@emontnemery] - [#128904]) ([velbus docs])
+- Remove explicit templating of logbook service data ([@emontnemery] - [#128902]) ([logbook docs])
+- Allow Timer title to be translated ([@gjohansson-ST] - [#128927]) ([timer docs])
+- Fix description placeholder in brunt reauth ([@rappenze] - [#128933]) ([brunt docs])
+- Add subscription tier attribute to Twitch integration. ([@qwell] - [#128870]) ([twitch docs])
+- Add missing strings for mold indicator ([@rahulsamant37] - [#128205]) ([mold_indicator docs])
+- Drop not needed reauth strings in tplink ([@gjohansson-ST] - [#128937]) ([tplink docs])
+- Use new reauth helpers in unifi ([@epenet] - [#128837]) ([unifi docs])
+- Fix description placeholder in imap reauth ([@rappenze] - [#128940]) ([imap docs])
+- Implement new state property for alarm_control_panel which is using an enum ([@gjohansson-ST] - [#126283]) ([alarm_control_panel docs])
+- Fix description placeholder in transmission reauth ([@rappenze] - [#128938]) ([transmission docs])
+- Add motion detected binary_sensor for tplink ([@rytilahti] - [#127883]) ([tplink docs])
+- Expose tplink temperature sensor as measurement ([@rytilahti] - [#128640]) ([tplink docs])
+- Fix flaky update coordinator test ([@gjohansson-ST] - [#128943])
+- Bump PySwitchbot to 0.49.0 ([@bdraco] - [#128945]) ([switchbot docs])
+- Bump xiaomi-ble to 0.33.0 ([@bdraco] - [#128946]) ([xiaomi_ble docs])
+- Update astroid to 3.3.5 ([@cdce8p] - [#128948])
+- Bump yarl to 1.16.0 ([@bdraco] - [#128941])
+- Bump gcal_sync to 6.2.0 ([@allenporter] - [#128949]) ([google docs])
+- Bump orjson to 3.10.9 ([@bdraco] - [#128952])
+- Bump pySwitchbot to 0.50.1 ([@bdraco] - [#128953]) ([switchbot docs])
+- Add snapshot service to image entity ([@NickM-27] - [#110057]) ([image docs])
+- Add OSO Energy services ([@osohotwateriot] - [#118770]) ([osoenergy docs])
+- Change Stun server port to 80 ([@klejejs] - [#128879]) ([camera docs])
+- Fix google tasks todo docstrings ([@allenporter] - [#128978]) ([google_tasks docs])
+- Add support for fetching bindkey from Mi cloud ([@bdraco] - [#128394]) ([xiaomi_ble docs])
+- Fix zha test RuntimeWarnings ([@cdce8p] - [#128975]) ([zha docs])
+- Bump aiocomelit to 0.9.1 ([@chemelli74] - [#128977]) ([comelit docs])
+- Bump aiovodafone to 0.6.1 ([@chemelli74] - [#128976]) ([vodafone_station docs])
+- Bump PySwitchBot to 0.51.0 ([@bdraco] - [#128990]) ([switchbot docs])
+- Add limited template to at field for time triggers ([@Petro31] - [#126584]) ([homeassistant docs])
+- Update aioairzone-cloud to v0.6.8 ([@Noltari] - [#128992]) ([airzone_cloud docs])
+- Bump axis to v63 ([@swoga] - [#129005]) ([axis docs])
+- Bump python-roborock to 2.6.1 ([@Lash-L] - [#128804]) ([roborock docs])
+- Bump lektricowifi to 0.0.43 ([@Lektrico] - [#128979]) ([lektrico docs])
+- Use ConfigEntry.runtime_data in gardena_bluetooth ([@jpbede] - [#129000]) ([gardena_bluetooth docs])
+- Improve template docstring ([@epenet] - [#128967])
+- Fix step in presets for generic thermostat ([@gjohansson-ST] - [#128922]) ([generic_thermostat docs])
+- Expose scripts with no fields as entities ([@Shulyaka] - [#123061])
+- Fix FUNDING.yml to OHF ([@pvizeli] - [#129013])
+- Add Hassio HTTP logs/follow to allowed paths ([@wendevlin] - [#126606]) ([hassio docs])
+- Bump orjson to 3.10.10 ([@bdraco] - [#129015])
+- Adjust logging level in ModBus ([@crug80] - [#128980]) ([modbus docs])
+- Remove battery device class from bmw secondary sensor ([@zweckj] - [#128970]) ([bmw_connected_drive docs])
+- Refactor camera.webrtc.register_ice_server ([@emontnemery] - [#129024]) ([camera docs]) ([rtsp_to_webrtc docs])
+- Add go2rtc binary config to expose api only on localhost ([@edenhaus] - [#129025]) ([go2rtc docs])
+- Bump github/codeql-action from 3.26.13 to 3.27.0 ([@dependabot[bot]] - [#129019])
+- Powerview migrate scene to string unique_id ([@kingy444] - [#128131]) ([hunterdouglas_powerview docs])
+- Bump python bsblan version 0.6.4 ([@liudger] - [#128999]) ([bsblan docs])
+- Allow configuring WebRTC stun and turn servers ([@emontnemery] - [#128984]) ([camera docs])
+- Have statistics functions return a meaningful, non-none result even if only one value is available ([@unfug-at-github] - [#127305]) ([statistics docs])
+- Add switch platform to the Lektrico integration ([@Lektrico] - [#126721]) ([lektrico docs]) (new-platform)
+- Bump actions/cache from 4.1.1 to 4.1.2 ([@dependabot[bot]] - [#129018])
+- Remove deprecated channel views attribute from Twitch ([@qwell] - [#129008]) ([twitch docs])
+- Use runtime_data in balboa ([@epenet] - [#129035]) ([balboa docs])
+- Add `completed` to the wait variable when using triggers (`wait_for_trigger`) ([@jbergler] - [#123427])
+- Use runtime_data in bang_olufsen ([@epenet] - [#129037]) ([bang_olufsen docs])
+- Create tests for sense integration ([@kbickar] - [#128418]) ([sense docs])
+- Bump sensorpush-ble to 1.7.0 ([@bdraco] - [#128951]) ([sensorpush docs])
+- Fix calculation of attributes in group sensor ([@gjohansson-ST] - [#128601]) ([group docs])
+- Fix get_time_zone annotations in dt_util ([@Thomas55555] - [#129050])
+- Add 'select' to configure Schlage locks "Auto Lock Time" ([@mxr] - [#123758]) ([schlage docs])
+- Bump actions/checkout from 4.2.1 to 4.2.2 ([@dependabot[bot]] - [#129063])
+- Use fan mode when heat/cool is idle in homekit_controller ([@Xeio] - [#128618]) ([homekit_controller docs])
+- Remove bloomsky integration ([@epenet] - [#129073]) ([bloomsky docs]) (breaking-change)
+- Switch from pysuez to pysuezV2 in Suez Water ([@jb101010-2] - [#127113]) ([suez_water docs])
+- Add config flow to Onkyo ([@Nebula83] - [#117319]) ([onkyo docs]) (breaking-change)
+- Add config flow to Smarty ([@joostlek] - [#127540]) ([smarty docs])
+- Move core config functionality to its own module ([@emontnemery] - [#129065])
+- Use runtime_data in blebox ([@epenet] - [#129070]) ([blebox docs])
+- Use runtime_data in blink ([@epenet] - [#129072]) ([blink docs])
+- Add unique id and tests for Smarty ([@joostlek] - [#129078]) ([smarty docs])
+- Add tests for media_player to bluesound integration ([@LouisChrist] - [#125864]) ([bluesound docs])
+- Use runtime_data in bluemaestro ([@epenet] - [#129085]) ([bluemaestro docs])
+- Use runtime_data in blue_current ([@epenet] - [#129084]) ([blue_current docs])
+- Use runtime_data in buienradar ([@epenet] - [#129087]) ([buienradar docs])
+- Update pytest warnings filter ([@cdce8p] - [#129075])
+- Switch to using a fixture for evohome WaterHeater tests ([@zxdavb] - [#127701]) ([evohome docs])
+- Use shorthand attribute in template binary sensor ([@epenet] - [#128966]) ([template docs])
+- Fix update callback in Cambridge Audio test ([@noahhusby] - [#129092]) ([cambridge_audio docs])
+- Add Meter Pro support to SwitchBot ([@bdraco] - [#128991]) ([switchbot docs])
+- Use runtime_data in bsblan ([@epenet] - [#129089]) ([bsblan docs])
+- Reduce the number of API calls in Twitch integration ([@qwell] - [#128996]) ([twitch docs])
+- Add buttons to cast skills in Habitica integration ([@tr4nt0r] - [#126350]) ([habitica docs])
+- Simplify webmin tests to use snapshot_platform ([@autinerd] - [#127754]) ([webmin docs])
+- Add play media capability to Cambridge Audio ([@noahhusby] - [#129002]) ([cambridge_audio docs])
+- Bump ruff to 0.7.1 ([@autinerd] - [#129102])
+- Allow update entities to report progress as a float ([@emontnemery] - [#128930]) ([update docs])
+- Bump aioautomower to 2024.10.3 ([@Thomas55555] - [#128788]) ([husqvarna_automower docs])
+- Add coordinator to Smarty ([@joostlek] - [#129083]) ([smarty docs])
+- Fix null hass error in supervisor update entities ([@mdegat01] - [#129030]) ([hassio docs])
+- Add entity descriptions to Smarty Binary sensor ([@joostlek] - [#129110]) ([smarty docs])
+- Add missing state_class to sensors in solarlog ([@dontinelli] - [#128296]) ([solarlog docs])
+- Use webrtc-models package ([@edenhaus] - [#129032]) ([camera docs]) ([nest docs]) ([rtsp_to_webrtc docs])
+- Add typing for sense component ([@kbickar] - [#129119]) ([sense docs])
+- Bump actions/setup-python from 5.2.0 to 5.3.0 ([@dependabot[bot]] - [#129121])
+- Set up single coordinator for all config entries in IronOS ([@tr4nt0r] - [#129108]) ([iron_os docs])
+- Switch to using a fixture for evohome Climate tests (of zones) ([@zxdavb] - [#129100]) ([evohome docs])
+- Add entity picture for healing potion in Habitica ([@tr4nt0r] - [#129107]) ([habitica docs])
+- Refactor services setup in Habitica integration ([@tr4nt0r] - [#128186]) ([habitica docs])
+- Prevent duplicate WMS WebControl pro config entry creation ([@mback2k] - [#128315]) ([wmspro docs])
+- Resume adding Z-Wave device if the page is refreshed ([@MindFreeze] - [#129081]) ([zwave_js docs])
+- Add additional tests to Cambridge Audio ([@noahhusby] - [#128213]) ([cambridge_audio docs])
+- Remove go2rtc config flow ([@emontnemery] - [#129020]) ([go2rtc docs])
+- Add comment to Rflink battery sensor definition ([@epenet] - [#129131]) ([rflink docs])
+- Add support for Faucet services in HomeKit Controller ([@feisley] - [#129094]) ([homekit_controller docs])
+- Add switch entity to Cambridge Audio ([@noahhusby] - [#128530]) ([cambridge_audio docs]) (new-platform)
+- Move bluesound service registration to separate module ([@epenet] - [#129086]) ([bluesound docs])
+- Use ConfigEntry.runtime_data in govee_light_local ([@jpbede] - [#128998]) ([govee_light_local docs])
+- Use NumberSelector in p1_monitor config flow ([@jpbede] - [#128939]) ([p1_monitor docs])
+- Add energy consumption sensors for cooling in ViCare integration ([@CFenner] - [#127274]) ([vicare docs])
+- Add data streaming to Teslemetry ([@Bre77] - [#127559]) ([teslemetry docs])
+- Remove string literals from modbus component tests ([@crug80] - [#128899]) ([modbus docs])
+- Remove deprecated `retries` and `lazy_error_count` yaml option ([@jpbede] - [#128932]) ([modbus docs]) (breaking-change)
+- Migrate config entry in anova to remove devices from entry data ([@gjohansson-ST] - [#128934]) ([anova docs])
+- Fix go2rtc config schema ([@emontnemery] - [#129141]) ([go2rtc docs])
+- Add option to extract licenses [ci] ([@cdce8p] - [#129095])
+- Add entity descriptions to Smarty sensor ([@joostlek] - [#129111]) ([smarty docs])
+- Add base class to Smarty ([@joostlek] - [#129112]) ([smarty docs])
+- Vodafone Station typing ([@chemelli74] - [#129143]) ([vodafone_station docs])
+- Avoid creating Prometheus metrics for non-numeric states ([@knyar] - [#127262]) ([prometheus docs])
+- Bump aioswitcher to 4.2.0 ([@YogevBokobza] - [#129118]) ([switcher_kis docs])
+- Bump pymoncms library to version 0.1.1 ([@alexandrecuer] - [#129135]) ([emoncms docs])
+- Home connect light generalization and RGB support ([@Diegorro98] - [#126144]) ([home_connect docs])
+- Add opening closing state to fibaro cover ([@rappenze] - [#126958]) ([fibaro docs])
+- Add refoss em16 device model ([@ashionky] - [#126798]) ([refoss docs])
+- Cleanup hass.data default in airtouch5 ([@epenet] - [#129156]) ([airtouch5 docs])
+- Include go2rtc in default_config ([@emontnemery] - [#129144]) ([default_config docs]) ([go2rtc docs])
+- Bump aiostreammagic to 2.8.3 ([@noahhusby] - [#129113]) ([cambridge_audio docs])
+- Fix transition config storage in LCN light and scene platform ([@alengwenus] - [#127847]) ([lcn docs])
+- Add husqvarna automower ble integration ([@alistair23] - [#108326]) ([husqvarna_automower_ble docs]) (new-integration)
+- Update sense-energy to 0.13.2 ([@kbickar] - [#128670]) ([sense docs]) ([emulated_kasa docs])
+- Add `List access` sensor to Bring integration ([@tr4nt0r] - [#126844]) ([bring docs])
+- Add Intellifire cloud/local connectivity sensors ([@jeeftor] - [#127122]) ([intellifire docs])
+- Update aioopenexchangerates to 0.6.8 ([@cdce8p] - [#129162]) ([openexchangerates docs])
+- Add support for Mighty Mule MMS100 to Nice G.O. ([@IceBotYT] - [#127765]) ([nice_go docs])
+- Update pyxeoma to 1.4.2 ([@cdce8p] - [#129164])
+- Dynamic add/remove devices for solarlog ([@dontinelli] - [#128668]) ([solarlog docs])
+- Add Diegorro98 as Home Connect code owner ([@Diegorro98] - [#129169]) ([home_connect docs])
+- Bump aiostreammagic to 2.8.4 ([@noahhusby] - [#129166]) ([cambridge_audio docs])
+- Add "Albums" sensor to Lidarr ([@iz4c] - [#125631]) ([lidarr docs])
+- Update zeversolar to 0.3.2 ([@cdce8p] - [#129167]) ([zeversolar docs])
+- Door entity as enum sensor at Home Connect ([@Diegorro98] - [#126158]) ([home_connect docs])
+- Add light support to WMS WebControl pro ([@mback2k] - [#128308]) ([wmspro docs]) (new-platform)
+- Add all models to diagnostics for Cambridge Audio ([@noahhusby] - [#129157]) ([cambridge_audio docs])
+- Use TAP to activate Lutron scenes ([@cdheiser] - [#127899]) ([lutron docs])
+- Improve prometheus metric name sanitization ([@rcloran] - [#126967]) ([prometheus docs])
+- Update goslide-api to 0.7.0 ([@cdce8p] - [#129168]) ([slide docs])
+- Enforce strict typing for Cambridge Audio ([@noahhusby] - [#129004])
+- Remove category from Assist satellite entities ([@synesthesiam] - [#129172]) ([esphome docs]) ([voip docs]) ([wyoming docs])
+- Remove check for obsolete "rain_product_available" in meteo_france ([@Passific] - [#128533]) ([meteo_france docs])
+- Add more Vesync IDs for the Vital200S ([@bru73f0rc3] - [#127616]) ([vesync docs])
+- Update heatmiserV3 to 2.0.3 ([@cdce8p] - [#129175]) ([heatmiser docs])
+- Fix coffee maker device type name at applicances with programs list at Home Connect ([@Diegorro98] - [#128538]) ([home_connect docs])
+- Fix program switches unique ID at Home Connect ([@Diegorro98] - [#128397]) ([home_connect docs])
+- Add lock to switchbot_cloud ([@miterion] - [#115128]) ([switchbot_cloud docs]) (new-platform)
+- Add repeat media controls to Bang & Olufsen ([@mj23000] - [#128170]) ([bang_olufsen docs])
+- LinkPlay multiroom support ([@silamon] - [#127862]) ([linkplay docs])
+- Allow to set `entity picture` on mqtt entity platforms ([@jbouwh] - [#128404]) ([mqtt docs])
+- Use translated exceptions for Cambridge Audio ([@noahhusby] - [#129177]) ([cambridge_audio docs])
+- Add coordinators to Sense ([@kbickar] - [#129171]) ([sense docs])
+- Update aiooui to 0.1.7 ([@cdce8p] - [#129179]) ([nmap_tracker docs])
+- Fix service target devices by label ([@arturpragacz] - [#127229])
+- Update krakenex to 2.2.2 ([@cdce8p] - [#129185]) ([kraken docs])
+- Add media seek for sources other than Deezer for Bang & Olufsen ([@mj23000] - [#128661]) ([bang_olufsen docs])
+- Fix powerview entity unique id migration when the config entry unique id is missing ([@bdraco] - [#129188]) ([hunterdouglas_powerview docs])
+- Bump plugwise to v1.4.4 ([@bouwew] - [#129170]) ([plugwise docs])
+- Fix cambridge_audio RuntimeWarning during tests ([@cdce8p] - [#129191]) ([cambridge_audio docs])
+- Create a script service schema based on fields ([@balloob] - [#128622]) ([script docs])
+- Fix AsyncMock imports ([@cdce8p] - [#129192])
+- Update radios to 0.3.2 and pycountry to 24.6.1 ([@cdce8p] - [#129186]) ([radio_browser docs])
+- Update apple_weatherkit to 1.1.3 ([@cdce8p] - [#129193]) ([weatherkit docs])
+- Add support for Xiaomi Miio Standing Fan 2 (dmaker.fan.p18) ([@bieniu] - [#129160]) ([xiaomi_miio docs])
+- Bump lcn-frontend to 0.2.0 ([@alengwenus] - [#129061]) ([lcn docs])
+- Add JSON schema for manifest.json ([@autinerd] - [#128560])
+- Migrate Smarty to has entity name ([@joostlek] - [#129145]) ([smarty docs])
+- Move airthings coordinator to separate module ([@epenet] - [#129158]) ([airthings_ble docs])
+- Use runtime_data in aranet ([@epenet] - [#129155]) ([aranet docs])
+- Move brunt coordinator to separate module ([@epenet] - [#129090]) ([brunt docs])
+- Fix rainmachine update entities missing display_precision ([@bdraco] - [#129195]) ([rainmachine docs])
+- Ensure go2rtc server starts using posix_spawn/vfork ([@bdraco] - [#129196]) ([go2rtc docs])
+- Move core config class to core_config.py ([@emontnemery] - [#129163])
+- Bump anyio to 4.6.2.post1 ([@bdraco] - [#129199])
+- Add base entity to Spotify ([@joostlek] - [#128847]) ([spotify docs])
+- Fix unused snapshots not triggering failure in CI ([@epenet] - [#128162])
+- Remove support for live recorder data migration of context ids ([@emontnemery] - [#125309]) ([recorder docs])
+- Allow re-discovery of mqtt integration config payloads ([@jbouwh] - [#127362]) ([mqtt docs])
+- Bump lacrosse_view to 1.0.3 ([@IceBotYT] - [#129174]) ([lacrosse_view docs])
+- Fix race condition in statistics that created spikes ([@unfug-at-github] - [#129066]) ([statistics docs])
+- Refactor licenses check ([@cdce8p] - [#129194])
+- Make minor fixes / doc tweaks to evohome's WaterHeater tests ([@zxdavb] - [#129138]) ([evohome docs])
+- Update gardena-bluetooth to 1.4.4 ([@cdce8p] - [#129202]) ([gardena_bluetooth docs])
+- Update zeroconf to 0.136.0 ([@cdce8p] - [#129204]) ([zeroconf docs])
+- Add Time platform with alarm clock to Home Connect ([@Diegorro98] - [#126155]) ([home_connect docs]) (new-platform)
+- Bump pysuezV2 to 0.2.2 ([@jb101010-2] - [#129205]) ([suez_water docs])
+- Home connect number platform with temperature set points entities ([@Diegorro98] - [#126145]) ([home_connect docs]) (new-platform)
+- Bump fyta_cli to 0.6.10 ([@dontinelli] - [#129220]) ([fyta docs])
+- Add logger for fyta library in manifest.json ([@dontinelli] - [#129218]) ([fyta docs])
+- Remove remnants of removed list_events action ([@joostlek] - [#129210]) ([calendar docs])
+- Update aioairzone-cloud to v0.6.9 ([@Noltari] - [#129217]) ([airzone_cloud docs])
+- Add more spotify sensors ([@joostlek] - [#129215]) ([spotify docs])
+- Add tests of evohome integration-specific services ([@zxdavb] - [#129206]) ([evohome docs])
+- Fix evohome failing to start with `'NoneType' object has no attribute 'get'` ([@zxdavb] - [#129222]) ([evohome docs])
+- Fix setting brightness to 0 in HomeKit when the On characteristic is not sent ([@bdraco] - [#129201]) ([homekit docs])
+- Add and remove plants (i.e. devices) dynamically in fyta ([@dontinelli] - [#129221]) ([fyta docs])
+- Add dishwasher salt and rinse aid nearly empty sensors ([@boergegrunicke] - [#127762]) ([home_connect docs])
+- Revert "Fix unused snapshots not triggering failure in CI" ([@frenck] - [#129223])
+- Fix flaky gardena_ble test ([@gjohansson-ST] - [#129225]) ([gardena_bluetooth docs])
+- Update govee-local-api to 1.5.3 ([@Galorhallen] - [#129226]) ([govee_light_local docs])
+- Add tests for todo platform of Habitica integration ([@tr4nt0r] - [#128199]) ([habitica docs])
+- Fix zha tests for Python 3.13 ([@cdce8p] - [#129241]) ([zha docs])
+- Update aioairzone-cloud to v0.6.10 ([@Noltari] - [#129227]) ([airzone_cloud docs])
+- Add new ZHA Inovelli blue switch strings ([@tleydxdy] - [#127124]) ([zha docs])
+- Properly validate License-Expression data for licenses check ([@cdce8p] - [#129216])
+- Fix `conntected_to` attribute of device tracker entities in a AVM Fritz mesh setup ([@mib1185] - [#129259]) ([fritz docs])
+- Update uptime deviation interval for Vodafone Station ([@chemelli74] - [#129257]) ([vodafone_station docs])
+- Fix ESPHome media proxy exit criteria ([@emontnemery] - [#129267]) ([esphome docs])
+- Mark PEGELONLINE entries as service ([@mib1185] - [#129278]) ([pegel_online docs])
+- Add diagnostics platform to PEGELONLINE ([@mib1185] - [#129279]) ([pegel_online docs])
+- Add battery binary sensor to Yale Smart Alarm ([@gjohansson-ST] - [#129277]) ([yale_smart_alarm docs])
+- Lazy discover for dmaker.fan.1c ([@nicoalonsop] - [#129297]) ([xiaomi_miio docs])
+- Omit declined Google Calendar events ([@joelhawksley] - [#128900]) ([google docs]) (breaking-change)
+- Use async_start_reauth in blink ([@gjohansson-ST] - [#129281]) ([blink docs])
+- Use async_start_reauth in xiaomi_miio ([@gjohansson-ST] - [#129282]) ([xiaomi_miio docs])
+- Use async_start_reauth helper in broadlink ([@epenet] - [#129308]) ([broadlink docs])
+- Use start_reauth_flow in apple_tv test ([@gjohansson-ST] - [#129313]) ([apple_tv docs])
+- Ensure config entry is added to hass in reauth/reconfigure tests ([@epenet] - [#129315]) ([azure_devops docs])
+- Use start_reauth_flow in permobil tests ([@epenet] - [#129314]) ([permobil docs])
+- Use start_reauth_flow in system_bridge tests ([@epenet] - [#129318]) ([system_bridge docs])
+- Use reauth_confirm in ovo_energy ([@epenet] - [#129306]) ([ovo_energy docs])
+- Bump velbusaio to 2024.10.0 ([@cereal2nd] - [#129305]) ([velbus docs])
+- Convert WebSocket messages to bytes before passing them to `send_message` ([@bdraco] - [#129300]) ([websocket_api docs])
+- Assert keys exist in Jewish calendar tests ([@tsvi] - [#129295]) ([jewish_calendar docs])
+- Add reconfigure flow to Sensibo ([@gjohansson-ST] - [#129280]) ([sensibo docs])
+- Add shuffle media controls to Bang & Olufsen ([@mj23000] - [#129325]) ([bang_olufsen docs])
+- React to state report events to increase sample size of statistics ([@unfug-at-github] - [#129211]) ([statistics docs])
+- Add async webrtc offer support ([@edenhaus] - [#127981]) ([camera docs]) ([websocket_api docs]) ([go2rtc docs])
+- Convert async_get_webrtc_client_configuration to a callback ([@edenhaus] - [#129329]) ([camera docs]) ([nest docs])
+- Bump ZHA to 0.0.36 ([@TheJulianJES] - [#129247]) ([zha docs])
+- Bump pychromecast to 14.0.5 ([@emontnemery] - [#129251]) ([cast docs])
+- Fix CI by running gen_requirements_all.py ([@edenhaus] - [#129339])
+- Hassio logs boots ([@wendevlin] - [#129151]) ([hassio docs])
+- Add ServiceValidationError to Home Connect ([@Diegorro98] - [#129309]) ([home_connect docs])
+- Remove media player shuffle check from Cambridge Audio ([@noahhusby] - [#129235]) ([cambridge_audio docs])
+- Add switcher s12 support ([@YogevBokobza] - [#127277]) ([switcher_kis docs])
+- Fix go2rtc tests ([@edenhaus] - [#129342]) ([go2rtc docs])
+- Palazzetti integration ([@dotvav] - [#128259]) ([palazzetti docs]) (new-integration)
+- Add LG ThinQ integration ([@LG-ThinQ-Integration] - [#129299]) ([lg_thinq docs]) (new-integration)
+- Add LG ThinQ to LG brand ([@joostlek] - [#129346])
+- Fix spelling mistake in notify ([@dontinelli] - [#129349]) ([notify docs])
+- Fix calculation of attributes in statistics ([@gjohansson-ST] - [#128475]) ([statistics docs])
+- Use shorthand attribute for available in statistics ([@gjohansson-ST] - [#129354]) ([statistics docs])
+- Allow a fixed number of ffmpeg proxy conversions per device ([@synesthesiam] - [#129246]) ([esphome docs])
+- Use shorthand attribute for native value in statistics ([@gjohansson-ST] - [#129355]) ([statistics docs])
+- Clarify event tracking in docstrings for track_state_change/report ([@gjohansson-ST] - [#129338])
+- Bump yarl to 1.17.0 ([@bdraco] - [#129358])
+- Use URL validation schema for mqtt update `entity_picture` and remove custom implementation ([@jbouwh] - [#129360]) ([mqtt docs])
+- Fix flaky DHCP tests in CI ([@epenet] - [#129327]) ([dhcp docs])
+- Update nest to use the async WebRTC APIs ([@allenporter] - [#129369]) ([nest docs])
+- Bump go2rtc binary to 1.9.5 ([@edenhaus] - [#129371])
+- Bump uv to 0.4.28 ([@edenhaus] - [#129372])
+- Enable strict typing for go2rtc ([@edenhaus] - [#129374])
+- Bump webrtc-models to 0.1.0 ([@edenhaus] - [#129373])
+- Run postgres job on ubuntu 24.04 [ci] ([@cdce8p] - [#129381])
+- Fix mariadb recorder tests for Python 3.13 ([@cdce8p] - [#129303]) ([recorder docs])
+- Bump go2rtc-client to 0.0.1b2 ([@edenhaus] - [#129395]) ([go2rtc docs])
+- Use device name for matter entities ([@piitaya] - [#127798]) ([matter docs])
+- Report update_percentage in matter update entity ([@emontnemery] - [#129380]) ([matter docs])
+- Bump thinqconnect to 0.9.9 ([@LG-ThinQ-Integration] - [#129394]) ([lg_thinq docs])
+- Bump protobuf to 5.28.3 ([@bdraco] - [#129370])
+- Go2rtc server start is waiting until we got the api listen stdout line ([@edenhaus] - [#129391]) ([go2rtc docs])
+- Clean up SensorRestore in Tesla Fleet ([@Bre77] - [#129116]) ([tesla_fleet docs])
+- Fix hassfest docker image by pinning Python 3.12 ([@edenhaus] - [#129403])
+- Fix typo in cv.url_no_path ([@emontnemery] - [#129402])
+- Add and remove entities during runtime in Husqvarna Automower ([@Thomas55555] - [#127878]) ([husqvarna_automower docs])
+- Added deprecation to binary door sensor at Home Connect ([@Diegorro98] - [#129245]) ([home_connect docs])
+- Bump habitipy to 0.3.3 ([@tr4nt0r] - [#129322]) ([habitica docs])
+- Update Nest configuration flow to handle upcoming changes to Pub/Sub provisioning ([@allenporter] - [#128909]) ([nest docs])
+- Use new generic notation in devolo_home_network ([@Shutgun] - [#129080]) ([devolo_home_network docs])
+- Add test for extended data in setup for solarlog ([@dontinelli] - [#129345]) ([solarlog docs])
+- Bump aiohasupervisor to 0.2.0 ([@mdegat01] - [#129348]) ([hassio docs])
+- Create repair asking user to remove duplicate config entries ([@emontnemery] - [#127948]) ([homeassistant docs])
+- Change Tibber request spread ([@Danielhiversen] - [#129276]) ([tibber docs])
+- Add smart standby functionality to lamarzocco ([@zweckj] - [#129333]) ([lamarzocco docs])
+- Add own coordinator to devolo_home_network ([@Shutgun] - [#128159]) ([devolo_home_network docs])
+- Add support for Lutron HWQS Proc discovery ([@eclair4151] - [#129274]) ([lutron_caseta docs])
+- Add number entities to set target temp for cooling programs in ViCare ([@CFenner] - [#127267]) ([vicare docs])
+- Refactor evohome tests as per best practice ([@zxdavb] - [#129229]) ([evohome docs])
+- Cleanup select mappings in lamarzocco ([@zweckj] - [#129407]) ([lamarzocco docs])
+- Fix evohome HVAC modes for VisionPro Wifi systems ([@zxdavb] - [#129161]) ([evohome docs])
+- Fetch power off state for Home Connect appliances' power switch ([@Diegorro98] - [#129289]) ([home_connect docs])
+- Add tests for switch platform of Habitica integration ([@tr4nt0r] - [#128204]) ([habitica docs])
+- Fix visualization by inverting open/closed state of patio awnings ([@mback2k] - [#128079]) ([wmspro docs]) (breaking-change)
+- Fix bosch shc multi controller support ([@Vendetta01] - [#127844]) ([bosch_shc docs])
+- Refactor squeezebox integration media_player to use coordinator ([@rajlaud] - [#127695]) ([squeezebox docs])
+- Fix available conditions for chilling frost and stealth in Habitica ([@tr4nt0r] - [#129234]) ([habitica docs])
+- Continue migration of methods from handler to aiohasupervisor ([@mdegat01] - [#129183]) ([mqtt docs]) ([hassio docs]) ([zwave_js docs]) ([matter docs])
+- Add timer sensor entity which has rw hour and read-only minute ([@LG-ThinQ-Integration] - [#129413]) ([lg_thinq docs])
+- Add min, max for WATER_HEATER device ([@LG-ThinQ-Integration] - [#129414]) ([lg_thinq docs])
+- Set config_entry explicitely in scrape coordinator ([@epenet] - [#129416]) ([scrape docs])
+- Set config_entry explicitly in switcher kis coordinator ([@epenet] - [#129419]) ([switcher_kis docs])
+- Allow fetching HA url to display it in the network settings ([@MindFreeze] - [#128432]) ([network docs])
+- Set config_entry explicitly in history stats coordinator ([@epenet] - [#129417]) ([history_stats docs])
+- Fix typo in nest string ([@Betacart] - [#129423]) ([nest docs])
+- Remove Mobile App config entries, when the related user gets removed ([@mib1185] - [#129268]) ([mobile_app docs])
+- Fix go2rtc no audio issue ([@edenhaus] - [#129428]) ([go2rtc docs])
+- Add Smarty versions to device ([@marcodutto] - [#129418]) ([smarty docs])
+- Fix bad falsy-check in homeassistant.set_location service ([@emontnemery] - [#129389]) ([homeassistant docs])
+- Add support for vacuum cleaners to the Matter integration ([@marcelveldt] - [#129420]) ([matter docs]) (new-platform)
+- Initialise coordinator with config_entry in components (part 1) ([@epenet] - [#128080])
+- Refactor esphome ffmpeg proxy ([@emontnemery] - [#129330]) ([esphome docs])
+- Bump hass-nabucasa to 0.83.0 ([@klejejs] - [#129422]) ([cloud docs])
+- Disable pylint for DevoloScannerEntity ([@Shutgun] - [#129429]) ([devolo_home_network docs])
+- Bump go2rtc to 1.9.6 ([@edenhaus] - [#129430])
+- Sort some code in core_config ([@emontnemery] - [#129388])
+- Add Sense Devices for entities ([@kbickar] - [#129182]) ([sense docs])
+- Report update_percentage in teslemetry update entity ([@emontnemery] - [#129384]) ([teslemetry docs])
+- Report update_percentage in tessie update entity ([@emontnemery] - [#129385]) ([tessie docs])
+- Report update_percentage in smlight update entity ([@emontnemery] - [#129383]) ([smlight docs])
+- Report update_percentage in esphome update entity ([@emontnemery] - [#129376]) ([esphome docs])
+- Suppress update entity's update_percentage when update not in progress ([@emontnemery] - [#129397]) ([update docs])
+- Unexport unavailable metrics in Prometheus ([@agoode] - [#125492]) ([prometheus docs])
+- Fix devolo_home_network DataCoordinator arguments ([@cdce8p] - [#129441]) ([devolo_home_network docs])
+- Move validation routine out of wallbox coordinator ([@epenet] - [#129415]) ([wallbox docs])
+- Remove duplicated entity_picture config from MQTT update entity ([@emontnemery] - [#129390]) ([mqtt docs])
+- Report update_percentage in zwave_js update entity ([@emontnemery] - [#129386]) ([zwave_js docs])
+- Add tests for buttons in Habitica integration ([@tr4nt0r] - [#128194]) ([habitica docs])
+- Improve mapping of myuplink entities ([@astrandb] - [#129137]) ([myuplink docs])
+- Bump tplink python-kasa dependency to 0.7.6 ([@sdb9696] - [#129444]) ([tplink docs])
+- Add sensors for energy trends for devices ([@kbickar] - [#129439]) ([sense docs])
+- Use coordinator async_setup in iotty ([@gjohansson-ST] - [#129449]) ([iotty docs])
+- Use coordinator async_setup in dwd weather ([@gjohansson-ST] - [#129448]) ([dwd_weather_warnings docs])
+- Add switch entities for LCN key-locks and regulator-locks ([@alengwenus] - [#127731]) ([lcn docs])
+- Add addon support to Home Assistant Analytics Insights ([@mib1185] - [#128806]) ([analytics_insights docs])
+- Change Tibber get_prices action to return datetimes as str ([@functionpointer] - [#123901]) ([tibber docs]) (breaking-change)
+- Allow set ScreenCap interval as option for AndroidTV ([@ollo69] - [#124470]) ([androidtv docs])
+- Remove LCN translation placeholder key ([@alengwenus] - [#129452]) ([lcn docs])
+- Add cloud ICE server registration ([@klejejs] - [#128942]) ([cloud docs])
+- Bump aioshelly to 12.0.1 ([@thecode] - [#129453]) ([shelly docs])
+- Bump DoorBirdPy to 3.0.7 ([@bdraco] - [#129114]) ([doorbird docs])
+- Use new try_connect_all discover command in tplink config flow ([@sdb9696] - [#128994]) ([tplink docs])
+- Add CameraCapabilities ([@edenhaus] - [#128455]) ([camera docs])
+- Correct condition signalling non-live DB migration is in progress ([@emontnemery] - [#129464]) ([recorder docs])
+- Add calendar platform to Habitica integration ([@tr4nt0r] - [#128248]) ([habitica docs]) (new-platform)
+- Bump opower to 0.8.6 ([@kaydenvanrijn] - [#129454]) ([opower docs])
+- Allow smlight device to reboot before updating firmware data coordinator ([@tl-sl] - [#127442]) ([smlight docs])
+- Improve demo integration's update entity ([@emontnemery] - [#129401]) ([demo docs])
+- Remove useless code from esphome ffmpeg_proxy tests ([@emontnemery] - [#129481]) ([esphome docs])
+- Add entity_category to avoid header_toggle for switch ([@LG-ThinQ-Integration] - [#129477]) ([lg_thinq docs])
+- Deduplicate wav creation in esphome ffmpeg_proxy tests ([@emontnemery] - [#129484]) ([esphome docs])
+- Bump pydeako to 0.5.4 ([@Balake] - [#129475]) ([deako docs])
+- Add translation_key in LG ThinQ ([@LG-ThinQ-Integration] - [#129476]) ([lg_thinq docs])
+- Bump go2rtc-client to 0.0.1b3 ([@edenhaus] - [#129486]) ([go2rtc docs])
+- Fix nexia emergency heat migration ([@bdraco] - [#129365]) ([nexia docs])
+- Update PyViCare dependency to 2.35.0 ([@CFenner] - [#129038]) ([vicare docs])
+- Bump automower-ble to 0.2.0 ([@alistair23] - [#129473]) ([husqvarna_automower_ble docs])
+- Remove hassio from ALLOWED_USED_COMPONENTS and move some functions to helper ([@edenhaus] - [#127228])
+- Bump aioswitcher to 4.4.0 ([@YogevBokobza] - [#129489]) ([switcher_kis docs])
+- Bump reolink_aio to 0.10.1 ([@starkillerOG] - [#129493]) ([reolink docs])
+- Fix webrtc provider interface and tests ([@MartinHjelmare] - [#129488]) ([camera docs]) ([go2rtc docs])
+- Add config entry to go2rtc ([@emontnemery] - [#129436]) ([go2rtc docs])
+- Improve shutdown of esphome ffmpeg proxy ([@emontnemery] - [#129326]) ([esphome docs])
+- Create repair issue for legacy webrtc provider ([@MartinHjelmare] - [#129334]) ([camera docs]) ([go2rtc docs])
+- Refresh Nest WebRTC streams before expiration ([@allenporter] - [#129478]) ([nest docs])
+- Add audio output select to Cambridge Audio ([@noahhusby] - [#129366]) ([cambridge_audio docs])
+- Add reconfigure step to Onkyo config flow ([@arturpragacz] - [#129088]) ([onkyo docs])
+- Reolink add TCP push event connection as primary method ([@starkillerOG] - [#129490]) ([reolink docs])
+- Test discovery subscriptions not done when discovery is disabled ([@jbouwh] - [#129458]) ([mqtt docs])
+- Pass config_entry explicitly to coordinator in tedee ([@zweckj] - [#129432]) ([tedee docs])
+- Explicitly pass config_entry to coordinator in lamarzocco ([@zweckj] - [#129434]) ([lamarzocco docs])
+- Change type of the config_entry in coordinator in tedee ([@zweckj] - [#129502]) ([tedee docs])
+- Use common translation strings for Habitica ([@tr4nt0r] - [#129498]) ([habitica docs])
+- Add musicassistant integration ([@jozefKruszynski] - [#128919]) ([mass docs]) (new-integration)
+- Add Stun server with port 3478 ([@klejejs] - [#129501]) ([camera docs])
+- Remove unused snapshots from Habitica ([@tr4nt0r] - [#129499]) ([habitica docs])
+- Bump intents to 2024.10.30 ([@synesthesiam] - [#129505]) ([conversation docs])
+- Allow MQTT device based auto discovery ([@jbouwh] - [#118757]) ([mqtt docs])
+- Add progress support to MQTT update platform ([@jbouwh] - [#129468]) ([mqtt docs])
+- Update frontend to 20241030.0 ([@piitaya] - [#129508]) ([frontend docs])
+- Bump ZHA dependencies ([@puddly] - [#129510]) ([zha docs])
+- Add name to description placeholders automatically for reauth flows ([@gjohansson-ST] - [#129232])
+
+[#102871]: https://github.com/home-assistant/core/pull/102871
+[#108171]: https://github.com/home-assistant/core/pull/108171
+[#108326]: https://github.com/home-assistant/core/pull/108326
+[#110057]: https://github.com/home-assistant/core/pull/110057
+[#113849]: https://github.com/home-assistant/core/pull/113849
+[#115128]: https://github.com/home-assistant/core/pull/115128
+[#117319]: https://github.com/home-assistant/core/pull/117319
+[#117657]: https://github.com/home-assistant/core/pull/117657
+[#117955]: https://github.com/home-assistant/core/pull/117955
+[#118757]: https://github.com/home-assistant/core/pull/118757
+[#118770]: https://github.com/home-assistant/core/pull/118770
+[#119203]: https://github.com/home-assistant/core/pull/119203
+[#121466]: https://github.com/home-assistant/core/pull/121466
+[#121970]: https://github.com/home-assistant/core/pull/121970
+[#122330]: https://github.com/home-assistant/core/pull/122330
+[#122589]: https://github.com/home-assistant/core/pull/122589
+[#122590]: https://github.com/home-assistant/core/pull/122590
+[#122759]: https://github.com/home-assistant/core/pull/122759
+[#123031]: https://github.com/home-assistant/core/pull/123031
+[#123061]: https://github.com/home-assistant/core/pull/123061
+[#123427]: https://github.com/home-assistant/core/pull/123427
+[#123444]: https://github.com/home-assistant/core/pull/123444
+[#123758]: https://github.com/home-assistant/core/pull/123758
+[#123901]: https://github.com/home-assistant/core/pull/123901
+[#124282]: https://github.com/home-assistant/core/pull/124282
+[#124373]: https://github.com/home-assistant/core/pull/124373
+[#124410]: https://github.com/home-assistant/core/pull/124410
+[#124470]: https://github.com/home-assistant/core/pull/124470
+[#124562]: https://github.com/home-assistant/core/pull/124562
+[#124723]: https://github.com/home-assistant/core/pull/124723
+[#124936]: https://github.com/home-assistant/core/pull/124936
+[#125051]: https://github.com/home-assistant/core/pull/125051
+[#125097]: https://github.com/home-assistant/core/pull/125097
+[#125243]: https://github.com/home-assistant/core/pull/125243
+[#125282]: https://github.com/home-assistant/core/pull/125282
+[#125307]: https://github.com/home-assistant/core/pull/125307
+[#125309]: https://github.com/home-assistant/core/pull/125309
+[#125388]: https://github.com/home-assistant/core/pull/125388
+[#125472]: https://github.com/home-assistant/core/pull/125472
+[#125492]: https://github.com/home-assistant/core/pull/125492
+[#125530]: https://github.com/home-assistant/core/pull/125530
+[#125631]: https://github.com/home-assistant/core/pull/125631
+[#125822]: https://github.com/home-assistant/core/pull/125822
+[#125835]: https://github.com/home-assistant/core/pull/125835
+[#125864]: https://github.com/home-assistant/core/pull/125864
+[#125913]: https://github.com/home-assistant/core/pull/125913
+[#125917]: https://github.com/home-assistant/core/pull/125917
+[#125918]: https://github.com/home-assistant/core/pull/125918
+[#126044]: https://github.com/home-assistant/core/pull/126044
+[#126081]: https://github.com/home-assistant/core/pull/126081
+[#126143]: https://github.com/home-assistant/core/pull/126143
+[#126144]: https://github.com/home-assistant/core/pull/126144
+[#126145]: https://github.com/home-assistant/core/pull/126145
+[#126155]: https://github.com/home-assistant/core/pull/126155
+[#126158]: https://github.com/home-assistant/core/pull/126158
+[#126268]: https://github.com/home-assistant/core/pull/126268
+[#126283]: https://github.com/home-assistant/core/pull/126283
+[#126291]: https://github.com/home-assistant/core/pull/126291
+[#126350]: https://github.com/home-assistant/core/pull/126350
+[#126402]: https://github.com/home-assistant/core/pull/126402
+[#126438]: https://github.com/home-assistant/core/pull/126438
+[#126439]: https://github.com/home-assistant/core/pull/126439
+[#126445]: https://github.com/home-assistant/core/pull/126445
+[#126461]: https://github.com/home-assistant/core/pull/126461
+[#126570]: https://github.com/home-assistant/core/pull/126570
+[#126584]: https://github.com/home-assistant/core/pull/126584
+[#126606]: https://github.com/home-assistant/core/pull/126606
+[#126611]: https://github.com/home-assistant/core/pull/126611
+[#126656]: https://github.com/home-assistant/core/pull/126656
+[#126661]: https://github.com/home-assistant/core/pull/126661
+[#126673]: https://github.com/home-assistant/core/pull/126673
+[#126679]: https://github.com/home-assistant/core/pull/126679
+[#126681]: https://github.com/home-assistant/core/pull/126681
+[#126689]: https://github.com/home-assistant/core/pull/126689
+[#126707]: https://github.com/home-assistant/core/pull/126707
+[#126721]: https://github.com/home-assistant/core/pull/126721
+[#126729]: https://github.com/home-assistant/core/pull/126729
+[#126733]: https://github.com/home-assistant/core/pull/126733
+[#126735]: https://github.com/home-assistant/core/pull/126735
+[#126737]: https://github.com/home-assistant/core/pull/126737
+[#126739]: https://github.com/home-assistant/core/pull/126739
+[#126741]: https://github.com/home-assistant/core/pull/126741
+[#126747]: https://github.com/home-assistant/core/pull/126747
+[#126759]: https://github.com/home-assistant/core/pull/126759
+[#126760]: https://github.com/home-assistant/core/pull/126760
+[#126761]: https://github.com/home-assistant/core/pull/126761
+[#126773]: https://github.com/home-assistant/core/pull/126773
+[#126776]: https://github.com/home-assistant/core/pull/126776
+[#126779]: https://github.com/home-assistant/core/pull/126779
+[#126780]: https://github.com/home-assistant/core/pull/126780
+[#126781]: https://github.com/home-assistant/core/pull/126781
+[#126798]: https://github.com/home-assistant/core/pull/126798
+[#126801]: https://github.com/home-assistant/core/pull/126801
+[#126802]: https://github.com/home-assistant/core/pull/126802
+[#126803]: https://github.com/home-assistant/core/pull/126803
+[#126804]: https://github.com/home-assistant/core/pull/126804
+[#126805]: https://github.com/home-assistant/core/pull/126805
+[#126810]: https://github.com/home-assistant/core/pull/126810
+[#126812]: https://github.com/home-assistant/core/pull/126812
+[#126818]: https://github.com/home-assistant/core/pull/126818
+[#126821]: https://github.com/home-assistant/core/pull/126821
+[#126822]: https://github.com/home-assistant/core/pull/126822
+[#126842]: https://github.com/home-assistant/core/pull/126842
+[#126844]: https://github.com/home-assistant/core/pull/126844
+[#126853]: https://github.com/home-assistant/core/pull/126853
+[#126854]: https://github.com/home-assistant/core/pull/126854
+[#126858]: https://github.com/home-assistant/core/pull/126858
+[#126863]: https://github.com/home-assistant/core/pull/126863
+[#126870]: https://github.com/home-assistant/core/pull/126870
+[#126881]: https://github.com/home-assistant/core/pull/126881
+[#126887]: https://github.com/home-assistant/core/pull/126887
+[#126888]: https://github.com/home-assistant/core/pull/126888
+[#126890]: https://github.com/home-assistant/core/pull/126890
+[#126891]: https://github.com/home-assistant/core/pull/126891
+[#126892]: https://github.com/home-assistant/core/pull/126892
+[#126894]: https://github.com/home-assistant/core/pull/126894
+[#126895]: https://github.com/home-assistant/core/pull/126895
+[#126896]: https://github.com/home-assistant/core/pull/126896
+[#126897]: https://github.com/home-assistant/core/pull/126897
+[#126898]: https://github.com/home-assistant/core/pull/126898
+[#126899]: https://github.com/home-assistant/core/pull/126899
+[#126905]: https://github.com/home-assistant/core/pull/126905
+[#126908]: https://github.com/home-assistant/core/pull/126908
+[#126915]: https://github.com/home-assistant/core/pull/126915
+[#126917]: https://github.com/home-assistant/core/pull/126917
+[#126925]: https://github.com/home-assistant/core/pull/126925
+[#126931]: https://github.com/home-assistant/core/pull/126931
+[#126936]: https://github.com/home-assistant/core/pull/126936
+[#126941]: https://github.com/home-assistant/core/pull/126941
+[#126945]: https://github.com/home-assistant/core/pull/126945
+[#126947]: https://github.com/home-assistant/core/pull/126947
+[#126950]: https://github.com/home-assistant/core/pull/126950
+[#126951]: https://github.com/home-assistant/core/pull/126951
+[#126952]: https://github.com/home-assistant/core/pull/126952
+[#126953]: https://github.com/home-assistant/core/pull/126953
+[#126956]: https://github.com/home-assistant/core/pull/126956
+[#126958]: https://github.com/home-assistant/core/pull/126958
+[#126959]: https://github.com/home-assistant/core/pull/126959
+[#126963]: https://github.com/home-assistant/core/pull/126963
+[#126964]: https://github.com/home-assistant/core/pull/126964
+[#126966]: https://github.com/home-assistant/core/pull/126966
+[#126967]: https://github.com/home-assistant/core/pull/126967
+[#126971]: https://github.com/home-assistant/core/pull/126971
+[#126989]: https://github.com/home-assistant/core/pull/126989
+[#126992]: https://github.com/home-assistant/core/pull/126992
+[#126995]: https://github.com/home-assistant/core/pull/126995
+[#126999]: https://github.com/home-assistant/core/pull/126999
+[#127000]: https://github.com/home-assistant/core/pull/127000
+[#127005]: https://github.com/home-assistant/core/pull/127005
+[#127006]: https://github.com/home-assistant/core/pull/127006
+[#127016]: https://github.com/home-assistant/core/pull/127016
+[#127022]: https://github.com/home-assistant/core/pull/127022
+[#127026]: https://github.com/home-assistant/core/pull/127026
+[#127038]: https://github.com/home-assistant/core/pull/127038
+[#127042]: https://github.com/home-assistant/core/pull/127042
+[#127043]: https://github.com/home-assistant/core/pull/127043
+[#127044]: https://github.com/home-assistant/core/pull/127044
+[#127069]: https://github.com/home-assistant/core/pull/127069
+[#127070]: https://github.com/home-assistant/core/pull/127070
+[#127071]: https://github.com/home-assistant/core/pull/127071
+[#127073]: https://github.com/home-assistant/core/pull/127073
+[#127075]: https://github.com/home-assistant/core/pull/127075
+[#127077]: https://github.com/home-assistant/core/pull/127077
+[#127078]: https://github.com/home-assistant/core/pull/127078
+[#127079]: https://github.com/home-assistant/core/pull/127079
+[#127080]: https://github.com/home-assistant/core/pull/127080
+[#127081]: https://github.com/home-assistant/core/pull/127081
+[#127082]: https://github.com/home-assistant/core/pull/127082
+[#127083]: https://github.com/home-assistant/core/pull/127083
+[#127084]: https://github.com/home-assistant/core/pull/127084
+[#127086]: https://github.com/home-assistant/core/pull/127086
+[#127087]: https://github.com/home-assistant/core/pull/127087
+[#127088]: https://github.com/home-assistant/core/pull/127088
+[#127089]: https://github.com/home-assistant/core/pull/127089
+[#127090]: https://github.com/home-assistant/core/pull/127090
+[#127093]: https://github.com/home-assistant/core/pull/127093
+[#127094]: https://github.com/home-assistant/core/pull/127094
+[#127098]: https://github.com/home-assistant/core/pull/127098
+[#127100]: https://github.com/home-assistant/core/pull/127100
+[#127101]: https://github.com/home-assistant/core/pull/127101
+[#127104]: https://github.com/home-assistant/core/pull/127104
+[#127105]: https://github.com/home-assistant/core/pull/127105
+[#127106]: https://github.com/home-assistant/core/pull/127106
+[#127107]: https://github.com/home-assistant/core/pull/127107
+[#127108]: https://github.com/home-assistant/core/pull/127108
+[#127110]: https://github.com/home-assistant/core/pull/127110
+[#127111]: https://github.com/home-assistant/core/pull/127111
+[#127112]: https://github.com/home-assistant/core/pull/127112
+[#127113]: https://github.com/home-assistant/core/pull/127113
+[#127115]: https://github.com/home-assistant/core/pull/127115
+[#127122]: https://github.com/home-assistant/core/pull/127122
+[#127124]: https://github.com/home-assistant/core/pull/127124
+[#127137]: https://github.com/home-assistant/core/pull/127137
+[#127140]: https://github.com/home-assistant/core/pull/127140
+[#127141]: https://github.com/home-assistant/core/pull/127141
+[#127144]: https://github.com/home-assistant/core/pull/127144
+[#127154]: https://github.com/home-assistant/core/pull/127154
+[#127156]: https://github.com/home-assistant/core/pull/127156
+[#127157]: https://github.com/home-assistant/core/pull/127157
+[#127158]: https://github.com/home-assistant/core/pull/127158
+[#127159]: https://github.com/home-assistant/core/pull/127159
+[#127160]: https://github.com/home-assistant/core/pull/127160
+[#127161]: https://github.com/home-assistant/core/pull/127161
+[#127162]: https://github.com/home-assistant/core/pull/127162
+[#127163]: https://github.com/home-assistant/core/pull/127163
+[#127164]: https://github.com/home-assistant/core/pull/127164
+[#127165]: https://github.com/home-assistant/core/pull/127165
+[#127166]: https://github.com/home-assistant/core/pull/127166
+[#127168]: https://github.com/home-assistant/core/pull/127168
+[#127169]: https://github.com/home-assistant/core/pull/127169
+[#127170]: https://github.com/home-assistant/core/pull/127170
+[#127171]: https://github.com/home-assistant/core/pull/127171
+[#127172]: https://github.com/home-assistant/core/pull/127172
+[#127173]: https://github.com/home-assistant/core/pull/127173
+[#127174]: https://github.com/home-assistant/core/pull/127174
+[#127175]: https://github.com/home-assistant/core/pull/127175
+[#127176]: https://github.com/home-assistant/core/pull/127176
+[#127178]: https://github.com/home-assistant/core/pull/127178
+[#127180]: https://github.com/home-assistant/core/pull/127180
+[#127181]: https://github.com/home-assistant/core/pull/127181
+[#127182]: https://github.com/home-assistant/core/pull/127182
+[#127185]: https://github.com/home-assistant/core/pull/127185
+[#127186]: https://github.com/home-assistant/core/pull/127186
+[#127188]: https://github.com/home-assistant/core/pull/127188
+[#127189]: https://github.com/home-assistant/core/pull/127189
+[#127191]: https://github.com/home-assistant/core/pull/127191
+[#127192]: https://github.com/home-assistant/core/pull/127192
+[#127193]: https://github.com/home-assistant/core/pull/127193
+[#127194]: https://github.com/home-assistant/core/pull/127194
+[#127196]: https://github.com/home-assistant/core/pull/127196
+[#127197]: https://github.com/home-assistant/core/pull/127197
+[#127198]: https://github.com/home-assistant/core/pull/127198
+[#127200]: https://github.com/home-assistant/core/pull/127200
+[#127201]: https://github.com/home-assistant/core/pull/127201
+[#127202]: https://github.com/home-assistant/core/pull/127202
+[#127203]: https://github.com/home-assistant/core/pull/127203
+[#127204]: https://github.com/home-assistant/core/pull/127204
+[#127205]: https://github.com/home-assistant/core/pull/127205
+[#127206]: https://github.com/home-assistant/core/pull/127206
+[#127207]: https://github.com/home-assistant/core/pull/127207
+[#127208]: https://github.com/home-assistant/core/pull/127208
+[#127209]: https://github.com/home-assistant/core/pull/127209
+[#127210]: https://github.com/home-assistant/core/pull/127210
+[#127211]: https://github.com/home-assistant/core/pull/127211
+[#127212]: https://github.com/home-assistant/core/pull/127212
+[#127223]: https://github.com/home-assistant/core/pull/127223
+[#127224]: https://github.com/home-assistant/core/pull/127224
+[#127225]: https://github.com/home-assistant/core/pull/127225
+[#127228]: https://github.com/home-assistant/core/pull/127228
+[#127229]: https://github.com/home-assistant/core/pull/127229
+[#127235]: https://github.com/home-assistant/core/pull/127235
+[#127238]: https://github.com/home-assistant/core/pull/127238
+[#127248]: https://github.com/home-assistant/core/pull/127248
+[#127249]: https://github.com/home-assistant/core/pull/127249
+[#127252]: https://github.com/home-assistant/core/pull/127252
+[#127253]: https://github.com/home-assistant/core/pull/127253
+[#127259]: https://github.com/home-assistant/core/pull/127259
+[#127262]: https://github.com/home-assistant/core/pull/127262
+[#127267]: https://github.com/home-assistant/core/pull/127267
+[#127270]: https://github.com/home-assistant/core/pull/127270
+[#127271]: https://github.com/home-assistant/core/pull/127271
+[#127273]: https://github.com/home-assistant/core/pull/127273
+[#127274]: https://github.com/home-assistant/core/pull/127274
+[#127276]: https://github.com/home-assistant/core/pull/127276
+[#127277]: https://github.com/home-assistant/core/pull/127277
+[#127278]: https://github.com/home-assistant/core/pull/127278
+[#127279]: https://github.com/home-assistant/core/pull/127279
+[#127281]: https://github.com/home-assistant/core/pull/127281
+[#127282]: https://github.com/home-assistant/core/pull/127282
+[#127283]: https://github.com/home-assistant/core/pull/127283
+[#127284]: https://github.com/home-assistant/core/pull/127284
+[#127285]: https://github.com/home-assistant/core/pull/127285
+[#127287]: https://github.com/home-assistant/core/pull/127287
+[#127288]: https://github.com/home-assistant/core/pull/127288
+[#127289]: https://github.com/home-assistant/core/pull/127289
+[#127290]: https://github.com/home-assistant/core/pull/127290
+[#127293]: https://github.com/home-assistant/core/pull/127293
+[#127294]: https://github.com/home-assistant/core/pull/127294
+[#127295]: https://github.com/home-assistant/core/pull/127295
+[#127296]: https://github.com/home-assistant/core/pull/127296
+[#127297]: https://github.com/home-assistant/core/pull/127297
+[#127298]: https://github.com/home-assistant/core/pull/127298
+[#127299]: https://github.com/home-assistant/core/pull/127299
+[#127300]: https://github.com/home-assistant/core/pull/127300
+[#127301]: https://github.com/home-assistant/core/pull/127301
+[#127302]: https://github.com/home-assistant/core/pull/127302
+[#127303]: https://github.com/home-assistant/core/pull/127303
+[#127304]: https://github.com/home-assistant/core/pull/127304
+[#127305]: https://github.com/home-assistant/core/pull/127305
+[#127306]: https://github.com/home-assistant/core/pull/127306
+[#127308]: https://github.com/home-assistant/core/pull/127308
+[#127309]: https://github.com/home-assistant/core/pull/127309
+[#127310]: https://github.com/home-assistant/core/pull/127310
+[#127311]: https://github.com/home-assistant/core/pull/127311
+[#127312]: https://github.com/home-assistant/core/pull/127312
+[#127313]: https://github.com/home-assistant/core/pull/127313
+[#127314]: https://github.com/home-assistant/core/pull/127314
+[#127316]: https://github.com/home-assistant/core/pull/127316
+[#127318]: https://github.com/home-assistant/core/pull/127318
+[#127319]: https://github.com/home-assistant/core/pull/127319
+[#127320]: https://github.com/home-assistant/core/pull/127320
+[#127321]: https://github.com/home-assistant/core/pull/127321
+[#127323]: https://github.com/home-assistant/core/pull/127323
+[#127324]: https://github.com/home-assistant/core/pull/127324
+[#127325]: https://github.com/home-assistant/core/pull/127325
+[#127326]: https://github.com/home-assistant/core/pull/127326
+[#127327]: https://github.com/home-assistant/core/pull/127327
+[#127328]: https://github.com/home-assistant/core/pull/127328
+[#127329]: https://github.com/home-assistant/core/pull/127329
+[#127332]: https://github.com/home-assistant/core/pull/127332
+[#127334]: https://github.com/home-assistant/core/pull/127334
+[#127339]: https://github.com/home-assistant/core/pull/127339
+[#127341]: https://github.com/home-assistant/core/pull/127341
+[#127342]: https://github.com/home-assistant/core/pull/127342
+[#127344]: https://github.com/home-assistant/core/pull/127344
+[#127345]: https://github.com/home-assistant/core/pull/127345
+[#127346]: https://github.com/home-assistant/core/pull/127346
+[#127349]: https://github.com/home-assistant/core/pull/127349
+[#127351]: https://github.com/home-assistant/core/pull/127351
+[#127353]: https://github.com/home-assistant/core/pull/127353
+[#127354]: https://github.com/home-assistant/core/pull/127354
+[#127355]: https://github.com/home-assistant/core/pull/127355
+[#127362]: https://github.com/home-assistant/core/pull/127362
+[#127381]: https://github.com/home-assistant/core/pull/127381
+[#127382]: https://github.com/home-assistant/core/pull/127382
+[#127384]: https://github.com/home-assistant/core/pull/127384
+[#127385]: https://github.com/home-assistant/core/pull/127385
+[#127386]: https://github.com/home-assistant/core/pull/127386
+[#127387]: https://github.com/home-assistant/core/pull/127387
+[#127389]: https://github.com/home-assistant/core/pull/127389
+[#127390]: https://github.com/home-assistant/core/pull/127390
+[#127391]: https://github.com/home-assistant/core/pull/127391
+[#127392]: https://github.com/home-assistant/core/pull/127392
+[#127393]: https://github.com/home-assistant/core/pull/127393
+[#127398]: https://github.com/home-assistant/core/pull/127398
+[#127405]: https://github.com/home-assistant/core/pull/127405
+[#127412]: https://github.com/home-assistant/core/pull/127412
+[#127414]: https://github.com/home-assistant/core/pull/127414
+[#127417]: https://github.com/home-assistant/core/pull/127417
+[#127419]: https://github.com/home-assistant/core/pull/127419
+[#127423]: https://github.com/home-assistant/core/pull/127423
+[#127424]: https://github.com/home-assistant/core/pull/127424
+[#127426]: https://github.com/home-assistant/core/pull/127426
+[#127429]: https://github.com/home-assistant/core/pull/127429
+[#127430]: https://github.com/home-assistant/core/pull/127430
+[#127432]: https://github.com/home-assistant/core/pull/127432
+[#127433]: https://github.com/home-assistant/core/pull/127433
+[#127434]: https://github.com/home-assistant/core/pull/127434
+[#127435]: https://github.com/home-assistant/core/pull/127435
+[#127436]: https://github.com/home-assistant/core/pull/127436
+[#127437]: https://github.com/home-assistant/core/pull/127437
+[#127438]: https://github.com/home-assistant/core/pull/127438
+[#127439]: https://github.com/home-assistant/core/pull/127439
+[#127440]: https://github.com/home-assistant/core/pull/127440
+[#127441]: https://github.com/home-assistant/core/pull/127441
+[#127442]: https://github.com/home-assistant/core/pull/127442
+[#127443]: https://github.com/home-assistant/core/pull/127443
+[#127444]: https://github.com/home-assistant/core/pull/127444
+[#127445]: https://github.com/home-assistant/core/pull/127445
+[#127446]: https://github.com/home-assistant/core/pull/127446
+[#127447]: https://github.com/home-assistant/core/pull/127447
+[#127448]: https://github.com/home-assistant/core/pull/127448
+[#127450]: https://github.com/home-assistant/core/pull/127450
+[#127456]: https://github.com/home-assistant/core/pull/127456
+[#127457]: https://github.com/home-assistant/core/pull/127457
+[#127459]: https://github.com/home-assistant/core/pull/127459
+[#127461]: https://github.com/home-assistant/core/pull/127461
+[#127464]: https://github.com/home-assistant/core/pull/127464
+[#127465]: https://github.com/home-assistant/core/pull/127465
+[#127467]: https://github.com/home-assistant/core/pull/127467
+[#127468]: https://github.com/home-assistant/core/pull/127468
+[#127474]: https://github.com/home-assistant/core/pull/127474
+[#127475]: https://github.com/home-assistant/core/pull/127475
+[#127477]: https://github.com/home-assistant/core/pull/127477
+[#127481]: https://github.com/home-assistant/core/pull/127481
+[#127482]: https://github.com/home-assistant/core/pull/127482
+[#127484]: https://github.com/home-assistant/core/pull/127484
+[#127495]: https://github.com/home-assistant/core/pull/127495
+[#127497]: https://github.com/home-assistant/core/pull/127497
+[#127503]: https://github.com/home-assistant/core/pull/127503
+[#127505]: https://github.com/home-assistant/core/pull/127505
+[#127522]: https://github.com/home-assistant/core/pull/127522
+[#127523]: https://github.com/home-assistant/core/pull/127523
+[#127524]: https://github.com/home-assistant/core/pull/127524
+[#127525]: https://github.com/home-assistant/core/pull/127525
+[#127527]: https://github.com/home-assistant/core/pull/127527
+[#127530]: https://github.com/home-assistant/core/pull/127530
+[#127532]: https://github.com/home-assistant/core/pull/127532
+[#127533]: https://github.com/home-assistant/core/pull/127533
+[#127534]: https://github.com/home-assistant/core/pull/127534
+[#127540]: https://github.com/home-assistant/core/pull/127540
+[#127541]: https://github.com/home-assistant/core/pull/127541
+[#127546]: https://github.com/home-assistant/core/pull/127546
+[#127553]: https://github.com/home-assistant/core/pull/127553
+[#127559]: https://github.com/home-assistant/core/pull/127559
+[#127561]: https://github.com/home-assistant/core/pull/127561
+[#127564]: https://github.com/home-assistant/core/pull/127564
+[#127565]: https://github.com/home-assistant/core/pull/127565
+[#127572]: https://github.com/home-assistant/core/pull/127572
+[#127573]: https://github.com/home-assistant/core/pull/127573
+[#127583]: https://github.com/home-assistant/core/pull/127583
+[#127584]: https://github.com/home-assistant/core/pull/127584
+[#127587]: https://github.com/home-assistant/core/pull/127587
+[#127592]: https://github.com/home-assistant/core/pull/127592
+[#127594]: https://github.com/home-assistant/core/pull/127594
+[#127596]: https://github.com/home-assistant/core/pull/127596
+[#127597]: https://github.com/home-assistant/core/pull/127597
+[#127603]: https://github.com/home-assistant/core/pull/127603
+[#127611]: https://github.com/home-assistant/core/pull/127611
+[#127612]: https://github.com/home-assistant/core/pull/127612
+[#127616]: https://github.com/home-assistant/core/pull/127616
+[#127627]: https://github.com/home-assistant/core/pull/127627
+[#127628]: https://github.com/home-assistant/core/pull/127628
+[#127631]: https://github.com/home-assistant/core/pull/127631
+[#127642]: https://github.com/home-assistant/core/pull/127642
+[#127646]: https://github.com/home-assistant/core/pull/127646
+[#127651]: https://github.com/home-assistant/core/pull/127651
+[#127668]: https://github.com/home-assistant/core/pull/127668
+[#127673]: https://github.com/home-assistant/core/pull/127673
+[#127678]: https://github.com/home-assistant/core/pull/127678
+[#127683]: https://github.com/home-assistant/core/pull/127683
+[#127684]: https://github.com/home-assistant/core/pull/127684
+[#127686]: https://github.com/home-assistant/core/pull/127686
+[#127688]: https://github.com/home-assistant/core/pull/127688
+[#127690]: https://github.com/home-assistant/core/pull/127690
+[#127692]: https://github.com/home-assistant/core/pull/127692
+[#127695]: https://github.com/home-assistant/core/pull/127695
+[#127696]: https://github.com/home-assistant/core/pull/127696
+[#127701]: https://github.com/home-assistant/core/pull/127701
+[#127702]: https://github.com/home-assistant/core/pull/127702
+[#127703]: https://github.com/home-assistant/core/pull/127703
+[#127704]: https://github.com/home-assistant/core/pull/127704
+[#127710]: https://github.com/home-assistant/core/pull/127710
+[#127713]: https://github.com/home-assistant/core/pull/127713
+[#127724]: https://github.com/home-assistant/core/pull/127724
+[#127726]: https://github.com/home-assistant/core/pull/127726
+[#127728]: https://github.com/home-assistant/core/pull/127728
+[#127731]: https://github.com/home-assistant/core/pull/127731
+[#127734]: https://github.com/home-assistant/core/pull/127734
+[#127736]: https://github.com/home-assistant/core/pull/127736
+[#127754]: https://github.com/home-assistant/core/pull/127754
+[#127756]: https://github.com/home-assistant/core/pull/127756
+[#127761]: https://github.com/home-assistant/core/pull/127761
+[#127762]: https://github.com/home-assistant/core/pull/127762
+[#127765]: https://github.com/home-assistant/core/pull/127765
+[#127767]: https://github.com/home-assistant/core/pull/127767
+[#127770]: https://github.com/home-assistant/core/pull/127770
+[#127774]: https://github.com/home-assistant/core/pull/127774
+[#127775]: https://github.com/home-assistant/core/pull/127775
+[#127776]: https://github.com/home-assistant/core/pull/127776
+[#127777]: https://github.com/home-assistant/core/pull/127777
+[#127781]: https://github.com/home-assistant/core/pull/127781
+[#127782]: https://github.com/home-assistant/core/pull/127782
+[#127783]: https://github.com/home-assistant/core/pull/127783
+[#127791]: https://github.com/home-assistant/core/pull/127791
+[#127793]: https://github.com/home-assistant/core/pull/127793
+[#127797]: https://github.com/home-assistant/core/pull/127797
+[#127798]: https://github.com/home-assistant/core/pull/127798
+[#127799]: https://github.com/home-assistant/core/pull/127799
+[#127802]: https://github.com/home-assistant/core/pull/127802
+[#127808]: https://github.com/home-assistant/core/pull/127808
+[#127813]: https://github.com/home-assistant/core/pull/127813
+[#127816]: https://github.com/home-assistant/core/pull/127816
+[#127817]: https://github.com/home-assistant/core/pull/127817
+[#127819]: https://github.com/home-assistant/core/pull/127819
+[#127822]: https://github.com/home-assistant/core/pull/127822
+[#127823]: https://github.com/home-assistant/core/pull/127823
+[#127825]: https://github.com/home-assistant/core/pull/127825
+[#127828]: https://github.com/home-assistant/core/pull/127828
+[#127829]: https://github.com/home-assistant/core/pull/127829
+[#127831]: https://github.com/home-assistant/core/pull/127831
+[#127833]: https://github.com/home-assistant/core/pull/127833
+[#127835]: https://github.com/home-assistant/core/pull/127835
+[#127838]: https://github.com/home-assistant/core/pull/127838
+[#127839]: https://github.com/home-assistant/core/pull/127839
+[#127844]: https://github.com/home-assistant/core/pull/127844
+[#127847]: https://github.com/home-assistant/core/pull/127847
+[#127850]: https://github.com/home-assistant/core/pull/127850
+[#127852]: https://github.com/home-assistant/core/pull/127852
+[#127853]: https://github.com/home-assistant/core/pull/127853
+[#127854]: https://github.com/home-assistant/core/pull/127854
+[#127855]: https://github.com/home-assistant/core/pull/127855
+[#127856]: https://github.com/home-assistant/core/pull/127856
+[#127857]: https://github.com/home-assistant/core/pull/127857
+[#127862]: https://github.com/home-assistant/core/pull/127862
+[#127863]: https://github.com/home-assistant/core/pull/127863
+[#127870]: https://github.com/home-assistant/core/pull/127870
+[#127872]: https://github.com/home-assistant/core/pull/127872
+[#127878]: https://github.com/home-assistant/core/pull/127878
+[#127880]: https://github.com/home-assistant/core/pull/127880
+[#127882]: https://github.com/home-assistant/core/pull/127882
+[#127883]: https://github.com/home-assistant/core/pull/127883
+[#127884]: https://github.com/home-assistant/core/pull/127884
+[#127888]: https://github.com/home-assistant/core/pull/127888
+[#127899]: https://github.com/home-assistant/core/pull/127899
+[#127900]: https://github.com/home-assistant/core/pull/127900
+[#127902]: https://github.com/home-assistant/core/pull/127902
+[#127903]: https://github.com/home-assistant/core/pull/127903
+[#127904]: https://github.com/home-assistant/core/pull/127904
+[#127905]: https://github.com/home-assistant/core/pull/127905
+[#127906]: https://github.com/home-assistant/core/pull/127906
+[#127907]: https://github.com/home-assistant/core/pull/127907
+[#127908]: https://github.com/home-assistant/core/pull/127908
+[#127910]: https://github.com/home-assistant/core/pull/127910
+[#127911]: https://github.com/home-assistant/core/pull/127911
+[#127913]: https://github.com/home-assistant/core/pull/127913
+[#127915]: https://github.com/home-assistant/core/pull/127915
+[#127919]: https://github.com/home-assistant/core/pull/127919
+[#127921]: https://github.com/home-assistant/core/pull/127921
+[#127922]: https://github.com/home-assistant/core/pull/127922
+[#127924]: https://github.com/home-assistant/core/pull/127924
+[#127927]: https://github.com/home-assistant/core/pull/127927
+[#127928]: https://github.com/home-assistant/core/pull/127928
+[#127929]: https://github.com/home-assistant/core/pull/127929
+[#127930]: https://github.com/home-assistant/core/pull/127930
+[#127932]: https://github.com/home-assistant/core/pull/127932
+[#127935]: https://github.com/home-assistant/core/pull/127935
+[#127937]: https://github.com/home-assistant/core/pull/127937
+[#127946]: https://github.com/home-assistant/core/pull/127946
+[#127948]: https://github.com/home-assistant/core/pull/127948
+[#127949]: https://github.com/home-assistant/core/pull/127949
+[#127952]: https://github.com/home-assistant/core/pull/127952
+[#127961]: https://github.com/home-assistant/core/pull/127961
+[#127962]: https://github.com/home-assistant/core/pull/127962
+[#127965]: https://github.com/home-assistant/core/pull/127965
+[#127975]: https://github.com/home-assistant/core/pull/127975
+[#127976]: https://github.com/home-assistant/core/pull/127976
+[#127977]: https://github.com/home-assistant/core/pull/127977
+[#127980]: https://github.com/home-assistant/core/pull/127980
+[#127981]: https://github.com/home-assistant/core/pull/127981
+[#127988]: https://github.com/home-assistant/core/pull/127988
+[#127989]: https://github.com/home-assistant/core/pull/127989
+[#127990]: https://github.com/home-assistant/core/pull/127990
+[#127993]: https://github.com/home-assistant/core/pull/127993
+[#127994]: https://github.com/home-assistant/core/pull/127994
+[#127995]: https://github.com/home-assistant/core/pull/127995
+[#127998]: https://github.com/home-assistant/core/pull/127998
+[#127999]: https://github.com/home-assistant/core/pull/127999
+[#128001]: https://github.com/home-assistant/core/pull/128001
+[#128002]: https://github.com/home-assistant/core/pull/128002
+[#128003]: https://github.com/home-assistant/core/pull/128003
+[#128005]: https://github.com/home-assistant/core/pull/128005
+[#128006]: https://github.com/home-assistant/core/pull/128006
+[#128008]: https://github.com/home-assistant/core/pull/128008
+[#128010]: https://github.com/home-assistant/core/pull/128010
+[#128011]: https://github.com/home-assistant/core/pull/128011
+[#128012]: https://github.com/home-assistant/core/pull/128012
+[#128013]: https://github.com/home-assistant/core/pull/128013
+[#128014]: https://github.com/home-assistant/core/pull/128014
+[#128016]: https://github.com/home-assistant/core/pull/128016
+[#128017]: https://github.com/home-assistant/core/pull/128017
+[#128018]: https://github.com/home-assistant/core/pull/128018
+[#128019]: https://github.com/home-assistant/core/pull/128019
+[#128021]: https://github.com/home-assistant/core/pull/128021
+[#128022]: https://github.com/home-assistant/core/pull/128022
+[#128023]: https://github.com/home-assistant/core/pull/128023
+[#128024]: https://github.com/home-assistant/core/pull/128024
+[#128025]: https://github.com/home-assistant/core/pull/128025
+[#128026]: https://github.com/home-assistant/core/pull/128026
+[#128028]: https://github.com/home-assistant/core/pull/128028
+[#128029]: https://github.com/home-assistant/core/pull/128029
+[#128030]: https://github.com/home-assistant/core/pull/128030
+[#128031]: https://github.com/home-assistant/core/pull/128031
+[#128032]: https://github.com/home-assistant/core/pull/128032
+[#128037]: https://github.com/home-assistant/core/pull/128037
+[#128038]: https://github.com/home-assistant/core/pull/128038
+[#128039]: https://github.com/home-assistant/core/pull/128039
+[#128042]: https://github.com/home-assistant/core/pull/128042
+[#128043]: https://github.com/home-assistant/core/pull/128043
+[#128044]: https://github.com/home-assistant/core/pull/128044
+[#128053]: https://github.com/home-assistant/core/pull/128053
+[#128056]: https://github.com/home-assistant/core/pull/128056
+[#128058]: https://github.com/home-assistant/core/pull/128058
+[#128059]: https://github.com/home-assistant/core/pull/128059
+[#128060]: https://github.com/home-assistant/core/pull/128060
+[#128062]: https://github.com/home-assistant/core/pull/128062
+[#128066]: https://github.com/home-assistant/core/pull/128066
+[#128073]: https://github.com/home-assistant/core/pull/128073
+[#128074]: https://github.com/home-assistant/core/pull/128074
+[#128075]: https://github.com/home-assistant/core/pull/128075
+[#128078]: https://github.com/home-assistant/core/pull/128078
+[#128079]: https://github.com/home-assistant/core/pull/128079
+[#128080]: https://github.com/home-assistant/core/pull/128080
+[#128082]: https://github.com/home-assistant/core/pull/128082
+[#128086]: https://github.com/home-assistant/core/pull/128086
+[#128087]: https://github.com/home-assistant/core/pull/128087
+[#128089]: https://github.com/home-assistant/core/pull/128089
+[#128095]: https://github.com/home-assistant/core/pull/128095
+[#128099]: https://github.com/home-assistant/core/pull/128099
+[#128114]: https://github.com/home-assistant/core/pull/128114
+[#128115]: https://github.com/home-assistant/core/pull/128115
+[#128121]: https://github.com/home-assistant/core/pull/128121
+[#128128]: https://github.com/home-assistant/core/pull/128128
+[#128131]: https://github.com/home-assistant/core/pull/128131
+[#128135]: https://github.com/home-assistant/core/pull/128135
+[#128139]: https://github.com/home-assistant/core/pull/128139
+[#128140]: https://github.com/home-assistant/core/pull/128140
+[#128145]: https://github.com/home-assistant/core/pull/128145
+[#128146]: https://github.com/home-assistant/core/pull/128146
+[#128147]: https://github.com/home-assistant/core/pull/128147
+[#128148]: https://github.com/home-assistant/core/pull/128148
+[#128151]: https://github.com/home-assistant/core/pull/128151
+[#128152]: https://github.com/home-assistant/core/pull/128152
+[#128153]: https://github.com/home-assistant/core/pull/128153
+[#128158]: https://github.com/home-assistant/core/pull/128158
+[#128159]: https://github.com/home-assistant/core/pull/128159
+[#128160]: https://github.com/home-assistant/core/pull/128160
+[#128162]: https://github.com/home-assistant/core/pull/128162
+[#128170]: https://github.com/home-assistant/core/pull/128170
+[#128173]: https://github.com/home-assistant/core/pull/128173
+[#128174]: https://github.com/home-assistant/core/pull/128174
+[#128177]: https://github.com/home-assistant/core/pull/128177
+[#128178]: https://github.com/home-assistant/core/pull/128178
+[#128179]: https://github.com/home-assistant/core/pull/128179
+[#128185]: https://github.com/home-assistant/core/pull/128185
+[#128186]: https://github.com/home-assistant/core/pull/128186
+[#128189]: https://github.com/home-assistant/core/pull/128189
+[#128191]: https://github.com/home-assistant/core/pull/128191
+[#128194]: https://github.com/home-assistant/core/pull/128194
+[#128197]: https://github.com/home-assistant/core/pull/128197
+[#128199]: https://github.com/home-assistant/core/pull/128199
+[#128201]: https://github.com/home-assistant/core/pull/128201
+[#128202]: https://github.com/home-assistant/core/pull/128202
+[#128204]: https://github.com/home-assistant/core/pull/128204
+[#128205]: https://github.com/home-assistant/core/pull/128205
+[#128206]: https://github.com/home-assistant/core/pull/128206
+[#128207]: https://github.com/home-assistant/core/pull/128207
+[#128213]: https://github.com/home-assistant/core/pull/128213
+[#128215]: https://github.com/home-assistant/core/pull/128215
+[#128231]: https://github.com/home-assistant/core/pull/128231
+[#128234]: https://github.com/home-assistant/core/pull/128234
+[#128237]: https://github.com/home-assistant/core/pull/128237
+[#128248]: https://github.com/home-assistant/core/pull/128248
+[#128251]: https://github.com/home-assistant/core/pull/128251
+[#128256]: https://github.com/home-assistant/core/pull/128256
+[#128257]: https://github.com/home-assistant/core/pull/128257
+[#128259]: https://github.com/home-assistant/core/pull/128259
+[#128268]: https://github.com/home-assistant/core/pull/128268
+[#128278]: https://github.com/home-assistant/core/pull/128278
+[#128286]: https://github.com/home-assistant/core/pull/128286
+[#128287]: https://github.com/home-assistant/core/pull/128287
+[#128289]: https://github.com/home-assistant/core/pull/128289
+[#128292]: https://github.com/home-assistant/core/pull/128292
+[#128296]: https://github.com/home-assistant/core/pull/128296
+[#128297]: https://github.com/home-assistant/core/pull/128297
+[#128298]: https://github.com/home-assistant/core/pull/128298
+[#128299]: https://github.com/home-assistant/core/pull/128299
+[#128308]: https://github.com/home-assistant/core/pull/128308
+[#128309]: https://github.com/home-assistant/core/pull/128309
+[#128315]: https://github.com/home-assistant/core/pull/128315
+[#128318]: https://github.com/home-assistant/core/pull/128318
+[#128319]: https://github.com/home-assistant/core/pull/128319
+[#128320]: https://github.com/home-assistant/core/pull/128320
+[#128321]: https://github.com/home-assistant/core/pull/128321
+[#128324]: https://github.com/home-assistant/core/pull/128324
+[#128334]: https://github.com/home-assistant/core/pull/128334
+[#128335]: https://github.com/home-assistant/core/pull/128335
+[#128338]: https://github.com/home-assistant/core/pull/128338
+[#128339]: https://github.com/home-assistant/core/pull/128339
+[#128340]: https://github.com/home-assistant/core/pull/128340
+[#128344]: https://github.com/home-assistant/core/pull/128344
+[#128345]: https://github.com/home-assistant/core/pull/128345
+[#128349]: https://github.com/home-assistant/core/pull/128349
+[#128352]: https://github.com/home-assistant/core/pull/128352
+[#128353]: https://github.com/home-assistant/core/pull/128353
+[#128354]: https://github.com/home-assistant/core/pull/128354
+[#128356]: https://github.com/home-assistant/core/pull/128356
+[#128357]: https://github.com/home-assistant/core/pull/128357
+[#128362]: https://github.com/home-assistant/core/pull/128362
+[#128363]: https://github.com/home-assistant/core/pull/128363
+[#128364]: https://github.com/home-assistant/core/pull/128364
+[#128369]: https://github.com/home-assistant/core/pull/128369
+[#128371]: https://github.com/home-assistant/core/pull/128371
+[#128383]: https://github.com/home-assistant/core/pull/128383
+[#128384]: https://github.com/home-assistant/core/pull/128384
+[#128385]: https://github.com/home-assistant/core/pull/128385
+[#128386]: https://github.com/home-assistant/core/pull/128386
+[#128387]: https://github.com/home-assistant/core/pull/128387
+[#128390]: https://github.com/home-assistant/core/pull/128390
+[#128391]: https://github.com/home-assistant/core/pull/128391
+[#128394]: https://github.com/home-assistant/core/pull/128394
+[#128397]: https://github.com/home-assistant/core/pull/128397
+[#128402]: https://github.com/home-assistant/core/pull/128402
+[#128404]: https://github.com/home-assistant/core/pull/128404
+[#128411]: https://github.com/home-assistant/core/pull/128411
+[#128412]: https://github.com/home-assistant/core/pull/128412
+[#128413]: https://github.com/home-assistant/core/pull/128413
+[#128418]: https://github.com/home-assistant/core/pull/128418
+[#128419]: https://github.com/home-assistant/core/pull/128419
+[#128420]: https://github.com/home-assistant/core/pull/128420
+[#128422]: https://github.com/home-assistant/core/pull/128422
+[#128423]: https://github.com/home-assistant/core/pull/128423
+[#128425]: https://github.com/home-assistant/core/pull/128425
+[#128426]: https://github.com/home-assistant/core/pull/128426
+[#128430]: https://github.com/home-assistant/core/pull/128430
+[#128431]: https://github.com/home-assistant/core/pull/128431
+[#128432]: https://github.com/home-assistant/core/pull/128432
+[#128434]: https://github.com/home-assistant/core/pull/128434
+[#128440]: https://github.com/home-assistant/core/pull/128440
+[#128441]: https://github.com/home-assistant/core/pull/128441
+[#128444]: https://github.com/home-assistant/core/pull/128444
+[#128445]: https://github.com/home-assistant/core/pull/128445
+[#128447]: https://github.com/home-assistant/core/pull/128447
+[#128448]: https://github.com/home-assistant/core/pull/128448
+[#128449]: https://github.com/home-assistant/core/pull/128449
+[#128450]: https://github.com/home-assistant/core/pull/128450
+[#128452]: https://github.com/home-assistant/core/pull/128452
+[#128454]: https://github.com/home-assistant/core/pull/128454
+[#128455]: https://github.com/home-assistant/core/pull/128455
+[#128456]: https://github.com/home-assistant/core/pull/128456
+[#128457]: https://github.com/home-assistant/core/pull/128457
+[#128475]: https://github.com/home-assistant/core/pull/128475
+[#128481]: https://github.com/home-assistant/core/pull/128481
+[#128484]: https://github.com/home-assistant/core/pull/128484
+[#128488]: https://github.com/home-assistant/core/pull/128488
+[#128490]: https://github.com/home-assistant/core/pull/128490
+[#128498]: https://github.com/home-assistant/core/pull/128498
+[#128499]: https://github.com/home-assistant/core/pull/128499
+[#128508]: https://github.com/home-assistant/core/pull/128508
+[#128517]: https://github.com/home-assistant/core/pull/128517
+[#128518]: https://github.com/home-assistant/core/pull/128518
+[#128521]: https://github.com/home-assistant/core/pull/128521
+[#128525]: https://github.com/home-assistant/core/pull/128525
+[#128527]: https://github.com/home-assistant/core/pull/128527
+[#128529]: https://github.com/home-assistant/core/pull/128529
+[#128530]: https://github.com/home-assistant/core/pull/128530
+[#128532]: https://github.com/home-assistant/core/pull/128532
+[#128533]: https://github.com/home-assistant/core/pull/128533
+[#128535]: https://github.com/home-assistant/core/pull/128535
+[#128536]: https://github.com/home-assistant/core/pull/128536
+[#128538]: https://github.com/home-assistant/core/pull/128538
+[#128539]: https://github.com/home-assistant/core/pull/128539
+[#128542]: https://github.com/home-assistant/core/pull/128542
+[#128545]: https://github.com/home-assistant/core/pull/128545
+[#128548]: https://github.com/home-assistant/core/pull/128548
+[#128549]: https://github.com/home-assistant/core/pull/128549
+[#128560]: https://github.com/home-assistant/core/pull/128560
+[#128561]: https://github.com/home-assistant/core/pull/128561
+[#128566]: https://github.com/home-assistant/core/pull/128566
+[#128567]: https://github.com/home-assistant/core/pull/128567
+[#128568]: https://github.com/home-assistant/core/pull/128568
+[#128569]: https://github.com/home-assistant/core/pull/128569
+[#128570]: https://github.com/home-assistant/core/pull/128570
+[#128571]: https://github.com/home-assistant/core/pull/128571
+[#128573]: https://github.com/home-assistant/core/pull/128573
+[#128576]: https://github.com/home-assistant/core/pull/128576
+[#128578]: https://github.com/home-assistant/core/pull/128578
+[#128579]: https://github.com/home-assistant/core/pull/128579
+[#128580]: https://github.com/home-assistant/core/pull/128580
+[#128582]: https://github.com/home-assistant/core/pull/128582
+[#128583]: https://github.com/home-assistant/core/pull/128583
+[#128584]: https://github.com/home-assistant/core/pull/128584
+[#128585]: https://github.com/home-assistant/core/pull/128585
+[#128586]: https://github.com/home-assistant/core/pull/128586
+[#128587]: https://github.com/home-assistant/core/pull/128587
+[#128589]: https://github.com/home-assistant/core/pull/128589
+[#128590]: https://github.com/home-assistant/core/pull/128590
+[#128591]: https://github.com/home-assistant/core/pull/128591
+[#128592]: https://github.com/home-assistant/core/pull/128592
+[#128599]: https://github.com/home-assistant/core/pull/128599
+[#128601]: https://github.com/home-assistant/core/pull/128601
+[#128602]: https://github.com/home-assistant/core/pull/128602
+[#128603]: https://github.com/home-assistant/core/pull/128603
+[#128604]: https://github.com/home-assistant/core/pull/128604
+[#128608]: https://github.com/home-assistant/core/pull/128608
+[#128610]: https://github.com/home-assistant/core/pull/128610
+[#128612]: https://github.com/home-assistant/core/pull/128612
+[#128614]: https://github.com/home-assistant/core/pull/128614
+[#128618]: https://github.com/home-assistant/core/pull/128618
+[#128622]: https://github.com/home-assistant/core/pull/128622
+[#128626]: https://github.com/home-assistant/core/pull/128626
+[#128627]: https://github.com/home-assistant/core/pull/128627
+[#128628]: https://github.com/home-assistant/core/pull/128628
+[#128629]: https://github.com/home-assistant/core/pull/128629
+[#128630]: https://github.com/home-assistant/core/pull/128630
+[#128631]: https://github.com/home-assistant/core/pull/128631
+[#128632]: https://github.com/home-assistant/core/pull/128632
+[#128634]: https://github.com/home-assistant/core/pull/128634
+[#128636]: https://github.com/home-assistant/core/pull/128636
+[#128640]: https://github.com/home-assistant/core/pull/128640
+[#128645]: https://github.com/home-assistant/core/pull/128645
+[#128646]: https://github.com/home-assistant/core/pull/128646
+[#128647]: https://github.com/home-assistant/core/pull/128647
+[#128648]: https://github.com/home-assistant/core/pull/128648
+[#128649]: https://github.com/home-assistant/core/pull/128649
+[#128650]: https://github.com/home-assistant/core/pull/128650
+[#128651]: https://github.com/home-assistant/core/pull/128651
+[#128652]: https://github.com/home-assistant/core/pull/128652
+[#128655]: https://github.com/home-assistant/core/pull/128655
+[#128656]: https://github.com/home-assistant/core/pull/128656
+[#128657]: https://github.com/home-assistant/core/pull/128657
+[#128658]: https://github.com/home-assistant/core/pull/128658
+[#128659]: https://github.com/home-assistant/core/pull/128659
+[#128661]: https://github.com/home-assistant/core/pull/128661
+[#128663]: https://github.com/home-assistant/core/pull/128663
+[#128665]: https://github.com/home-assistant/core/pull/128665
+[#128666]: https://github.com/home-assistant/core/pull/128666
+[#128668]: https://github.com/home-assistant/core/pull/128668
+[#128670]: https://github.com/home-assistant/core/pull/128670
+[#128681]: https://github.com/home-assistant/core/pull/128681
+[#128685]: https://github.com/home-assistant/core/pull/128685
+[#128690]: https://github.com/home-assistant/core/pull/128690
+[#128692]: https://github.com/home-assistant/core/pull/128692
+[#128693]: https://github.com/home-assistant/core/pull/128693
+[#128694]: https://github.com/home-assistant/core/pull/128694
+[#128695]: https://github.com/home-assistant/core/pull/128695
+[#128696]: https://github.com/home-assistant/core/pull/128696
+[#128697]: https://github.com/home-assistant/core/pull/128697
+[#128698]: https://github.com/home-assistant/core/pull/128698
+[#128699]: https://github.com/home-assistant/core/pull/128699
+[#128700]: https://github.com/home-assistant/core/pull/128700
+[#128701]: https://github.com/home-assistant/core/pull/128701
+[#128702]: https://github.com/home-assistant/core/pull/128702
+[#128703]: https://github.com/home-assistant/core/pull/128703
+[#128704]: https://github.com/home-assistant/core/pull/128704
+[#128705]: https://github.com/home-assistant/core/pull/128705
+[#128706]: https://github.com/home-assistant/core/pull/128706
+[#128707]: https://github.com/home-assistant/core/pull/128707
+[#128714]: https://github.com/home-assistant/core/pull/128714
+[#128715]: https://github.com/home-assistant/core/pull/128715
+[#128716]: https://github.com/home-assistant/core/pull/128716
+[#128717]: https://github.com/home-assistant/core/pull/128717
+[#128718]: https://github.com/home-assistant/core/pull/128718
+[#128719]: https://github.com/home-assistant/core/pull/128719
+[#128720]: https://github.com/home-assistant/core/pull/128720
+[#128721]: https://github.com/home-assistant/core/pull/128721
+[#128725]: https://github.com/home-assistant/core/pull/128725
+[#128726]: https://github.com/home-assistant/core/pull/128726
+[#128727]: https://github.com/home-assistant/core/pull/128727
+[#128728]: https://github.com/home-assistant/core/pull/128728
+[#128729]: https://github.com/home-assistant/core/pull/128729
+[#128730]: https://github.com/home-assistant/core/pull/128730
+[#128731]: https://github.com/home-assistant/core/pull/128731
+[#128734]: https://github.com/home-assistant/core/pull/128734
+[#128736]: https://github.com/home-assistant/core/pull/128736
+[#128737]: https://github.com/home-assistant/core/pull/128737
+[#128738]: https://github.com/home-assistant/core/pull/128738
+[#128739]: https://github.com/home-assistant/core/pull/128739
+[#128740]: https://github.com/home-assistant/core/pull/128740
+[#128741]: https://github.com/home-assistant/core/pull/128741
+[#128742]: https://github.com/home-assistant/core/pull/128742
+[#128743]: https://github.com/home-assistant/core/pull/128743
+[#128744]: https://github.com/home-assistant/core/pull/128744
+[#128745]: https://github.com/home-assistant/core/pull/128745
+[#128746]: https://github.com/home-assistant/core/pull/128746
+[#128747]: https://github.com/home-assistant/core/pull/128747
+[#128748]: https://github.com/home-assistant/core/pull/128748
+[#128750]: https://github.com/home-assistant/core/pull/128750
+[#128751]: https://github.com/home-assistant/core/pull/128751
+[#128752]: https://github.com/home-assistant/core/pull/128752
+[#128755]: https://github.com/home-assistant/core/pull/128755
+[#128756]: https://github.com/home-assistant/core/pull/128756
+[#128758]: https://github.com/home-assistant/core/pull/128758
+[#128759]: https://github.com/home-assistant/core/pull/128759
+[#128760]: https://github.com/home-assistant/core/pull/128760
+[#128761]: https://github.com/home-assistant/core/pull/128761
+[#128762]: https://github.com/home-assistant/core/pull/128762
+[#128763]: https://github.com/home-assistant/core/pull/128763
+[#128764]: https://github.com/home-assistant/core/pull/128764
+[#128765]: https://github.com/home-assistant/core/pull/128765
+[#128766]: https://github.com/home-assistant/core/pull/128766
+[#128767]: https://github.com/home-assistant/core/pull/128767
+[#128768]: https://github.com/home-assistant/core/pull/128768
+[#128769]: https://github.com/home-assistant/core/pull/128769
+[#128773]: https://github.com/home-assistant/core/pull/128773
+[#128774]: https://github.com/home-assistant/core/pull/128774
+[#128775]: https://github.com/home-assistant/core/pull/128775
+[#128778]: https://github.com/home-assistant/core/pull/128778
+[#128779]: https://github.com/home-assistant/core/pull/128779
+[#128780]: https://github.com/home-assistant/core/pull/128780
+[#128781]: https://github.com/home-assistant/core/pull/128781
+[#128782]: https://github.com/home-assistant/core/pull/128782
+[#128785]: https://github.com/home-assistant/core/pull/128785
+[#128787]: https://github.com/home-assistant/core/pull/128787
+[#128788]: https://github.com/home-assistant/core/pull/128788
+[#128792]: https://github.com/home-assistant/core/pull/128792
+[#128804]: https://github.com/home-assistant/core/pull/128804
+[#128806]: https://github.com/home-assistant/core/pull/128806
+[#128807]: https://github.com/home-assistant/core/pull/128807
+[#128808]: https://github.com/home-assistant/core/pull/128808
+[#128812]: https://github.com/home-assistant/core/pull/128812
+[#128813]: https://github.com/home-assistant/core/pull/128813
+[#128815]: https://github.com/home-assistant/core/pull/128815
+[#128819]: https://github.com/home-assistant/core/pull/128819
+[#128820]: https://github.com/home-assistant/core/pull/128820
+[#128821]: https://github.com/home-assistant/core/pull/128821
+[#128822]: https://github.com/home-assistant/core/pull/128822
+[#128823]: https://github.com/home-assistant/core/pull/128823
+[#128824]: https://github.com/home-assistant/core/pull/128824
+[#128825]: https://github.com/home-assistant/core/pull/128825
+[#128826]: https://github.com/home-assistant/core/pull/128826
+[#128827]: https://github.com/home-assistant/core/pull/128827
+[#128828]: https://github.com/home-assistant/core/pull/128828
+[#128831]: https://github.com/home-assistant/core/pull/128831
+[#128834]: https://github.com/home-assistant/core/pull/128834
+[#128835]: https://github.com/home-assistant/core/pull/128835
+[#128836]: https://github.com/home-assistant/core/pull/128836
+[#128837]: https://github.com/home-assistant/core/pull/128837
+[#128844]: https://github.com/home-assistant/core/pull/128844
+[#128846]: https://github.com/home-assistant/core/pull/128846
+[#128847]: https://github.com/home-assistant/core/pull/128847
+[#128855]: https://github.com/home-assistant/core/pull/128855
+[#128858]: https://github.com/home-assistant/core/pull/128858
+[#128870]: https://github.com/home-assistant/core/pull/128870
+[#128871]: https://github.com/home-assistant/core/pull/128871
+[#128876]: https://github.com/home-assistant/core/pull/128876
+[#128877]: https://github.com/home-assistant/core/pull/128877
+[#128879]: https://github.com/home-assistant/core/pull/128879
+[#128883]: https://github.com/home-assistant/core/pull/128883
+[#128890]: https://github.com/home-assistant/core/pull/128890
+[#128891]: https://github.com/home-assistant/core/pull/128891
+[#128892]: https://github.com/home-assistant/core/pull/128892
+[#128894]: https://github.com/home-assistant/core/pull/128894
+[#128896]: https://github.com/home-assistant/core/pull/128896
+[#128899]: https://github.com/home-assistant/core/pull/128899
+[#128900]: https://github.com/home-assistant/core/pull/128900
+[#128902]: https://github.com/home-assistant/core/pull/128902
+[#128903]: https://github.com/home-assistant/core/pull/128903
+[#128904]: https://github.com/home-assistant/core/pull/128904
+[#128905]: https://github.com/home-assistant/core/pull/128905
+[#128906]: https://github.com/home-assistant/core/pull/128906
+[#128907]: https://github.com/home-assistant/core/pull/128907
+[#128908]: https://github.com/home-assistant/core/pull/128908
+[#128909]: https://github.com/home-assistant/core/pull/128909
+[#128919]: https://github.com/home-assistant/core/pull/128919
+[#128922]: https://github.com/home-assistant/core/pull/128922
+[#128924]: https://github.com/home-assistant/core/pull/128924
+[#128925]: https://github.com/home-assistant/core/pull/128925
+[#128926]: https://github.com/home-assistant/core/pull/128926
+[#128927]: https://github.com/home-assistant/core/pull/128927
+[#128928]: https://github.com/home-assistant/core/pull/128928
+[#128930]: https://github.com/home-assistant/core/pull/128930
+[#128932]: https://github.com/home-assistant/core/pull/128932
+[#128933]: https://github.com/home-assistant/core/pull/128933
+[#128934]: https://github.com/home-assistant/core/pull/128934
+[#128937]: https://github.com/home-assistant/core/pull/128937
+[#128938]: https://github.com/home-assistant/core/pull/128938
+[#128939]: https://github.com/home-assistant/core/pull/128939
+[#128940]: https://github.com/home-assistant/core/pull/128940
+[#128941]: https://github.com/home-assistant/core/pull/128941
+[#128942]: https://github.com/home-assistant/core/pull/128942
+[#128943]: https://github.com/home-assistant/core/pull/128943
+[#128945]: https://github.com/home-assistant/core/pull/128945
+[#128946]: https://github.com/home-assistant/core/pull/128946
+[#128948]: https://github.com/home-assistant/core/pull/128948
+[#128949]: https://github.com/home-assistant/core/pull/128949
+[#128951]: https://github.com/home-assistant/core/pull/128951
+[#128952]: https://github.com/home-assistant/core/pull/128952
+[#128953]: https://github.com/home-assistant/core/pull/128953
+[#128966]: https://github.com/home-assistant/core/pull/128966
+[#128967]: https://github.com/home-assistant/core/pull/128967
+[#128970]: https://github.com/home-assistant/core/pull/128970
+[#128975]: https://github.com/home-assistant/core/pull/128975
+[#128976]: https://github.com/home-assistant/core/pull/128976
+[#128977]: https://github.com/home-assistant/core/pull/128977
+[#128978]: https://github.com/home-assistant/core/pull/128978
+[#128979]: https://github.com/home-assistant/core/pull/128979
+[#128980]: https://github.com/home-assistant/core/pull/128980
+[#128984]: https://github.com/home-assistant/core/pull/128984
+[#128990]: https://github.com/home-assistant/core/pull/128990
+[#128991]: https://github.com/home-assistant/core/pull/128991
+[#128992]: https://github.com/home-assistant/core/pull/128992
+[#128994]: https://github.com/home-assistant/core/pull/128994
+[#128996]: https://github.com/home-assistant/core/pull/128996
+[#128998]: https://github.com/home-assistant/core/pull/128998
+[#128999]: https://github.com/home-assistant/core/pull/128999
+[#129000]: https://github.com/home-assistant/core/pull/129000
+[#129002]: https://github.com/home-assistant/core/pull/129002
+[#129004]: https://github.com/home-assistant/core/pull/129004
+[#129005]: https://github.com/home-assistant/core/pull/129005
+[#129008]: https://github.com/home-assistant/core/pull/129008
+[#129013]: https://github.com/home-assistant/core/pull/129013
+[#129015]: https://github.com/home-assistant/core/pull/129015
+[#129018]: https://github.com/home-assistant/core/pull/129018
+[#129019]: https://github.com/home-assistant/core/pull/129019
+[#129020]: https://github.com/home-assistant/core/pull/129020
+[#129024]: https://github.com/home-assistant/core/pull/129024
+[#129025]: https://github.com/home-assistant/core/pull/129025
+[#129030]: https://github.com/home-assistant/core/pull/129030
+[#129032]: https://github.com/home-assistant/core/pull/129032
+[#129035]: https://github.com/home-assistant/core/pull/129035
+[#129037]: https://github.com/home-assistant/core/pull/129037
+[#129038]: https://github.com/home-assistant/core/pull/129038
+[#129050]: https://github.com/home-assistant/core/pull/129050
+[#129061]: https://github.com/home-assistant/core/pull/129061
+[#129063]: https://github.com/home-assistant/core/pull/129063
+[#129065]: https://github.com/home-assistant/core/pull/129065
+[#129066]: https://github.com/home-assistant/core/pull/129066
+[#129070]: https://github.com/home-assistant/core/pull/129070
+[#129072]: https://github.com/home-assistant/core/pull/129072
+[#129073]: https://github.com/home-assistant/core/pull/129073
+[#129075]: https://github.com/home-assistant/core/pull/129075
+[#129078]: https://github.com/home-assistant/core/pull/129078
+[#129080]: https://github.com/home-assistant/core/pull/129080
+[#129081]: https://github.com/home-assistant/core/pull/129081
+[#129083]: https://github.com/home-assistant/core/pull/129083
+[#129084]: https://github.com/home-assistant/core/pull/129084
+[#129085]: https://github.com/home-assistant/core/pull/129085
+[#129086]: https://github.com/home-assistant/core/pull/129086
+[#129087]: https://github.com/home-assistant/core/pull/129087
+[#129088]: https://github.com/home-assistant/core/pull/129088
+[#129089]: https://github.com/home-assistant/core/pull/129089
+[#129090]: https://github.com/home-assistant/core/pull/129090
+[#129092]: https://github.com/home-assistant/core/pull/129092
+[#129094]: https://github.com/home-assistant/core/pull/129094
+[#129095]: https://github.com/home-assistant/core/pull/129095
+[#129100]: https://github.com/home-assistant/core/pull/129100
+[#129102]: https://github.com/home-assistant/core/pull/129102
+[#129107]: https://github.com/home-assistant/core/pull/129107
+[#129108]: https://github.com/home-assistant/core/pull/129108
+[#129110]: https://github.com/home-assistant/core/pull/129110
+[#129111]: https://github.com/home-assistant/core/pull/129111
+[#129112]: https://github.com/home-assistant/core/pull/129112
+[#129113]: https://github.com/home-assistant/core/pull/129113
+[#129114]: https://github.com/home-assistant/core/pull/129114
+[#129116]: https://github.com/home-assistant/core/pull/129116
+[#129118]: https://github.com/home-assistant/core/pull/129118
+[#129119]: https://github.com/home-assistant/core/pull/129119
+[#129121]: https://github.com/home-assistant/core/pull/129121
+[#129131]: https://github.com/home-assistant/core/pull/129131
+[#129135]: https://github.com/home-assistant/core/pull/129135
+[#129137]: https://github.com/home-assistant/core/pull/129137
+[#129138]: https://github.com/home-assistant/core/pull/129138
+[#129141]: https://github.com/home-assistant/core/pull/129141
+[#129143]: https://github.com/home-assistant/core/pull/129143
+[#129144]: https://github.com/home-assistant/core/pull/129144
+[#129145]: https://github.com/home-assistant/core/pull/129145
+[#129151]: https://github.com/home-assistant/core/pull/129151
+[#129155]: https://github.com/home-assistant/core/pull/129155
+[#129156]: https://github.com/home-assistant/core/pull/129156
+[#129157]: https://github.com/home-assistant/core/pull/129157
+[#129158]: https://github.com/home-assistant/core/pull/129158
+[#129160]: https://github.com/home-assistant/core/pull/129160
+[#129161]: https://github.com/home-assistant/core/pull/129161
+[#129162]: https://github.com/home-assistant/core/pull/129162
+[#129163]: https://github.com/home-assistant/core/pull/129163
+[#129164]: https://github.com/home-assistant/core/pull/129164
+[#129166]: https://github.com/home-assistant/core/pull/129166
+[#129167]: https://github.com/home-assistant/core/pull/129167
+[#129168]: https://github.com/home-assistant/core/pull/129168
+[#129169]: https://github.com/home-assistant/core/pull/129169
+[#129170]: https://github.com/home-assistant/core/pull/129170
+[#129171]: https://github.com/home-assistant/core/pull/129171
+[#129172]: https://github.com/home-assistant/core/pull/129172
+[#129174]: https://github.com/home-assistant/core/pull/129174
+[#129175]: https://github.com/home-assistant/core/pull/129175
+[#129177]: https://github.com/home-assistant/core/pull/129177
+[#129179]: https://github.com/home-assistant/core/pull/129179
+[#129182]: https://github.com/home-assistant/core/pull/129182
+[#129183]: https://github.com/home-assistant/core/pull/129183
+[#129185]: https://github.com/home-assistant/core/pull/129185
+[#129186]: https://github.com/home-assistant/core/pull/129186
+[#129188]: https://github.com/home-assistant/core/pull/129188
+[#129191]: https://github.com/home-assistant/core/pull/129191
+[#129192]: https://github.com/home-assistant/core/pull/129192
+[#129193]: https://github.com/home-assistant/core/pull/129193
+[#129194]: https://github.com/home-assistant/core/pull/129194
+[#129195]: https://github.com/home-assistant/core/pull/129195
+[#129196]: https://github.com/home-assistant/core/pull/129196
+[#129199]: https://github.com/home-assistant/core/pull/129199
+[#129201]: https://github.com/home-assistant/core/pull/129201
+[#129202]: https://github.com/home-assistant/core/pull/129202
+[#129204]: https://github.com/home-assistant/core/pull/129204
+[#129205]: https://github.com/home-assistant/core/pull/129205
+[#129206]: https://github.com/home-assistant/core/pull/129206
+[#129210]: https://github.com/home-assistant/core/pull/129210
+[#129211]: https://github.com/home-assistant/core/pull/129211
+[#129215]: https://github.com/home-assistant/core/pull/129215
+[#129216]: https://github.com/home-assistant/core/pull/129216
+[#129217]: https://github.com/home-assistant/core/pull/129217
+[#129218]: https://github.com/home-assistant/core/pull/129218
+[#129220]: https://github.com/home-assistant/core/pull/129220
+[#129221]: https://github.com/home-assistant/core/pull/129221
+[#129222]: https://github.com/home-assistant/core/pull/129222
+[#129223]: https://github.com/home-assistant/core/pull/129223
+[#129225]: https://github.com/home-assistant/core/pull/129225
+[#129226]: https://github.com/home-assistant/core/pull/129226
+[#129227]: https://github.com/home-assistant/core/pull/129227
+[#129229]: https://github.com/home-assistant/core/pull/129229
+[#129232]: https://github.com/home-assistant/core/pull/129232
+[#129234]: https://github.com/home-assistant/core/pull/129234
+[#129235]: https://github.com/home-assistant/core/pull/129235
+[#129241]: https://github.com/home-assistant/core/pull/129241
+[#129245]: https://github.com/home-assistant/core/pull/129245
+[#129246]: https://github.com/home-assistant/core/pull/129246
+[#129247]: https://github.com/home-assistant/core/pull/129247
+[#129251]: https://github.com/home-assistant/core/pull/129251
+[#129257]: https://github.com/home-assistant/core/pull/129257
+[#129259]: https://github.com/home-assistant/core/pull/129259
+[#129267]: https://github.com/home-assistant/core/pull/129267
+[#129268]: https://github.com/home-assistant/core/pull/129268
+[#129274]: https://github.com/home-assistant/core/pull/129274
+[#129276]: https://github.com/home-assistant/core/pull/129276
+[#129277]: https://github.com/home-assistant/core/pull/129277
+[#129278]: https://github.com/home-assistant/core/pull/129278
+[#129279]: https://github.com/home-assistant/core/pull/129279
+[#129280]: https://github.com/home-assistant/core/pull/129280
+[#129281]: https://github.com/home-assistant/core/pull/129281
+[#129282]: https://github.com/home-assistant/core/pull/129282
+[#129289]: https://github.com/home-assistant/core/pull/129289
+[#129295]: https://github.com/home-assistant/core/pull/129295
+[#129297]: https://github.com/home-assistant/core/pull/129297
+[#129299]: https://github.com/home-assistant/core/pull/129299
+[#129300]: https://github.com/home-assistant/core/pull/129300
+[#129303]: https://github.com/home-assistant/core/pull/129303
+[#129305]: https://github.com/home-assistant/core/pull/129305
+[#129306]: https://github.com/home-assistant/core/pull/129306
+[#129308]: https://github.com/home-assistant/core/pull/129308
+[#129309]: https://github.com/home-assistant/core/pull/129309
+[#129313]: https://github.com/home-assistant/core/pull/129313
+[#129314]: https://github.com/home-assistant/core/pull/129314
+[#129315]: https://github.com/home-assistant/core/pull/129315
+[#129318]: https://github.com/home-assistant/core/pull/129318
+[#129322]: https://github.com/home-assistant/core/pull/129322
+[#129325]: https://github.com/home-assistant/core/pull/129325
+[#129326]: https://github.com/home-assistant/core/pull/129326
+[#129327]: https://github.com/home-assistant/core/pull/129327
+[#129329]: https://github.com/home-assistant/core/pull/129329
+[#129330]: https://github.com/home-assistant/core/pull/129330
+[#129333]: https://github.com/home-assistant/core/pull/129333
+[#129334]: https://github.com/home-assistant/core/pull/129334
+[#129338]: https://github.com/home-assistant/core/pull/129338
+[#129339]: https://github.com/home-assistant/core/pull/129339
+[#129342]: https://github.com/home-assistant/core/pull/129342
+[#129345]: https://github.com/home-assistant/core/pull/129345
+[#129346]: https://github.com/home-assistant/core/pull/129346
+[#129348]: https://github.com/home-assistant/core/pull/129348
+[#129349]: https://github.com/home-assistant/core/pull/129349
+[#129354]: https://github.com/home-assistant/core/pull/129354
+[#129355]: https://github.com/home-assistant/core/pull/129355
+[#129358]: https://github.com/home-assistant/core/pull/129358
+[#129360]: https://github.com/home-assistant/core/pull/129360
+[#129365]: https://github.com/home-assistant/core/pull/129365
+[#129366]: https://github.com/home-assistant/core/pull/129366
+[#129369]: https://github.com/home-assistant/core/pull/129369
+[#129370]: https://github.com/home-assistant/core/pull/129370
+[#129371]: https://github.com/home-assistant/core/pull/129371
+[#129372]: https://github.com/home-assistant/core/pull/129372
+[#129373]: https://github.com/home-assistant/core/pull/129373
+[#129374]: https://github.com/home-assistant/core/pull/129374
+[#129376]: https://github.com/home-assistant/core/pull/129376
+[#129380]: https://github.com/home-assistant/core/pull/129380
+[#129381]: https://github.com/home-assistant/core/pull/129381
+[#129383]: https://github.com/home-assistant/core/pull/129383
+[#129384]: https://github.com/home-assistant/core/pull/129384
+[#129385]: https://github.com/home-assistant/core/pull/129385
+[#129386]: https://github.com/home-assistant/core/pull/129386
+[#129388]: https://github.com/home-assistant/core/pull/129388
+[#129389]: https://github.com/home-assistant/core/pull/129389
+[#129390]: https://github.com/home-assistant/core/pull/129390
+[#129391]: https://github.com/home-assistant/core/pull/129391
+[#129394]: https://github.com/home-assistant/core/pull/129394
+[#129395]: https://github.com/home-assistant/core/pull/129395
+[#129397]: https://github.com/home-assistant/core/pull/129397
+[#129401]: https://github.com/home-assistant/core/pull/129401
+[#129402]: https://github.com/home-assistant/core/pull/129402
+[#129403]: https://github.com/home-assistant/core/pull/129403
+[#129407]: https://github.com/home-assistant/core/pull/129407
+[#129413]: https://github.com/home-assistant/core/pull/129413
+[#129414]: https://github.com/home-assistant/core/pull/129414
+[#129415]: https://github.com/home-assistant/core/pull/129415
+[#129416]: https://github.com/home-assistant/core/pull/129416
+[#129417]: https://github.com/home-assistant/core/pull/129417
+[#129418]: https://github.com/home-assistant/core/pull/129418
+[#129419]: https://github.com/home-assistant/core/pull/129419
+[#129420]: https://github.com/home-assistant/core/pull/129420
+[#129422]: https://github.com/home-assistant/core/pull/129422
+[#129423]: https://github.com/home-assistant/core/pull/129423
+[#129428]: https://github.com/home-assistant/core/pull/129428
+[#129429]: https://github.com/home-assistant/core/pull/129429
+[#129430]: https://github.com/home-assistant/core/pull/129430
+[#129432]: https://github.com/home-assistant/core/pull/129432
+[#129434]: https://github.com/home-assistant/core/pull/129434
+[#129436]: https://github.com/home-assistant/core/pull/129436
+[#129439]: https://github.com/home-assistant/core/pull/129439
+[#129441]: https://github.com/home-assistant/core/pull/129441
+[#129444]: https://github.com/home-assistant/core/pull/129444
+[#129448]: https://github.com/home-assistant/core/pull/129448
+[#129449]: https://github.com/home-assistant/core/pull/129449
+[#129452]: https://github.com/home-assistant/core/pull/129452
+[#129453]: https://github.com/home-assistant/core/pull/129453
+[#129454]: https://github.com/home-assistant/core/pull/129454
+[#129458]: https://github.com/home-assistant/core/pull/129458
+[#129464]: https://github.com/home-assistant/core/pull/129464
+[#129468]: https://github.com/home-assistant/core/pull/129468
+[#129473]: https://github.com/home-assistant/core/pull/129473
+[#129475]: https://github.com/home-assistant/core/pull/129475
+[#129476]: https://github.com/home-assistant/core/pull/129476
+[#129477]: https://github.com/home-assistant/core/pull/129477
+[#129478]: https://github.com/home-assistant/core/pull/129478
+[#129481]: https://github.com/home-assistant/core/pull/129481
+[#129484]: https://github.com/home-assistant/core/pull/129484
+[#129486]: https://github.com/home-assistant/core/pull/129486
+[#129488]: https://github.com/home-assistant/core/pull/129488
+[#129489]: https://github.com/home-assistant/core/pull/129489
+[#129490]: https://github.com/home-assistant/core/pull/129490
+[#129493]: https://github.com/home-assistant/core/pull/129493
+[#129498]: https://github.com/home-assistant/core/pull/129498
+[#129499]: https://github.com/home-assistant/core/pull/129499
+[#129501]: https://github.com/home-assistant/core/pull/129501
+[#129502]: https://github.com/home-assistant/core/pull/129502
+[#129505]: https://github.com/home-assistant/core/pull/129505
+[#129508]: https://github.com/home-assistant/core/pull/129508
+[#129510]: https://github.com/home-assistant/core/pull/129510
+[@10100011]: https://github.com/10100011
+[@AlCalzone]: https://github.com/AlCalzone
+[@Balake]: https://github.com/Balake
+[@Betacart]: https://github.com/Betacart
+[@Bre77]: https://github.com/Bre77
+[@CFenner]: https://github.com/CFenner
+[@DCSBL]: https://github.com/DCSBL
+[@DJF3]: https://github.com/DJF3
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@Diegorro98]: https://github.com/Diegorro98
+[@DurandAN]: https://github.com/DurandAN
+[@Galorhallen]: https://github.com/Galorhallen
+[@Honza-m]: https://github.com/Honza-m
+[@IceBotYT]: https://github.com/IceBotYT
+[@JEMcats]: https://github.com/JEMcats
+[@JosephAbbey]: https://github.com/JosephAbbey
+[@LG-ThinQ-Integration]: https://github.com/LG-ThinQ-Integration
+[@Lash-L]: https://github.com/Lash-L
+[@Lektrico]: https://github.com/Lektrico
+[@Lesekater]: https://github.com/Lesekater
+[@LouisChrist]: https://github.com/LouisChrist
+[@LunaBytesBack]: https://github.com/LunaBytesBack
+[@MarkGodwin]: https://github.com/MarkGodwin
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MichScha]: https://github.com/MichScha
+[@MindFreeze]: https://github.com/MindFreeze
+[@Nebula83]: https://github.com/Nebula83
+[@NickM-27]: https://github.com/NickM-27
+[@Noltari]: https://github.com/Noltari
+[@Passific]: https://github.com/Passific
+[@Petro31]: https://github.com/Petro31
+[@Shulyaka]: https://github.com/Shulyaka
+[@Shutgun]: https://github.com/Shutgun
+[@StevenLooman]: https://github.com/StevenLooman
+[@TheJulianJES]: https://github.com/TheJulianJES
+[@Thomas55555]: https://github.com/Thomas55555
+[@Vendetta01]: https://github.com/Vendetta01
+[@Xeio]: https://github.com/Xeio
+[@Xitee1]: https://github.com/Xitee1
+[@YogevBokobza]: https://github.com/YogevBokobza
+[@agners]: https://github.com/agners
+[@agoode]: https://github.com/agoode
+[@aindriu80]: https://github.com/aindriu80
+[@alengwenus]: https://github.com/alengwenus
+[@alexandrecuer]: https://github.com/alexandrecuer
+[@alexkn]: https://github.com/alexkn
+[@alistair23]: https://github.com/alistair23
+[@allenporter]: https://github.com/allenporter
+[@andrew-codechimp]: https://github.com/andrew-codechimp
+[@arturpragacz]: https://github.com/arturpragacz
+[@ashionky]: https://github.com/ashionky
+[@astrandb]: https://github.com/astrandb
+[@autinerd]: https://github.com/autinerd
+[@balloob]: https://github.com/balloob
+[@barryvdh]: https://github.com/barryvdh
+[@bdr99]: https://github.com/bdr99
+[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@bluemoehre]: https://github.com/bluemoehre
+[@boergegrunicke]: https://github.com/boergegrunicke
+[@bouwew]: https://github.com/bouwew
+[@brg468]: https://github.com/brg468
+[@bru73f0rc3]: https://github.com/bru73f0rc3
+[@catsmanac]: https://github.com/catsmanac
+[@cdce8p]: https://github.com/cdce8p
+[@cdheiser]: https://github.com/cdheiser
+[@cereal2nd]: https://github.com/cereal2nd
+[@chemelli74]: https://github.com/chemelli74
+[@crug80]: https://github.com/crug80
+[@dependabot[bot]]: https://github.com/apps/dependabot
+[@dmulcahey]: https://github.com/dmulcahey
+[@dontinelli]: https://github.com/dontinelli
+[@dotvav]: https://github.com/dotvav
+[@eclair4151]: https://github.com/eclair4151
+[@edenhaus]: https://github.com/edenhaus
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@epenet]: https://github.com/epenet
+[@erwindouna]: https://github.com/erwindouna
+[@feisley]: https://github.com/feisley
+[@frenck]: https://github.com/frenck
+[@functionpointer]: https://github.com/functionpointer
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@gwww]: https://github.com/gwww
+[@hahn-th]: https://github.com/hahn-th
+[@hanskroner]: https://github.com/hanskroner
+[@hopkins-tk]: https://github.com/hopkins-tk
+[@ianhattendorf]: https://github.com/ianhattendorf
+[@iz4c]: https://github.com/iz4c
+[@j-a-n]: https://github.com/j-a-n
+[@j4n-e4t]: https://github.com/j4n-e4t
+[@jb101010-2]: https://github.com/jb101010-2
+[@jbergler]: https://github.com/jbergler
+[@jbouwh]: https://github.com/jbouwh
+[@jeeftor]: https://github.com/jeeftor
+[@jkaflik]: https://github.com/jkaflik
+[@joelhawksley]: https://github.com/joelhawksley
+[@johangus65]: https://github.com/johangus65
+[@joostlek]: https://github.com/joostlek
+[@jozefKruszynski]: https://github.com/jozefKruszynski
+[@jpbede]: https://github.com/jpbede
+[@jzucker2]: https://github.com/jzucker2
+[@karwosts]: https://github.com/karwosts
+[@kaydenvanrijn]: https://github.com/kaydenvanrijn
+[@kbickar]: https://github.com/kbickar
+[@kevdliu]: https://github.com/kevdliu
+[@kingy444]: https://github.com/kingy444
+[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@klejejs]: https://github.com/klejejs
+[@knyar]: https://github.com/knyar
+[@liudger]: https://github.com/liudger
+[@ludeeus]: https://github.com/ludeeus
+[@marcelveldt]: https://github.com/marcelveldt
+[@marcjay]: https://github.com/marcjay
+[@marcodutto]: https://github.com/marcodutto
+[@mback2k]: https://github.com/mback2k
+[@mdegat01]: https://github.com/mdegat01
+[@mgrandi]: https://github.com/mgrandi
+[@miaucl]: https://github.com/miaucl
+[@mib1185]: https://github.com/mib1185
+[@miterion]: https://github.com/miterion
+[@mj23000]: https://github.com/mj23000
+[@mrdarrengriffin]: https://github.com/mrdarrengriffin
+[@mxr]: https://github.com/mxr
+[@myztillx]: https://github.com/myztillx
+[@naruxde]: https://github.com/naruxde
+[@nicoalonsop]: https://github.com/nicoalonsop
+[@noahhusby]: https://github.com/noahhusby
+[@ol-iver]: https://github.com/ol-iver
+[@olafz]: https://github.com/olafz
+[@oliverwoodings]: https://github.com/oliverwoodings
+[@ollo69]: https://github.com/ollo69
+[@osohotwateriot]: https://github.com/osohotwateriot
+[@owenvoke]: https://github.com/owenvoke
+[@peteS-UK]: https://github.com/peteS-UK
+[@piitaya]: https://github.com/piitaya
+[@polgarc]: https://github.com/polgarc
+[@pssc]: https://github.com/pssc
+[@puddly]: https://github.com/puddly
+[@pvizeli]: https://github.com/pvizeli
+[@qwell]: https://github.com/qwell
+[@rahulsamant37]: https://github.com/rahulsamant37
+[@rajlaud]: https://github.com/rajlaud
+[@raphaeleduardo42]: https://github.com/raphaeleduardo42
+[@rappenze]: https://github.com/rappenze
+[@raulcodes]: https://github.com/raulcodes
+[@rcloran]: https://github.com/rcloran
+[@rikroe]: https://github.com/rikroe
+[@rubenbe]: https://github.com/rubenbe
+[@rytilahti]: https://github.com/rytilahti
+[@scop]: https://github.com/scop
+[@sdb9696]: https://github.com/sdb9696
+[@silamon]: https://github.com/silamon
+[@skynet01]: https://github.com/skynet01
+[@srescio]: https://github.com/srescio
+[@starkillerOG]: https://github.com/starkillerOG
+[@strugee]: https://github.com/strugee
+[@swoga]: https://github.com/swoga
+[@synesthesiam]: https://github.com/synesthesiam
+[@tetele]: https://github.com/tetele
+[@thecode]: https://github.com/thecode
+[@tl-sl]: https://github.com/tl-sl
+[@tleydxdy]: https://github.com/tleydxdy
+[@tr4nt0r]: https://github.com/tr4nt0r
+[@tronikos]: https://github.com/tronikos
+[@tsvi]: https://github.com/tsvi
+[@unfug-at-github]: https://github.com/unfug-at-github
+[@wendevlin]: https://github.com/wendevlin
+[@zweckj]: https://github.com/zweckj
+[@zxdavb]: https://github.com/zxdavb
+[abode docs]: /integrations/abode/
+[airthings_ble docs]: /integrations/airthings_ble/
+[airtouch5 docs]: /integrations/airtouch5/
+[airvisual docs]: /integrations/airvisual/
+[airvisual_pro docs]: /integrations/airvisual_pro/
+[airzone docs]: /integrations/airzone/
+[airzone_cloud docs]: /integrations/airzone_cloud/
+[alarm_control_panel docs]: /integrations/alarm_control_panel/
+[alarmdecoder docs]: /integrations/alarmdecoder/
+[analytics docs]: /integrations/analytics/
+[analytics_insights docs]: /integrations/analytics_insights/
+[android_ip_webcam docs]: /integrations/android_ip_webcam/
+[androidtv docs]: /integrations/androidtv/
+[androidtv_remote docs]: /integrations/androidtv_remote/
+[anova docs]: /integrations/anova/
+[anthropic docs]: /integrations/anthropic/
+[aosmith docs]: /integrations/aosmith/
+[apache_kafka docs]: /integrations/apache_kafka/
+[apple_tv docs]: /integrations/apple_tv/
+[application_credentials docs]: /integrations/application_credentials/
+[apprise docs]: /integrations/apprise/
+[aprilaire docs]: /integrations/aprilaire/
+[apsystems docs]: /integrations/apsystems/
+[aranet docs]: /integrations/aranet/
+[arcam_fmj docs]: /integrations/arcam_fmj/
+[arris_tg2492lg docs]: /integrations/arris_tg2492lg/
+[arve docs]: /integrations/arve/
+[aseko_pool_live docs]: /integrations/aseko_pool_live/
+[atag docs]: /integrations/atag/
+[august docs]: /integrations/august/
+[aurora docs]: /integrations/aurora/
+[aurora_abb_powerone docs]: /integrations/aurora_abb_powerone/
+[aussie_broadband docs]: /integrations/aussie_broadband/
+[autarco docs]: /integrations/autarco/
+[auth docs]: /integrations/auth/
+[automation docs]: /integrations/automation/
+[awair docs]: /integrations/awair/
+[axis docs]: /integrations/axis/
+[azure_data_explorer docs]: /integrations/azure_data_explorer/
+[azure_devops docs]: /integrations/azure_devops/
+[azure_event_hub docs]: /integrations/azure_event_hub/
+[backup docs]: /integrations/backup/
+[balboa docs]: /integrations/balboa/
+[bang_olufsen docs]: /integrations/bang_olufsen/
+[blebox docs]: /integrations/blebox/
+[blink docs]: /integrations/blink/
+[bloomsky docs]: /integrations/bloomsky/
+[blue_current docs]: /integrations/blue_current/
+[bluemaestro docs]: /integrations/bluemaestro/
+[bluesound docs]: /integrations/bluesound/
+[bluetooth docs]: /integrations/bluetooth/
+[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
+[bond docs]: /integrations/bond/
+[bosch_shc docs]: /integrations/bosch_shc/
+[braviatv docs]: /integrations/braviatv/
+[bring docs]: /integrations/bring/
+[broadlink docs]: /integrations/broadlink/
+[brother docs]: /integrations/brother/
+[brunt docs]: /integrations/brunt/
+[bryant_evolution docs]: /integrations/bryant_evolution/
+[bsblan docs]: /integrations/bsblan/
+[bthome docs]: /integrations/bthome/
+[buienradar docs]: /integrations/buienradar/
+[caldav docs]: /integrations/caldav/
+[calendar docs]: /integrations/calendar/
+[cambridge_audio docs]: /integrations/cambridge_audio/
+[camera docs]: /integrations/camera/
+[cast docs]: /integrations/cast/
+[cisco_webex_teams docs]: /integrations/cisco_webex_teams/
+[cloud docs]: /integrations/cloud/
+[cloudflare docs]: /integrations/cloudflare/
+[co2signal docs]: /integrations/co2signal/
+[comelit docs]: /integrations/comelit/
+[concord232 docs]: /integrations/concord232/
+[config docs]: /integrations/config/
+[conversation docs]: /integrations/conversation/
+[cover docs]: /integrations/cover/
+[crownstone docs]: /integrations/crownstone/
+[deako docs]: /integrations/deako/
+[debugpy docs]: /integrations/debugpy/
+[deconz docs]: /integrations/deconz/
+[default_config docs]: /integrations/default_config/
+[deluge docs]: /integrations/deluge/
+[demo docs]: /integrations/demo/
+[denonavr docs]: /integrations/denonavr/
+[derivative docs]: /integrations/derivative/
+[devialet docs]: /integrations/devialet/
+[devolo_home_control docs]: /integrations/devolo_home_control/
+[devolo_home_network docs]: /integrations/devolo_home_network/
+[dhcp docs]: /integrations/dhcp/
+[directv docs]: /integrations/directv/
+[discovergy docs]: /integrations/discovergy/
+[dlna_dmr docs]: /integrations/dlna_dmr/
+[dlna_dms docs]: /integrations/dlna_dms/
+[dnsip docs]: /integrations/dnsip/
+[doorbird docs]: /integrations/doorbird/
+[dormakaba_dkey docs]: /integrations/dormakaba_dkey/
+[dsmr_reader docs]: /integrations/dsmr_reader/
+[dwd_weather_warnings docs]: /integrations/dwd_weather_warnings/
+[ecobee docs]: /integrations/ecobee/
+[efergy docs]: /integrations/efergy/
+[electric_kiwi docs]: /integrations/electric_kiwi/
+[elkm1 docs]: /integrations/elkm1/
+[elmax docs]: /integrations/elmax/
+[emoncms docs]: /integrations/emoncms/
+[emulated_kasa docs]: /integrations/emulated_kasa/
+[energy docs]: /integrations/energy/
+[enigma2 docs]: /integrations/enigma2/
+[enphase_envoy docs]: /integrations/enphase_envoy/
+[eq3btsmart docs]: /integrations/eq3btsmart/
+[esphome docs]: /integrations/esphome/
+[evohome docs]: /integrations/evohome/
+[ezviz docs]: /integrations/ezviz/
+[fastdotcom docs]: /integrations/fastdotcom/
+[feedreader docs]: /integrations/feedreader/
+[ffmpeg docs]: /integrations/ffmpeg/
+[fibaro docs]: /integrations/fibaro/
+[fitbit docs]: /integrations/fitbit/
+[fivem docs]: /integrations/fivem/
+[fjaraskupan docs]: /integrations/fjaraskupan/
+[flexit_bacnet docs]: /integrations/flexit_bacnet/
+[flux_led docs]: /integrations/flux_led/
+[folder_watcher docs]: /integrations/folder_watcher/
+[fritz docs]: /integrations/fritz/
+[fritzbox docs]: /integrations/fritzbox/
+[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/
+[fronius docs]: /integrations/fronius/
+[frontend docs]: /integrations/frontend/
+[frontier_silicon docs]: /integrations/frontier_silicon/
+[fujitsu_fglair docs]: /integrations/fujitsu_fglair/
+[fully_kiosk docs]: /integrations/fully_kiosk/
+[fyta docs]: /integrations/fyta/
+[gardena_bluetooth docs]: /integrations/gardena_bluetooth/
+[generic docs]: /integrations/generic/
+[generic_thermostat docs]: /integrations/generic_thermostat/
+[geniushub docs]: /integrations/geniushub/
+[geofency docs]: /integrations/geofency/
+[geonetnz_volcano docs]: /integrations/geonetnz_volcano/
+[gios docs]: /integrations/gios/
+[glances docs]: /integrations/glances/
+[go2rtc docs]: /integrations/go2rtc/
+[goalzero docs]: /integrations/goalzero/
+[gogogate2 docs]: /integrations/gogogate2/
+[google docs]: /integrations/google/
+[google_assistant docs]: /integrations/google_assistant/
+[google_assistant_sdk docs]: /integrations/google_assistant_sdk/
+[google_domains docs]: /integrations/google_domains/
+[google_generative_ai_conversation docs]: /integrations/google_generative_ai_conversation/
+[google_mail docs]: /integrations/google_mail/
+[google_photos docs]: /integrations/google_photos/
+[google_pubsub docs]: /integrations/google_pubsub/
+[google_sheets docs]: /integrations/google_sheets/
+[google_tasks docs]: /integrations/google_tasks/
+[google_travel_time docs]: /integrations/google_travel_time/
+[govee_ble docs]: /integrations/govee_ble/
+[govee_light_local docs]: /integrations/govee_light_local/
+[gpslogger docs]: /integrations/gpslogger/
+[group docs]: /integrations/group/
+[guardian docs]: /integrations/guardian/
+[habitica docs]: /integrations/habitica/
+[hardkernel docs]: /integrations/hardkernel/
+[hassio docs]: /integrations/hassio/
+[heatmiser docs]: /integrations/heatmiser/
+[here_travel_time docs]: /integrations/here_travel_time/
+[history_stats docs]: /integrations/history_stats/
+[holiday docs]: /integrations/holiday/
+[home_connect docs]: /integrations/home_connect/
+[homeassistant docs]: /integrations/homeassistant/
+[homeassistant_green docs]: /integrations/homeassistant_green/
+[homeassistant_hardware docs]: /integrations/homeassistant_hardware/
+[homeassistant_sky_connect docs]: /integrations/homeassistant_sky_connect/
+[homeassistant_yellow docs]: /integrations/homeassistant_yellow/
+[homekit docs]: /integrations/homekit/
+[homekit_controller docs]: /integrations/homekit_controller/
+[homematicip_cloud docs]: /integrations/homematicip_cloud/
+[homewizard docs]: /integrations/homewizard/
+[homeworks docs]: /integrations/homeworks/
+[honeywell docs]: /integrations/honeywell/
+[html5 docs]: /integrations/html5/
+[huawei_lte docs]: /integrations/huawei_lte/
+[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/
+[husqvarna_automower docs]: /integrations/husqvarna_automower/
+[husqvarna_automower_ble docs]: /integrations/husqvarna_automower_ble/
+[hydrawise docs]: /integrations/hydrawise/
+[hyperion docs]: /integrations/hyperion/
+[image docs]: /integrations/image/
+[imap docs]: /integrations/imap/
+[insteon docs]: /integrations/insteon/
+[intellifire docs]: /integrations/intellifire/
+[intent docs]: /integrations/intent/
+[iotty docs]: /integrations/iotty/
+[ipp docs]: /integrations/ipp/
+[iron_os docs]: /integrations/iron_os/
+[israel_rail docs]: /integrations/israel_rail/
+[ista_ecotrend docs]: /integrations/ista_ecotrend/
+[jellyfin docs]: /integrations/jellyfin/
+[jewish_calendar docs]: /integrations/jewish_calendar/
+[justnimbus docs]: /integrations/justnimbus/
+[jvc_projector docs]: /integrations/jvc_projector/
+[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/
+[kitchen_sink docs]: /integrations/kitchen_sink/
+[knocki docs]: /integrations/knocki/
+[knx docs]: /integrations/knx/
+[konnected docs]: /integrations/konnected/
+[kraken docs]: /integrations/kraken/
+[lacrosse_view docs]: /integrations/lacrosse_view/
+[lamarzocco docs]: /integrations/lamarzocco/
+[lametric docs]: /integrations/lametric/
+[lcn docs]: /integrations/lcn/
+[lektrico docs]: /integrations/lektrico/
+[lg_netcast docs]: /integrations/lg_netcast/
+[lg_soundbar docs]: /integrations/lg_soundbar/
+[lg_thinq docs]: /integrations/lg_thinq/
+[lidarr docs]: /integrations/lidarr/
+[lifx docs]: /integrations/lifx/
+[light docs]: /integrations/light/
+[linear_garage_door docs]: /integrations/linear_garage_door/
+[linkplay docs]: /integrations/linkplay/
+[litterrobot docs]: /integrations/litterrobot/
+[local_calendar docs]: /integrations/local_calendar/
+[local_file docs]: /integrations/local_file/
+[logbook docs]: /integrations/logbook/
+[lookin docs]: /integrations/lookin/
+[luftdaten docs]: /integrations/luftdaten/
+[lutron docs]: /integrations/lutron/
+[lutron_caseta docs]: /integrations/lutron_caseta/
+[lyric docs]: /integrations/lyric/
+[madvr docs]: /integrations/madvr/
+[map docs]: /integrations/map/
+[mass docs]: /integrations/mass/
+[mastodon docs]: /integrations/mastodon/
+[matter docs]: /integrations/matter/
+[mealie docs]: /integrations/mealie/
+[media_source docs]: /integrations/media_source/
+[melcloud docs]: /integrations/melcloud/
+[met_eireann docs]: /integrations/met_eireann/
+[meteo_france docs]: /integrations/meteo_france/
+[microBees docs]: /integrations/microBees/
+[mikrotik docs]: /integrations/mikrotik/
+[minio docs]: /integrations/minio/
+[mobile_app docs]: /integrations/mobile_app/
+[modbus docs]: /integrations/modbus/
+[modern_forms docs]: /integrations/modern_forms/
+[mold_indicator docs]: /integrations/mold_indicator/
+[monzo docs]: /integrations/monzo/
+[motion_blinds docs]: /integrations/motion_blinds/
+[motionblinds_ble docs]: /integrations/motionblinds_ble/
+[motioneye docs]: /integrations/motioneye/
+[mqtt docs]: /integrations/mqtt/
+[mysensors docs]: /integrations/mysensors/
+[myuplink docs]: /integrations/myuplink/
+[nam docs]: /integrations/nam/
+[nanoleaf docs]: /integrations/nanoleaf/
+[nest docs]: /integrations/nest/
+[netatmo docs]: /integrations/netatmo/
+[network docs]: /integrations/network/
+[nexia docs]: /integrations/nexia/
+[nextbus docs]: /integrations/nextbus/
+[nextcloud docs]: /integrations/nextcloud/
+[nextdns docs]: /integrations/nextdns/
+[nice_go docs]: /integrations/nice_go/
+[nina docs]: /integrations/nina/
+[nmap_tracker docs]: /integrations/nmap_tracker/
+[notify docs]: /integrations/notify/
+[notion docs]: /integrations/notion/
+[octoprint docs]: /integrations/octoprint/
+[ollama docs]: /integrations/ollama/
+[oncue docs]: /integrations/oncue/
+[onkyo docs]: /integrations/onkyo/
+[onvif docs]: /integrations/onvif/
+[openai_conversation docs]: /integrations/openai_conversation/
+[openexchangerates docs]: /integrations/openexchangerates/
+[openhome docs]: /integrations/openhome/
+[openweathermap docs]: /integrations/openweathermap/
+[opower docs]: /integrations/opower/
+[osoenergy docs]: /integrations/osoenergy/
+[overkiz docs]: /integrations/overkiz/
+[ovo_energy docs]: /integrations/ovo_energy/
+[p1_monitor docs]: /integrations/p1_monitor/
+[palazzetti docs]: /integrations/palazzetti/
+[panel_iframe docs]: /integrations/panel_iframe/
+[pegel_online docs]: /integrations/pegel_online/
+[permobil docs]: /integrations/permobil/
+[persistent_notification docs]: /integrations/persistent_notification/
+[philips_js docs]: /integrations/philips_js/
+[pi_hole docs]: /integrations/pi_hole/
+[plant docs]: /integrations/plant/
+[plugwise docs]: /integrations/plugwise/
+[point docs]: /integrations/point/
+[powerwall docs]: /integrations/powerwall/
+[prometheus docs]: /integrations/prometheus/
+[prosegur docs]: /integrations/prosegur/
+[proximity docs]: /integrations/proximity/
+[purpleair docs]: /integrations/purpleair/
+[pvoutput docs]: /integrations/pvoutput/
+[pvpc_hourly_pricing docs]: /integrations/pvpc_hourly_pricing/
+[pyload docs]: /integrations/pyload/
+[python_script docs]: /integrations/python_script/
+[qbittorrent docs]: /integrations/qbittorrent/
+[qnap_qsw docs]: /integrations/qnap_qsw/
+[rachio docs]: /integrations/rachio/
+[radarr docs]: /integrations/radarr/
+[radio_browser docs]: /integrations/radio_browser/
+[radiotherm docs]: /integrations/radiotherm/
+[rainforest_raven docs]: /integrations/rainforest_raven/
+[rainmachine docs]: /integrations/rainmachine/
+[random docs]: /integrations/random/
+[recorder docs]: /integrations/recorder/
+[refoss docs]: /integrations/refoss/
+[reolink docs]: /integrations/reolink/
+[rflink docs]: /integrations/rflink/
+[rhasspy docs]: /integrations/rhasspy/
+[ring docs]: /integrations/ring/
+[roborock docs]: /integrations/roborock/
+[roomba docs]: /integrations/roomba/
+[rova docs]: /integrations/rova/
+[rpi_power docs]: /integrations/rpi_power/
+[rtsp_to_webrtc docs]: /integrations/rtsp_to_webrtc/
+[ruckus_unleashed docs]: /integrations/ruckus_unleashed/
+[rympro docs]: /integrations/rympro/
+[samsungtv docs]: /integrations/samsungtv/
+[schlage docs]: /integrations/schlage/
+[scrape docs]: /integrations/scrape/
+[script docs]: /integrations/script/
+[season docs]: /integrations/season/
+[sense docs]: /integrations/sense/
+[sensibo docs]: /integrations/sensibo/
+[sensor docs]: /integrations/sensor/
+[sensorpush docs]: /integrations/sensorpush/
+[sfr_box docs]: /integrations/sfr_box/
+[shelly docs]: /integrations/shelly/
+[shopping_list docs]: /integrations/shopping_list/
+[sia docs]: /integrations/sia/
+[skybell docs]: /integrations/skybell/
+[sleepiq docs]: /integrations/sleepiq/
+[slide docs]: /integrations/slide/
+[smappee docs]: /integrations/smappee/
+[smarttub docs]: /integrations/smarttub/
+[smarty docs]: /integrations/smarty/
+[smhi docs]: /integrations/smhi/
+[smlight docs]: /integrations/smlight/
+[snooz docs]: /integrations/snooz/
+[solarlog docs]: /integrations/solarlog/
+[sonarr docs]: /integrations/sonarr/
+[songpal docs]: /integrations/songpal/
+[soundtouch docs]: /integrations/soundtouch/
+[spider docs]: /integrations/spider/
+[spotify docs]: /integrations/spotify/
+[squeezebox docs]: /integrations/squeezebox/
+[ssdp docs]: /integrations/ssdp/
+[statistics docs]: /integrations/statistics/
+[steam_online docs]: /integrations/steam_online/
+[steamist docs]: /integrations/steamist/
+[suez_water docs]: /integrations/suez_water/
+[sunweg docs]: /integrations/sunweg/
+[surepetcare docs]: /integrations/surepetcare/
+[swiss_public_transport docs]: /integrations/swiss_public_transport/
+[switchbot docs]: /integrations/switchbot/
+[switchbot_cloud docs]: /integrations/switchbot_cloud/
+[switcher_kis docs]: /integrations/switcher_kis/
+[synology_dsm docs]: /integrations/synology_dsm/
+[system_bridge docs]: /integrations/system_bridge/
+[tado docs]: /integrations/tado/
+[tailscale docs]: /integrations/tailscale/
+[tailwind docs]: /integrations/tailwind/
+[tami4 docs]: /integrations/tami4/
+[tankerkoenig docs]: /integrations/tankerkoenig/
+[tautulli docs]: /integrations/tautulli/
+[tedee docs]: /integrations/tedee/
+[telegram_bot docs]: /integrations/telegram_bot/
+[template docs]: /integrations/template/
+[tesla_fleet docs]: /integrations/tesla_fleet/
+[tesla_wall_connector docs]: /integrations/tesla_wall_connector/
+[teslemetry docs]: /integrations/teslemetry/
+[tessie docs]: /integrations/tessie/
+[thethingsnetwork docs]: /integrations/thethingsnetwork/
+[thread docs]: /integrations/thread/
+[threshold docs]: /integrations/threshold/
+[tibber docs]: /integrations/tibber/
+[tile docs]: /integrations/tile/
+[timer docs]: /integrations/timer/
+[todo docs]: /integrations/todo/
+[toon docs]: /integrations/toon/
+[tplink docs]: /integrations/tplink/
+[tplink_omada docs]: /integrations/tplink_omada/
+[traccar docs]: /integrations/traccar/
+[trace docs]: /integrations/trace/
+[trafikverket_camera docs]: /integrations/trafikverket_camera/
+[trafikverket_ferry docs]: /integrations/trafikverket_ferry/
+[trafikverket_train docs]: /integrations/trafikverket_train/
+[trafikverket_weatherstation docs]: /integrations/trafikverket_weatherstation/
+[transmission docs]: /integrations/transmission/
+[trend docs]: /integrations/trend/
+[triggercmd docs]: /integrations/triggercmd/
+[tuya docs]: /integrations/tuya/
+[twitch docs]: /integrations/twitch/
+[unifi docs]: /integrations/unifi/
+[unifiprotect docs]: /integrations/unifiprotect/
+[upcloud docs]: /integrations/upcloud/
+[update docs]: /integrations/update/
+[upnp docs]: /integrations/upnp/
+[vallox docs]: /integrations/vallox/
+[velbus docs]: /integrations/velbus/
+[velux docs]: /integrations/velux/
+[vera docs]: /integrations/vera/
+[verisure docs]: /integrations/verisure/
+[vesync docs]: /integrations/vesync/
+[vicare docs]: /integrations/vicare/
+[vlc_telnet docs]: /integrations/vlc_telnet/
+[vodafone_station docs]: /integrations/vodafone_station/
+[voip docs]: /integrations/voip/
+[volvooncall docs]: /integrations/volvooncall/
+[wallbox docs]: /integrations/wallbox/
+[waze_travel_time docs]: /integrations/waze_travel_time/
+[weatherflow docs]: /integrations/weatherflow/
+[weatherflow_cloud docs]: /integrations/weatherflow_cloud/
+[weatherkit docs]: /integrations/weatherkit/
+[webmin docs]: /integrations/webmin/
+[webostv docs]: /integrations/webostv/
+[websocket_api docs]: /integrations/websocket_api/
+[weheat docs]: /integrations/weheat/
+[whirlpool docs]: /integrations/whirlpool/
+[wilight docs]: /integrations/wilight/
+[withings docs]: /integrations/withings/
+[wmspro docs]: /integrations/wmspro/
+[workday docs]: /integrations/workday/
+[wyoming docs]: /integrations/wyoming/
+[xiaomi_ble docs]: /integrations/xiaomi_ble/
+[xiaomi_miio docs]: /integrations/xiaomi_miio/
+[yale docs]: /integrations/yale/
+[yale_smart_alarm docs]: /integrations/yale_smart_alarm/
+[yalexs_ble docs]: /integrations/yalexs_ble/
+[yeelight docs]: /integrations/yeelight/
+[yolink docs]: /integrations/yolink/
+[youtube docs]: /integrations/youtube/
+[zeroconf docs]: /integrations/zeroconf/
+[zeversolar docs]: /integrations/zeversolar/
+[zha docs]: /integrations/zha/
+[zhong_hong docs]: /integrations/zhong_hong/
+[zwave_js docs]: /integrations/zwave_js/
\ No newline at end of file
diff --git a/source/common-tasks/general.markdown b/source/common-tasks/general.markdown
index 324c38ddaeb..f6479020755 100644
--- a/source/common-tasks/general.markdown
+++ b/source/common-tasks/general.markdown
@@ -22,4 +22,6 @@ Creating an automation for polling gives you more flexibility on when to poll:
1. Not all integrations have a configurable polling interval. The homeassistant.update_entity service, on the other hand, works with most of the integrations; no code changes are required.
2. An automation allows you to poll whenever you want. For example, if you have a rate-limited solar panel provider with a maximum number of requests per day, you may want to lower/stop the polling at night but poll more frequently during the day.
-{% include common-tasks/define_custom_polling.md %}
\ No newline at end of file
+{% include common-tasks/define_custom_polling.md %}
+
+{% include common-tasks/remove_device_service.md %}
\ No newline at end of file
diff --git a/source/images/docs/configuration/integration_instance_delete.png b/source/images/docs/configuration/integration_instance_delete.png
new file mode 100644
index 00000000000..1177dfae720
Binary files /dev/null and b/source/images/docs/configuration/integration_instance_delete.png differ
diff --git a/source/images/github-top-project-2024-desktop.png b/source/images/github-top-project-2024-desktop.png
new file mode 100644
index 00000000000..2d2bc6dcf01
Binary files /dev/null and b/source/images/github-top-project-2024-desktop.png differ
diff --git a/source/images/github-top-project-2024-mobile.png b/source/images/github-top-project-2024-mobile.png
new file mode 100644
index 00000000000..70f397abb89
Binary files /dev/null and b/source/images/github-top-project-2024-mobile.png differ
diff --git a/source/voice_control/builtin_sentences.markdown b/source/voice_control/builtin_sentences.markdown
index 5e6f62456fe..6e53be0421c 100644
--- a/source/voice_control/builtin_sentences.markdown
+++ b/source/voice_control/builtin_sentences.markdown
@@ -1,5 +1,5 @@
---
-title: "Assist - default sentences"
+title: Assist - sentences starter kit
related:
- docs: /voice_control/aliases/
title: Create aliases
@@ -19,99 +19,161 @@ related:
Home Assistant comes with [built-in sentences](https://github.com/home-assistant/intents/tree/main/sentences) contributed by the community for [dozens of languages](https://developers.home-assistant.io/docs/voice/intent-recognition/supported-languages).
-These sentences allow you, for example, to:
+## Prerequisites
-- **Turn entities on and off**
- - *"turn on the living room light"*
- - *"turn off ceiling fan"*
- - *"turn on the TV"*
- - *"lock all the doors"*
- - *"open the main door"*
-- **Open, close covers, or ask about their state**
- - *"Close the garage door"*
- - *"Open kitchen window"*
- - *"Which curtains are closed"*
- - *"Set bedroom curtain to 50%"*
-- **Set the brightness and color of lights**
- - *"Change kitchen lights brightness to 50%"*
- - *"Set bed light to green"*
-- **Ask about the weather**
- - *"What is the weather"*
- - Struggling with this one? Check the [troubleshooting section](/voice_control/troubleshooting/).
-- **Add items to a list**
- - *"Add bread to my shopping list"*
- - *"Add decorating christmas tree to my december chores list"*
-- **Get information about a state**
- - *"What is the amount of energy from solar production?"*
- - *"what is the heat pump co2 sensor's co2 level?"*
- - *"what is the battery level of my phone?"*
-- **Run a script**
- - *"Run stealth mode script"*
-- **Activate a scene**
- - *"Activate dinner scene"*
- - *"Turn kitchen dinner scene on"*
-- **Inquire about people (that have device tracking activated in Home Assistant)**
- - *"How many people are in the kitchen"*
- - *"Who is in the garage"*
- - *"Where is Anne"*
-- **Control the media player**
- - *"next item on TV"*
- - *"skip song on the TV"*
- - *"skip track on the TV"*
- - *"skip to the next song on the TV"*
- - *"pause TV"*
- - *"TV pause"*
- - *"unpause TV"*
- - *"TV unpause"*
- - *"resume TV"*
- - *"set TV volume to 90 percent"*
- - *"change the TV volume to 90"*
- - *"turn TV volume down to 90 percent"*
-- **Control the vacuum**
- - *"return rover to base"*
- - *"start rover"*
-- **Use timers**
- - *“Create a timer for 5 minutes”*
- - *“Create a 15-minute timer for pizza”*
- - *“Cancel my timer”*
- - *“Pause my timer”*
- - *“Resume my timer”*
- - *“Add 2 minutes to my 5-minute timer”*
- - *“Remove 3 minutes from my pizza timer”*
+- The entities you want to control with Assist must be [exposed to Assist](/voice_control/voice_remote_expose_devices/).
+- When using the names of entities or areas, make sure to use them exactly as they are defined in Home Assistant, or, [create an alias](/voice_control/aliases/).
- Timers running on an S3-Box-3B, with countdown text and a loading bar!
+## Device control
+
+### Turning entities on and off
+
+- *turn on the living room light*
+- *turn off ceiling fan*
+- *turn on the TV*
+- *lock all the doors*
+- *open the main door*
+
+### Lights
+
+- *Change kitchen lights brightness to 50%*
+- *Set bed light to green*
+- *set bed light brightness to 50%*
+- *set living room brightness to 50%*
+- *set brightness to 50%*
+ - Uses area of voice satellite
+- *set kitchen lights to red*
+- *set lights to red*
+ - Uses area of voice satellite
+- *turn on the lights in the living room*
+
+### Covers
+
+- *Close the garage door*
+- *Open kitchen window*
+- *Which curtains are closed*
+- *Set bedroom curtain to 50%*
+
+### Scenes and scripts
+
+- *Run stealth mode script*
+- *Activate dinner scene*
+- *Turn kitchen dinner scene on*
+
+### Media player
+
+- *next item on TV*
+- *next track*
+- *next track in office*
+- *previous track*
+- *previous track in office*
+- *skip song on the TV*
+- *skip track on the TV*
+- *skip to the next song on the TV*
+- *pause|resume*
+ - pauses or resumes music on voice satellite or in current area
+- *pause|resume "area" music*
+ - pauses or resumes music in area
+- *pause|resume "entity"*
+ - pauses or resumes music on media player
+- *unpause TV*
+- *TV unpause*
+- *set TV volume to 90 percent*
+- *change the TV volume to 90*
+- *turn TV volume down to 90 percent*
+
+### Vacuum
+
+- *return rover to base*
+- *start rover*
+
+### Lists
+
+- *Add bread to my shopping list*
+- *Add decorating christmas tree to my december chores list*
+ - needs a todo list name "december chores"
+- *add clean out garage to weekend list*
+ - needs a todo list named "Weekend"
+
+## Date and time
+
+- *what time is it?*
+- *what's the date?*
+
+## Timers
+
+### Starting
+
+- *set a timer for 5 minutes*
+- *5 minute timer*
+- *set a 20 minute timer for pizza*
+
+### Cancelling
+
+- *cancel timer*
+ - can't cancel multiple timers yet
+- *cancel 5 minute timer*
+- *cancel pizza timer*
+- *cancel kitchen timer*
+ - Must have been set by a voice satellite in the kitchen
+
+### Adding/Removing Time
+
+- *add 5 minutes to pizza timer*
+- *add 5 minutes to kitchen timer*
+- *remove 1 minute from timer*
+- *remove 1 minute from 5 minute timer*
+
+### Status
+
+- *timer status*
+- *how much time is left on pizza timer?*
+- *how much time is left on kitchen timer?*
+- *how much time is left on 5 minute timer?*
+
+"p class='img'""lite-youtube videoid=v3mNdTsX4J0 videotitle=Voice timers with countdown text and loading bar""/lite-youtube"Timers running on an S3-Box-3B, with countdown text and a loading bar!"/p"
To learn how to set this up, refer to the [ESP32-S3-Box-3B tutorial](/voice_control/s3_box_voice_assistant/).
-- **Combine timers and device control to add a delay**
+### Combining timers and device control to add a delay
+
Unlike regular voice timers, delayed commands cannot be canceled or modified.
- - *“Turn off the lights in the living room in 5 minutes”*
- - *“Pause TV in 10 minutes”*
- - *“Open the blinds in 5 minutes”*
-- **Abort wake word**
- - *"Nevermind"*: If you triggered the wake word by mistake and want to stop Home Assistant from listening
+- *Turn off the lights in the living room in 5 minutes*
+- *Pause TV in 10 minutes*
+- *Open the blinds in 5 minutes*
-The sentences only work, if the {% term entities %} are available and are named exactly the way you call them. Check the [troubleshooting section](/voice_control/troubleshooting/) to see common errors when asking for the weather forecast.
+## Questions
-In addition to individual {% term entities %}, commands can target **areas**:
+### Get information about a state
-- *"turn on all lights in the living room"*
-- *"open windows in the kitchen"*
-- *"change office brightness to 50%"*
-- *"set bedroom lights to green"*
+- *What is the amount of energy from solar production?*
+- *what is the heat pump co2 sensor's co2 level?*
+- *what is the battery level of my phone?*
-Entity [aliases](/voice_control/aliases) are also matched so that multiple names can be used, even in different languages.
+### Ask about the weather
-You can extend the [built-in sentences](https://github.com/home-assistant/intents/tree/main/sentences) or [add your own](/voice_control/custom_sentences) to trigger any action in Home Assistant.
+- *What is the weather*
+- Struggling with this one? Check the [troubleshooting section](/voice_control/troubleshooting/).
-## View existing sentences
+### Ask about people
+
+(that have device tracking activated in Home Assistant)
+
+- *How many people are in the kitchen*
+- *Who is in the garage*
+- *Where is Anne*
+
+## Aborting
+
+- *Nevermind*: If you triggered the wake word by mistake and want to stop Home Assistant from listening
+
+## Troubleshooting
The list of supported sentences is constantly being updated for each language. There are so many possible sentences that they cannot be all listed here. To find out what works in your language, follow these steps.
-**Note**: If the voice assistant doesn't understand you, you may need to rephrase your sentence a bit. Or check if the {% term entity %} or {% term area %} name is correct for your environment.
-
-1. Take a look at the test sentences:
+1. If the voice assistant doesn't understand you, you may need to rephrase your sentence a bit. Or check if the {% term entity %} or {% term area %} name is correct for your environment.
+2. Take a look at the test sentences:
- On GitHub, in the [tests](https://github.com/home-assistant/intents/tree/main/tests) folder, open the subfolder for your language.
- Look through the test files to see the example sentences that have been tested.
- The second part of the file name shows the {% term intent %}, the first part shows the {% term domain %}. For some {% term domains %}, such as covers, fans, and light, there are specific sentences.
@@ -124,7 +186,7 @@ The list of supported sentences is constantly being updated for each language. T

-2. View the sentence definition for the tests:
+3. View the sentence definition for the tests:
- On GitHub, in the [sentences](https://github.com/home-assistant/intents/tree/main/sentences) folder, open the subfolder for your language.
- Open the file of interest.
@@ -132,8 +194,12 @@ The list of supported sentences is constantly being updated for each language. T
- () mean alternative elements.
- [] mean optional elements.
- - <> mean an expansion rule. To view these rules, search for `expansion_rules` in the [_common.yaml](https://github.com/home-assistant/intents/blob/main/sentences/en/_common.yaml) file.
+ - <> mean an expansion rule. To view these rules, search for `expansion_rules` in the [_common.yaml](https://github.com/home-assistant/intents/blob/main/sentences/en/_common.yaml) file.
- The syntax is explained in detail in the [template sentence syntax documentation](https://developers.home-assistant.io/docs/voice/intent-recognition/template-sentence-syntax/).
-3. View the [sentence definition](https://github.com/home-assistant/intents/tree/main/sentences) for your language.
-4. View the [response definition](https://github.com/home-assistant/intents/tree/main/responses)
+4. View the [sentence definition](https://github.com/home-assistant/intents/tree/main/sentences) for your language.
+5. View the [response definition](https://github.com/home-assistant/intents/tree/main/responses)
+6. If there are issues when asking for the weather forecast, check the [troubleshooting section](/voice_control/troubleshooting/) to see common errors.
+## More sentences
+
+You can extend the [built-in sentences](https://github.com/home-assistant/intents/tree/main/sentences) or [add your own](/voice_control/custom_sentences) to trigger any action in Home Assistant.
diff --git a/source/voice_control/index.markdown b/source/voice_control/index.markdown
index fb41ac16f9e..4cc075fd0e0 100644
--- a/source/voice_control/index.markdown
+++ b/source/voice_control/index.markdown
@@ -16,7 +16,7 @@ related:
- docs: /voice_control/create_wake_word/
title: Create your own wake words
- docs: /voice_control/builtin_sentences
- title: Built-in sentences
+ title: Sentences starter kit
- url: https://www.nabucasa.com/config/
title: Home Assistant Cloud
---