diff --git a/CODEOWNERS b/CODEOWNERS
index dec4df0029b..e588a7e6614 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -117,7 +117,7 @@ source/_integrations/bluetooth_adapters.markdown @bdraco
source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe
source/_integrations/bond.markdown @bdraco @prystupa @joshs85 @marciogranzotto
source/_integrations/bosch_shc.markdown @tschamm
-source/_integrations/brandt.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/brandt.markdown @imicknl
source/_integrations/braviatv.markdown @bieniu @Drafteed
source/_integrations/brel_home.markdown @starkillerOG
source/_integrations/bring.markdown @miaucl @tr4nt0r
@@ -166,7 +166,7 @@ source/_integrations/coolmaster.markdown @OnFreund
source/_integrations/counter.markdown @fabaff
source/_integrations/cover.markdown @home-assistant/core
source/_integrations/cover.template.markdown @home-assistant/core
-source/_integrations/cozytouch.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/cozytouch.markdown @imicknl
source/_integrations/cpuspeed.markdown @fabaff
source/_integrations/cribl.markdown @Bre77
source/_integrations/crownstone.markdown @Crownstone @RicArch97
@@ -178,6 +178,7 @@ source/_integrations/datetime.markdown @home-assistant/core
source/_integrations/deako.markdown @sebirdman @balake @deakolights
source/_integrations/debugpy.markdown @frenck
source/_integrations/deconz.markdown @Kane610
+source/_integrations/decorquip.markdown @starkillerOG
source/_integrations/default_config.markdown @home-assistant/core
source/_integrations/delijn.markdown @bollewolle @Emilv2
source/_integrations/delmarva.markdown @tronikos
@@ -279,7 +280,7 @@ source/_integrations/fitbit.markdown @allenporter
source/_integrations/fivem.markdown @Sander0542
source/_integrations/fjaraskupan.markdown @elupus
source/_integrations/flexit_bacnet.markdown @lellky @piotrbulinski
-source/_integrations/flexom.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/flexom.markdown @imicknl
source/_integrations/flick_electric.markdown @ZephireNZ
source/_integrations/flipr.markdown @cnico
source/_integrations/flo.markdown @dmulcahey
@@ -325,6 +326,7 @@ source/_integrations/google.markdown @allenporter
source/_integrations/google_assistant.markdown @home-assistant/cloud
source/_integrations/google_assistant_sdk.markdown @tronikos
source/_integrations/google_cloud.markdown @lufton @tronikos
+source/_integrations/google_drive.markdown @tronikos
source/_integrations/google_generative_ai_conversation.markdown @tronikos
source/_integrations/google_mail.markdown @tkdrob
source/_integrations/google_photos.markdown @allenporter
@@ -341,6 +343,7 @@ source/_integrations/guardian.markdown @bachya
source/_integrations/habitica.markdown @tr4nt0r
source/_integrations/hardware.markdown @home-assistant/core
source/_integrations/harmony.markdown @ehendrix23 @bdraco @mkeesey @Aohzan
+source/_integrations/harvey.markdown @Jordi1990
source/_integrations/hassio.markdown @home-assistant/supervisor
source/_integrations/havana_shade.markdown @starkillerOG
source/_integrations/hdmi_cec.markdown @inytar
@@ -348,8 +351,8 @@ source/_integrations/heatmiser.markdown @andylockran
source/_integrations/heiwa.markdown @cmroche
source/_integrations/heos.markdown @andrewsayre
source/_integrations/here_travel_time.markdown @eifinger
-source/_integrations/hexaom.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
-source/_integrations/hi_kumo.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/hexaom.markdown @imicknl
+source/_integrations/hi_kumo.markdown @imicknl
source/_integrations/hikvision.markdown @mezz64
source/_integrations/hikvisioncam.markdown @fbradyirl
source/_integrations/hisense_aehw4a1.markdown @bannhead
@@ -366,6 +369,7 @@ source/_integrations/homeassistant_green.markdown @home-assistant/core
source/_integrations/homeassistant_hardware.markdown @home-assistant/core
source/_integrations/homeassistant_sky_connect.markdown @home-assistant/core
source/_integrations/homeassistant_yellow.markdown @home-assistant/core
+source/_integrations/homee.markdown @Taraman17
source/_integrations/homekit.markdown @bdraco
source/_integrations/homekit_controller.markdown @Jc2k @bdraco
source/_integrations/homematic.markdown @pvizeli
@@ -389,9 +393,9 @@ source/_integrations/hyperion.markdown @dermotduffy
source/_integrations/ialarm.markdown @RyuzakiKK
source/_integrations/iammeter.markdown @lewei50
source/_integrations/iaqualink.markdown @flz
-source/_integrations/ibeacon.markdown @bdraco
source/_integrations/icloud.markdown @Quentame @nzapponi
source/_integrations/idasen_desk.markdown @abmantis
+source/_integrations/igloohome.markdown @keithle888
source/_integrations/ign_sismologia.markdown @exxamalte
source/_integrations/image.markdown @home-assistant/core
source/_integrations/image_processing.markdown @home-assistant/core
@@ -470,6 +474,7 @@ source/_integrations/leaone.markdown @bdraco
source/_integrations/led_ble.markdown @bdraco
source/_integrations/legrand.markdown @cgtobi
source/_integrations/lektrico.markdown @lektrico
+source/_integrations/letpot.markdown @jpelgrom
source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave
source/_integrations/lg_netcast.markdown @Drafteed @splinter98
source/_integrations/lg_thinq.markdown @LG-ThinQ-Integration
@@ -506,6 +511,8 @@ source/_integrations/martec.markdown @starkillerOG
source/_integrations/mastodon.markdown @fabaff @andrew-codechimp
source/_integrations/matrix.markdown @PaarthShah
source/_integrations/matter.markdown @home-assistant/matter
+source/_integrations/mcp.markdown @allenporter
+source/_integrations/mcp_server.markdown @allenporter
source/_integrations/mealie.markdown @joostlek @andrew-codechimp
source/_integrations/meater.markdown @Sotolotl @emontnemery
source/_integrations/medcom_ble.markdown @elafargue
@@ -566,7 +573,7 @@ source/_integrations/netgear.markdown @hacf-fr @Quentame @starkillerOG
source/_integrations/netgear_lte.markdown @tkdrob
source/_integrations/network.markdown @home-assistant/core
source/_integrations/nexia.markdown @bdraco
-source/_integrations/nexity.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/nexity.markdown @imicknl
source/_integrations/nextbus.markdown @vividboarder
source/_integrations/nextcloud.markdown @mib1185
source/_integrations/nextdns.markdown @bieniu
@@ -578,7 +585,6 @@ source/_integrations/niko_home_control.markdown @VandeurenGlenn
source/_integrations/nilu.markdown @hfurubotten
source/_integrations/nina.markdown @DeerMaximum
source/_integrations/nissan_leaf.markdown @filcole
-source/_integrations/nmbs.markdown @thibmaek
source/_integrations/noaa_tides.markdown @jdelaney72
source/_integrations/nobo_hub.markdown @echoromeo @oyvindwe
source/_integrations/nordpool.markdown @gjohansson-ST
@@ -605,9 +611,10 @@ source/_integrations/ombi.markdown @larssont
source/_integrations/onboarding.markdown @home-assistant/core
source/_integrations/oncue.markdown @bdraco @peterager
source/_integrations/ondilo_ico.markdown @JeromeHXP
+source/_integrations/onedrive.markdown @zweckj
source/_integrations/onewire.markdown @garbled1 @epenet
source/_integrations/onkyo.markdown @arturpragacz @eclair4151
-source/_integrations/onvif.markdown @hunterjm
+source/_integrations/onvif.markdown @hunterjm @jterrace
source/_integrations/open_meteo.markdown @frenck
source/_integrations/openai_conversation.markdown @balloob
source/_integrations/openerz.markdown @misialq
@@ -626,7 +633,8 @@ source/_integrations/oru_opower.markdown @tronikos
source/_integrations/osoenergy.markdown @osohotwateriot
source/_integrations/otbr.markdown @home-assistant/core
source/_integrations/ourgroceries.markdown @OnFreund
-source/_integrations/overkiz.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/overkiz.markdown @imicknl
+source/_integrations/overseerr.markdown @joostlek
source/_integrations/ovo_energy.markdown @timmo001
source/_integrations/p1_monitor.markdown @klaasnicolaas
source/_integrations/palazzetti.markdown @dotvav
@@ -648,7 +656,7 @@ source/_integrations/ping.markdown @jpbede
source/_integrations/piper.markdown @balloob @synesthesiam
source/_integrations/plaato.markdown @JohNan
source/_integrations/plex.markdown @jjlawren
-source/_integrations/plugwise.markdown @CoMPaTech @bouwew @frenck
+source/_integrations/plugwise.markdown @CoMPaTech @bouwew
source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa
source/_integrations/point.markdown @fredrike
source/_integrations/poolsense.markdown @haemishkyd
@@ -675,6 +683,7 @@ source/_integrations/pvoutput.markdown @frenck
source/_integrations/pvpc_hourly_pricing.markdown @azogue
source/_integrations/pyload.markdown @tr4nt0r
source/_integrations/qbittorrent.markdown @geoffreylagaisse @finder39
+source/_integrations/qbus.markdown @Qbus-iot @thomasddn
source/_integrations/qingping.markdown @bdraco
source/_integrations/qld_bushfire.markdown @exxamalte
source/_integrations/qnap.markdown @disforw
@@ -708,7 +717,7 @@ source/_integrations/reolink.markdown @starkillerOG
source/_integrations/repairs.markdown @home-assistant/core
source/_integrations/repetier.markdown @ShadowBr0ther
source/_integrations/rest_command.markdown @jpbede
-source/_integrations/rexel.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/rexel.markdown @imicknl
source/_integrations/rflink.markdown @javicalle
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
source/_integrations/rhasspy.markdown @balloob @synesthesiam
@@ -717,7 +726,7 @@ source/_integrations/ring.markdown @sdb9696
source/_integrations/risco.markdown @OnFreund
source/_integrations/rituals_perfume_genie.markdown @milanmeu @frenck
source/_integrations/rmvtransport.markdown @cgtobi
-source/_integrations/roborock.markdown @Lash-L
+source/_integrations/roborock.markdown @Lash-L @allenporter
source/_integrations/roku.markdown @ctalkington
source/_integrations/romy.markdown @xeniter
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Orhideous
@@ -726,6 +735,7 @@ source/_integrations/rpi_power.markdown @shenxn @swetoast
source/_integrations/rss_feed_template.markdown @home-assistant/core
source/_integrations/ruckus_unleashed.markdown @lanrat @ms264556 @gabe565
source/_integrations/russound_rio.markdown @noahhusby
+source/_integrations/russound_rnet.markdown @noahhusby
source/_integrations/ruuvi_gateway.markdown @akx
source/_integrations/ruuvitag_ble.markdown @akx
source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc
@@ -771,7 +781,7 @@ source/_integrations/simplefin.markdown @scottg489 @jeeftor
source/_integrations/simplepush.markdown @engrbm87
source/_integrations/simplisafe.markdown @bachya
source/_integrations/simply_automated.markdown @gwww
-source/_integrations/simu.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/simu.markdown @imicknl
source/_integrations/sinch.markdown @bendikrb
source/_integrations/siren.markdown @home-assistant/core @raman325
source/_integrations/sisyphus.markdown @jkeljo
@@ -783,7 +793,7 @@ source/_integrations/sleepiq.markdown @mfugate1 @kbickar
source/_integrations/slide.markdown @ualex73
source/_integrations/slide_local.markdown @dontinelli
source/_integrations/slimproto.markdown @marcelveldt
-source/_integrations/sma.markdown @kellerza @rklomp
+source/_integrations/sma.markdown @kellerza @rklomp @erwindouna
source/_integrations/smappee.markdown @bsmappee
source/_integrations/smart_blinds.markdown @starkillerOG
source/_integrations/smart_home.markdown @starkillerOG
@@ -801,9 +811,9 @@ source/_integrations/snooz.markdown @AustinBrunkhorst
source/_integrations/solaredge.markdown @frenck @bdraco
source/_integrations/solaredge_local.markdown @drobtravels @scheric
source/_integrations/solarlog.markdown @Ernst79 @dontinelli
-source/_integrations/solax.markdown @squishykid
+source/_integrations/solax.markdown @squishykid @Darsstar
source/_integrations/soma.markdown @ratsept @sebfortier2288
-source/_integrations/somfy.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/somfy.markdown @imicknl
source/_integrations/sonarr.markdown @ctalkington
source/_integrations/songpal.markdown @rytilahti @shenxn
source/_integrations/sonos.markdown @jjlawren @peterager
@@ -848,7 +858,7 @@ source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
source/_integrations/synology_srm.markdown @aerialls
source/_integrations/system_bridge.markdown @timmo001
source/_integrations/systemmonitor.markdown @gjohansson-ST
-source/_integrations/tado.markdown @chiefdragon @erwindouna
+source/_integrations/tado.markdown @erwindouna
source/_integrations/tag.markdown @balloob @dmulcahey
source/_integrations/tailscale.markdown @frenck
source/_integrations/tailwind.markdown @frenck
@@ -898,11 +908,11 @@ source/_integrations/transmission.markdown @engrbm87 @JPHutchins
source/_integrations/trend.markdown @jpbede
source/_integrations/triggercmd.markdown @rvmey
source/_integrations/tts.markdown @home-assistant/core
-source/_integrations/tuya.markdown @Tuya @zlinoliver @frenck
+source/_integrations/tuya.markdown @Tuya @zlinoliver
source/_integrations/twentemilieu.markdown @frenck
source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @Olen
source/_integrations/twitch.markdown @joostlek
-source/_integrations/ubiwizz.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
+source/_integrations/ubiwizz.markdown @imicknl
source/_integrations/ukraine_alarm.markdown @PaulAnnekov
source/_integrations/unifi.markdown @Kane610
source/_integrations/unifi_direct.markdown @tofuSCHNITZEL
@@ -925,12 +935,12 @@ source/_integrations/vacuum.template.markdown @home-assistant/core
source/_integrations/vallox.markdown @andre-richter @slovdahl @viiru- @yozik04
source/_integrations/valve.markdown @home-assistant/core
source/_integrations/velbus.markdown @Cereal2nd @brefra
-source/_integrations/velux.markdown @Julius2342 @DeerMaximum
+source/_integrations/velux.markdown @Julius2342 @DeerMaximum @pawlizio
source/_integrations/venstar.markdown @garbled1 @jhollowe
source/_integrations/vermont_castings.markdown @jeeftor
source/_integrations/versasense.markdown @imstevenxyz
source/_integrations/version.markdown @ludeeus
-source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey @cdnninja
+source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey @cdnninja @iprak
source/_integrations/vicare.markdown @CFenner
source/_integrations/vilfo.markdown @ManneW
source/_integrations/vivotek.markdown @HarlemSquirrel
diff --git a/_config.yml b/_config.yml
index 440c5d549db..726af9c9efb 100644
--- a/_config.yml
+++ b/_config.yml
@@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2025
-current_minor_version: 1
-current_patch_version: 4
-date_released: 2025-01-24
+current_minor_version: 2
+current_patch_version: 0
+date_released: 2025-02-05
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown
index 2a24180ab68..b85599a43ce 100644
--- a/source/_dashboards/statistics-graph.markdown
+++ b/source/_dashboards/statistics-graph.markdown
@@ -62,7 +62,7 @@ title:
type: string
period:
required: false
- description: The period of the rendered graph. `5minute`, `hour`, `day`, `week` or `month`
+ description: The period of the rendered graph. `5minute`, `hour`, `day`, `week` or `month`. If `energy_date_selection` is true, and `period` is not defined, the chart period will auto-select between month/day/hour based on the selected date range.
type: string
hide_legend:
required: false
@@ -87,6 +87,15 @@ fit_y_data:
description: If true, configured Y-axis bounds would automatically extend (but not shrink) to fit the data.
type: boolean
default: false
+energy_date_selection:
+ required: false
+ description: If true, chart date range will follow the date selected on an `energy-date-selection` card on the same view, similar to energy cards.
+ type: boolean
+ default: false
+collection_key:
+ required: false
+ description: If using `energy_date_selection`, you can set a custom key to match the optional key of an `energy-date-selection` card. This is not typically required, but can be useful if multiple date selection cards are used on the same view.
+ type: string
{% endconfiguration %}
### Options for entities
diff --git a/source/_dashboards/todo-list.markdown b/source/_dashboards/todo-list.markdown
index fc8fe961237..0ba350db3f0 100644
--- a/source/_dashboards/todo-list.markdown
+++ b/source/_dashboards/todo-list.markdown
@@ -66,6 +66,16 @@ hide_completed:
description: Hide the completed items section in the card.
type: boolean
default: "false"
+hide_create:
+ required: false
+ description: Hide the textbox for creating new tasks at the top of the card.
+ type: boolean
+ default: "false"
+display_order:
+ required: false
+ description: "Optionally sorts the items in the to-do list for display. Options are: `none`: Show the list in its original order. `alpha_asc`: Sort the list in alphabetical order. `alpha_desc`: Sort the list in reverse alphabetical order. `duedate_asc`: Sort the list by due date (soonest first). `duedate_desc`: Sort the list by reverse due date (soonest last)."
+ type: string
+ default: "none"
{% endconfiguration %}
### Examples
diff --git a/source/_includes/common-tasks/backups.md b/source/_includes/common-tasks/backups.md
index 5b2f599c35f..ac100916a28 100644
--- a/source/_includes/common-tasks/backups.md
+++ b/source/_includes/common-tasks/backups.md
@@ -20,11 +20,11 @@ Before creating a backup, check if you can reduce the size of the backup. This i
1. Check if your configuration directory contains a large database file:
- Go to {% my system_health title="**Settings** > **System** > **Repairs**" %}.
- - From the three dot menu, select **System information** and under the **Recorder** section, look for the **Estimated Database Size (MiB)**.
+ - From the three dots {% icon "mdi:dots-vertical" %} menu, select **System information** and under the **Recorder** section, look for the **Estimated Database Size (MiB)**.
- By default, the data is kept for 10 days. If you have modified that to a longer period, check the [`recorder`](/integrations/recorder/) integration page for options to keep your database data down to a size that won't cause issues.
- Note the keep days, purge interval, and include/exclude options.
2. To check how much space you've used in total, go to {% my system_health title="**Settings** > **System** > **Repairs**" %}.
- - From the three dot menu, select **System information**, and check under **Home Assistant Supervisor** > **Disk used**.
+ - From the three dots {% icon "mdi:dots-vertical" %} menu, select **System information**, and check under **Home Assistant Supervisor** > **Disk used**.
- If you have add-ons installed that you no longer use, uninstall those add-ons. Some add-ons require quite a bit of space.
3. If you want to store the backup on your network storage instead of just locally on your system, follow the steps on [adding a new network storage](/common-tasks/os/#add-a-new-network-storage) and select the **Backup** option.
@@ -33,35 +33,53 @@ Before creating a backup, check if you can reduce the size of the backup. This i
The automatic backup process creates a backup on a predefined schedule and also deletes old, redundant backups.
1. Go to {% my supervisor_backups title="**Settings** > **System** > **Backups**" %}.
-2. Under **Automatic backups**, select **Configure automatic backups**.
-3. Enable automatic backup.
-4. Define the backup schedule. It is recommended to back up daily.
+2. Under **Set up backups**, select **Set up backups**.
+3. Download the emergency kit and store it somewhere safe.
+ - You need it to restore encrypted backups.
+ - To learn more about backup encryption, refer to the documentation on the [backup emergency kit](/more-info/backup-emergency-kit/).
+4. Define the backup schedule.
+ - It is recommended to back up **Daily**, but you can also choose to back up on specific days.
+ - Define the time:
+ - **System optimal** sets a time in a predefined time window as shown in the UI.
+ - **Custom** lets you pick the time when you want the backup to start.
+ - Make sure you pick a time when all your backup locations are up and running and available. Otherwise, the backup will fail for locations which are not available.
5. Define how many backups you want to keep.
- Older backups will be automatically deleted.
- For example: if you back up daily, and select 7 backups, then the backup from 8 days ago and older will be deleted.
6. Define the data you want to back up.
- - It is recommended to disable media and the share folder to reduce the size of the backup.
+ - It is recommended to disable media and the shared folder to reduce the size of the backup.
- A large backup also takes longer to restore.
- Some add-ons may also be quite large.
7. [Define the location for backups](#defining-backup-locations).
-8. Backups are encrypted. To be able to restore encrypted backups, download the emergency kit and store it somewhere safe.
- - To learn more, refer to the documentation on the [backup emergency kit](/more-info/backup-emergency-kit/).
### Defining backup locations
-You might need a backup in case your system has crashed. If you only store backups on the device itself, you won't be able to access them easily. It is recommended to keep a copy on another system and ideally also one off-site.
+You might need a backup in case your system has crashed. If you only store backups on the device itself, you won't be able to access them easily. It is recommended to keep a copy on another system (outside of Home Assistant) and ideally also one off-site.
+
+{% note %}
+You will find an overview of integrations which provide a backup location [here](/integrations/#backup).
+{% endnote %}
#### About the backup storage on Home Assistant Cloud
-If you have Home Assistant Cloud, you can store a backup of maximum 5 GB on Home Assistant Cloud. This cloud storage space is available for all existing and new Home Assistant Cloud subscribers without additional cost. It stores one backup file: the backup that was last saved to Home Assistant Cloud. Backups are always encrypted. To restore encrypted backups, you need the encryption key stored in the [backup emergency kit](/more-info/backup-emergency-kit/).
+If you have Home Assistant Cloud, you can store a backup of maximum 5 GB on Home Assistant Cloud. This cloud storage space is available for all existing and new Home Assistant Cloud subscribers without additional cost. It stores one backup file: the backup that was last saved to Home Assistant Cloud. These backups are always encrypted. To restore encrypted backups, you need the encryption key stored in the [backup emergency kit](/more-info/backup-emergency-kit/).
#### To define the backup location for automatic backups
1. Go to {% my supervisor_backups title="**Settings** > **System** > **Backups**" %} and under **Automatic backups**, select **Configure automatic backups**.
-2. Under **Locations**, enable all the backup locations you want to use.
+2. Under **Locations**, use the toggle to enable all the backup locations you want to use.
- If you don't see Home Assistant Cloud in the list, you are not [logged in](https://www.nabucasa.com/config/).
+ - If you want to back up to your NAS (such as [Synology](/integrations/synology_dsm/#backup-location)) or a cloud provider (such as [Google Drive](/integrations/google_drive/) or [Microsoft OneDrive](/integrations/onedrive/)), check their integration documentation for specific instructions on setting up a Home Assistant backup.
- If you don't see a network storage, you haven't added one. Follow the steps on [adding a new network storage](/common-tasks/os/#add-a-new-network-storage) and select the **Backup** option.
- 
+ 
+3. For each enabled location, select the cog {% icon "mdi:cog-outline" %} to enable/disable encryption.
+ - **Info**: The backup stored on Home Assistant Cloud is always encrypted.
+
+### Creating a backup automation using the backup action
+
+If the backup automation settings provided in the UI do not match your use case, you can manually configure your own backup automation using the [backup.create_automatic](/integrations/backup/#action-backupcreate_automatic) action.
+
+Using the {% my developer_call_service service="backup.create_automatic" %} action in your own automation allows you to create automated backups on any schedule you like, or even add conditions and actions around it. For example, you could make an automation that triggers on a calendar, turns on your NAS, waits until it is online, and then triggers a backup.
### Creating a manual backup
@@ -86,10 +104,11 @@ There are multiple ways to download your local backup from your Home Assistant i
**Option 1**: Download from the backup page:
1. Under {% my supervisor_backups title="**Settings** > **System** > **Backups**" %}, select **Show all backups**.
-2. To select one backup, on the list, single-click or tap the backup of interest.
- - To select multiple backups, select the {% icon "mdi:order-checkbox-ascending" %} button.
-3. In the dialog, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Download backup**.
+2. To select multiple backups, select the {% icon "mdi:order-checkbox-ascending" %} button.
+3. Select the three dots {% icon "mdi:dots-vertical" %} menu and select **Download backup**.
- **Result**: The selected backup is stored in the **Downloads** folder of your computer.
+4. If a backup is stored on multiple locations, you can select where you download it from:
+ - Select the backup, and under **Locations**, select the three dots {% icon "mdi:dots-vertical" %} and select **Download from this location**.
**Option 2**: Copy backups from the backups folder:
@@ -101,8 +120,16 @@ There are multiple ways to download your local backup from your Home Assistant i
If you were logged in to Home Assistant Cloud and had Cloud backup enabled when creating a backup, your last backup is stored on Home Assistant Cloud.
-1. To download the backup, log in to your [Home Assistant Cloud account](https://account.nabucasa.com/).
-2. Under **Stored files**, you can see the latest available backup file. Select the download button.
+There are two ways to download the backup from Home Assistant Cloud:
+
+- **Option 1**: From the backups page
+ 1. Got to {% my supervisor_backups title="**Settings** > **System** > **Backups**" %} and select **Show all backups**.
+ 2. Under **Stored files**, you can see the latest available backup file. Select the download button.
+
+- **Option 2**: From your Home Assistant Cloud account
+ 1. Log in to your [Home Assistant Cloud account](https://account.nabucasa.com/).
+ 2. Select the backup from the list.
+ 3. Under **Locations**, select the three dots {% icon "mdi:dots-vertical" %} and select **Download from this location**.
### Deleting obsolete backups
@@ -112,7 +139,7 @@ To delete old backups, follow these steps:
1. Under {% my supervisor_backups title="**Settings** > **System** > **Backups**" %}, select **Show all backups**.
2. To delete one backup, on the list, select the backup of interest.
- - Select the three dots {% icon "mdi:dots-vertical" %} menu and select **Delete**
+ - Select the three dots {% icon "mdi:dots-vertical" %} menu and select **Delete**.
3. To delete multiple backups, select the {% icon "mdi:order-checkbox-ascending" %} button.
- From the list of backups, select all the ones you want to delete and select **Delete selected**.
- {% icon "mdi:information-outline" %} Consider keeping at least one recent backup for recovery purposes.
diff --git a/source/_integrations/aemet.markdown b/source/_integrations/aemet.markdown
index 7dfef36bb88..28bb05ba8dd 100644
--- a/source/_integrations/aemet.markdown
+++ b/source/_integrations/aemet.markdown
@@ -20,8 +20,9 @@ ha_codeowners:
The AEMET weather platform uses [AEMET OpenData](https://opendata.aemet.es/) as a source for current meteorological data for your location. AEMET stands for "Agencia Estatal de Meteorología", which is the Spanish Meteorological Agency.
-There is currently support for the following device types within Home Assistant:
+There is currently support for the following entity types within Home Assistant:
+- Image
- Sensor
- Weather
@@ -69,4 +70,6 @@ For each condition, the following sensors are created:
| wind_max_speed | Max Wind speed. |
| wind_speed | Wind speed. |
+The integration creates an image entity for the weather radar if the radar option is enabled.
+
Details about the API are available in the [AEMET OpenData documentation](https://opendata.aemet.es/dist).
diff --git a/source/_integrations/assist_satellite.markdown b/source/_integrations/assist_satellite.markdown
index 4b5e4f80583..972b3edbf4e 100644
--- a/source/_integrations/assist_satellite.markdown
+++ b/source/_integrations/assist_satellite.markdown
@@ -43,3 +43,30 @@ target:
entity_id: assist_satellite.my_entity
media_id: ITEM_ID
```
+
+### Action `assist_satellite.start_conversation`
+
+The {% my developer_call_service service="assist_satellite.start_conversation" %} action first announces a message or media id on the satellite and then listens for one or more voice commands. The satellite's configured [pipeline](/voice_control/voice_remote_local_assistant/) must use a supported [conversation agent](/integrations/conversation), such as [OpenAI](/integrations/openai_conversation) or [Google Generative AI](/integrations/google_generative_ai_conversation). The builtin Assist conversation agent does not support conversations yet.
+
+If a message is to be announced, it will first be converted to a media id using the [text-to-speech](/integrations/tts) system of the satellite's configured [pipeline](/voice_control/voice_remote_local_assistant/).
+
+The `extra_system_prompt` is passed to the [conversation agent](/integrations/conversation) of the satellite's configured [pipeline](/voice_control/voice_remote_local_assistant/). For large language models (LLMs) this will be appended to the prompt given to the model, allowing the LLM to understand the context of a response like "yes" or "no".
+
+{% my developer_call_service badge service="assist_satellite.start_conversation" %}
+
+Examples in YAML:
+
+```yaml
+action: assist_satellite.start_conversation
+target:
+ entity_id: assist_satellite.my_entity
+ start_message: "You left the lights on in the living room. Turn them off?"
+ extra_system_prompt: "The user has left the lights on in the living room and is being asked if they'd like to turn them off."
+```
+
+```yaml
+action: assist_satellite.start_conversation
+target:
+ entity_id: assist_satellite.my_entity
+ start_media_id: ITEM_ID
+```
diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown
index 5acb2fe5a3b..d814d9e57c2 100644
--- a/source/_integrations/backup.markdown
+++ b/source/_integrations/backup.markdown
@@ -13,6 +13,8 @@ ha_integration_type: system
related:
- docs: /common-tasks/general/#backups
title: Backups
+ - docs: /common-tasks/general/#defining-backup-locations
+ title: Backup locations
- docs: /getting-started/onboarding/
title: Recover from backup during onboarding
- docs: /more-info/backup-emergency-kit/
@@ -25,20 +27,36 @@ To learn how to create and restore a backup, refer to the backup section under [
## Actions
-The **Backup** integration exposes an action that can be used to automate the backup
+The **Backup** integration exposes actions that can be used to automate the backup
process.
However, it is no longer needed to create your own automation. Follow these steps to [set up an automatic backup from the UI](/common-tasks/general/#setting-up-an-automatic-backup-process).
-### Action {% my developer_call_service service="backup.create" %}
+### Action backup.create_automatic
-The {% my developer_call_service service="backup.create" %} action can be used
-to create a backup for your Home Assistant instance.
+The {% my developer_call_service service="backup.create_automatic" %} action can be used
+to create a backup of your Home Assistant instance, using the same settings as those used
+by [automatic backups](/common-tasks/general/#setting-up-an-automatic-backup-process).
+
+This action can be called to create backups with pre-defined settings at a more flexible
+schedule than the schedule which can be configured for automatic backups.
The action has no additional options or parameters.
Example action:
+```yaml
+action: backup.create_automatic
+```
+
+### Action backup.create
+
+The {% my developer_call_service service="backup.create" %} action can be used
+to create a backup of your Home Assistant instance.
+This action is only available in [core and container installations](/installation/#advanced-installation-methods).
+The action has no additional options or parameters.
+Example action:
+
```yaml
action: backup.create
```
diff --git a/source/_integrations/balboa.markdown b/source/_integrations/balboa.markdown
index 64778abf60e..72e7dd5984c 100644
--- a/source/_integrations/balboa.markdown
+++ b/source/_integrations/balboa.markdown
@@ -21,6 +21,7 @@ ha_codeowners:
- '@natekspencer'
ha_config_flow: true
ha_integration_type: integration
+ha_dhcp: true
---
The **Balboa Spa Client** {% term integration %} adds support for [Balboa](https://www.balboawatergroup.com/) Spa WiFi Modules to be used within Home Assistant.
diff --git a/source/_integrations/bang_olufsen.markdown b/source/_integrations/bang_olufsen.markdown
index baf66548185..50f59deae51 100644
--- a/source/_integrations/bang_olufsen.markdown
+++ b/source/_integrations/bang_olufsen.markdown
@@ -2,6 +2,7 @@
title: Bang & Olufsen
description: Instructions on how to integrate Bang & Olufsen devices into Home Assistant.
ha_category:
+ - Event
- Media Player
- Multimedia
ha_release: 2024.2
@@ -9,6 +10,7 @@ ha_iot_class: Local Push
ha_domain: bang_olufsen
ha_platforms:
- diagnostics
+ - event
- media_player
ha_codeowners:
- '@mj23000'
@@ -482,6 +484,30 @@ target:
WebSocket notifications received from the device are fired as events in Home Assistant. These can be received by listening to `bang_olufsen_websocket_event` event types, where `device_id` or `serial_number` can be used to differentiate devices.
+### Events
+
+Event entities are created for each of the physical controls on your device. These controls usually have their own behaviors, so using them for automations is not always ideal.
+Available event entities:
+- Bluetooth
+- Microphone
+- Next
+- Play / Pause
+- Favourite 1
+- Favourite 2
+- Favourite 3
+- Favourite 4
+- Previous
+- Volume
+
+All of these event entities support the following event types:
+- Release of short press
+- Long press
+- Release of long press
+- Very long press
+- Release of very long press
+
+All devices except the [Beoconnect Core](https://www.bang-olufsen.com/en/dk/accessories/beoconnect-core) support device controls.
+
### Getting Deezer URIs
To find Deezer playlist, album URIs, and user IDs for Deezer flows, the Deezer website has to be accessed. When navigating to an album, the URL will look something like:
diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown
index ee39325cb0f..ff81b2e2e64 100644
--- a/source/_integrations/number.markdown
+++ b/source/_integrations/number.markdown
@@ -80,7 +80,7 @@ The following device classes are supported for numbers:
- **sulphur_dioxide**: Concentration of sulphur dioxide in µg/m³
- **temperature**: Temperature in °C, °F or K
- **volatile_organic_compounds**: Concentration of volatile organic compounds in µg/m³
-- **voltage**: Voltage in V, mV, µV
+- **voltage**: Voltage in V, mV, µV, kV, MV
- **volume**: Generic volume in L, mL, gal, fl. oz., m³, ft³, or CCF
- **volume_flow_rate**: Volume flow rate in m³/h, ft³/min, L/min, gal/min, or mL/s
- **volume_storage**: Generic stored volume in L, mL, gal, fl. oz., m³, ft³, or CCF
diff --git a/source/_integrations/ohme.markdown b/source/_integrations/ohme.markdown
index f07dba3a47b..19270644284 100644
--- a/source/_integrations/ohme.markdown
+++ b/source/_integrations/ohme.markdown
@@ -12,7 +12,11 @@ ha_config_flow: true
ha_domain: ohme
ha_platforms:
- button
+ - number
+ - select
- sensor
+ - switch
+ - time
ha_quality_scale: silver
ha_integration_type: device
---
@@ -55,6 +59,18 @@ The Ohme integration provides the following entities.
- **Description**: If sensor **Status** is `Pending approval`, this will approve the charge.
- **Available for devices**: all
+#### Numbers
+
+- **Target percentage**
+ - **Description**: Sets the charge target for your vehicle.
+ - **Available for devices**: all
+
+#### Selects
+
+- **Charger mode**
+ - **Description**: Sets the mode of the charger. Possible options: `Smart charge`, `Max charge`, `Paused`. This is only available with a vehicle plugged in.
+ - **Available for devices**: all
+
#### Sensors
- **Status**
@@ -73,6 +89,36 @@ The Ohme integration provides the following entities.
- **Description**: If a current transformer (CT) was installed with your charger, this will show the current used by your whole home.
- **Available for devices**: Home Pro, ePod
+#### Switches
+
+- **Lock buttons**
+ - **Description**: Disable the controls on the device.
+ - **Available for devices**: all
+- **Require approval**
+ - **Description**: Require approval every time a vehicle is plugged in.
+ - **Available for devices**: Home Pro
+- **Sleep when inactive**
+ - **Description**: Turn off the screen of the device after a few minutes of inactivity.
+ - **Available for devices**: Home Pro
+
+#### Times
+
+- **Target time**
+ - **Description**: Sets the time you need your vehicle charged by.
+ - **Available for devices**: all
+
+## Actions
+
+The integration provides the following actions.
+
+### Action: List charge slots
+
+The `ohme.list_charge_slots` action is used to fetch a list of charge slots from your charger. Charge slots will only be returned if a charge is in progress.
+
+| Data attribute | Optional | Description |
+|------------------------|----------|--------------------------------------------------------------|
+| `config_entry` | No | The config entry of the account to get the charge list from. |
+
## Removing the integration
diff --git a/source/_integrations/onedrive.markdown b/source/_integrations/onedrive.markdown
new file mode 100644
index 00000000000..955ebd677e9
--- /dev/null
+++ b/source/_integrations/onedrive.markdown
@@ -0,0 +1,72 @@
+---
+title: OneDrive
+description: Instructions on how to setup OneDrive to be used with backups.
+ha_release: 2025.2
+ha_category:
+ - Backup
+ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_domain: onedrive
+ha_codeowners:
+ - '@zweckj'
+ha_integration_type: service
+related:
+ - docs: /common-tasks/general/#backups
+ title: Backups
+ha_quality_scale: bronze
+---
+
+This integration allows you to use [OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage) for [Home Assistant Backups](/common-tasks/general/#backups).
+
+Backups will be created in a folder called `Home Assistant\backups_
+
+
+## Getting application credentials
+
+This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home Assistant account linking.
+Nobody will ever have access to your data except you, as the app does not have permission to do anything on its own. It only works with a signed-in user (it only has `delegated` not `application permissions`).
+However, if you want to use your own credentials, follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret.
+
+{% note %}
+If you set the integration up with the default credentials and switch to custom credentials later, your backup folder will change inside your OneDrive, and you will have to manually copy existing backups from the old folder to the new one.
+{% endnote %}
+
+{% tip %}
+You will need an Azure tenant with an active Azure subscription to create your own client credentials.
+{% endtip %}
+
+## Known limitations
+
+- Only personal OneDrives are supported at the moment.
+
+## Removing the integration
+
+This integration follows standard integration removal. No extra steps are required.
+
+{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown
index fa7b5a3ee13..f481aeb412d 100644
--- a/source/_integrations/onewire.markdown
+++ b/source/_integrations/onewire.markdown
@@ -13,9 +13,11 @@ ha_domain: onewire
ha_platforms:
- binary_sensor
- diagnostics
+ - select
- sensor
- switch
ha_integration_type: hub
+ha_zeroconf: true
---
The Onewire integration supports sensors that use the 1-wire bus for communication.
@@ -37,6 +39,12 @@ Each 1-wire component data sheet describes the different properties the componen
| 3A | [DS2413](https://datasheets.maximintegrated.com/en/ds/DS2413.pdf) | 2 sensed (sensed.A/B) [4](#note_4) |
| EF | [HobbyBoard](https://hobbyboards.com/) | Hub Branch State [3](#note_3) [4](#note_4) |
+#### Select:
+
+| Family | Device | Physical Quantity |
+| -------|:-----|:-----|
+| 28 | [DS18B20](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) | Temperature resolution |
+
#### Sensors:
| Family | Device | Physical Quantity |
diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown
index e7b73a3013a..88d422f37aa 100644
--- a/source/_integrations/onvif.markdown
+++ b/source/_integrations/onvif.markdown
@@ -8,6 +8,7 @@ ha_iot_class: Local Push
ha_domain: onvif
ha_codeowners:
- '@hunterjm'
+ - '@jterrace'
ha_config_flow: true
ha_platforms:
- binary_sensor
diff --git a/source/_integrations/overkiz.markdown b/source/_integrations/overkiz.markdown
index 20e0a378ecf..6589d6cb1c2 100644
--- a/source/_integrations/overkiz.markdown
+++ b/source/_integrations/overkiz.markdown
@@ -22,11 +22,6 @@ ha_config_flow: true
ha_iot_class: Local Polling
ha_codeowners:
- '@imicknl'
- - '@vlebourl'
- - '@tetienne'
- - '@nyroDev'
- - '@tronix117'
- - '@alexfp14'
ha_domain: overkiz
ha_dhcp: true
ha_zeroconf: true
@@ -169,4 +164,4 @@ Please note that only a [limited set of devices is supported via HomeKit](https:
This integration follows standard integration removal. No extra steps are required.
-{% include integrations/remove_device_service.md %}
\ No newline at end of file
+{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/overseerr.markdown b/source/_integrations/overseerr.markdown
new file mode 100644
index 00000000000..f673fb85ba5
--- /dev/null
+++ b/source/_integrations/overseerr.markdown
@@ -0,0 +1,153 @@
+---
+title: Overseerr
+description: Instructions on how to set up Overseerr with Home Assistant.
+ha_category:
+ - Event
+ - Multimedia
+ - Sensor
+ha_release: 2025.2
+ha_iot_class: Local Push
+ha_config_flow: true
+ha_codeowners:
+ - '@joostlek'
+ha_domain: overseerr
+ha_integration_type: service
+ha_platforms:
+ - diagnostics
+ - event
+ - sensor
+ha_quality_scale: platinum
+---
+
+Overseerr is a service that allows you to manage media requests and to integrate these media requests with Plex, Radarr, and Sonarr. The **Overseerr** {% term integration %} allows you to integrate your [Overseerr](https://overseerr.dev/) instance.
+
+{% include integrations/config_flow.md %}
+
+{% configuration_basic %}
+URL:
+ description: "The URL of your overseerr instance."
+ required: true
+ type: string
+API key:
+ description: "The API key of your overseerr instance, which can be found in the Overseerr settings."
+ required: true
+ type: string
+{% endconfiguration_basic %}
+
+## Supported versions
+
+The latest version of Overseerr is supported by this integration.
+
+## Supported functionality
+
+The Overseerr intergation provides a couple of entities to Home Assistant.
+Below is an overview of these entities.
+
+### Events
+
+Overseerr provides an event entity for updates around media.
+The possible events that this entity has are:
+ - `pending`
+ - `approved`
+ - `available`
+ - `failed`
+ - `declined`
+ - `auto_approved`
+
+Relevant data about the request are stored in the attributes.
+
+### Sensors
+
+The integration also provides statistics for the requests stored in Overseerr.
+There are sensors for:
+ - Total requests
+ - Movie requests
+ - TV requests
+ - Pending requests
+ - Declined requests
+ - Processing requests
+ - Available requests
+
+## Actions
+
+The Overseerr integration has the following actions:
+
+- Get requests
+
+### Action get requests
+
+Get a list of media requests using `overseerr.get_requests`.
+
+| Data attribute | Optional | Description |
+|-------------------|----------|-------------------------------------------------------------|
+| `config_entry_id` | No | The ID of the Overseerr config entry to get data from. |
+| `status` | Yes | The status to filter the results on. |
+| `sort_order` | Yes | The sort order to sort the results in (`added`/`modified`). |
+| `requested_by` | Yes | Filter the requests based on the user ID of the requester. |
+
+
+## Use cases
+
+The integration can be used to build automations to help and notify you of new media requests.
+The provided actions can be used to provide extra context to voice assistants.
+
+## Example automations
+
+{% details "Send me a push notification on a new request" %}
+
+{% raw %}
+
+```yaml
+alias: "Overseerr push notification"
+description: "Send me a push notification on a new media request"
+triggers:
+ - trigger: state
+ entity_id:
+ - event.overseerr_last_media_event
+ not_from:
+ - unknown
+ - unavailable
+conditions:
+ - condition: template
+ value_template: >-
+ {{ state_attr('event.overseerr_last_media_event', 'event_type') ==
+ 'pending' }}
+actions:
+ - action: notify.mobile_app
+ metadata: {}
+ data:
+ message: >-
+ {{ state_attr('event.overseerr_last_media_event', 'subject') }} has been
+ requested
+```
+
+{% endraw %}
+{% enddetails %}
+
+## Data updates
+
+When loading the integration, it will try to configure the webhook in Overseerr to give updates to Home Assistant.
+This makes the integration a push-based integration.
+
+When the integration receives an update about the requests, it updates the statistics to make sure they are up to date.
+In addition, the integration checks for updates every 5 minutes.
+
+## Known limitations
+
+There are a few known limitations for using the integration:
+- Overseerr is only capable of having one webhook set up at a time.
+This means you can only have 1 Home Assistant instance connected to your Overseerr instance at a time.
+- The integration is not able to function with CSRF protection turned on. In Overseer, go to **Settings** and turn off the **CSRF Protection**.
+
+## Remove integration
+
+This integration follows standard integration removal, no extra steps are required.
+
+{% include integrations/remove_device_service.md %}
+
+## Troubleshooting
+
+{% details "Failed to register Overseerr webhook" %}
+
+Make sure your Overseerr instance is able to reach your Home Assistant instance.
+{% enddetails %}
diff --git a/source/_integrations/palazzetti.markdown b/source/_integrations/palazzetti.markdown
index ccaa03f3ac2..98242083763 100644
--- a/source/_integrations/palazzetti.markdown
+++ b/source/_integrations/palazzetti.markdown
@@ -10,6 +10,7 @@ ha_codeowners:
- '@dotvav'
ha_domain: palazzetti
ha_platforms:
+ - button
- climate
- diagnostics
- number
@@ -54,14 +55,20 @@ This integration supports the following actions (see [Climate](/integrations/cli
- `heat` for heating mode
- `off` to turn the stove off
- [`set_fan_mode`](/integrations/climate/#action-climateset_fan_mode)
- - `Silent` let the stove run in silent mode
- - `1` to `5` increasing fan speeds
+ - `0` to `5` increasing fan speeds
- `High` the highest available fan speed
- `Auto` let the stove set the optimal fan speed
+## Buttons
+
+For the stoves that support it, this integration provides a Silent button to trigger the silent mode.
+
## Numbers
-The Palazzetti integration offers control over the combustion power of the stove on a scale from `1` to `5`.
+When the appliance supports it, the Palazzetti integration offers control over the following elements:
+
+- The combustion power of the stove on a scale from `1` to `5`.
+- The speed of the Left and Right fans.
## Sensors
diff --git a/source/_integrations/pinecil.markdown b/source/_integrations/pinecil.markdown
index b2fc10df268..8a598e0611c 100644
--- a/source/_integrations/pinecil.markdown
+++ b/source/_integrations/pinecil.markdown
@@ -3,9 +3,11 @@ title: Pinecil
description: Connect and control your Pinecil devices using the IronOS integration
ha_category:
- Binary sensor
+ - Button
- Number
- Select
- Sensor
+ - Switch
- Update
ha_release: 2024.8
ha_domain: pinecil
@@ -17,9 +19,12 @@ ha_codeowners:
ha_config_flow: true
ha_platforms:
- binary_sensor
+ - button
+ - diagnostics
- number
- select
- sensor
+ - switch
- update
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/piper.markdown b/source/_integrations/piper.markdown
index 42d413a1ca4..cfeec57cc98 100644
--- a/source/_integrations/piper.markdown
+++ b/source/_integrations/piper.markdown
@@ -13,6 +13,7 @@ ha_codeowners:
- '@synesthesiam'
ha_config_flow: true
ha_platforms:
+ - assist_satellite
- binary_sensor
- conversation
- number
diff --git a/source/_integrations/powerfox.markdown b/source/_integrations/powerfox.markdown
index 53ba42931f2..90227136b58 100644
--- a/source/_integrations/powerfox.markdown
+++ b/source/_integrations/powerfox.markdown
@@ -43,7 +43,7 @@ Not all Poweropti devices are supported currently. Check the list below to see i
| PB 202001 | Power meter | Yes |
| WA 201902 | Water meter | Yes |
| Powerfox FLOW | Gas meter | No |
-| HA 201902 | Heat meter | No |
+| HA 201902 | Heat meter | Yes |
## Data updates
@@ -79,6 +79,15 @@ It will create the following sensors:
- **Cold water (m³)**: How much cold water is used.
- **Warm water (m³)**: How much warm water is used.
+### Heat meter
+
+It will create the following sensors:
+
+- **Total eneregy (kWh)**: How much energy is used.
+- **Delta energy (kWh)**: How much energy is used since the last update.
+- **Total volume (m³)**: How much water is used.
+- **Delta volume (m³)**: How much water is used since the last update.
+
## Troubleshooting
There are no commonly known issues with this integration.
diff --git a/source/_integrations/qbus.markdown b/source/_integrations/qbus.markdown
new file mode 100644
index 00000000000..d59928d6b34
--- /dev/null
+++ b/source/_integrations/qbus.markdown
@@ -0,0 +1,78 @@
+---
+title: Qbus
+description: Instructions on how to integrate your Qbus installation with Home Assistant.
+ha_category:
+ - Switch
+ha_platforms:
+ - switch
+ha_iot_class: Local Push
+ha_codeowners:
+ - '@Qbus-iot'
+ - '@thomasddn'
+ha_release: 2025.2
+ha_domain: qbus
+ha_integration_type: hub
+ha_config_flow: true
+ha_quality_scale: bronze
+---
+
+The **Qbus** {% term integration %} allows you to integrate your [Qbus Control](https://www.qbus.be) into Home Assistant. **Qbus** is a Belgian manufacturer of Home Automation systems.
+
+## Prerequisites
+
+This integration communicates with a **Qbus** controller over an MQTT server.
+
+The controllers cannot communicate directly with MQTT. Therefore, you need to install the Qbus gateway before enabling this integration. The Qbus gateway is a software tool that runs on all Linux platforms. It can be installed by running a script or a Docker container. For detailed instructions, please refer to the [Qbus MQTT Gateway documentation](https://github.com/Qbus-iot/qbus-mqttgw).
+
+For information on setting up Home Assistant with a **Qbus** controller, refer to the [Qbus documentation](https://iot.qbus.be/). The documentation is currently only available in Dutch, but translations are planned for the future.
+
+Once the Qbus controller is connected to the MQTT server, you need to set up an MQTT client in Home Assistant to enable communication between Home Assistant and your **Qbus** system. This client should connect to the same MQTT Server as your Qbus controller. For detailed instructions, refer to the [MQTT integration documentation](https://www.home-assistant.io/integrations/mqtt/).
+
+{% include integrations/config_flow.md %}
+
+## Supported devices
+
+There is currently support for the following **Qbus** products within Home Assistant:
+
+- **CTD 3.0**: main controller.
+- **CTD 3.5**: main controller.
+- **Toggle**: toggle outputs on controllers.
+
+## Available entities
+
+- **Switch**: toggles on/off outputs.
+
+## Removing the integration
+
+This integration follows standard integration removal. No extra steps are required.
+
+{% include integrations/remove_device_service.md %}
+
+## Data updates
+
+All data from **Qbus** entities are pushed to Home Assistant over MQTT.
+
+## Known limitations
+
+The integration does not provide a way to update the firmware on the devices. This can only be done with the configuration software System Manager.
+
+## Troubleshooting
+
+### Can’t set up the device
+
+#### Symptom: "No devices are discovered"
+
+When trying to set up the integration, no devices are discovered.
+
+##### Description
+
+This means that the integration did not receive a valid configuration from the gateway.
+
+##### Resolution
+
+To resolve this issue, try the following steps:
+
+1. Make sure your controller is online and not connected to System Manager.
+2. Make sure you have an MQTT broker running.
+3. Make sure that the gateway software is up and running (see [Prerequisites](#prerequisites)) and connected to the broker.
+4. Make sure you have an MQTT client integration (see [Prerequisites](#prerequisites)) connected to the broker.
diff --git a/source/_integrations/refoss.markdown b/source/_integrations/refoss.markdown
index 822401849ff..53d42619720 100644
--- a/source/_integrations/refoss.markdown
+++ b/source/_integrations/refoss.markdown
@@ -20,11 +20,8 @@ Integrate Refoss devices into Home Assistant.
## Prerequisites
-- The device needs to be connected to the local network first. There are two ways to connect devices to the local network:
- - Using the Refoss app (download and install the Refoss app on Google Play) to connect devices to the local network.
- - Using the Web page to connect devices to the local network.
- - The computer/mobile phone is connected to the device factory Wi-Fi.
- - In the browser, access the address 10.10.10.1, then select the local Wi-Fi needed for device configuration.
+- Devices need to be connected to the local network first.
+- Devices and Home Assistant must be connected to the same network.
- The integration will occupy port: 9989.
{% include integrations/config_flow.md %}
@@ -39,7 +36,7 @@ Integrate Refoss devices into Home Assistant.
### Discover device
- - After integrating Refoss, it will start socket broadcast and Home Assistant will automatically discover Refoss devices under the current LAN.
+After integrating Refoss, it will start socket broadcast and Home Assistant will automatically discover Refoss devices under the current LAN.
## Entity naming
@@ -67,3 +64,21 @@ Examples:
## Reset device
Long-press the button on the device to reset it.
+
+## Troubleshooting
+
+### No devices found on the network
+
+If the Refoss device isn't discovered by Home Assistant automatically, follow these steps:
+1. Verify that your Refoss device and Home Assistant are on the same network
+2. Enable debug logging for the integration:
+ ```yaml
+ logger:
+ logs:
+ homeassistant.components.refoss: debug
+ ```
+3. Restart Home Assistant and attempt to add the integration again
+4. Check the logs for messages containing "Discovered devices"
+5. If no devices are found, verify:
+ - Network connectivity
+ - Device firmware version matches the supported versions listed above
diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown
index e4ee76dd76a..e140d7556a8 100644
--- a/source/_integrations/reolink.markdown
+++ b/source/_integrations/reolink.markdown
@@ -99,6 +99,7 @@ Depending on the supported features of the camera, binary sensors are added for:
- AI animal detection++
- AI face detection++
- AI package detection++
+- AI baby crying detection+ (sound detection)
- Sleep status+
\++ These sensors receive events using the following 4 methods (in order): TCP push, ONVIF push, ONVIF long polling or fast polling (every 5 seconds).
@@ -241,6 +242,7 @@ Depending on the supported features of the camera, switch entities are added for
- Doorbell button sound
- Record
- Manual record
+- Privacy mode+
- Push notifications
- Hub ringtone on event
- Email on event
@@ -249,6 +251,8 @@ Depending on the supported features of the camera, switch entities are added for
- PIR reduce false alarm*
- Chime LED
+When the **Privacy mode** is ON, almost all other entities will be unavailable because the camera shuts down the API and camera streams. When turning OFF the **Privacy mode**, all entities will become available again. Take this into consideration when making automations; ensure the **Privacy mode** is OFF before changing camera settings using other entities.
+
When the **Infrared lights in night mode** entity is set to OFF, the infrared LEDs are always OFF. When the **Infrared lights in night mode** entity is set to ON, the infrared LEDs will be on when the camera is in night vision mode. For more information, see the **Day night mode** select entity.
For NVRs, a global switch for **Record**, **Push**, **Hub ringtone on event**, **Email**, and **FTP** will be available under the NVR device as well as a switch per channel of the NVR under the camera device. The respective feature will only be active for a given channel if both the global and that channel switch are enabled (as is also the case in the Reolink app/client).
@@ -726,6 +730,7 @@ Prerequisites:
### Entities intermittently become unavailable
+- Note that almost all entities, including motion/ai detection and the camera streams, will be unavailable when privacy mode is turned ON. Check the history of the **Privacy mode** entity to see if this is causing the issues.
- Setting a static IP address for Reolink cameras/NVRs in your router is advisable to prevent (temporal) connectivity issues when the IP address changes.
- Do not set a static IP in the Reolink device itself, but leave the **Connection Type** on **DHCP** under **Settings** > **Network** > **Network Information** > **Set Up**. If you set it to **static** on the Reolink device itself, this is known to cause incorrect DHCP requests on the network. The incorrect DHCP request causes Home Assistant to use the wrong IP address for the camera, resulting in connection issues. The issue originates from the Reolink firmware, which keeps sending DCHP requests even when you set a static IP address in the Reolink device.
- Reolink cameras can support a limited amount of simultaneous connections. Therefore using third-party software like Frigate, Blue Iris, or Scrypted, or using the ONVIF integration at the same time can cause the camera to drop connections. This results in short unavailabilities of the Reolink entities in Home Assistant. Especially when the connections are coming from the same device (IP) where Home Assistant is running, the Reolink cameras can get confused, dropping one connection in favor of the other originating from the same host IP. If you experience disconnections/unavailabilities of the entities, please first temporarily shut down the other connections (like Frigate) to diagnose if that is the problem. If that is indeed the problem, you could try moving the third-party software to a different host (IP address) since that is known to solve the problem most of the time. You could also try switching the protocol to FLV on Home Assistant and/or the third-party software, as that is known to be less resource-intensive on the camera.
diff --git a/source/_integrations/rexel.markdown b/source/_integrations/rexel.markdown
index 019c9c40a17..071d5ce28be 100644
--- a/source/_integrations/rexel.markdown
+++ b/source/_integrations/rexel.markdown
@@ -24,11 +24,6 @@ ha_supporting_integration: Overkiz
ha_release: 2022.2
ha_codeowners:
- '@imicknl'
- - '@vlebourl'
- - '@tetienne'
- - '@nyroDev'
- - '@tronix117'
- - '@alexfp14'
ha_config_flow: true
ha_platforms:
- alarm_control_panel
diff --git a/source/_integrations/roborock.markdown b/source/_integrations/roborock.markdown
index f9175f4b44b..d71c45ee9b5 100644
--- a/source/_integrations/roborock.markdown
+++ b/source/_integrations/roborock.markdown
@@ -16,6 +16,7 @@ ha_release: 2023.5
ha_config_flow: true
ha_codeowners:
- '@Lash-L'
+ - '@allenporter'
ha_domain: roborock
ha_platforms:
- binary_sensor
@@ -95,6 +96,8 @@ Total cleaning time - The lifetime cleaning duration of your vacuum.
Total cleaning area - The lifetime cleaning area of your vacuum.
+Total cleaning count - The lifetime cleaning count of your vacuum.
+
Vacuum error - The current error with your vacuum, if there is one.
### Time
@@ -127,6 +130,47 @@ Reset main brush consumable - The main brush/ roller is expected to be replaced
Reset air filter - The air filter is expected to be replaced every 150 hours.
+### Actions
+
+#### Action `roborock.set_vacuum_goto_position`
+
+Go the specified coordinates.
+
+- **Data attribute**: `entity_id`
+ - **Description**: Only act on a specific robot.
+ - **Optional**: No.
+- **Data attribute**: `x_coord`
+ - **Description**: X-coordinate, integer value. The dock is located at x-coordinate 25500.
+ - **Optional**: No.
+- **Data attribute**: `y_coord`
+ - **Description**: Y-coordinate, integer value. The dock is located at y-coordinate 25500.
+ - **Optional**: No.
+
+#### Action `roborock.get_vacuum_current_position`
+
+Get the current position of the vacuum. This is a cloud call and should only be used for diagnostics. This is not meant to be used for automations. Frequent requests can lead to rate limiting.
+
+- **Data attribute**: `entity_id`
+ - **Description**: Only act on a specific robot.
+ - **Optional**: No.
+
+Example:
+
+```yaml
+action: roborock.get_vacuum_current_position
+target:
+ entity_id: vacuum.roborock_s7
+data: {}
+```
+
+- **Result**: You will get a response like this:
+
+ ```yaml
+ vacuum.roborock_s7:
+ x: 28081
+ y: 25168
+ ```
+
### Image
You can see all the maps within your Roborock account. Keep in mind that they are device-specific. The maps require the cloud API to communicate as the maps are seemingly stored on the cloud. If someone can figure out a way around this - contributions are always welcome.
diff --git a/source/_integrations/russound_rio.markdown b/source/_integrations/russound_rio.markdown
index 480c8757c0a..dfe280966f8 100644
--- a/source/_integrations/russound_rio.markdown
+++ b/source/_integrations/russound_rio.markdown
@@ -14,6 +14,7 @@ ha_codeowners:
ha_config_flow: true
ha_integration_type: integration
ha_quality_scale: silver
+ha_zeroconf: true
---
The Russound RIO {% term integration %} allows you to control Russound devices that make use of the RIO protocol.
diff --git a/source/_integrations/russound_rnet.markdown b/source/_integrations/russound_rnet.markdown
index 4693881c948..1030d639a95 100644
--- a/source/_integrations/russound_rnet.markdown
+++ b/source/_integrations/russound_rnet.markdown
@@ -13,6 +13,8 @@ related:
- docs: /docs/configuration/
title: Configuration file
ha_quality_scale: legacy
+ha_codeowners:
+ - '@noahhusby'
---
The `russound_rnet` {% term integration %} allows you to control Russound devices that make use of the RNET protocol.
diff --git a/source/_integrations/sensibo.markdown b/source/_integrations/sensibo.markdown
index aaf80ebdbf0..3eb3796896e 100644
--- a/source/_integrations/sensibo.markdown
+++ b/source/_integrations/sensibo.markdown
@@ -86,7 +86,6 @@ These entities are disabled by default.
For supported devices, this integration provides support to set the following modes by the select entity:
-- Horizontal swing
- Light
## Sensor entities
@@ -148,17 +147,30 @@ To customize the settings of Pure Boost, you can use the custom `sensibo.enable_
## Custom actions
+### Get device mode capabilities
+
+As the below custom actions [Full state](#full-state) and [Climate react](#climate-react) both require their inputs to be exactly what the API requires, this custom action will provide the capabilities for the device for a certain HVAC mode to help the users on using those actions properly.
+
+1. Go to [Developer Tools](https://my.home-assistant.io/redirect/server_controls/).
+2. Switch to the **Actions** page.
+3. Use the `sensibo.get_device_capabilities` action.
+4. Select the `climate` entity as the target.
+5. Select the `hvac_mode` from the available list.
+6. Select **Perform action** to retrieve the available options per capability for that particular `climate` entity.
+
+From the provided dictionary, copy the case-sensitive options as needed into other action calls used in automations or scripts.
+
### Full state
You can send a full state command to Sensibo instead of single commands using the `sensibo.full_state` action.
All fields are required to be according to Sensibo API specifications and are case-sensitive.
-To see the options for each field to use this action:
+{% tip %}
-1. Switch to the relevant HVAC mode (not all HVAC modes have the same options).
-2. Retrieve the options for `fan_modes` and `swing_modes` from the climate entity's attributes.
-3. Retrieve the option set from the respective select entity for `horizontal_swing` and `light` if those are present.
+Use the [Get device mode capabilities](#get-device-mode-capabilities) action to provide a list of capabilities.
+
+{% endtip %}
### Assume state
@@ -184,7 +196,13 @@ You can configure your Climate React settings using the `sensibo.enable_climate_
- Configuring this action also turns Climate React on
-When using the action, the state needs to be set to precisely what Sensibo API expects. The first time it's recommended to use the app to configure it. From that point, you can see what the API requires and how to write from the Climate React switch attribute.
+When using the action, the state needs to be set to precisely what Sensibo API expects. The first time it's recommended to use the app to configure it.
+
+{% tip %}
+
+Use the [Get device mode capabilities](#get-device-mode-capabilities) action to provide a list of capabilities.
+
+{% endtip %}
Example for low threshold state:
diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown
index 194b8ef07e2..f10fe165a4b 100644
--- a/source/_integrations/sensor.markdown
+++ b/source/_integrations/sensor.markdown
@@ -94,7 +94,7 @@ The following device classes are supported for sensors:
- **timestamp**: Datetime object or timestamp string (ISO 8601)
- **volatile_organic_compounds**: Concentration of volatile organic compounds in µg/m³
- **volatile_organic_compounds_parts**: Ratio of volatile organic compounds in ppm or ppb
-- **voltage**: Voltage in V, mV, µV
+- **voltage**: Voltage in V, mV, µV, kV, MV
- **volume**: Generic volume in L, mL, gal, fl. oz., m³, ft³, or CCF
- **volume_flow_rate**: Volume flow rate in m³/h, ft³/min, L/min, gal/min, or mL/s
- **volume_storage**: Generic stored volume in L, mL, gal, fl. oz., m³, ft³, or CCF
diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown
index 6ada2d20a97..4f601660591 100644
--- a/source/_integrations/shelly.markdown
+++ b/source/_integrations/shelly.markdown
@@ -51,7 +51,9 @@ Integrate [Shelly devices](https://shelly.com) into Home Assistant.
## Shelly device generations
-There are three generations of devices and all generations are supported by this integration. There are some differences in how devices should be configured and in the naming of entities and devices between generations.
+There are four generations of devices and all generations are supported by this integration. There are some differences in how devices should be configured and in the naming of entities and devices between generations.
+
+Shelly BLU series devices (e.g. Shelly BLU H&T) are not supported; please use BTHome integration to configure such devices with Home Assistant. The exception to this is Shelly BLU TRV, which is supported by this integration via Shelly BLU Gateway Gen3.
## Shelly device configuration (generation 1)
@@ -70,9 +72,9 @@ The list below will help you diagnose and fix the problem:
- The missing push updates may be related to the WiFi network range. If using a WiFi network with several access points, enable **Internet & Security** >> **WiFi Client AP Roaming** option. Consider moving Shelly device closer to the WiFi access point. Consider adding another WiFi access point, which will improve the connection quality with the device.
- If you think your Shelly devices are working correctly and don't want to change your network/configuration, you can ignore the repair issue. Still, you must know you are giving up the best experience of using first-generation Shelly devices with Home Assistant.
-## Shelly device configuration (generation 2 and 3)
+## Shelly device configuration (generation 2+)
-Generation 2 and 3 devices use the `RPC` protocol to communicate with the integration. **Battery-operated devices** (even if USB connected) may need manual outbound WebSocket configuration if Home Assistant cannot correctly determine your instance's internal URL or the outbound WebSocket was previously configured for a different Home Assistant instance. In this case, navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address:
+Generation 2+ devices use the `RPC` protocol to communicate with the integration. **Battery-operated devices** (even if USB connected) may need manual outbound WebSocket configuration if Home Assistant cannot correctly determine your instance's internal URL or the outbound WebSocket was previously configured for a different Home Assistant instance. In this case, navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address:
`ws://` + `Home_Assistant_local_ip_address:Port` + `/api/shelly/ws` (for example: `ws://192.168.1.100:8123/api/shelly/ws`), click **Apply** to save the settings.
In case your installation is set up to use SSL encryption (HTTP**S** with certificate), an additional `s` needs to be added to the WebSocket protocol, too, so that it reads `wss://` (for example: `wss://192.168.1.100:8123/api/shelly/ws`).
@@ -83,13 +85,13 @@ Integration is communicating directly with the device; cloud connection is not n
## Bluetooth Support
-Shelly generation 2 and 3 devices not battery-powered can act as a Bluetooth proxy for advertisements. Active or passive listening can be enabled in the options flow.
+Shelly generation 2+ devices not battery-powered can act as a Bluetooth proxy for advertisements. Active or passive listening can be enabled in the options flow.
{% include integrations/option_flow.md %}
## Range Extender Support
-Shelly generation 2 and 3 devices that are not battery-powered can act as a Range Extender.
+Shelly generation 2+ devices that are not battery-powered can act as a Range Extender.
Devices of the same generations can be configured via those Range Extenders specifying a custom TCP port during the configuration flow.
Currently, only static IP or DHCP reserved IP are supported for the main device.
@@ -119,7 +121,7 @@ Names are set from the device web page:
- Channel name for single-channel devices can be set in **Settings** >> **CHANNEL NAME**
- Channel name for multi-channel devices can be set in **Settings** >> **CHANNEL NAME** after selecting the channel, by clicking on the channel name.
-## Entity naming (generation 2 and 3)
+## Entity naming (generation 2+)
The integration uses the following strategy to name its entities:
@@ -140,15 +142,15 @@ Shelly 2PM Gen3 supports `tilt` for `cover` entities. To enable this feature, yo
Depending on how a device's button type is configured, the integration will create binary sensors corresponding to those inputs. binary sensors are not created when the button type is `momentary` or `momentary_on_release`, for these types you need to use events for your automations.
-### Binary input sensors (generation 2 and 3)
+### Binary input sensors (generation 2+)
-For generation 2 and 3 hardware it's possible to select if a device's input is connected to a button or a switch. Binary sensors are created only if the input mode is set to `switch`. When the input is of type `button` you need to use events for your automations.
+For generation 2+ hardware, it's possible to select if a device's input is connected to a button or a switch. Binary sensors are created only if the input mode is set to `switch`. When the input is of type `button` you need to use events for your automations.
## Event entities (generation 1)
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, the integration creates an event entity for this switch. You can use this entity in your automations.
-## Event entities (generation 2 and 3)
+## Event entities (generation 2+)
If the **Input Mode** of the switch connected to the device is set to `Button`, the integration creates an event entity for this switch. You can use this entity in your automations.
@@ -245,7 +247,7 @@ Not all devices support all input events. You can check on [Shelly API Reference
Shelly device relays are added to Home Assistant by default as `switch` entities. A relay can be added as a `light` entity if **Settings** >> **APPLIANCE TYPE** value is set to `light`.
-## Consumption type (generation 2 and 3)
+## Consumption type (generation 2+)
Shelly device relays are added to Home Assistant by default as `switch` entities. A relay can be added as a `light` entity if **EXTERNAL CONSUMPTION TYPE** value is set to `light`.
@@ -329,7 +331,7 @@ The integration supports the following virtual components:
- `text` in `field` mode, for which a `text` platform entity is created
- `text` in `label` mode, for which a `sensor` platform entity is created
-## Scripts (generation 2 and 3)
+## Scripts (generation 2+)
For each device script, the integration creates a `switch` entity that allows you to control the script. These entities are disabled by default.
diff --git a/source/_integrations/simu.markdown b/source/_integrations/simu.markdown
index d5467df41ba..34b089ad4d9 100644
--- a/source/_integrations/simu.markdown
+++ b/source/_integrations/simu.markdown
@@ -24,11 +24,6 @@ ha_supporting_integration: Overkiz
ha_release: 2022.2
ha_codeowners:
- '@imicknl'
- - '@vlebourl'
- - '@tetienne'
- - '@nyroDev'
- - '@tronix117'
- - '@alexfp14'
ha_config_flow: true
ha_platforms:
- alarm_control_panel
diff --git a/source/_integrations/sma.markdown b/source/_integrations/sma.markdown
index e648b37b953..98d48fadf94 100644
--- a/source/_integrations/sma.markdown
+++ b/source/_integrations/sma.markdown
@@ -9,8 +9,10 @@ ha_release: 0.36
ha_codeowners:
- '@kellerza'
- '@rklomp'
+ - '@erwindouna'
ha_domain: sma
ha_platforms:
+ - diagnostics
- sensor
ha_integration_type: integration
---
diff --git a/source/_integrations/smarther.markdown b/source/_integrations/smarther.markdown
index 36899b8a7e4..ce30e9f6b84 100644
--- a/source/_integrations/smarther.markdown
+++ b/source/_integrations/smarther.markdown
@@ -3,6 +3,7 @@ title: Smarther
description: Connect and control your Smarther devices using the Netatmo integration
ha_category:
- Binary sensor
+ - Button
- Camera
- Climate
- Cover
@@ -24,6 +25,7 @@ ha_codeowners:
ha_config_flow: true
ha_platforms:
- binary_sensor
+ - button
- camera
- climate
- cover
diff --git a/source/_integrations/smlight.markdown b/source/_integrations/smlight.markdown
index 8d6673c5f8c..b1e47c660de 100644
--- a/source/_integrations/smlight.markdown
+++ b/source/_integrations/smlight.markdown
@@ -22,6 +22,7 @@ ha_platforms:
ha_codeowners:
- '@tl-sl'
ha_integration_type: device
+ha_dhcp: true
---
The [SMLIGHT](https://smlight.tech) SLZB-06x Ethernet Zigbee coordinators
diff --git a/source/_integrations/solax.markdown b/source/_integrations/solax.markdown
index 6c2588f9c4f..f2f95abb628 100644
--- a/source/_integrations/solax.markdown
+++ b/source/_integrations/solax.markdown
@@ -8,6 +8,7 @@ ha_release: 0.94
ha_iot_class: Local Polling
ha_codeowners:
- '@squishykid'
+ - '@Darsstar'
ha_domain: solax
ha_platforms:
- sensor
diff --git a/source/_integrations/somfy.markdown b/source/_integrations/somfy.markdown
index 9fdb2a342d4..e73709d063a 100644
--- a/source/_integrations/somfy.markdown
+++ b/source/_integrations/somfy.markdown
@@ -24,11 +24,6 @@ ha_supporting_integration: Overkiz
ha_release: 2022.2
ha_codeowners:
- '@imicknl'
- - '@vlebourl'
- - '@tetienne'
- - '@nyroDev'
- - '@tronix117'
- - '@alexfp14'
ha_config_flow: true
ha_platforms:
- alarm_control_panel
diff --git a/source/_integrations/spotify.markdown b/source/_integrations/spotify.markdown
index 3c928749ef0..a5762fdc29d 100644
--- a/source/_integrations/spotify.markdown
+++ b/source/_integrations/spotify.markdown
@@ -101,6 +101,11 @@ Internal examples: `http://192.168.0.2:8123/auth/external/callback`, `http://hom
{% include integrations/config_flow.md %}
+## Data updates
+
+The integration polls at least every 30 seconds.
+If the track that is playing ends in less than 30 seconds, the integration will poll again after the track has ended to update the state again.
+
## Using multiple Spotify accounts
This integration supports multiple Spotify accounts at once. You don't need to
diff --git a/source/_integrations/starline.markdown b/source/_integrations/starline.markdown
index de7bab7a4bd..4cf020b695f 100644
--- a/source/_integrations/starline.markdown
+++ b/source/_integrations/starline.markdown
@@ -29,7 +29,7 @@ The `starline` integration lets you retrieve data of your [StarLine](https://www
This integration provides the following platforms:
-- Binary sensors: Hand brake, hood, trunk, alarm status, doors lock state, handsfree, neutral, moving ban status, and running state.
+- Binary sensors: Hand brake, hood, trunk, alarm status, doors lock state, handsfree, neutral, moving ban status, ignition state, and autostart state.
- Device tracker: The location of your car.
- Lock: Control the lock of your car.
- Sensors: Battery level, SIM card balance, GSM signal level, GPS satellites count, fuel volume, mileage, OBD errors, interior temperature and engine temperature.
diff --git a/source/_integrations/swiss_public_transport.markdown b/source/_integrations/swiss_public_transport.markdown
index 8781bba9520..1a53bcf0a95 100644
--- a/source/_integrations/swiss_public_transport.markdown
+++ b/source/_integrations/swiss_public_transport.markdown
@@ -26,6 +26,14 @@ End station:
description: "The arrival station for the end of the connection (e.g., `Geneva`)"
Via stations:
description: "List of up to 5 via stations (e.g., `Bern`, `Lausanne`)"
+Departure or arrival time:
+ description: "Choose between the departure or arrival time or the connection to be displayed"
+Time mode:
+ description: "The time mode of the connections (e.g., `now` , `fixed`, `offset`)"
+Fixed time of day (only when time mode is set to fixed):
+ description: "The relevant time for the connection (e.g. 7:12:00 AM every morning)."
+Offset time from now (only when time mode is set to fixed):
+ description: "The time offset added to the earliest possible connection (e.g. add +00:05:00 offset, taking into account the time to walk to the station)"
{% endconfiguration_basic %}
Use the [Stationboard](https://transport.opendata.ch/examples/stationboard.html) to find exact station names.
@@ -38,7 +46,7 @@ The public timetables are coming from [Swiss public transport](https://transport
The minimum configuration for a connection requires a _start_ and _end_ station (for example, "Zürich HB").
-Optionally, you can provide up to 5 additional _via_ stations.
+Optionally, you can provide up to 5 additional _via_ stations where the connection must go through.

diff --git a/source/_integrations/switchbot_cloud.markdown b/source/_integrations/switchbot_cloud.markdown
index 2a5375aa95d..93d92244ba4 100644
--- a/source/_integrations/switchbot_cloud.markdown
+++ b/source/_integrations/switchbot_cloud.markdown
@@ -2,6 +2,7 @@
title: SwitchBot Cloud
description: Instructions on how to set up SwitchBot Devices.
ha_category:
+ - Button
- Hub
- Lock
- Plug
@@ -17,6 +18,7 @@ ha_codeowners:
- '@Gigatrappeur'
ha_domain: switchbot_cloud
ha_platforms:
+ - button
- climate
- lock
- sensor
@@ -54,6 +56,7 @@ Please note, device names configured in the SwitchBot app are transferred into H
- Hub 2
- Relay Switch 1
- Relay Switch 1PM
+- Bot (as a Switch in `switchMode` and `customizeMode`, as a Button in `pressMode`)
## Important considerations
diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown
index 98859cf0a12..87898759bd5 100644
--- a/source/_integrations/switcher_kis.markdown
+++ b/source/_integrations/switcher_kis.markdown
@@ -104,6 +104,10 @@ For Switcher Breeze the integration provides the following sensor:
| --------------------- | ------------------------------------------------------ | ----------------- |
| `Current temperature` | The current temperature in celsius | 25.0 °C |
+## Switches
+
+For Switcher cover control devices (Switcher Runner, Switcher Runner S11, Switcher Runner S12), the integration allows you to control its child lock state; ON means locked, and OFF means unlocked.
+
## Actions
For Switcher power control devices (Switcher Touch, Switcher V2/V4) the integration provides the following sensors:
diff --git a/source/_integrations/synology_dsm.markdown b/source/_integrations/synology_dsm.markdown
index 14fffc05fb4..dfdd61b443b 100644
--- a/source/_integrations/synology_dsm.markdown
+++ b/source/_integrations/synology_dsm.markdown
@@ -2,6 +2,7 @@
title: Synology DSM
description: Instructions on how to integrate the Synology DSM sensor within Home Assistant.
ha_category:
+ - Backup
- Camera
- Media source
- System monitor
@@ -16,6 +17,7 @@ ha_codeowners:
ha_config_flow: true
ha_ssdp: true
ha_platforms:
+ - backup
- binary_sensor
- button
- camera
@@ -27,7 +29,7 @@ ha_integration_type: integration
ha_zeroconf: true
---
-The Synology DSM integration provides access to various statistics from your [Synology NAS](https://www.synology.com) (_DSM 5.x and higher_) as well as cameras from the [Surveillance Station](https://www.synology.com/surveillance).
+The Synology DSM integration provides access to various statistics from your [Synology NAS](https://www.synology.com) (_DSM 5.x and higher_), as well as cameras from the [Surveillance Station](https://www.synology.com/surveillance) and will allow to use the [File Station](https://www.synology.com/en-us/dsm/feature/file_sharing) as a {% term backup %} location.
{% include integrations/config_flow.md %}
@@ -51,6 +53,8 @@ When creating the user, it is possible to deny access to all locations and appli
If you want to add cameras from [Surveillance Station](https://www.synology.com/surveillance), the user needs application permission for [Surveillance Station](https://www.synology.com/surveillance).
+If you want to use a shared folder from the [File Station](https://www.synology.com/en-us/dsm/feature/file_sharing) as {% term backup %} location, the user needs application permission for [File Station](https://www.synology.com/en-us/dsm/feature/file_sharing) and read/write permissions on the specific [shared folder](https://kb.synology.com/en-us/DSM/help/DSM/AdminCenter/file_share_desc).
+
### If you utilize 2-Step Verification or Two Factor Authentication (2FA) with your Synology NAS
If you have the "Enforce 2-step verification for the following users" option checked under **Control Panel > Security > Account > 2-Factor Authentication**, you'll need to configure the 2-step verification/one-time password (OTP) for the user you just created before the credentials for this user will work with Home Assistant.
@@ -61,6 +65,40 @@ Make sure to log out of your "normal" user's account and then login with the sep
If you denied access to all locations and applications it is normal to receive a message indicating you do not have access to DSM when trying to login with this separate user. As noted above, you do not need access to the DSM and Home Assistant will still be able to read statistics from your NAS.
{% endnote %}
+## Backup location
+
+The NAS can also be used as a {% term backup %} location, without the need to add the NAS as a network drive to Home Assistant. For this you need to setup the correct permissions for the user (_see [Separate User Configuration](#separate-user-configuration) above_), afterwards, you will be able to select the shared folder and define a relative path to be used as a backup location in the integration options ({% my integrations title="**Settings** > **Devices & services**" %} > **Synology DSM** > _select the instance_ > **Configure**)
+
+{% important %}
+
+Don't manually delete or rename the files in the backup path on the NAS. This could result in the backups no longer being able to be read or restored.
+
+{% endimportant %}
+
+### Example
+
+Assume there is a shared folder called `HA Backup`, with two directories in it `productive_instance` and `test_instance`.
+
+
+
+#### Use an existing path
+
+1. Select `HA Backup` as shared folder.
+2. Define `productive_instance` as backup path (_without trailing slash_).
+ - **Result**: The existing `productive_instance` will be used as backup location.
+
+#### Use a non-existing path
+
+1. Select `HA Backup` as a shared folder.
+2. Define `cottage_instance` as backup path (_without trailing slash_).
+ - **Result**: A new directory `cottage_instance` will be created on the shared folder `HA Backup` during the first backup.
+
+{% important %}
+
+Sub-directories in the backup path need to be separated by the regular slash `/`. For example: `home-assistant/prod_instance`.
+
+{% endimportant %}
+
## Sensors
### CPU utilization sensors
diff --git a/source/_integrations/telegram_bot.markdown b/source/_integrations/telegram_bot.markdown
index 3c66303649f..52b127a598b 100644
--- a/source/_integrations/telegram_bot.markdown
+++ b/source/_integrations/telegram_bot.markdown
@@ -20,6 +20,8 @@ If you don't need to receive messages, you can use the [broadcast](/integrations
Available actions: `send_message`, `send_photo`, `send_video`, `send_animation`, `send_voice`, `send_sticker`, `send_document`, `send_location`, `edit_message`, `edit_caption`, `edit_replymarkup`, `answer_callback_query`, `delete_message` and `leave_chat`.
+Actions that send contents (`send_*`) will return a list of `message_id`/`chat_id` for messages delivered (in a property called `chats`). This will populate [Response Data](/docs/scripts/perform-actions#use-templates-to-handle-response-data) that you can further utilize in your automations to edit/delete the message later based on the `message_id`. See the example later on this page for usage instructions.
+
### Action `telegram_bot.send_message`
Send a notification.
@@ -314,6 +316,7 @@ user_id: "
+
+
+
+There is one exception to this, which is [Home Assistant Cloud](/cloud). Backups
+stored in Home Assistant Cloud will always be encrypted, and encryption cannot
+be turned off. At Nabu Casa, we take your privacy and security very seriously,
+and we never ever want to be able to access your data.
+
+#### Downloading backups unencrypted
+
+When downloading backups from the Home Assistant interface, you will now always
+download the backup in an unencrypted format that can be extracted using your
+favorite archive tool.
+
+This works for all backups, regardless of the encryption settings of the
+location in which they are stored. For instance, if you download an encrypted
+backup from Home Assistant Cloud through the Home Assistant interface,
+it will decrypt the backup on the fly while you download it.
+
+### Customize the time of your backups
+
+The initial iteration of the backup system scheduled backups to run at 4:45 AM,
+but this time wasn't ideal for everyone. Some, for example, turned off their
+network storage during the night, meaning the backup would fail.
+
+This release, we added the ability to customize the time of your backups to your
+liking. Additionally, if you choose to make weekly backups, you can now select
+the days of the week you want the backup to run.
+
+
+
+### Taking backups on an advanced schedule
+
+The above backup time changes not flexible enough for you? Well, you are in luck! In this
+release, we added an action (`backup.create_automatic`) that you can use
+to trigger a backup, with your preferred settings, in an automation.
+
+
+
+This allows you to create automated backups on any schedule you like, or even
+add conditions and actions around it. For example, you could make an automation
+that triggers on a calendar, wakes up your network storage, waits till it is
+online, and then starts a backup.
+
+### Re-introduction of the backup toggle on update
+
+If you run Home Assistant OS, you get updates for Home Assistant along with
+all your add-ons. The update dialog used to have a toggle to create a backup
+before updating, which was removed in the previous release.
+
+This change was made because this feature was considered redundant when running
+regular automated backups. However, we’ve received a lot of feedback that many
+people relied on these backups to ensure they had the latest data, for instance,
+if they needed to roll back to a previous version of an add-on. We are
+re-introducing this backup on update toggle in this release, but in a smarter
+way. 🤓
+
+#### Backup on updating Home Assistant
+
+When updating Home Assistant, the toggle is now turned off by default and
+shows the last time you made a backup. This allows you to decide whether to make
+a new backup before updating.
+
+
+
+If you turn the switch on, a full automated backup is created and synced to
+your configured locations, before the update is started.
+
+This full sync is done to ensure you have the most recent backup available in
+case the update causes issues and you need to restore your system. In the rare
+case a Home Assistant update fatally fails and you can’t access the backup page,
+if you’ve configured a second backup location, you’ll be able to download it
+from there.
+
+#### Backup on updating add-ons
+
+Things are slightly different when updating add-ons. The toggle exists here too,
+and is disabled by default. However, when you enable it, only a backup of your
+add-on and its data is created. That way you can keep around the previous
+version of the add-on, so you can always roll back to it if needed.
+
+
+
+To prevent your system from filling up with old add-on backups, we only retain
+one backup per add-on, automatically deleting the previous backup whenever
+a new one is created. Add-on backups you created manually, of course,
+remain untouched and will not be deleted automatically.
+
+### Improved filenames for backups
+
+One piece of feedback we’ve seen a lot, is that the filenames created by backups
+can be a bit cryptic and hard to understand for humans.
+
+This feedback was fair, as the filename was a hash and originally not designed
+to be human-readable. This method was not newly introduced in the last release,
+but it was made more apparent with the new backup system and locations.
+
+So, in this release, we've improved the filenames of the backups stored on your
+backup locations. The filename now includes the date and time the backup was
+created, making it easier to understand and identify the backup you are looking
+for, even outside of Home Assistant.
+
+### New locations
+
+This release also introduces new locations to store your backups. There are new
+integrations for [Google Drive](/integrations/google_drive/) and
+[Microsoft OneDrive](/integrations/onedrive/), and backup support was added to
+the [Synology DSM](/integrations/synology_dsm) integration.
+
+
+
+## Voice
+
+Assist, our [private voice assistant](/voice_control/), is getting a few new
+features in this release. If you don't have Assist set up yet, check out our
+[Home Assistant Voice: Preview Edition](/voice-pe/) to get started.
+
+### Home Assistant will be able to call your analog phone to tell you a message
+
+Remember our tutorial on turning an analog phone into the
+[world's most private voice assistant](/voice_control/worlds-most-private-voice-assistant/)?
+Thanks to [Jamin](https://github.com/jaminh), we now have a way to call
+your analog phone from Home Assistant!
+
+You can use [`assist_satellite.announce`](/integrations/assist_satellite#action-assist_satelliteannounce)
+to have Home Assistant call your phone and play a message when someone picks up
+the phone.
+
+If you use an LLM as the brains for your voice assistant, you can take this one
+step further with the new [`assist_satellite.start_conversation`](/integrations/assist_satellite#action-assist_satellitestart_conversation)
+action. Instead of playing an announcement, it starts a conversation between
+Home Assistant and the user, with Home Assistant saying the first message.
+Left the garage door open for 30 minutes? No problem, let Home Assistant call
+and ask if they want to close it.
+
+_(Starting a conversation with the default conversation agent is a bit more work
+and did not make it this release)._
+
+### New Broadcast intent
+
+You can now broadcast messages to every other voice assistant in your home.
+Try it by saying _"Broadcast it is time for dinner"_.
+As always with new intents, support may vary
+[depending on your language](https://home-assistant.github.io/intents/),
+but our language leaders are working hard on making sure it will be supported
+soon in your language!
+
+### Setting Temperature on Thermostat
+
+A few releases ago we introduced an intent to get the current temperature from
+a climate device. As of this release, you can also set the target temperature
+of your thermostat by voice.
+
+By saying _"Set the temperature to 19 degrees"_ this will smartly target the
+area you are in (if you have a thermostat per area, such as thermostatic valves
+on your radiators) or the floor you are in (if you only have a central unit).
+You can also target specific devices by name if you prefer.
+
+### LLMs meet calendars
+
+Without complex custom tooling, LLM-based conversation agents previously could
+not fetch events from your calendar. This release changes that. Out of the box,
+LLM-based agents can now retrieve today’s and this week’s events from any of
+your calendars. Don’t forget to
+[expose your calendar entities](/voice_control/voice_remote_expose_devices/)
+to enable this functionality.
+
+### Shared history between the default conversation agent and its LLM-based fallback
+
+In [2024.12](/blog/2024/12/04/release-202412/) we introduced a lovely feature
+that allowed you to use our fast and local default conversation agent for most
+queries while still being able to fall back to a much more powerful LLM-based
+agent for more complex queries.
+
+This introduced some interesting behaviors. From a user perspective, it looked
+like you were talking to the same assistant, whereas, in reality, nothing was
+shared between the two agents. This led to some less-than-optimal scenarios,
+such as this one:
+
+
+
+The first command is processed locally by our default agent, but the follow-up
+request is processed by the LLM-based agent. Since no memory is shared, it does
+not understand what device you want to turn off.
+
+Starting with this release, both agents now share the same command history,
+helping address this issue.
+
+
+
+### Model Context Protocol
+
+This release adds the [Model Context Protocol](https://modelcontextprotocol.io/introduction)
+to Home Assistant thanks to [Allen][@allenporter]. Home Assistant can both be an
+[MCP server](/integrations/mcp_server/) and an
+[MCP client](/integrations/mcp/). From the MCP website:
+
+> MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
+
+To give it a try yourself, [check out this client demo](https://gist.github.com/allenporter/b0e9946feb2ab60901c4f467ac1ba6f9).
+
+## 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:
+
+- **[Google Drive]**, added by [@tronikos]
+ Add your Google Drive as a location to store your Home Assistant backups.
+- **[Homee]**, added by [@Taraman17]
+ Integrate your [Homee smart home system] into Home Assistant.
+- **[igloohome]**, added by [@keithle888]
+ Monitor the battery levels of your [igloo smart access device(s)].
+- **[LetPot]**, added by [@jpelgrom]
+ Monitor and control your [LetPot indoor garden].
+- **[OneDrive]**, added by [@zweckj]
+ Allows you to store your Home Assistant backups in your Microsoft OneDrive.
+- **[Overseerr]**, added by [@joostlek]
+ Interact with your [Overseerr media requests] directly from Home Assistant.
+- **[Model Context Protocol Server]**, added by [@allenporter]
+ Enables using Home Assistant to provide context for MCP LLM Client
+ Applications. For example, you can expose your Google Tasks to-do list as a
+ tool for [Claude Desktop].
+- **[Model Context Protocol]**, added by [@allenporter]
+ Enables using [MCP Servers] in Home Assistant to provide additional tools to
+ use with a conversation agent.
+- **[Qbus]**, added by [@thomasddn]
+ Allows you to integrate your [Qbus Control] into Home Assistant.
+
+This release also has a new virtual integration. Virtual integrations are stubs
+that are handled by other (existing) integrations to help with findability.
+The following virtual integration have been added:
+
+- **[Decorquip Dream]**, provided by [Motionblinds] added by [@starkillerOG]
+
+[@allenporter]: https://github.com/allenporter
+[@joostlek]: https://github.com/joostlek
+[@jpelgrom]: https://github.com/jpelgrom
+[@keithle888]: https://github.com/keithle888
+[@starkillerOG]: https://github.com/starkillerOG
+[@Taraman17]: https://github.com/Taraman17
+[@thomasddn]: https://github.com/thomasddn
+[@tronikos]: https://github.com/tronikos
+[@zweckj]: https://github.com/zweckj
+[Claude Desktop]: https://claude.ai/download
+[Decorquip Dream]: /integrations/decorquip/
+[Google Drive]: /integrations/google_drive
+[Homee smart home system]: https://hom.ee/
+[Homee]: /integrations/homee
+[igloo smart access device(s)]: https://www.igloohome.co/#products
+[igloohome]: /integrations/igloohome
+[LetPot indoor garden]: https://letpot.com/
+[LetPot]: /integrations/letpot
+[MCP Servers]: https://modelcontextprotocol.io/
+[Model Context Protocol Server]: /integrations/mcp_server
+[Model Context Protocol]: /integrations/mcp
+[Motionblinds]: /integrations/motion_blinds
+[OneDrive]: /integrations/onedrive
+[Overseerr media requests]: https://overseerr.dev/
+[Overseerr]: /integrations/overseerr
+[Qbus Control]: https://www.qbus.be/
+[Qbus]: /integrations/qbus/
+
+### 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:
+
+- A big shoutout to [@NoRi2909]! He has been reviewing and improving every single
+ piece of text we show anywhere in Home Assistant. Thank you for your hard work!
+- Also, [@lboue]! This hero keeps extending the device support for the [Matter]
+ integration by adding support for more and more devices. Home Assistant is
+ close to reaching full Matter 1.4 device support!
+- [@chemelli74] added support for the [Shelly BLU TRV] to the [Shelly]
+ integration. Nice!
+- The [HomeWizard Energy] integration now supports the
+ [HomeWizard Plug-In Battery]. Awesome work [@DCSBL]!
+- Thanks to [@iprak], the [Vesync] integration now supports humidifiers!
+- [@rytilahti] added vacuum support to the [TP-Link Smart Home] integration. Sweet!
+- The [Reolink] integration keeps evolving, [@starkillerOG] added support for baby crying detection as a sensor. Nice!
+- The [Bang & Olufsen] integration now provides entities allowing you to react
+ to physical button presses on all Bang & Olufsen devices. Thanks [@mj23000]!
+
+[@chemelli74]: https://github.com/chemelli74
+[@DCSBL]: https://github.com/DCSBL
+[@iprak]: https://github.com/iprak
+[@lboue]: https://github.com/lboue
+[@mj23000]: https://github.com/mj23000
+[@NoRi2909]: https://github.com/NoRi2909
+[@rytilahti]: https://github.com/rytilahti
+[@starkillerOG]: https://github.com/starkillerOG
+[Bang & Olufsen]: /integrations/bang_olufsen
+[HomeWizard Energy]: /integrations/homewizard
+[HomeWizard Plug-In Battery]: https://www.homewizard.com/nl/plug-in-battery/
+[Matter]: /integrations/matter
+[Reolink]: /integrations/reolink
+[Shelly BLU TRV]: https://www.shelly.com/products/shelly-blu-trv-single-pack
+[Shelly]: /integrations/shelly
+[TP-Link Smart Home]: /integrations/tplink
+[Vesync]: /integrations/vesync
+
+### 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 integration is now available via the Home Assistant UI:
+
+- **[NMBS]**, done by [@silamon]
+- **[Filter]**, done by [@gjohansson-ST]
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@silamon]: https://github.com/silamon
+[Filter]: /integrations/filter
+[NMBS]: /integrations/nmbs
+
+## Other noteworthy changes
+
+- When using the [Generic thermostat], setting a temperature that matches
+ one of the presets will automatically select that preset as active.
+ Thanks [@domingues]!
+- [Time triggers] in automations can now be offset when using datetime input
+ helpers. Thanks [@Petro31]!
+
+[@domingues]: https://github.com/domingues
+[@Petro31]: https://github.com/Petro31
+[Generic thermostat]: /integrations/generic_thermostat
+[Time triggers]: /docs/automation/trigger/#time-trigger
+
+## Bluetooth config panel
+
+The [Bluetooth integration] now has its own configuration panel! 💙
+
+The panel is accessible by going to **Settings** > **Device & services**. Find
+and select the **Bluetooth** integration, and next select **Configure**.
+
+This new panel gives you access to the Bluetooth integration options and
+insights into the connection slot allocations. More importantly,
+it has an advertisement monitor!
+
+Selecting **Advertisement monitor** will open a new panel, where you can see
+information about your Bluetooth devices, including the raw advertisement data
+and how they are connected to your Home Assistant instance. This includes
+which [Bluetooth proxy] it connects through!
+
+
+
+[Bluetooth integration]: /integrations/bluetooth
+[Bluetooth proxy]: /integrations/bluetooth/#remote-adapters-bluetooth-proxies
+
+## Preparing our graphs for the future
+
+This release includes a major overhaul of every graph we display and show in
+Home Assistant. We have entirely replaced the software library that renders
+these graphs in the frontend.
+
+You can most definitely tell things have changed, but everything still looks
+very similar. The latter was our goal for now, as we wanted the existing
+experience to be familiar.
+
+However, this change is a preparation for the future. We have many plans and
+ideas for our graphs, and this change was a necessary step to make those plans
+possible.
+
+## 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 "Ecovacs" %}
+
+The attributes on the vacuum entity for the lifespan of the main brush, side
+brush, and filter have been deprecated and are now removed. These attributes
+are superseded by dedicated sensor entities.
+
+([@gjohansson-ST] - [#134492]) ([documentation](/integrations/ecovacs))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#134492]: https://github.com/home-assistant/core/pull/134492
+
+{% enddetails %}
+
+{% details "Home Connect" %}
+
+Some appliances might lose their power entity as the API does not report the
+power setting.
+
+([@Diegorro98] - [#135930]) ([documentation](/integrations/home_connect))
+
+[@Diegorro98]: https://github.com/Diegorro98
+[#135930]: https://github.com/home-assistant/core/pull/135930
+
+{% enddetails %}
+
+{% details "IMGW-PIB" %}
+
+Some hydrology data is no longer available to Home Assistant users via IMGW-PIB
+API and for this reason, the following entities are removed:
+
+- `flood alarm` binary sensor
+- `flood alarm level` sensor
+- `flood warning` binary sensor
+- `flood warning level` sensor
+
+([@bieniu] - [#134668]) ([documentation](/integrations/imgw_pib))
+
+[@bieniu]: https://github.com/bieniu
+[#134668]: https://github.com/home-assistant/core/pull/134668
+
+{% enddetails %}
+
+{% details "KNX" %}
+
+The "State Updater" option in the integration settings now works as intended.
+Previously, the option wasn’t applied correctly.
+
+- When disabled: KNX will only read a `state_address` once when the connection
+ is established.
+- When enabled: KNX will also read any `state_address` if no value has been
+ received for one hour.
+
+Please review your integration settings to ensure this option is configured
+according to your preferences.
+
+([@farmio] - [#135611]) ([documentation](/integrations/knx))
+
+[@farmio]: https://github.com/farmio
+[#135611]: https://github.com/home-assistant/core/pull/135611
+
+{% enddetails %}
+
+{% details "Litter-Robot" %}
+
+Remove extra_state_attributes from Litter-Robot vacuum entities.
+These were previously migrated to sensors.
+
+([@natekspencer] - [#136196]) ([documentation](/integrations/litterrobot))
+
+[@natekspencer]: https://github.com/natekspencer
+[#136196]: https://github.com/home-assistant/core/pull/136196
+
+{% enddetails %}
+
+{% details "MQTT" %}
+
+To change the MQTT broker settings, you need to start a reconfiguration.
+When `CONFIGURE` is selected, MQTT shows a "MQTT settings" page with subscribe
+and publish tools. The `Re-configure MQTT` button will be replaced with
+an `MQTT options` page.
+
+The reconfiguration option will only be available from the MQTT integration
+entry context menu.
+
+([@jbouwh] - [#133342]) ([documentation](/integrations/mqtt))
+
+[@jbouwh]: https://github.com/jbouwh
+[#133342]: https://github.com/home-assistant/core/pull/133342
+
+{% enddetails %}
+
+{% details "Pentair ScreenLogic" %}
+
+Raw states derived from ScreenLogic enums are now lowercase instead of Title
+Case. This change impacts:
+
+- pH/ORP dosing state sensor entities:
+ - `Dosing` -> `dosing`
+ - `Mixing` -> `mixing`
+ - `Monitoring` -> `monitoring`
+- The `preset_mode` state attribute for ScreenLogic climate entities, where
+ raw states have also been underscored-spaced and had any punctuation removed.
+ - `Solar` -> `solar`
+ - `Solar Preferred` -> `solar_preferred`
+ - `Heater` -> `heater`
+ - `Don't Change` -> `dont_change`
+
+These changes support the addition of translation keys for text-based entity
+states. You should update any references to the above states/preset_modes to
+the new, lowercase versions.
+
+([@dieselrabbit] - [#133866]) ([documentation](/integrations/screenlogic))
+
+[@dieselrabbit]: https://github.com/dieselrabbit
+[#133866]: https://github.com/home-assistant/core/pull/133866
+
+{% 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:
+
+- [Energy by distance units](https://developers.home-assistant.io/blog/2025/01/31/energy-distance-units/)
+- [Relocate dhcp/ssdp/usb/zeroconf ServiceInfo models](https://developers.home-assistant.io/blog/2025/01/15/service-info)
+
+[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 2025.2](/changelogs/core-2025.2)
diff --git a/source/changelogs/core-2025.2.markdown b/source/changelogs/core-2025.2.markdown
new file mode 100644
index 00000000000..98215ecdc7a
--- /dev/null
+++ b/source/changelogs/core-2025.2.markdown
@@ -0,0 +1,2886 @@
+---
+title: Full changelog for Home Assistant Core 2025.2
+description: Detailed changelog for the Home Assistant Core 2025.2 release
+replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$
+---
+
+These are all the changes included in the Home Assistant Core 2025.2 release.
+
+For a summary in a more readable format:
+[Release notes blog for this release](/blog/2025/02/05/release-20252/).
+
+- Add removal instructions to ElevenLabs ([@sorgfresser] - [#133895])
+- Bump version to 2025.2.0dev0 ([@frenck] - [#133893])
+- Mark missing IQS requirements for Idasen Desk as done ([@abmantis] - [#133910])
+- Revise codeowners for Overkiz ([@iMicknl] - [#133784])
+- Remove myself as codeowner from Plugwise ([@frenck] - [#133920])
+- Remove myself as codeowner from Tuya integration ([@frenck] - [#133921])
+- Prevent imports from tests in core codebase ([@frenck] - [#133928])
+- Make screenlogic state enums lowercase ([@dieselrabbit] - [#133866])
+- Bump velbusaio to 2024.12.3 ([@cereal2nd] - [#133939])
+- Update pyvesync version ([@cdnninja] - [#131433])
+- Add pip wheel build constraints to fix numpy builds ([@cdce8p] - [#133962])
+- Bump subarulink to 0.7.13 ([@G-Two] - [#133970])
+- Bump numpy to 2.2.1 ([@bdraco] - [#133844])
+- Add parallel updates to swiss public transport ([@miaucl] - [#133996])
+- Add clear shopping list button for Cookidoo ([@miaucl] - [#133583])
+- Add config flow data description to swiss public transport ([@miaucl] - [#133997])
+- Fulfill IQS rule docs-removal-instructions in ViCare integration ([@CFenner] - [#133982])
+- Update silver docs for swiss public transport ([@miaucl] - [#134001])
+- Bump Tesla Fleet API library ([@Bre77] - [#134019])
+- Bump python-google-nest-sdm to 7.0.0 ([@allenporter] - [#134016])
+- Tado update code owners ([@erwindouna] - [#133987])
+- Fix typo in get_command action description ([@NoRi2909] - [#134026])
+- Use correct uppercase for abbreviations ([@NoRi2909] - [#134028])
+- Fix Nest ConfigEntry typing ([@allenporter] - [#134021])
+- Replace "service" with "action" plus fixed descriptions ([@NoRi2909] - [#134053])
+- Bump pyipma to 3.0.8 ([@dgomes] - [#134055])
+- Remove mqtt publish templates after 6 months of deprecation ([@jbouwh] - [#134056])
+- Fix unifiprotect DeprecationWarnings in tests ([@cdce8p] - [#134060])
+- Suez_water: remove redundant log on refresh failure ([@jb101010-2] - [#134025])
+- Add state_class to EcoWittSensorTypes.DEGREE ([@tkunzfeld] - [#134004])
+- Roborock Add vacuum_goto service ([@RaHehl] - [#133994])
+- Revert "Add state_class to EcoWittSensorTypes.DEGREE" ([@frenck] - [#134079])
+- Add azure_data_explorer to microsoft brand ([@zweckj] - [#134088])
+- Bump pyheos to v0.8.0 ([@andrewsayre] - [#134069])
+- Remove Tile unique id migration ([@joostlek] - [#134106])
+- Extract Tile coordinator in separate file ([@joostlek] - [#134104])
+- Remove YAML import from Tile ([@joostlek] - [#134108])
+- Bump Tado to 0.18.5 ([@erwindouna] - [#133988])
+- Set PARALLEL_UPDATES for incomfort entity platforms ([@jbouwh] - [#134110])
+- Introduce base entity for Tile ([@joostlek] - [#134109])
+- Add unit test for sensors in swiss public transport ([@miaucl] - [#134115])
+- Migrate Tile to use entry.runtime_data ([@joostlek] - [#134107])
+- Remove deprecated yaml import for Russound RIO ([@noahhusby] - [#134072])
+- Bump aiorussound to 4.2.0 ([@noahhusby] - [#134117])
+- Converge stream av open methods, options, and error handling ([@allenporter] - [#134020])
+- Add mute support to Russound RIO ([@noahhusby] - [#134118])
+- Bump pysqueezebox to v0.11.1 ([@rajlaud] - [#134097])
+- Remove incorrect device check in LCN events ([@alengwenus] - [#134116])
+- Add Overseerr integration ([@joostlek] - [#133981])
+- Remove unused parameters from function calls in rainbird ([@allenporter] - [#134124])
+- Refactor Tile tests ([@joostlek] - [#134130])
+- Add Tile device tests ([@joostlek] - [#134138])
+- Add ClassVar annotation for singleton patterns ([@cdce8p] - [#134135])
+- Add Velbus binary sensor tests ([@cereal2nd] - [#134132])
+- Add Tile device tracker tests ([@joostlek] - [#134137])
+- Bump python-overseerr to 0.3.0 ([@joostlek] - [#134147])
+- Add versions to Tile device ([@joostlek] - [#134150])
+- Use x,y in roborock action call ([@gjohansson-ST] - [#134133])
+- Remove deprecated Mastodon yaml config import ([@andrew-codechimp] - [#134040])
+- Add quality_scale.yaml for KNX ([@farmio] - [#133937])
+- Suez_water: use meter id as unique_id ([@jb101010-2] - [#133959])
+- Bump pynecil to v3.0.0 ([@tr4nt0r] - [#134151])
+- Add binary sensor to Tile ([@joostlek] - [#134153])
+- Suez_water: clear quality scale ([@jb101010-2] - [#134027])
+- Add switch platform to IronOS integration ([@tr4nt0r] - [#133691])
+- Bump pynecil to v3.0.1 ([@tr4nt0r] - [#134174])
+- Add Velbus Button tests ([@cereal2nd] - [#134186])
+- Add button platform to IronOS integration ([@tr4nt0r] - [#133678])
+- Bump python-overseerr to 0.4.0 ([@joostlek] - [#134192])
+- Migrate Habitica integration to habiticalib ([@tr4nt0r] - [#131032])
+- Move coordinator to own file in Open-Meteo ([@gjohansson-ST] - [#134197])
+- Bump aioswitcher to 6.0.0 ([@thecode] - [#134185])
+- Fix method subtyping [elkm1] ([@cdce8p] - [#134210])
+- Fix method subtyping [knx] ([@cdce8p] - [#134211])
+- Fix method subtyping [recorder] ([@cdce8p] - [#134212])
+- Fix method subtyping [helpers] ([@cdce8p] - [#134213])
+- Add slot list service to ohme ([@dan-r] - [#134170])
+- Use config entry runtime data in Open-Meteo ([@gjohansson-ST] - [#134198])
+- Add reauth flow to Habitica integration ([@tr4nt0r] - [#131676])
+- Set Scrape sensor unavailable when errors ([@gjohansson-ST] - [#134143])
+- Bump habiticalib to v0.3.2 ([@tr4nt0r] - [#134244])
+- Remove unused translations from Russound RIO ([@noahhusby] - [#134246])
+- Remove deprecated yaml import from OTP integration ([@tr4nt0r] - [#134196])
+- Record LG WebOS TV Quality scale ([@joostlek] - [#133732])
+- Bump Python Matter server to 7.0.0 (Matter 1.4) ([@lboue] - [#132502])
+- Fix two descriptions of yeelight actions ([@NoRi2909] - [#134282])
+- Add battery sensor to ohme ([@dan-r] - [#134222])
+- Replace "service" with "action" ([@NoRi2909] - [#134279])
+- Replace unnecessary abbreviations in set_room_temperature action ([@NoRi2909] - [#134278])
+- Add discovery to Russound RIO ([@noahhusby] - [#134245])
+- Add parallel updates to camera platform in Trafikverket Camera ([@gjohansson-ST] - [#134298])
+- Use typed config entry in Trafikverket Camera ([@gjohansson-ST] - [#134299])
+- Use typed config entry everywhere in Trafikverket Ferry ([@gjohansson-ST] - [#134300])
+- Set parallel updates in Trafikverket Ferry ([@gjohansson-ST] - [#134301])
+- Use typed config entry everywhere in Trafikverket Weatherstation ([@gjohansson-ST] - [#134308])
+- Set parallel updates in Trafiverket Weatherstation ([@gjohansson-ST] - [#134309])
+- Explicitly set config entry in Trafikverket Weatherstation coordinator ([@gjohansson-ST] - [#134310])
+- Explicitly set config entry in Trafikverket Ferry coordinator ([@gjohansson-ST] - [#134305])
+- Use typed config entry everywhere in Trafikverket Train ([@gjohansson-ST] - [#134303])
+- Explicitly set config entry in Trafikverket Train coordinator ([@gjohansson-ST] - [#134304])
+- Set parallel updates in Trafikverket Train ([@gjohansson-ST] - [#134302])
+- Bump pyvesync to 2.1.15 ([@iprak] - [#134156])
+- Update description of the script toggle action ([@NoRi2909] - [#134093])
+- Full test coverage for Vodafone Station sensor platform ([@chemelli74] - [#133285])
+- Refactor and simplify config flow in generic camera ([@davet2001] - [#134330])
+- Bump aiorussound to 4.3.0 ([@noahhusby] - [#134242])
+- Add Bang & Olufsen button Event entities ([@mj23000] - [#127550])
+- Bump aiorussound to 4.4.0 ([@noahhusby] - [#134366])
+- Add Reolink baby crying binary sensor ([@starkillerOG] - [#134290])
+- Use text selectors for lamarzocco config flow ([@zweckj] - [#134368])
+- Remove leftover newline codes and periods from strings.json ([@NoRi2909] - [#134354])
+- Bump ohmepy to 1.2.3 ([@dan-r] - [#134348])
+- Change Reolink test switch entity ID ([@starkillerOG] - [#134339])
+- Ensure an entity platform is added in mqtt tests ([@jbouwh] - [#134331])
+- Use "restore from" in field descriptions of restore_partial action ([@NoRi2909] - [#134285])
+- Add placeholder url to Sensibo api description ([@gjohansson-ST] - [#134342])
+- Add velbus switch platform testcases ([@cereal2nd] - [#134207])
+- Add diagnostics to Trafikverket Weatherstation ([@gjohansson-ST] - [#134314])
+- Add integration for igloohome devices ([@keithle888] - [#130657])
+- Cleanup lamarzocco tests ([@zweckj] - [#134383])
+- Implement base entity class for Twinkly ([@sVnsation] - [#134382])
+- Add Velbus climate platform tests ([@cereal2nd] - [#134387])
+- Calculate number of discovery topics correctly ([@jbouwh] - [#134393])
+- Velbus select platform testcases ([@cereal2nd] - [#134394])
+- Move available property to base entity in Sensibo ([@gjohansson-ST] - [#134410])
+- Add mill number platform ([@Danielhiversen] - [#134044])
+- Add the Model Context Protocol Server integration ([@allenporter] - [#134122])
+- Add base entity to Mill ([@gjohansson-ST] - [#134415])
+- Update mypy-dev to 1.15.0a1 ([@cdce8p] - [#134416])
+- Add HEOS options flow for optional authentication ([@andrewsayre] - [#134105])
+- Add debug log and Optimize code ([@ashionky] - [#134328])
+- Add `current_humidity` state attribute to Google Nest climate entity ([@jbarreiros] - [#134426])
+- Add action translations to Sensibo ([@gjohansson-ST] - [#134420])
+- Add translations to all Sensibo errors ([@gjohansson-ST] - [#134422])
+- Remove habitipy references in Habitica integration ([@tr4nt0r] - [#134419])
+- Improve names and descriptions in neato.custom_cleaning action ([@NoRi2909] - [#134399])
+- Add mode selector to Twinkly ([@sVnsation] - [#134041])
+- Update types packages ([@cdce8p] - [#134433])
+- Add sw_version to apsystems ([@Thomas55555] - [#134441])
+- Improve action descriptions with some more detail from the docs ([@NoRi2909] - [#134120])
+- Add types package for pyserial ([@cdce8p] - [#134444])
+- Remove deprecated yaml import from pyLoad integration ([@tr4nt0r] - [#134200])
+- Improve pandora media_player typing ([@cdce8p] - [#134447])
+- Update pexpect to 4.9.0 ([@cdce8p] - [#134450])
+- Remove deprecated YAML import from MPD ([@noahhusby] - [#134459])
+- Add support for specifying hvac_onoff_register value on modbus ([@illia-piskurov] - [#128366])
+- Remove excessive newline codes from strings.json ([@NoRi2909] - [#134468])
+- Change Reolink person binary sensor icon ([@SparkyDan555] - [#134472])
+- Remove sneaked in IronOS submodule ([@frenck] - [#134477])
+- Use username as config entry title in Sensibo ([@gjohansson-ST] - [#134488])
+- Improve error strings in Sensibo ([@gjohansson-ST] - [#134487])
+- Remove worldclock config entry import ([@gjohansson-ST] - [#134491])
+- Remove deprecated attributes from ecovacs ([@gjohansson-ST] - [#134492])
+- Remove deprecated uptime sensor from qnap_qsw ([@gjohansson-ST] - [#134493])
+- Update pillow to 11.1.0 ([@cdce8p] - [#134469])
+- Bump psutil to 6.1.1 ([@gjohansson-ST] - [#134494])
+- Add types package for pexpect ([@cdce8p] - [#134461])
+- Use the latest version of the pyserial-asyncio-fast library ([@rrooggiieerr] - [#134501])
+- Push Overseerr updates via webhook ([@joostlek] - [#134187])
+- Bump python-overseerr to 0.5.0 ([@joostlek] - [#134522])
+- Add quality scale to Sensibo ([@gjohansson-ST] - [#134296])
+- Add switch platform to Ohme ([@dan-r] - [#134347])
+- Add coordinator to vesync ([@iprak] - [#134087])
+- Add get_tasks action to Habitica integration ([@tr4nt0r] - [#127687])
+- Add state_class to Airthings integration ([@LaStrada] - [#134503])
+- Refactor all Sensibo tests ([@gjohansson-ST] - [#134478])
+- Enable strict typing for pandora ([@cdce8p] - [#134536])
+- Velbus add init testcases ([@cereal2nd] - [#134533])
+- Add Homee integration to Core ([@Taraman17] - [#133738])
+- Fix description of google_assistant.request_sync action ([@NoRi2909] - [#134535])
+- Remove deprecated sensors in Habitica integration ([@tr4nt0r] - [#134320])
+- Add support for `xvoltage` sensor for Shelly Plus UNI ([@bieniu] - [#134261])
+- Move SiLabs firmware probing helper from ZHA into `homeassistant_hardware` ([@puddly] - [#131586])
+- Update quality scale for Sensibo ([@gjohansson-ST] - [#134551])
+- Add supported features property in Sensibo ([@gjohansson-ST] - [#134479])
+- Add HEOS Reauth Flow ([@andrewsayre] - [#134465])
+- Require at least bronze for new integrations ([@joostlek] - [#134537])
+- Improve habitica action descriptions ([@NoRi2909] - [#134563])
+- Add sleep switch for all Foscam cameras if more than 1 camera are configured ([@N3rdix] - [#126064])
+- Velbus diagnostics code cleanup ([@cereal2nd] - [#134553])
+- Add image platform to Habitica integration ([@tr4nt0r] - [#129009])
+- Add velbus light and sensor platform testcases ([@cereal2nd] - [#134485])
+- Clean up docstrings in Sensibo ([@gjohansson-ST] - [#134591])
+- Add velbus diagnostics tests ([@cereal2nd] - [#134621])
+- Bump ical to 8.3.0 ([@allenporter] - [#134617])
+- Fix typo 'devide_id', use uppercase for abbreviations ID and LED ([@NoRi2909] - [#134634])
+- Replace aioclient_mock in Sensibo tests ([@gjohansson-ST] - [#134543])
+- Fix description of device_id field of reconnect_client actions ([@NoRi2909] - [#134275])
+- Update guppy to 3.1.5 ([@frenck] - [#134646])
+- Add velbus cover platform testcases ([@cereal2nd] - [#134654])
+- Remove LG WebOS TV legacy uuid migration ([@thecode] - [#134671])
+- Prefer a local webhook for Overseerr ([@joostlek] - [#134667])
+- Add Overseerr service to get requests ([@joostlek] - [#134229])
+- Bump gcal_sync to 7.0.0 ([@allenporter] - [#134687])
+- Clean-up HEOS entity event setup ([@andrewsayre] - [#134683])
+- Add prompts to MCP server ([@allenporter] - [#134619])
+- Remove excessive newline codes from squeezebox strings ([@NoRi2909] - [#134682])
+- Fix wrong description of group.set action ([@NoRi2909] - [#134697])
+- Fix typos / grammar in description of create_task action ([@NoRi2909] - [#134705])
+- Fix typos / grammar in nasweb integration ([@NoRi2909] - [#134721])
+- Fix spelling of "MAC (address)" and "Gateway" name ([@NoRi2909] - [#134724])
+- Deprecate HEOS sign_in and sign_out actions ([@andrewsayre] - [#134616])
+- Add support for "Lumin Smart Light" LD-0003 ([@rpavlik] - [#133328])
+- Bump ruff to 0.8.6 ([@autinerd] - [#134745])
+- Bump aranet4 to 2.5.0 ([@luc-ass] - [#134752])
+- Fix spelling of "MAC (address)" and "Slide" name in slide_local ([@NoRi2909] - [#134747])
+- Use uppercase "Chime" for product name, fix "MAC address" ([@NoRi2909] - [#134748])
+- Small fixes in the strings file of the Vera integration ([@NoRi2909] - [#134780])
+- Add ATTR_MODEL to DeviceInfo for Aranet ([@luc-ass] - [#134307])
+- Add latest Nighthawk WiFi 7 routers to V2 models ([@lanthaler] - [#134765])
+- Remove unneeded vesync device base class ([@cdnninja] - [#134499])
+- Use uppercase "ID" in Home Connect strings ([@NoRi2909] - [#134783])
+- Fix spelling of "ID" in Roku integration ([@NoRi2909] - [#134779])
+- Update roborock to ensure every room has a name, falling back to a placeholder ([@allenporter] - [#134733])
+- Fix spelling of "ID", slightly reword action description ([@NoRi2909] - [#134817])
+- Pass config entry directly to coordinator in System monitor ([@gjohansson-ST] - [#134837])
+- Set single_config_entry in System monitor manifest ([@gjohansson-ST] - [#134838])
+- Add python_script to strict typing ([@gjohansson-ST] - [#134822])
+- Make ChunkAsyncStreamIterator an aiohttp helper ([@mib1185] - [#134843])
+- Add get device capabilities action call for Sensibo ([@gjohansson-ST] - [#134596])
+- Add horizontal swing to Sensibo ([@gjohansson-ST] - [#132117])
+- Bump pynecil to v4.0.1 ([@tr4nt0r] - [#134852])
+- Remove deprecated binary sensor battery charging from technove ([@gjohansson-ST] - [#134844])
+- Fix spelling of "set up", change "id" to uppercase ([@NoRi2909] - [#134888])
+- Use correct uppercase for "ID" and sentence-case otherwise ([@NoRi2909] - [#134815])
+- Add heat meter to Powerfox integration ([@klaasnicolaas] - [#134799])
+- Add Decorquip virtual motion blinds integration ([@starkillerOG] - [#134402])
+- Bump pymodbus version to 3.8.3 ([@wlcrs] - [#134809])
+- fix typo "looses" to "loses" in MQTT configuration message ([@GlennReilly] - [#134894])
+- Add extra prompt to assist pipeline and conversation ([@balloob] - [#124743])
+- Bump py-synologydsm-api to 2.6.0 ([@mib1185] - [#134914])
+- Handle discovering user configured Wyoming flow ([@balloob] - [#134916])
+- Bump pylutron-caseta to 0.23.0 ([@eclair4151] - [#134906])
+- Remove excessive newline code, fix "ID", enhance descriptions ([@NoRi2909] - [#134920])
+- Add device trackers to enabled_by_default fixture ([@zweckj] - [#134446])
+- Remove deprecated hdr switch from reolink ([@gjohansson-ST] - [#134924])
+- Remove deprecated config entry import from bluesound ([@gjohansson-ST] - [#134926])
+- Add support for extra_system_prompt to OpenAI ([@balloob] - [#134931])
+- Migrate to using aiohttp-asyncmdnsresolver for aiohttp resolver ([@bdraco] - [#134830])
+- Add device tracker test for Vodafone Station ([@chemelli74] - [#134334])
+- Fix spelling of "ID", slightly reword action descriptions ([@NoRi2909] - [#134778])
+- UnifiProtect Refactor light control methods to use new API ([@RaHehl] - [#134625])
+- add proxy view for unifiprotect to grab snapshot at specific time ([@EliSchleifer] - [#133546])
+- Update Shelly integration: Remove double "Error fetching ..." from error messages ([@davidrapan] - [#134950])
+- Bump renault-api to 0.2.9 ([@kelyaenn] - [#134858])
+- Bump zeroconf to 0.137.2 ([@bdraco] - [#134942])
+- Change "id" to uppercase for consistency ([@NoRi2909] - [#134971])
+- Use sentence case, capitalize "IP Secure" and "ID" ([@NoRi2909] - [#134966])
+- Simplify onewire config-flow ([@epenet] - [#134952])
+- Set parallel-updates and scan-interval explicitly in onewire ([@epenet] - [#134953])
+- Update roborock tests to only load the platform under test ([@allenporter] - [#134694])
+- Update HEOS Quality Scale docs-related items ([@andrewsayre] - [#134466])
+- Fix DSMR migration ([@emontnemery] - [#134990])
+- Simplify roborock coordinator ([@allenporter] - [#134700])
+- Add reconfigure to onewire ([@epenet] - [#134996])
+- Validate device id when adding or updating entity registry entry ([@emontnemery] - [#134982])
+- Set PARALLEL_UPDATES to 1 in onewire ([@epenet] - [#135006])
+- Use standard "entity_registry_enabled_by_default" fixture ([@chemelli74] - [#134962])
+- Add total cleaning count sensor to Roborock ([@Lash-L] - [#135015])
+- Add Controller state sensor to screenlogic ([@dieselrabbit] - [#133827])
+- Move OneWireConfigEntry type definition ([@epenet] - [#135004])
+- Improve logic for event polling duration in Overkiz ([@iMicknl] - [#133617])
+- Bump voluptuous openapi to 0.0.6 ([@allenporter] - [#134998])
+- Add data description translations to all tplink config flow steps ([@sdb9696] - [#135022])
+- Improve Huawei LTE suspend integration service description ([@NoRi2909] - [#135021])
+- Add new sensors to fyta ([@dontinelli] - [#135032])
+- Add weather warning sensor to IPMA ([@dgomes] - [#134054])
+- Bump dbus-fast to 2.28.0 ([@bdraco] - [#135049])
+- Fix climate react type ([@gjohansson-ST] - [#135030])
+- Improve type hints in onewire tests ([@epenet] - [#134993])
+- Delete KNX config storage when removing the integration ([@farmio] - [#135071])
+- Update pyheos to 0.9.0 ([@andrewsayre] - [#134947])
+- Add Reolink unexpected error translation ([@starkillerOG] - [#134807])
+- Cleanup LG webOS TV name ([@thecode] - [#135028])
+- Fix DSMR migration ([@emontnemery] - [#135068])
+- TotalConnect improved config flow and test before setup ([@austinmroczek] - [#133852])
+- Remove rounding from onewire sensors ([@epenet] - [#135095])
+- Add quality_scale file to onewire ([@epenet] - [#134951])
+- Add binary sensors to fyta ([@dontinelli] - [#134900])
+- Add satel integra switches and alarm control panels unique_id ([@david1024pl] - [#129636])
+- Update addition logger string in fan.py ([@farkasdi] - [#135098])
+- Add quality_scale.yaml to Minecraft Server ([@elmurato] - [#132551])
+- Add PARALLEL_UPDATES constant to tplink integration platforms ([@sdb9696] - [#135083])
+- Raise HomeAssistantError from tplink light effect service ([@sdb9696] - [#135081])
+- Refactor patching in onewire tests ([@epenet] - [#135070])
+- Split simple and recovery in onewire config-flow user tests ([@epenet] - [#135102])
+- Fix hvac_modes never empty in Sensibo ([@gjohansson-ST] - [#135029])
+- Improve onewire options flow tests ([@epenet] - [#135109])
+- Improve holidays config form and naming ([@bors-ltd] - [#133663])
+- Update enphase_envoy test_init to use str for unique_id and test for loaded config entry ([@catsmanac] - [#133810])
+- Add quality scale file to tplink integration ([@sdb9696] - [#135017])
+- Remove enphase_envoy config flow tests that make no sense ([@catsmanac] - [#133833])
+- Add suggested precision for Airthings BLE integration ([@LaStrada] - [#134985])
+- Add LetPot integration ([@jpelgrom] - [#134925])
+- Set PARALLEL_UPDATES in LG webOS TV ([@thecode] - [#135135])
+- Add DataUpdateCoordinator to bluesound integration ([@LouisChrist] - [#135125])
+- Use is in FlowResultType enum comparison in integration scaffold tests ([@jpelgrom] - [#135133])
+- Impove LG webOS TV tests quality ([@thecode] - [#135130])
+- Add support for Lutron Wood Tilt Blinds ([@eclair4151] - [#135057])
+- Render select entity unavailable when active feature is missing in Sensibo ([@gjohansson-ST] - [#135031])
+- Change minimum SQLite version to 3.40.1 ([@gjohansson-ST] - [#135042])
+- Make devices dynamic in Sensibo ([@gjohansson-ST] - [#134935])
+- Deprecate StarLine engine switch attributes ([@Anonym-tsk] - [#133958])
+- Bump zeroconf to 0.138.1 ([@bdraco] - [#135148])
+- Deprecate raw_value attribute in onewire entity ([@epenet] - [#135171])
+- Mark docs-installation-parameters and docs-removal-instructions for inexogy as done ([@jpbede] - [#135126])
+- Add outside temperature sensor to fujitsu_fglair ([@crevetor] - [#130717])
+- Move OneWire PLATFORM constant back to init ([@epenet] - [#135172])
+- Add and cleanup tplink translations ([@sdb9696] - [#135120])
+- Add uuid as unique_id to config entries for Cookidoo ([@miaucl] - [#134831])
+- Use snapshot_platform helper in onewire tests ([@epenet] - [#135176])
+- Set PARALLEL_UPDATES to 0 in onewire ([@epenet] - [#135178])
+- Add yue language support to Google Translate TTS ([@beginner2047] - [#134480])
+- Fix stale docstrings in tplink integration ([@sdb9696] - [#135183])
+- Update scaffold to use internal _PLATFORM constant ([@epenet] - [#135177])
+- Add select platform to onewire ([@epenet] - [#135181])
+- Add event entities to Overseerr ([@joostlek] - [#134975])
+- Update title and description for setup dialog of thethingsnetwork ([@NoRi2909] - [#134954])
+- add support for dimming/brightening X10 lamps ([@kereyroper] - [#130196])
+- No need to set unique_id in enphase_envoy reauth step ([@catsmanac] - [#133615])
+- Update module properties on module scan for LCN ([@alengwenus] - [#135018])
+- Use friendly names in add_to_playlist action, fix "ID" ([@NoRi2909] - [#134978])
+- Avoid unnecessary executor calls in onewire ([@epenet] - [#135187])
+- Allow to process kelvin as color_temp for mqtt basic light ([@jbouwh] - [#133953])
+- Allow unregistering LLM APIs ([@allenporter] - [#135162])
+- Make generated files appear as generated ([@KapJI] - [#134991])
+- Use typed config entry in tplink coordinator ([@sdb9696] - [#135182])
+- Refactor onewire hub ([@epenet] - [#135186])
+- Fix LG webOS TV init test coverage ([@thecode] - [#135194])
+- Allow to process kelvin as color_temp for mqtt json light ([@jbouwh] - [#133955])
+- Add streaming sensors to Teslemetry ([@Bre77] - [#132783])
+- Bump zeroconf to 0.139.0 ([@bdraco] - [#135213])
+- Use remove-prefix/suffix introduced in Python 3.9 ([@epenet] - [#135206])
+- Add exception-translations rule to quality_scale pytest validation ([@epenet] - [#131914])
+- Add support for Shelly BLU TRV ([@chemelli74] - [#128439])
+- Bump anyio to 4.8.0 ([@bdraco] - [#135224])
+- Refactor Vodafone Station tests ([@chemelli74] - [#134956])
+- Bump fnv-hash-fast to 1.1.0 ([@bdraco] - [#135237])
+- Expand Squeezebox auth test for config_flow to finish on create_entry ([@peteS-UK] - [#133612])
+- Remove per engine max bind vars ([@bdraco] - [#135153])
+- Make description of alarm_arm_vacation consistent ([@NoRi2909] - [#135257])
+- Improve formatting in core files ([@epenet] - [#135256])
+- Split long strings in components ([@epenet] - [#135263])
+- Combine short byte strings in xiaomi_ble tests ([@epenet] - [#135268])
+- Fix LG webOS TV media player test coverage ([@thecode] - [#135225])
+- Improve formatting in component test files ([@epenet] - [#135267])
+- Change 'entity_id' to UI-friendly 'Entity ID', fix spelling of "setpoint" ([@NoRi2909] - [#135234])
+- Combine short strings in components ([@epenet] - [#135265])
+- Split long strings in stream hls tests ([@epenet] - [#135271])
+- Velbus light platform code cleanup ([@cereal2nd] - [#134482])
+- Fix incorrect test in test_core_config ([@epenet] - [#135260])
+- Add model_id and serial_number to onewire device info ([@epenet] - [#135279])
+- Allow to process kelvin as color_temp for mqtt template light ([@jbouwh] - [#133957])
+- Improve formatting in component files ([@epenet] - [#135261])
+- Discover new devices at runtime in onewire ([@epenet] - [#135199])
+- Simplify vesync init loading ([@cdnninja] - [#135052])
+- Move LG webOS TV actions to entitiy services ([@thecode] - [#135285])
+- Adjust HomeWizard to use updated python-homewizard-energy library ([@DCSBL] - [#135046])
+- Smaller grammar fixes, replace 'entity_id' with UI-friendly 'ID' ([@NoRi2909] - [#135236])
+- Mark FGLAir entities unavailable if they are reporting to be offline ([@crevetor] - [#135202])
+- Bump pypalazzetti to 0.1.16 ([@dotvav] - [#135269])
+- Replace 'entity_id' with UI-friendly, localizable 'entity ID' ([@NoRi2909] - [#135232])
+- Add USB-PD Mode select entity to IronOS integration ([@tr4nt0r] - [#134901])
+- Grammar and consistency fixes in hdmi_cec strings ([@NoRi2909] - [#135292])
+- Bump aioshelly to version 12.3.1 ([@bieniu] - [#135299])
+- Use runtime_data in LG webOS TV ([@thecode] - [#135301])
+- Fix typos and inconsistent spelling of "tedee" brand name ([@NoRi2909] - [#135305])
+- Fix typos, replace duplicated strings with references ([@NoRi2909] - [#135303])
+- Don't store uv's lockfile in hassfest image ([@edenhaus] - [#135214])
+- Fix Habitica gems/hourglass sensors ([@tr4nt0r] - [#135323])
+- Use LOGGER from homewizard.const instead per-file loggers ([@DCSBL] - [#135320])
+- Bump habluetooth to 3.8.0 ([@bdraco] - [#135322])
+- Extract resolve announcement media ID for AssistSatelliteEntity ([@balloob] - [#134917])
+- Add bluetooth subscribe_advertisements WebSocket API ([@bdraco] - [#134291])
+- Fix spelling of "Log in", fix "outdated student" ([@NoRi2909] - [#135348])
+- Small fixes in setup flow strings, correct sentence-case ([@NoRi2909] - [#135349])
+- Add config flow to NMBS ([@silamon] - [#121548])
+- Fix backup formatting ([@joostlek] - [#135350])
+- Bump actions/upload-artifact from 4.5.0 to 4.6.0 (@dependabot - [#135255])
+- Bump docker/build-push-action from 6.10.0 to 6.11.0 (@dependabot - [#135254])
+- Remove code owner for nmbs ([@silamon] - [#135357])
+- Fix spelling of "Log in …" and "API key" in LOQED integration ([@NoRi2909] - [#135347])
+- Fix Tado config flow ([@erwindouna] - [#135353])
+- Add more typings to nmbs sensor ([@silamon] - [#135359])
+- Palazzetti Quality Scale update after doc improvement ([@dotvav] - [#135277])
+- Bump Teslemetry Stream ([@Bre77] - [#135344])
+- Enable slowly-changing, important diagnostics for connected devices by default ([@lanthaler] - [#134776])
+- Add reconfigure to LG webOS TV ([@thecode] - [#135360])
+- Add @jterrace to onvif integration owners ([@jterrace] - [#135398])
+- Switcher runner child lock support ([@YogevBokobza] - [#133270])
+- Make all three numbered lists consistent, using 1. 1. 1. for the syntax ([@NoRi2909] - [#135400])
+- Add additional Tapo ONVIF Person/Vehicle/Line/Tamper/Intrusion events ([@jterrace] - [#135399])
+- Reword action descriptions for better translations in Teslemetry ([@NoRi2909] - [#135370])
+- Add sensors for inventory items to Habitica ([@tr4nt0r] - [#135331])
+- Bump pyheos to 1.0.0 ([@andrewsayre] - [#135415])
+- Fix config entries typo s/entruis/entries/ ([@tronikos] - [#135431])
+- Fix translation string: numbering in list ([@WaterInTheLake] - [#135441])
+- Update translations and error messages in Bring! integration ([@tr4nt0r] - [#135455])
+- Fix strings for the Google integrations ([@tronikos] - [#135445])
+- Add current and voltage for plugs to switchbot_cloud ([@SeraphicRav] - [#135458])
+- Refactor upcloud to use config entry runtime data ([@scop] - [#135449])
+- Add bluetooth API to remove scanners that are no longer used ([@bdraco] - [#135408])
+- Ensure Shelly cleanups Bluetooth scanner data upon removal ([@bdraco] - [#135472])
+- Ensure ESPHome cleanups Bluetooth scanner data upon removal ([@bdraco] - [#135470])
+- Bump github/codeql-action from 3.28.0 to 3.28.1 (@dependabot - [#135492])
+- Bump uv to 0.5.18 ([@mib1185] - [#135454])
+- Add missing `total active returned energy` sensor for Shelly Mini PM Gen3 ([@bieniu] - [#135433])
+- Fix typing in zha update entity ([@emontnemery] - [#135500])
+- Add remain, running, schedule time sensors to LG ThinQ ([@LG-ThinQ-Integration] - [#131133])
+- Rework velbus services to deprecated the interface parameter ([@cereal2nd] - [#134816])
+- Change icon ID name in Lametric ([@joostlek] - [#135368])
+- Add hassio discovery to onewire ([@epenet] - [#135294])
+- Replace "Login …" with "Log in …" in two strings of Habitica integration ([@NoRi2909] - [#135383])
+- Add dhcp discovery to velux ([@pawlizio] - [#135138])
+- Replace "click" with "select" to fit for mobile app ([@NoRi2909] - [#135382])
+- Fix when live status is blank in Telsemetry ([@Bre77] - [#130408])
+- Add kV and MV unit conversion for voltages ([@lschloetterer] - [#135396])
+- TotalConnect update quality_scale with documentation updates ([@austinmroczek] - [#134049])
+- Fix grey dailies with weekly frequency and no weekdays selected in Habitica ([@tr4nt0r] - [#135419])
+- Move HomeWizard API initialisation to async_setup_entry ([@DCSBL] - [#135315])
+- Use proper sentence-case for all strings in azure_event_hub ([@NoRi2909] - [#135328])
+- Replace climate fan speed 'silent' with a button ([@dotvav] - [#135075])
+- Bump pypalazzetti to 0.1.19 ([@dotvav] - [#135465])
+- Refresh token before setting up weheat ([@jesperraemaekers] - [#135264])
+- Refactor config flow tests in generic camera ([@davet2001] - [#134385])
+- Small fixes in the strings file of the azure_data_explorer integration ([@NoRi2909] - [#135309])
+- Fix typos "Login" > "Log in" and "Setup" > "Set up" ([@NoRi2909] - [#135306])
+- Fix LG webOS TV trigger validation ([@thecode] - [#135312])
+- Update getmac to 0.9.5 ([@cdce8p] - [#135506])
+- Improve tests of energyzero integration ([@klaasnicolaas] - [#133452])
+- Refactor number/select to use common method in IronOS ([@tr4nt0r] - [#134173])
+- Revert "Make all three numbered lists consistent, using 1. 1. 1. for the syntax" ([@frenck] - [#135510])
+- Change Trafikverket Train to use station signatures ([@gjohansson-ST] - [#131416])
+- Expose raw PM2.5 in Airgradient ([@gentoo-root] - [#135457])
+- Bump go2rtc recommended version to 1.9.8 ([@edenhaus] - [#135523])
+- Removing unused API file form weheat ([@jesperraemaekers] - [#135518])
+- Palazzetti integration: Add support for additional fans ([@dotvav] - [#135377])
+- Bump velbusaio to 2025.1.0 ([@cereal2nd] - [#135525])
+- Deprecate sensors in Habitica integration ([@tr4nt0r] - [#134036])
+- Add zeroconf discovery to onewire ([@epenet] - [#135295])
+- Refactor the MQTT option and reconfigure flow ([@jbouwh] - [#133342])
+- Bump aioimaplib to 2.0.0 ([@jbouwh] - [#135448])
+- Add humidifier entity for Vesync devices ([@iprak] - [#134333])
+- Cleanup tplink test framework ([@sdb9696] - [#135205])
+- Bump smhi-pkg to 1.0.19 ([@gjohansson-ST] - [#135537])
+- Add option to allow to use setpoint instead of override for legacy incomfort RF gateway ([@jbouwh] - [#135143])
+- Register Airzone WebServer device ([@Noltari] - [#135538])
+- Add new integration Qbus ([@Qbus-iot] - [#127280])
+- Velbus update unique-config-entry quality score ([@cereal2nd] - [#135524])
+- Velbus unsubscribe to the status updates on removal ([@cereal2nd] - [#135530])
+- Add quality scale for weheat ([@jesperraemaekers] - [#135384])
+- Velbus add subdevices for din-rail modules ([@cereal2nd] - [#131371])
+- Add person component to strict type checking ([@IgnusG] - [#132754])
+- Add data_descriptions to inexogy config flow ([@jpbede] - [#135536])
+- Set PARALLEL_UPDATES for inexogy ([@jpbede] - [#135545])
+- Fix grammar issue in 'invalid_auth' string ([@NoRi2909] - [#135546])
+- Changed json.schemas.url for devcontainers ([@Master-Guy] - [#135281])
+- Improve improv via BLE log messages ([@emontnemery] - [#135575])
+- Fix deprecated enums ([@arturpragacz] - [#134824])
+- Bump habiticalib to v.0.3.3 ([@tr4nt0r] - [#135551])
+- Set PARALLEL_UPDATES for Weheat ([@jesperraemaekers] - [#135574])
+- Fix nmbs sensor unique_id ([@emontnemery] - [#135576])
+- Add iprak to to vesync code owners ([@iprak] - [#135562])
+- Use percent formatting in logging per guidelines ([@scop] - [#135550])
+- Set inexogy quality scale to silver ([@jpbede] - [#135547])
+- Migrate Velbus to have Entity name ([@cereal2nd] - [#135520])
+- Mark Velbus test coverage as done ([@cereal2nd] - [#135571])
+- Cleanup tedee callbacks ([@zweckj] - [#135577])
+- Bump Weheat to 2025.1.14 ([@jesperraemaekers] - [#135578])
+- Set MQTT quality scale to gold ([@jbouwh] - [#135579])
+- Bump ruff to 0.9.1 ([@joostlek] - [#135197])
+- Bump hass-nabucasa from 0.87.0 to 0.88.1 ([@klejejs] - [#135521])
+- Remove incorrect logging about Unknown device ([@iprak] - [#135585])
+- Unignore ruff rule ISC001 ([@joostlek] - [#135581])
+- Update tplink quality_scale.yaml ([@sdb9696] - [#135209])
+- Match the upstream alt id of the new Levoit air purifier ([@jiriappl] - [#135426])
+- Avoid core documentation url hosted elsewhere ([@joostlek] - [#130513])
+- Reverted async-dependency to todo for Weheat ([@jesperraemaekers] - [#135588])
+- Bump securetar to 2025.1.1 ([@emontnemery] - [#135582])
+- Add streaming binary sensors to Teslemetry ([@Bre77] - [#135248])
+- Add serial number to LaMetric ([@joostlek] - [#135591])
+- Skip fetching deactivated shopping lists in Bring integration ([@tr4nt0r] - [#135336])
+- Adding support for new Lutron RGB tape light ([@RBaragona] - [#130731])
+- Add vesync number platform ([@iprak] - [#135564])
+- Make mqtt integration exports explicit ([@jbouwh] - [#135595])
+- Add entity pictures to Habitica integration ([@tr4nt0r] - [#134179])
+- Rename onewire entity classes ([@epenet] - [#135601])
+- Drop Python 3.12 support ([@frenck] - [#135589])
+- Bump securetar to 2025.1.2 ([@emontnemery] - [#135614])
+- Add `PaddleSwitchPico` (Pico Paddle Remote) device trigger to Lutron Caseta ([@dustMason] - [#135615])
+- More UpCloud config entry refactors ([@scop] - [#135548])
+- Fix spotify typing for Python 3.13 ([@cdce8p] - [#135628])
+- Return OFF in hvac_action for Honeywell climate ([@mkmer] - [#135620])
+- Update mypy-dev to 1.15.0a2 ([@cdce8p] - [#135633])
+- Update Python version for mypy to 3.13 ([@cdce8p] - [#135636])
+- Fix spelling of EnOcean in strings file of the integration ([@NoRi2909] - [#135622])
+- Dynamic devices for Husqvarna Automower ([@Thomas55555] - [#133227])
+- Update buttons in Teslemetry ([@Bre77] - [#135631])
+- Reduce scan interval on SMLIGHT firmware updates ([@tl-sl] - [#135650])
+- Bump pysmlight v0.1.5 ([@tl-sl] - [#135647])
+- Bump homematicip to 1.1.6 ([@hahn-th] - [#135649])
+- Remove unused noqas ([@joostlek] - [#135583])
+- Set MQTT quality scale to platinum ([@jbouwh] - [#135612])
+- Bump aiolifx-themes to v0.6.2 ([@Djelibeybi] - [#135645])
+- Move ZeroconfServiceInfo to service_info helpers ([@epenet] - [#135653])
+- Fix descriptions of send_command action for consistency ([@NoRi2909] - [#135670])
+- Move DhcpServiceInfo to service_info helpers ([@epenet] - [#135658])
+- Improve logging of backup upload errors ([@MartinHjelmare] - [#135672])
+- Move SsdpServiceInfo to service_info helpers ([@epenet] - [#135661])
+- Bump python-otbr-api to 2.7.0 ([@puddly] - [#135638])
+- Add missing camera functions to pylint type hints plugin ([@edenhaus] - [#135676])
+- Move UsbServiceInfo to service_info helpers ([@epenet] - [#135663])
+- Call async_forward_setup_entry after the first refresh in SwitchBot Cloud ([@mckbrmn] - [#135625])
+- Use new ServiceInfo location in components (part 1) ([@epenet] - [#135682])
+- Use new ServiceInfo location in components (part 2) ([@epenet] - [#135685])
+- Use new ServiceInfo location in components (part 3) ([@epenet] - [#135687])
+- Use new ServiceInfo location in sonos ([@epenet] - [#135699])
+- Use new ServiceInfo location in tplink ([@epenet] - [#135700])
+- Use new ServiceInfo location in rainforest_raven ([@epenet] - [#135697])
+- Use new ServiceInfo location in rabbitair ([@epenet] - [#135696])
+- Use new ServiceInfo location in modem_callerid ([@epenet] - [#135695])
+- Use new ServiceInfo location in insteon ([@epenet] - [#135694])
+- Update tplink quality_scale.yaml ([@sdb9696] - [#135705])
+- Add WS command backup/can_decrypt_on_download ([@emontnemery] - [#135662])
+- Bump eheimdigital to 1.0.4 ([@autinerd] - [#135722])
+- Create switches for controlling policy-based routes ([@Ik-12] - [#134473])
+- Add dynamic child device handling to tplink integration ([@sdb9696] - [#135229])
+- Use new ServiceInfo location in wmspro ([@epenet] - [#135702])
+- Use SIP URI for VoIP device identifier ([@jaminh] - [#135603])
+- Slow down polling for Tesla Fleet ([@Bre77] - [#135747])
+- Ensure entity platform in bluetooth tests ([@gjohansson-ST] - [#135716])
+- Add receive backup tests ([@MartinHjelmare] - [#135680])
+- Reword action descriptions to match Home Assistant style ([@NoRi2909] - [#135733])
+- Palazzetti integration: Update integration quality scale ([@dotvav] - [#135752])
+- Ensure entity platform in light tests ([@gjohansson-ST] - [#135724])
+- Bump govee-ble to 0.41.0 ([@bdraco] - [#135750])
+- Reduce USB rescan cooldown from 1 minute to 10 seconds ([@puddly] - [#135712])
+- Use new ServiceInfo location in homeassistant_sky_connect ([@epenet] - [#135693])
+- Use new ServiceInfo location in zwave_js ([@epenet] - [#135704])
+- Return Chat IDs on Telegram Bot ([@tyron] - [#131274])
+- Support decrypting backups when downloading ([@emontnemery] - [#135728])
+- Fix rmtree in translation script on MacOS ([@srescio] - [#129352])
+- Avoid using the backup manager in restore tests ([@MartinHjelmare] - [#135757])
+- Add message_thread_id to telegram_text and telegram_command events ([@DrDonoso] - [#130738])
+- Enable RUF100 ([@joostlek] - [#135760])
+- Use new ServiceInfo location in apple_tv ([@epenet] - [#135688])
+- Bump securetar to 2025.1.3 ([@emontnemery] - [#135762])
+- Change AdGuard Home URL field validator to accept paths ([@maxcabrajac] - [#127957])
+- Add further ventilation-related sensors to ViCare ([@CFenner] - [#131496])
+- Use new ServiceInfo location in esphome ([@epenet] - [#135692])
+- Use new ServiceInfo location in dlna_dmr ([@epenet] - [#135691])
+- Enable RUF022 ([@joostlek] - [#135767])
+- Add temperature and humidity entities to area registry ([@balloob] - [#135423])
+- Fix Vicare patch ([@joostlek] - [#135773])
+- Improve backup decrypt exceptions ([@emontnemery] - [#135765])
+- Improve incomfort coordinator logging ([@jbouwh] - [#135777])
+- Move HomeWizard config options to class ([@DCSBL] - [#135778])
+- Bump youless-api to 2.2.0 ([@gjong] - [#135781])
+- Fix Bang & Olufsen event testing ([@mj23000] - [#135707])
+- Add button to move netatmo cover to preferred position ([@PoppyPop] - [#134722])
+- Add Bluetooth config entries for remote scanners ([@bdraco] - [#135543])
+- Add broadcast intent ([@balloob] - [#135337])
+- Implement a polling fallback for USB monitor ([@puddly] - [#130918])
+- Update aiolifx-themes to 0.6.4 ([@Djelibeybi] - [#135805])
+- Bump govee-ble to 0.42.0 ([@bdraco] - [#135801])
+- USB device add/remove callbacks ([@puddly] - [#131224])
+- Assign entity_category for incomfort entities ([@jbouwh] - [#135807])
+- Improve incomfort test coverage ([@jbouwh] - [#135806])
+- Ensure entity platform in core config tests ([@gjohansson-ST] - [#135729])
+- Remove misleading "Current" in NUT power sensor names ([@thecode] - [#135800])
+- Improve backup store in tests ([@emontnemery] - [#135798])
+- Fix service description to match HA style, fix casing ([@NoRi2909] - [#135797])
+- SMA add serial number in DeviceInfo ([@erwindouna] - [#135809])
+- Fix spelling of "API" and use consistent term "API token" ([@NoRi2909] - [#135795])
+- Bump eheimdigital to 1.0.5 ([@autinerd] - [#135802])
+- Bump SMA to 0.7.5 ([@erwindouna] - [#135799])
+- Several strings fixes in the emoncms integration ([@NoRi2909] - [#135792])
+- Ensure entity platform in media_player tests ([@gjohansson-ST] - [#135788])
+- Ensure entity platform in light tests ([@gjohansson-ST] - [#135787])
+- Ensure entity platform in vacuum tests ([@gjohansson-ST] - [#135786])
+- Bump `imgw_pib` to version 1.0.9 and remove hydrological detail entities ([@bieniu] - [#134668])
+- Enable more RUF rules ([@joostlek] - [#135770])
+- SMA update code owners ([@erwindouna] - [#135812])
+- New paint_theme service added to the LIFX integration ([@Djelibeybi] - [#135667])
+- Bump dbus-fast to 2.29.0 ([@bdraco] - [#135804])
+- Small cleanups to lifx services to reduce code ([@bdraco] - [#135817])
+- Bump zeroconf to 0.140.1 ([@bdraco] - [#135815])
+- Ensure entity platform in blackbird tests ([@gjohansson-ST] - [#135715])
+- Allow is_state_attr to check attributes for None ([@Petro31] - [#132879])
+- Ensure entity platform in alert tests ([@gjohansson-ST] - [#135714])
+- Ensure entity platform in universal tests ([@gjohansson-ST] - [#135727])
+- Ensure entity platform in mochad tests ([@gjohansson-ST] - [#135725])
+- Ensure entity platform in kira tests ([@gjohansson-ST] - [#135723])
+- Ensure entity platform in homeassistant tests ([@gjohansson-ST] - [#135721])
+- Use new syntax for TypeVar defaults ([@cdce8p] - [#135780])
+- Ensure entity platform in google_wifi tests ([@gjohansson-ST] - [#135720])
+- Ensure entity platform in google_assistant tests ([@gjohansson-ST] - [#135719])
+- Ensure entity platform in dsmr_reader tests ([@gjohansson-ST] - [#135718])
+- Use new ServiceInfo location in bosch_shc ([@epenet] - [#135689])
+- Add 'silent' to HTML5_SHOWNOTIFICATION_PARAMETERS ([@redge76] - [#135709])
+- Update quality scale docs-installation-parameters rule for IronOS integration ([@tr4nt0r] - [#133318])
+- Reduce duplicate code in the Bluetooth WebSocket API ([@bdraco] - [#135808])
+- Add BMW quality scale details ([@rikroe] - [#132017])
+- Improve BMW test quality ([@rikroe] - [#133704])
+- Add model option to speak action for ElevenLabs ([@sorgfresser] - [#133902])
+- Enable RUF021 ([@joostlek] - [#135832])
+- Add Energy History to Tesla Fleet ([@Bre77] - [#126878])
+- Set target value on LCN regulator lock ([@alengwenus] - [#133870])
+- Add media position & seek to Russound RIO ([@noahhusby] - [#134372])
+- Enable RUF023 ([@joostlek] - [#135830])
+- Enable RUF101 ([@joostlek] - [#135835])
+- Homee: fix cover if it has no up/down attribute ([@Taraman17] - [#135563])
+- Clarify action descriptions regarding Lost device sound and state ([@NoRi2909] - [#134277])
+- Plugwise test-code improvements ([@bouwew] - [#134193])
+- Add support for EvoHomeController in Overkiz ([@iMicknl] - [#133777])
+- Fix description of "x10_all_units_off" action ([@NoRi2909] - [#135000])
+- Log errors in opower ([@tronikos] - [#135497])
+- Add streaming to Teslemetry cover platform ([@Bre77] - [#135660])
+- Bump Weheat to 2025.1.15 ([@jesperraemaekers] - [#135626])
+- Update yolink "play on speaker hub" action to allow optional values (to match YoLink API) ([@mxr] - [#133099])
+- Add doorbell event to homematicip_cloud ([@hahn-th] - [#133269])
+- Fix several issues in a string of IHC integration ([@NoRi2909] - [#135618])
+- Add zeroconf dependency to devolo Home Network manifest ([@Shutgun] - [#135708])
+- Fix "set" / "sets" in action names and descriptions, spelling of "dB" ([@NoRi2909] - [#135659])
+- Add missing data_descriptions to strings.json for LCN ([@alengwenus] - [#135674])
+- Fix humidifier on off status update ([@iprak] - [#135743])
+- Fix flaky test in acmeda ([@epenet] - [#135846])
+- Remove call to get_serial_by_id in homeassistant_sky_connect ([@epenet] - [#135751])
+- Validate config entry when adding or updating entity registry entry ([@emontnemery] - [#135067])
+- Remove not needed name from config flow in SMHI ([@gjohansson-ST] - [#134841])
+- Add overload for async singleton call with HassKey ([@cdce8p] - [#134059])
+- Use new ServiceInfo location in devolo_home_network ([@epenet] - [#135690])
+- Bump aioesphomeapi to 28.0.1 ([@bdraco] - [#135869])
+- Use new ServiceInfo location in zha ([@epenet] - [#135703])
+- Bump fnv-hash-fast to 1.2.2 ([@bdraco] - [#135872])
+- Bump habluetooth to 3.9.0 ([@bdraco] - [#135877])
+- Bump bluetooth-data-tools to 1.22.0 ([@bdraco] - [#135879])
+- Bump ulid-transform to 1.2.0 ([@bdraco] - [#135882])
+- Bump dbus-fast to 2.30.2 ([@bdraco] - [#135874])
+- Add BThome hold press event ([@Ernst79] - [#135871])
+- Record IQS for Russound RNET ([@noahhusby] - [#134692])
+- Fix typo in Opower log message ([@tronikos] - [#135909])
+- Fix bmw_connected_drive tests ([@zweckj] - [#135911])
+- Use runtime_data in Opower ([@tronikos] - [#135910])
+- Set parallel-updates in Habitica quality scale record ([@tr4nt0r] - [#135901])
+- Bump Teslemetry Stream to 0.6.6 ([@Bre77] - [#135905])
+- Increase test coverage in Habitica integration ([@tr4nt0r] - [#135896])
+- Bump pylitterbot to 2024.0.0 ([@natekspencer] - [#135891])
+- Fix imgw_pib tests ([@zweckj] - [#135913])
+- Add reauth flow to LetPot integration ([@jpelgrom] - [#135734])
+- Increase test coverage for IMGW-PIB ([@bieniu] - [#135915])
+- Remove asserting name in tts test (no entity platform) ([@gjohansson-ST] - [#135726])
+- Set strict-typing in Habitica quality scale record ([@tr4nt0r] - [#135899])
+- Fix acmeda pytest usefixtures spelling ([@cdce8p] - [#135919])
+- Fix DeprecationWarnings in mcp_server ([@cdce8p] - [#135927])
+- Fix aiodns DeprecationWarning in tests ([@cdce8p] - [#135921])
+- Use HassKey for assist_pipeline singleton ([@cdce8p] - [#135875])
+- Fix inconsistently spelled occurrences of "ID" in telegram_bot integration ([@NoRi2909] - [#135928])
+- Bump bleak-retry-connector to 3.7.0 ([@bdraco] - [#135939])
+- Replace additional deprecated USBServiceInfo imports ([@cdce8p] - [#135953])
+- Fix unicode chars in zha tests ([@cdce8p] - [#135954])
+- Bump bluetooth-adapters to 0.21.0 ([@bdraco] - [#135957])
+- Fix duplicated "effect" in Speed field descriptions of flux_led ([@NoRi2909] - [#135948])
+- Add shared history for conversation agents ([@balloob] - [#135903])
+- Improve backup store in tests ([@emontnemery] - [#135974])
+- Vesync switch humidifier to property ([@cdnninja] - [#135949])
+- Improve remote Bluetooth scanner manufacturer data ([@bdraco] - [#135961])
+- Change 'device_id' to translatable 'device ID', fix typos in LCN ([@NoRi2909] - [#135978])
+- Add power switch only if it is available at Home Connect ([@Diegorro98] - [#135930])
+- Improve program related sensors at Home Connect ([@Diegorro98] - [#135929])
+- Fix grammar and plural handling in action descriptions ([@NoRi2909] - [#135654])
+- Set dependency-transparency and async-dependency in Habitica IQS ([@tr4nt0r] - [#135902])
+- Fix KNX default state updater option ([@farmio] - [#135611])
+- Add streaming to device tracker platform in Teslemetry ([@Bre77] - [#135962])
+- Further clarify the meaning of Sensibo's Climate React mode ([@NoRi2909] - [#135833])
+- Add type annotations to stiebel eltron component ([@ThyMYthOS] - [#135228])
+- Rework enigma2 tests ([@autinerd] - [#135475])
+- SMA add diagnostics ([@erwindouna] - [#135852])
+- Fix name and descriptions of actions in EZVIZ integration etc. ([@NoRi2909] - [#135858])
+- Move integration setup to coordinator `_async_setup` in Bring ([@tr4nt0r] - [#135711])
+- Remove unnecessary "title" keys to use default setup flow instead ([@NoRi2909] - [#135512])
+- Fix fan speed in auto mode in ViCare integration ([@CFenner] - [#134256])
+- Improve descriptions in list_notifications action, fix casing ([@NoRi2909] - [#135838])
+- Refactor SwitchBot Cloud make_device_data ([@mckbrmn] - [#135698])
+- Add re-authentication flow to incomfort integration ([@jbouwh] - [#135861])
+- Fix HEOS device information ([@andrewsayre] - [#135940])
+- Fix unset coordinator in Switchbot cloud ([@joostlek] - [#135985])
+- Add re-configure flow incomfort integration ([@jbouwh] - [#135887])
+- Cleanup incomfort translation strings ([@jbouwh] - [#135991])
+- Add diagnostics feature to incomfort integration ([@jbouwh] - [#136009])
+- Disable noisy diagnostic incomfort sensors by default ([@jbouwh] - [#135992])
+- Make strings of create_scene action UI- and translation-friendly ([@NoRi2909] - [#136004])
+- Add incomfort heater serialnr to device info ([@jbouwh] - [#136012])
+- Improve exception handling in Habitica integration ([@tr4nt0r] - [#135950])
+- Fix velbus via devices ([@cereal2nd] - [#135986])
+- Do not base power switch state on appliance's operation state at Home Connect ([@Diegorro98] - [#135932])
+- Bump pydrawise to 2025.1.0 ([@dknowles2] - [#135998])
+- Migrate tests from OpenAI to conversation integration ([@balloob] - [#135963])
+- Update numpy to 2.2.2 ([@cdce8p] - [#135982])
+- Correct translation key for data bits in rfxtrx ([@elupus] - [#135990])
+- Bumb python-homewizard-energy to 8.1.0 ([@DCSBL] - [#136016])
+- Set friendly name for PT2262 sensors to masked name ([@elupus] - [#135988])
+- Fix Slack file upload ([@jsuar] - [#135818])
+- Fix sentence-casing in PurpleAir integration strings ([@NoRi2909] - [#135981])
+- Implement cloudhooks for Overseerr ([@joostlek] - [#134680])
+- Ensure entity platform in camera tests ([@gjohansson-ST] - [#135918])
+- Ensure entity platform in cover tests ([@gjohansson-ST] - [#135917])
+- Add reconfigure flow to Trafikverket Train ([@gjohansson-ST] - [#136000])
+- Bump docker/build-push-action from 6.11.0 to 6.12.0 (@dependabot - [#135749])
+- Bump thermopro-ble to 0.10.1 ([@bdraco] - [#136041])
+- Bump habluetooth to 3.9.2 ([@bdraco] - [#136042])
+- Enable RUF032 ([@joostlek] - [#135836])
+- Use LLM fallback when local matching matches intent but not targets ([@balloob] - [#136045])
+- Add diagnostics platform to IronOS integration ([@tr4nt0r] - [#136040])
+- Add reconfiguration flow to Habitica ([@tr4nt0r] - [#136038])
+- Remove redundant device update code ([@arturpragacz] - [#134100])
+- Use new SsdpServiceInfo location in remaining components ([@epenet] - [#136053])
+- Fix casing of "client" and "ID" in transmission integration ([@NoRi2909] - [#136071])
+- Make the time for automated backups configurable ([@emontnemery] - [#135825])
+- Allow backup writer to update progress during restore ([@emontnemery] - [#135975])
+- Use new ServiceInfo location in component tests (part 1) ([@epenet] - [#136057])
+- Use new ServiceInfo location in component tests (part 2) ([@epenet] - [#136062])
+- Use new ServiceInfo location in component tests (part 3) ([@epenet] - [#136064])
+- Use new ServiceInfo location in component tests (part 4) ([@epenet] - [#136065])
+- Improve user interface strings in opentherm_gw ([@NoRi2909] - [#136078])
+- Use new ServiceInfo location in core tests ([@epenet] - [#136067])
+- Fix spelling of "ID" in hyperion user strings ([@NoRi2909] - [#136082])
+- Replace `targets` key with UI name 'Targets' in media_player.join action ([@NoRi2909] - [#136063])
+- Prevent pylint out-of-memory failures ([@PaulSD] - [#136020])
+- Use fixtures for Network component tests ([@abmantis] - [#135220])
+- Improve conversation typing ([@cdce8p] - [#136084])
+- Set configuration url to overseerr instance ([@joostlek] - [#136085])
+- Bump uv to 0.5.21 ([@edenhaus] - [#136086])
+- Update pylint to 3.3.3 and astroid to 3.3.8 ([@cdce8p] - [#136090])
+- Fix Overseerr event types translations ([@joostlek] - [#136096])
+- Add diagnostics to Overseerr ([@joostlek] - [#136094])
+- Enable Ruff B024 ([@autinerd] - [#136088])
+- Bump velbusaio to 2025.1.1 ([@cereal2nd] - [#136089])
+- Enable dynamic child devices for tplink module entities ([@sdb9696] - [#135822])
+- Bump aiowebostv to 0.5.0 ([@thecode] - [#136097])
+- Add integration_type to HEOS ([@andrewsayre] - [#136105])
+- Fix index in incomfort diagnostics generator ([@jbouwh] - [#136108])
+- Fix upload service response for google_photos ([@autinerd] - [#136106])
+- Add icon to overseerr ([@joostlek] - [#136110])
+- Bump ayla-iot-unofficial to 1.4.5 ([@thecode] - [#136099])
+- Bump python-overseerr to 0.6.0 ([@joostlek] - [#136104])
+- Raise exceptions in HEOS service actions ([@andrewsayre] - [#136049])
+- Enable Ruff B035 ([@autinerd] - [#135883])
+- Remove yaml config fixture from HEOS tests ([@andrewsayre] - [#136123])
+- Add additional entities for Shelly BLU TRV ([@bieniu] - [#135244])
+- Add scheduled envoy firmware checks to enphase_envoy coordinator ([@catsmanac] - [#136102])
+- Bump letpot to 0.3.0 ([@jpelgrom] - [#136133])
+- Add myself to Roborock codeowners ([@allenporter] - [#136134])
+- Add data descriptions for enphase_envoy config flows. ([@catsmanac] - [#136120])
+- Remove not needed warning in Z-Wave ([@cdnninja] - [#136006])
+- Bump actions/stale from 9.0.0 to 9.1.0 (@dependabot - [#136145])
+- Fix buttons in Teslemetry ([@Bre77] - [#136142])
+- Update HEOS tests to not patch internals ([@andrewsayre] - [#136136])
+- Add support for custom weekly backup schedule ([@emontnemery] - [#136079])
+- Bump Devialet to 1.5.7 ([@fwestenberg] - [#136114])
+- Prefer from...import...as over import...as in core tests ([@epenet] - [#136146])
+- Add value is not to Matter discovery schema logic ([@marcelveldt] - [#136157])
+- Clean up entity registry imports in Shelly tests ([@bieniu] - [#136159])
+- Adjust to recommended propcache.api import paths ([@scop] - [#136150])
+- Capitalize "Homematic" brand name and 2 more user string fixes ([@NoRi2909] - [#136113])
+- Fix typo in enphase_envoy data description ([@catsmanac] - [#136164])
+- Add support for Bot in SwitchBot Cloud ([@mckbrmn] - [#135606])
+- Add service backup.create_automatic ([@emontnemery] - [#136152])
+- Satellite announcement to track original media id ([@balloob] - [#136141])
+- Prepare backup store to read version 2 ([@emontnemery] - [#136149])
+- Gate update.install backup parameter by supported feature ([@emontnemery] - [#136169])
+- Homee sensor ([@Taraman17] - [#135447])
+- Add data_description to switchbot translations ([@huyuwei1996] - [#136148])
+- Bumb python-homewizard-energy to 8.1.1 ([@DCSBL] - [#136170])
+- Use HassKey for hassio component data ([@emontnemery] - [#136172])
+- Add more util aliases to import conventions ([@epenet] - [#136153])
+- Update HEOS tests to not interact directly with integration internals ([@andrewsayre] - [#136177])
+- Set PARALLEL_UPDATES for HEOS media_player ([@andrewsayre] - [#136178])
+- Voip migrate entities ([@balloob] - [#136140])
+- Fix casing and spelling in user-facing strings of homematicip_cloud ([@NoRi2909] - [#136188])
+- Add strings and state attrs for ZHA 3 Phase current ([@abmantis] - [#132871])
+- Fix sentence-casing in user-facing strings of nmap_tracker ([@NoRi2909] - [#136195])
+- Cleanup litterrobot switch entity ([@natekspencer] - [#136199])
+- Bump bleak-retry-connector to 3.8.0 ([@bdraco] - [#136203])
+- Add button to reset Litter-Robot 4 ([@natekspencer] - [#136191])
+- Remove excessive newlines from envisalink strings ([@NoRi2909] - [#136194])
+- Remove excessive newline codes from strings of nissan_leaf ([@NoRi2909] - [#136197])
+- Remove extra_state_attributes from Litter-Robot vacuum entities ([@natekspencer] - [#136196])
+- Bump habluetooth to 3.10.0 ([@bdraco] - [#136210])
+- Bump ollama to 0.4.7 ([@Diegorro98] - [#136212])
+- Bump bleak-esphome to 2.1.0 ([@bdraco] - [#136214])
+- Add Eve Thermo TRV Matter features ([@krakonos1602] - [#135635])
+- Fix recorder fixture typing ([@cdce8p] - [#136174])
+- Bump github/codeql-action from 3.28.1 to 3.28.2 (@dependabot - [#136225])
+- Add dhcp discovery to incomfort integration ([@jbouwh] - [#136027])
+- Use icon translations for enphase_envoy. ([@catsmanac] - [#136190])
+- Bump bluetooth-adapters to 0.21.1 ([@bdraco] - [#136220])
+- Bump habluetooth to 3.11.2 ([@bdraco] - [#136221])
+- Use kw_only attribute for remaining entity descriptions in litterrobot ([@natekspencer] - [#136202])
+- Make description of hdmi_cec.select_device action consistent ([@NoRi2909] - [#136228])
+- Add repeat feature to HEOS media player ([@andrewsayre] - [#136180])
+- Handle empty string `BatReplacementDescription` from Matter attribute value ([@lboue] - [#134457])
+- Fix passing value to pymodbus low level function ([@wlcrs] - [#135108])
+- Update LG webOS TV IQS ([@thecode] - [#135509])
+- Bump httpx to 0.28.1, httpcore to 1.0.7 along with required deps ([@bdraco] - [#133840])
+- Add quality_scale file to litterrobot ([@natekspencer] - [#135904])
+- Handle invalid auth in Overseerr ([@joostlek] - [#136243])
+- Replace field keys in descriptions with translatable friendly names ([@NoRi2909] - [#136230])
+- Bump PyViCare to 2.41.0 ([@CFenner] - [#136231])
+- Add reauth flow to Overseerr ([@joostlek] - [#136247])
+- Record IQS for Switchbot ([@huyuwei1996] - [#136058])
+- Add reconfigure flow to Overseerr ([@joostlek] - [#136248])
+- Clean up attributes of Overseerr event entity ([@joostlek] - [#136251])
+- Improve type hints in template helper ([@epenet] - [#136253])
+- Allow multiple Airzone entries with different System IDs ([@Noltari] - [#135397])
+- Indicate in WS API when scheduling additional automatic backup ([@emontnemery] - [#136155])
+- Bump ohmepy to 1.2.4 ([@dan-r] - [#136270])
+- Only add Overseerr event if we are push based ([@joostlek] - [#136258])
+- Set enphase_envoy CT Status flags entity_category to diagnostics. ([@catsmanac] - [#136241])
+- Provide beta release note for Shelly RPC devices ([@bieniu] - [#136154])
+- Bump python-linkplay to v0.1.3 ([@silamon] - [#136267])
+- Bump bleak-esphome to 2.1.1 ([@bdraco] - [#136277])
+- Remove myself from ibeacon codeowners ([@bdraco] - [#136280])
+- Move brightness icon map to icons.json ([@natekspencer] - [#136201])
+- Bump pyHomee to 1.2.3 ([@Taraman17] - [#136213])
+- Bump habluetooth to 3.12.0 ([@bdraco] - [#136281])
+- Cleanup litterrobot select entity ([@natekspencer] - [#136282])
+- Implement Coordinator for HEOS (initial plumbing) ([@andrewsayre] - [#136205])
+- Add number platform to ohme ([@dan-r] - [#136271])
+- Convert LitterRobotHub to a DataUpdateCoordinator ([@natekspencer] - [#136283])
+- Improve type hints in benchmark script ([@epenet] - [#136259])
+- ping: Suppress ProcessLookupError on timeout ([@tswsl1989] - [#134281])
+- Allow time triggers with offsets to use input_datetimes ([@Petro31] - [#131550])
+- Cleanup litterrobot sensor entity ([@natekspencer] - [#136287])
+- Bump incomfort-client to v0.6.7 ([@jbouwh] - [#136285])
+- Revert "Add Tuya based bluetooth lights" ([@rwalker777] - [#133386])
+- Add TP-Link Tapo pet detection to onvif parsers ([@jterrace] - [#136303])
+- Bump onvif-zeep-async to 3.2.5 ([@bdraco] - [#136299])
+- Avoid useless data conversion in sonos config flow ([@bdraco] - [#136294])
+- Bump zeroconf to 0.141.0 ([@bdraco] - [#136292])
+- Bump led-ble to 1.1.4 ([@bdraco] - [#136301])
+- Standardize DOMAIN usage in litterrobot tests ([@natekspencer] - [#136290])
+- Add time platform to ohme ([@dan-r] - [#136289])
+- Fix grammar of OSO auth and action descriptions ([@NoRi2909] - [#136312])
+- Bump github/codeql-action from 3.28.2 to 3.28.3 (@dependabot - [#136308])
+- Bump dawidd6/action-download-artifact from 7 to 8 (@dependabot - [#136309])
+- Bump actions/attest-build-provenance from 2.1.0 to 2.2.0 (@dependabot - [#136307])
+- Bump codecov/codecov-action from 5.1.2 to 5.2.0 (@dependabot - [#136306])
+- Fix handling of non-supported devices in led-ble ([@bdraco] - [#136300])
+- Add heat pump supply pressure sensor in ViCare integration ([@CFenner] - [#136265])
+- Auto select thermostat preset when selecting temperature ([@domingues] - [#134146])
+- Cleanup map references in lovelace ([@epenet] - [#136314])
+- Update Overseerr quality scale ([@joostlek] - [#136260])
+- Use HassKey in lovelace ([@epenet] - [#136313])
+- Add system_health the to Network component ([@abmantis] - [#135514])
+- Add parallel updates to Airgradient ([@joostlek] - [#136323])
+- Restructure the youless integration internals ([@gjong] - [#135842])
+- Add translated action exceptions to Airgradient ([@joostlek] - [#136322])
+- Bump aiowebostv to 0.6.0 ([@thecode] - [#136206])
+- Replace key names with translatable friendly names in zwave_js ([@NoRi2909] - [#136318])
+- Clean up remaining backup manager tests ([@MartinHjelmare] - [#136335])
+- Add reconfigure flow to Airgradient ([@joostlek] - [#136324])
+- Bump myuplink lib to 0.7.0 ([@astrandb] - [#136343])
+- Improve error handling for incomfort gateway ([@jbouwh] - [#136317])
+- Enable strict-typing in lovelace ([@epenet] - [#136327])
+- Fix sentence-casing in isy994 integration strings, reword "lock user code" ([@NoRi2909] - [#136316])
+- Move single-use lovelace function ([@epenet] - [#136336])
+- Use runtime_data in bosch_shc ([@epenet] - [#136356])
+- Use runtime_data in canary ([@epenet] - [#136357])
+- Several fixes in user-facing strings of Renson integration actions ([@NoRi2909] - [#136279])
+- Cleanup hass.data in cloudflare ([@epenet] - [#136358])
+- Bump pyenphase to 1.23.1 ([@catsmanac] - [#136200])
+- Properly parse AirNow API data in coordinator ([@firstof9] - [#136198])
+- Enable strict typing for incomfort integration ([@jbouwh] - [#136291])
+- Fix tplink deprecated entity cleanup ([@sdb9696] - [#136160])
+- Refactor modbus polling to prevent dupe updates and memory leak ([@bdraco] - [#136211])
+- Incorporate ControllerManager into HEOS Coordinator ([@andrewsayre] - [#136302])
+- Set Netgear device entities to unavailable when the device is not connected ([@lanthaler] - [#135362])
+- holiday: asynchronously generate the entity name ([@bors-ltd] - [#136354])
+- Migrate modbus to use HassKey ([@bdraco] - [#136379])
+- Don't translate state names in default agent responses ([@synesthesiam] - [#136382])
+- Allow LLMs to get calendar events from exposed calendars ([@balloob] - [#136304])
+- Use runtime_data in coinbase ([@epenet] - [#136381])
+- Use runtime_data in daikin ([@epenet] - [#136376])
+- Use runtime_data in comelit ([@epenet] - [#136384])
+- Use runtime_data in ccm15 ([@epenet] - [#136378])
+- Add translated action exceptions to LG webOS TV ([@thecode] - [#136397])
+- Bump github/codeql-action from 3.28.3 to 3.28.4 (@dependabot - [#136401])
+- Bump codecov/codecov-action from 5.2.0 to 5.3.0 (@dependabot - [#136402])
+- Remove deprecated 17track package sensor ([@gjohansson-ST] - [#136389])
+- Use runtime_data in coolmaster ([@epenet] - [#136405])
+- Bump aioharmony to 0.4.0 ([@bdraco] - [#136398])
+- Bump aioautomower to 2025.1.1 ([@Thomas55555] - [#136365])
+- Bump WSDiscovery to 2.1.2 ([@bdraco] - [#136363])
+- Move denonavr shared constants to central location ([@epenet] - [#136421])
+- Simplify update listener in denonavr ([@epenet] - [#136422])
+- Omit Peblar update entities for most white label devices ([@frenck] - [#136374])
+- Use runtime_data in denonavr ([@epenet] - [#136424])
+- Bump nhc to 0.3.9 ([@VandeurenGlenn] - [#136418])
+- Fix humidifier mode for Vesync ([@iprak] - [#135746])
+- Incorporate SourceManager into HEOS Coordinator ([@andrewsayre] - [#136377])
+- Rename incomfort exceptions classes to fix typo and assign correct translation domain ([@jbouwh] - [#136426])
+- Tado change to async and add Data Update Coordinator ([@erwindouna] - [#134175])
+- Add missing translations for LG webOS TV and fix names ([@thecode] - [#136438])
+- Refactor the Hydrawise config flow ([@dknowles2] - [#135886])
+- Move dormakaba_dkey coordinator to separate module ([@epenet] - [#136437])
+- Use runtime_data in directv ([@epenet] - [#136435])
+- Move dexcom coordinator to separate module ([@epenet] - [#136433])
+- Use runtime_data in dormakaba_dkey ([@epenet] - [#136440])
+- Use runtime_data in duotecno ([@epenet] - [#136444])
+- Use runtime_data in dexcom ([@epenet] - [#136441])
+- Bump aioharmony to 0.4.1 ([@bdraco] - [#136413])
+- Use runtime_data in dunehd ([@epenet] - [#136443])
+- Reorganize input sources in Onkyo options ([@arturpragacz] - [#133511])
+- Move dynalite service definitions to separate module ([@epenet] - [#136446])
+- Add more sensors to homee ([@Taraman17] - [#136445])
+- Bump aioacaia to 0.1.14 ([@zweckj] - [#136453])
+- Add PARALLEL_UPDATES constant to ring integration platforms ([@sdb9696] - [#136470])
+- Bump uiprotect to version 7.5.0 ([@RaHehl] - [#136475])
+- Fix sentence-casing in strings of Vizio integration ([@NoRi2909] - [#136465])
+- Make Spotify polling interval dynamic ([@joostlek] - [#136461])
+- Powerwall: Reuse authentication cookie ([@choumarin] - [#136147])
+- Bump async-upnp-client to 0.43.0 ([@StevenLooman] - [#136481])
+- Bump pydantic to 2.10.6 ([@bdraco] - [#136483])
+- Cleanup update_listener in deconz ([@epenet] - [#136416])
+- Move deconz function to util.py ([@epenet] - [#136414])
+- Fix httpx late import of trio doing blocking I/O in the event loop ([@bdraco] - [#136409])
+- Bump pysmlight to v0.1.6 ([@tl-sl] - [#136496])
+- Update tplink climate platform to use thermostat module ([@sdb9696] - [#136166])
+- Refactor EZVIZ config flow tests ([@joostlek] - [#136434])
+- Bump reolink_aio to 0.11.8 ([@starkillerOG] - [#136504])
+- Add TemperatureLevel feature from Matter TemperatureControl cluster ([@lboue] - [#134532])
+- Abort config flow is device is unsupported ([@tl-sl] - [#136505])
+- Fix Spotify flaky test ([@joostlek] - [#136529])
+- Incorporate GroupManager into HEOS Coordinator ([@andrewsayre] - [#136462])
+- Reduce boilerplate code to setup modbus platform entities ([@bdraco] - [#136491])
+- Bump AIOSomeComfort to 0.0.30 in Honeywell ([@mkmer] - [#136523])
+- Reuse fixtures in config flow tests for Whirlpool ([@abmantis] - [#136489])
+- Bump pyvesync to 2.1.16 ([@iprak] - [#136493])
+- Remove unneeded call active check in modbus ([@bdraco] - [#136487])
+- Updated igloohome-api dependency to 0.1.0 ([@keithle888] - [#136516])
+- Add heat pump heating rod sensors in ViCare integration ([@CFenner] - [#136467])
+- Add backup agent to Synology DSM ([@mib1185] - [#135227])
+- Add Darsstar as codeowner for solax integration ([@squishykid] - [#136528])
+- Fix wrong plural on tado.add_meter_reading action ([@NoRi2909] - [#136524])
+- Add restore backup tests ([@MartinHjelmare] - [#136538])
+- Bump ohmepy version to 1.2.6 ([@dan-r] - [#136547])
+- Move action implementation out of HEOS Coordinator ([@andrewsayre] - [#136539])
+- Bump opower to 0.8.8 ([@tronikos] - [#136555])
+- Homee cover-test ([@Taraman17] - [#136563])
+- Add select platform to Ohme ([@dan-r] - [#136536])
+- Bump pyHomee to 1.2.5 ([@Taraman17] - [#136567])
+- Make casing of "server" and action descriptions consistent ([@NoRi2909] - [#136561])
+- Use typed ConfigEntry throughout HEOS ([@andrewsayre] - [#136569])
+- Bump HEOS quality scale to silver ([@andrewsayre] - [#136533])
+- Don't cast type in HEOS services ([@andrewsayre] - [#136583])
+- Fix HEOS play media type playlist ([@andrewsayre] - [#136585])
+- Fix spelling of "Home Assistant" and "IDs" in xiaomi_aqara ([@NoRi2909] - [#136578])
+- Fix sentence-casing in action names, spelling of "IDs" ([@NoRi2909] - [#136576])
+- Fix optional argument in deconz test type definition ([@epenet] - [#136411])
+- Bump yt-dlp to 2025.01.26 ([@joostlek] - [#136581])
+- Fix LetPot reauthentication flow tests setting up config entry ([@jpelgrom] - [#136589])
+- Add Reolink privacy switch entity ([@starkillerOG] - [#136521])
+- Bump python-kasa to 0.10.0 ([@sdb9696] - [#136586])
+- Cleanup stale devices on incomfort integration startup ([@jbouwh] - [#136566])
+- Prevent errors when Reolink privacy mode is turned on ([@starkillerOG] - [#136506])
+- Bump SoCo to 0.30.8 - Sonos ([@PeteRager] - [#136601])
+- Optimize enphase_envoy test integration setup. ([@catsmanac] - [#136572])
+- Update mypy-dev to 1.16.0a1 ([@cdce8p] - [#136544])
+- Bump pyheos to v1.0.1 ([@andrewsayre] - [#136604])
+- Push more of the LLM conversation agent loop into ChatSession ([@allenporter] - [#136602])
+- Update hassio to use the backup integration to make backups before update ([@emontnemery] - [#136235])
+- Add diagnostic sensors for the active subscription of Cookidoo ([@miaucl] - [#136485])
+- Bump nest to python-nest-sdm to 7.1.0 ([@allenporter] - [#136611])
+- Use runtime_data in crownstone ([@epenet] - [#136406])
+- Add lovelace compatiblity code ([@epenet] - [#136617])
+- Use runtime_data in dynalite ([@epenet] - [#136448])
+- Use runtime_data in deconz ([@epenet] - [#136412])
+- Ask for permission to disable Reolink privacy mode during config flow ([@starkillerOG] - [#136511])
+- Add a Matter temperature sensor based on `Thermostat` device `LocalTemperature` attribute ([@lboue] - [#133888])
+- Add missing exclude_integrations in lovelace compatibility code ([@epenet] - [#136618])
+- Starlink's energy consumption & usage cumulation fix ([@davidrapan] - [#135889])
+- Add product IDs for new LIFX Ceiling lights ([@Djelibeybi] - [#136619])
+- Use runtime_data in ecobee ([@epenet] - [#136632])
+- Bump codecov/codecov-action from 5.3.0 to 5.3.1 (@dependabot - [#136614])
+- Bump docker/build-push-action from 6.12.0 to 6.13.0 (@dependabot - [#136612])
+- Bump github/codeql-action from 3.28.4 to 3.28.5 (@dependabot - [#136613])
+- Use typed coordinator and runtime_data in eafm ([@epenet] - [#136629])
+- Cleanup unnecessary type hint in assist_satellite ([@epenet] - [#136626])
+- Cleanup hass.data[DOMAIN] in application_credentials ([@epenet] - [#136625])
+- Use typed ConfigEntry in ring coordinator ([@sdb9696] - [#136457])
+- Fix test logic flaw in enphase_envoy test_select ([@catsmanac] - [#136570])
+- Change discovery schema for Matter Identify button to ignore type of None ([@marcelveldt] - [#136621])
+- Fix spelling of "Hub" and sentence-casing of "options" ([@NoRi2909] - [#136573])
+- Add config flow data descriptions to ring integration ([@sdb9696] - [#136464])
+- Twinkly RGBW color fixed ([@Splint77] - [#136593])
+- Replace "bosch_shc" with friendly name of integration ([@NoRi2909] - [#136410])
+- Bump securetar to 2025.1.4 ([@emontnemery] - [#136639])
+- Fix spelling of "Pi-hole" and "API" in user-facing strings ([@NoRi2909] - [#136645])
+- Bump aioshelly to 12.3.2 ([@bieniu] - [#136486])
+- Bump voip-utils to 0.3.0 ([@synesthesiam] - [#136648])
+- Catch and convert MatterError when sending device commands ([@marcelveldt] - [#136635])
+- Add single target constraint to async_match_targets ([@synesthesiam] - [#136643])
+- Add LLM ActionTool ([@Shulyaka] - [#136591])
+- Add the Model Context Protocol integration ([@allenporter] - [#135058])
+- Add HassClimateSetTemperature ([@synesthesiam] - [#136484])
+- Make static modbus entity values classvar defaults ([@bdraco] - [#136488])
+- Add support for tplink siren turn on parameters ([@sdb9696] - [#136642])
+- Log the error when the WebSocket receives a error message ([@bdraco] - [#136492])
+- Bump pyfritzhome to 0.6.14 ([@mib1185] - [#136661])
+- Update flux-led to 1.1.3 ([@cdce8p] - [#136666])
+- Add Bluetooth WebSocket API to subscribe to connection allocations ([@bdraco] - [#136215])
+- Merge Whirlpool tests into a parameterized test ([@abmantis] - [#136490])
+- Increase LaCrosse View polling interval to 60 seconds ([@IceBotYT] - [#136680])
+- Bump aioesphomeapi to 29.0.0 and bleak-esphome to 2.2.0 ([@bdraco] - [#136684])
+- ChatSession: Split native content out of message class ([@balloob] - [#136668])
+- Add power/energy sensor for Matter draft electrical measurement cluster ([@dext0r] - [#132920])
+- Standardize `helpers.xxx_registry` imports ([@epenet] - [#136688])
+- Use runtime_data in ecoforest ([@epenet] - [#136689])
+- Update roborock tests to patch client before test setup ([@allenporter] - [#136587])
+- Use runtime_data in electrasmart ([@epenet] - [#136696])
+- Update config flow tests for litterrobot ([@natekspencer] - [#136658])
+- Use runtime_data in econet ([@epenet] - [#136691])
+- Bump actions/setup-python from 5.3.0 to 5.4.0 (@dependabot - [#136685])
+- Use runtime_data in ezviz ([@epenet] - [#136702])
+- Add translations for youless sensors ([@gjong] - [#136349])
+- Use runtime_data in electric_kiwi ([@epenet] - [#136699])
+- Cleanup use of hass.data in edl21 ([@epenet] - [#136694])
+- Improve type hints in econet ([@epenet] - [#136693])
+- Use runtime_data in evil_genius_labs ([@epenet] - [#136704])
+- Correct labels in EnOcean config flow ([@CFenner] - [#136338])
+- Use runtime_data in eufylife_ble ([@epenet] - [#136705])
+- Update nest config flow to create pub/sub topics ([@allenporter] - [#136609])
+- Support integrated ventilation on heating devices in ViCare integration ([@CFenner] - [#130356])
+- Use runtime_data in epson ([@epenet] - [#136706])
+- Use runtime_data in epion ([@epenet] - [#136708])
+- Introduce `unique_id` to BackupAgent ([@mib1185] - [#136651])
+- Use runtime_data in epic_games_store ([@epenet] - [#136709])
+- Initial implementation for tplink tapo vacuums ([@rytilahti] - [#131965])
+- Bump github/codeql-action from 3.28.5 to 3.28.6 (@dependabot - [#136686])
+- Update tplink coordinators to update hub-attached children ([@sdb9696] - [#135586])
+- Bump bring-api to 1.0.0 ([@tr4nt0r] - [#136657])
+- Bump nice-go to 1.0.1 ([@IceBotYT] - [#136649])
+- Remove unused function in hassio/update ([@arturpragacz] - [#136701])
+- Tag backups created when updating addon with supervisor.addon_update ([@emontnemery] - [#136690])
+- Fix deadlock in WS command backup/can_decrypt_on_download ([@emontnemery] - [#136707])
+- Add test for myuplink DeviceInfo ([@astrandb] - [#136360])
+- Use HassKey in diagnostics ([@epenet] - [#136627])
+- Add HEOS diagnostics ([@andrewsayre] - [#136663])
+- Cleanup ecobee YAML configuration import ([@epenet] - [#136633])
+- Fix spelling of "Ring" and sentence-casing of "integration" ([@NoRi2909] - [#136652])
+- Fix spelling errors in user-facing strings of OctoPrint integration ([@NoRi2909] - [#136644])
+- Raise exceptions in HEOS custom actions ([@andrewsayre] - [#136546])
+- Fix total coffees sensor for lamarzocco ([@zweckj] - [#135283])
+- Use runtime_data in drop_connect ([@epenet] - [#136442])
+- Include error reason in backup events ([@emontnemery] - [#136697])
+- Bump ohmepy to 1.2.8 ([@dan-r] - [#136719])
+- Add support for KNX UI to create BinarySensor entities ([@farmio] - [#136703])
+- Fix LG webOS TV external arc volume set action ([@thecode] - [#136717])
+- Use runtime_data in devialet ([@epenet] - [#136432])
+- Adjust Matter discovery logic to disallow the primary value(s) to be None ([@marcelveldt] - [#136712])
+- Standardize util imports ([@epenet] - [#136723])
+- Migrate usb to use aiousbwatcher ([@bdraco] - [#136676])
+- Add OneDrive as backup provider ([@zweckj] - [#135121])
+- Add SPF sensor for heat pumps in ViCare integration ([@CFenner] - [#136233])
+- Add sensor for Matter OperationalState cluster / CurrentPhase attribute ([@lboue] - [#129757])
+- Add authentication support to MotionMount integration ([@RJPoelstra] - [#126487])
+- Fix Telegram webhook registration if deregistration previously failed ([@rsiv] - [#133398])
+- Parameterize enphase_envoy number tests. ([@catsmanac] - [#136631])
+- Fix all occurrences of "PIN" in MotionMount user strings ([@NoRi2909] - [#136734])
+- Bump python-roborock to 2.9.7 ([@allenporter] - [#136727])
+- Add SmartTowerFan to VeSync Integration ([@cdnninja] - [#136596])
+- Add climate platform to eheimdigital ([@autinerd] - [#135878])
+- Add more tests to vesync ([@iprak] - [#135681])
+- Add config entry load/unload tests for LetPot ([@jpelgrom] - [#136736])
+- Add streaming to Teslemetry number platform ([@Bre77] - [#136048])
+- Add streaming to Teslemetry lock platform ([@Bre77] - [#136037])
+- Mark tplink quality_scale platinum ([@sdb9696] - [#136456])
+- Register service actions in async_setup of AVM Fritz!Box tools ([@mib1185] - [#136380])
+- Add support for HomeWizard Plug-In Battery and v2 API ([@joostlek] - [#136733])
+- Standardize homeassistant imports in full-CI tests ([@epenet] - [#136735])
+- Standardize homeassistant imports in full-CI components ([@epenet] - [#136731])
+- Standardize homeassistant imports in core and base platforms ([@epenet] - [#136730])
+- Add pair/unpair buttons for tplink ([@rytilahti] - [#135847])
+- Let platforms decide entity creation in litterrobot ([@natekspencer] - [#136738])
+- Bump yeelight to 0.7.16 ([@bdraco] - [#136679])
+- Fix LG webOS TV actions not returning responses ([@thecode] - [#136743])
+- Capitalize "Velbus", replace "service calls" with "actions" ([@NoRi2909] - [#136744])
+- Bump habluetooth to 3.13.0 ([@bdraco] - [#136749])
+- Update xknx to 3.5.0 ([@richardpolzer] - [#136759])
+- Add volt/power/power_factor strings and state attrs for ZHA 3 phase meters ([@abmantis] - [#133969])
+- Bump AIOSomecomfort to 0.0.32 ([@mkmer] - [#136751])
+- Add swing support for KNX climate entities ([@richardpolzer] - [#136752])
+- Add translations for ZHA pilot wire mode and device mode ([@piitaya] - [#136753])
+- Abort Bluetooth options flow if local adapters do not support passive scans ([@bdraco] - [#136748])
+- Bump homematicip to 1.1.7 ([@hahn-th] - [#136767])
+- Add Bluetooth WebSocket API to subscribe to scanner details ([@bdraco] - [#136750])
+- Bump hassil to 2.2.0 ([@synesthesiam] - [#136787])
+- Bumb python-homewizard-energy to 8.3.0 ([@DCSBL] - [#136765])
+- Bump aiowebostv to 0.6.1 ([@thecode] - [#136784])
+- Bump ZHA to 0.0.46 ([@TheJulianJES] - [#136785])
+- Explicitly pass in the config_entry in Feedreader coordinator init ([@mib1185] - [#136777])
+- Explicitly pass in the config_entry in PEGELONLINE coordinator init ([@mib1185] - [#136773])
+- Explicitly pass in the config_entry in AVM Fritz!SmartHome coordinator init ([@mib1185] - [#136769])
+- Bump peco to 0.1.2 ([@IceBotYT] - [#136732])
+- Explicitly pass in the config_entry in Tankerkoenig coordinator init ([@mib1185] - [#136780])
+- Explicitly pass in the config_entry in Proximity coordinator init ([@mib1185] - [#136775])
+- Add more vacuum features for tplink ([@rytilahti] - [#136580])
+- Explicitly pass in the config_entry in Synology DSM coordinator init ([@mib1185] - [#136772])
+- Explicitly pass in the config_entry in Nextcloud coordinator init ([@mib1185] - [#136774])
+- Add VoIP announce ([@synesthesiam] - [#136781])
+- Bump habluetooth to 3.14.0 ([@bdraco] - [#136791])
+- Fix typing errors in HEOS tests ([@andrewsayre] - [#136795])
+- Add UI to create KNX BinarySensor entities ([@farmio] - [#136786])
+- Redact stored authentication token in HomeWizard diagnostics ([@DCSBL] - [#136766])
+- Reload template blueprints when reloading templates ([@Petro31] - [#136794])
+- Bump intents to 2025.1.28 ([@synesthesiam] - [#136782])
+- Add power protection entities for tplink ([@rytilahti] - [#132267])
+- Add Google Drive integration for backup ([@tronikos] - [#134576])
+- Enable strict typing for HEOS ([@andrewsayre] - [#136797])
+- Standardize homeassistant imports in component tests (m-z) ([@epenet] - [#136807])
+- Use runtime_data in environment_canada ([@epenet] - [#136805])
+- Use runtime_data in elmax ([@epenet] - [#136803])
+- Fix percentage_charged in Teslemetry ([@Bre77] - [#136798])
+- Add remaining Matter Operational State sensor discovery schemas ([@marcelveldt] - [#136741])
+- Use runtime_data in energenie_power_sockets ([@epenet] - [#136801])
+- Use ConfigEntry.runtime_data in AVM Fritz!Box tools ([@mib1185] - [#136386])
+- Standardize homeassistant imports in component tests (a-l) ([@epenet] - [#136806])
+- Rename environment_canada entities ([@epenet] - [#136817])
+- Add config flow to filter helper ([@gjohansson-ST] - [#121522])
+- Simplify device_info access in environment_canada ([@epenet] - [#136816])
+- Bump aiohasupervisor to version 0.2.2b6 ([@emontnemery] - [#136814])
+- Stop building wheels for 3.12 ([@edenhaus] - [#136811])
+- Add last restart sensor to HomeWizard ([@DCSBL] - [#136763])
+- Use translations for fan_speed in tplink vacuum entity ([@sdb9696] - [#136718])
+- Bump pyiskra to 0.1.15 ([@iskrakranj] - [#136810])
+- vesync: report current humidity ([@oandrew] - [#136799])
+- Add binary sensor platform to VeSync ([@cdnninja] - [#134221])
+- Add diagnostics for Cookidoo integration ([@miaucl] - [#136770])
+- Use the new hybrid Hydrawise client ([@dknowles2] - [#136522])
+- Bump deebot-client to 11.1.0b1 ([@edenhaus] - [#136818])
+- Improve type hints in environment_canada sensors ([@epenet] - [#136813])
+- Standardize homeassistant imports in component (e-f) ([@epenet] - [#136824])
+- Standardize homeassistant imports in component (c-d) ([@epenet] - [#136823])
+- Standardize homeassistant imports in component (a-b) ([@epenet] - [#136821])
+- Improve type hints in environment_canada camera and weather ([@epenet] - [#136819])
+- Correct the behavior of the Charge switch in Tessie/Teslemetry/Tesla Fleet ([@Bre77] - [#136562])
+- Standardize homeassistant imports in component (l-m) ([@epenet] - [#136827])
+- Standardize homeassistant imports in component (i-k) ([@epenet] - [#136826])
+- Standardize homeassistant imports in component (g-h) ([@epenet] - [#136825])
+- Update quality scale for litterrobot ([@natekspencer] - [#136764])
+- Standardize homeassistant imports in component (t-u) ([@epenet] - [#136833])
+- Add image entity for fyta ([@dontinelli] - [#135105])
+- Standardize homeassistant imports in component (n-p) ([@epenet] - [#136830])
+- Standardize homeassistant imports in component (q-r) ([@epenet] - [#136831])
+- Standardize homeassistant imports in component (s) ([@epenet] - [#136832])
+- Standardize homeassistant imports in component (v-z) ([@epenet] - [#136834])
+- Add backup endpoints to the onboarding integration ([@emontnemery] - [#136051])
+- Rename HomeWizard last restart sensor to Uptime ([@DCSBL] - [#136829])
+- Fix command latency in AVM Fritz!SmartHome ([@mib1185] - [#136739])
+- Bump qbusmqttapi to 1.2.4 ([@thomasddn] - [#136835])
+- Update photovoltaic related labels in ViCare ([@CFenner] - [#136430])
+- Standardize remaining homeassistant imports ([@epenet] - [#136836])
+- IQS completion of documentation for Plugwise ([@CoMPaTech] - [#134051])
+- Add support for per-backup agent encryption flag ([@emontnemery] - [#136622])
+- Add select platform discovery schemas for the Matter LaundryWasherControls cluster ([@lboue] - [#136261])
+- Take exclude vias in unique ids for nmbs ([@silamon] - [#136590])
+- Fix spelling of "API" for consistency in Home Assistant UI ([@NoRi2909] - [#136842])
+- Add consumables for tplink tapo vacuums ([@rytilahti] - [#136510])
+- Add cleaning statistics for tplink ([@rytilahti] - [#135784])
+- Adjust deprecation in water heater ([@epenet] - [#136577])
+- Migrate Google Gen AI to ChatSession ([@balloob] - [#136779])
+- Persist backup restore status after core restart ([@emontnemery] - [#136838])
+- Check for fullcolorsupport in fritzbox light ([@flabbamann] - [#136850])
+- Add DHCP discovery to balboa ([@natekspencer] - [#136762])
+- Fix spelling of "API" for consistency in Home Assistant UI ([@NoRi2909] - [#136843])
+- Update frontend to 20250129.0 ([@bramkragten] - [#136852])
+- Tweak Matter discovery to ignore empty lists ([@marcelveldt] - [#136854])
+- Ease understanding of integration failures ([@tomer-w] - [#134475])
+- Interrupt _CipherBackupStreamer workers ([@emontnemery] - [#136845])
+- Use runtime_data in control4 ([@epenet] - [#136403])
+- Simplify Whirlpool auth flows ([@abmantis] - [#136856])
+- Add ability to cache Roborock maps instead of always reloading ([@Lash-L] - [#112047])
+- Update whirlpool-sixth-sense to 0.18.12 ([@abmantis] - [#136851])
+- Add support for per-backup agent encryption flag to hassio ([@emontnemery] - [#136828])
+- Persist hassio backup restore status after core restart ([@emontnemery] - [#136857])
+- Cancel call if user does not pick up ([@synesthesiam] - [#136858])
+- Handle locked account error in Whirlpool ([@abmantis] - [#136861])
+- Fix incorrect Bluetooth source address when restoring data from D-Bus ([@bdraco] - [#136862])
+- Bump backup store to version 1.3 ([@emontnemery] - [#136870])
+- Add start_conversation service to Assist Satellite ([@balloob] - [#134921])
+- Fix loading of SMLIGHT integration when no internet is available ([@tl-sl] - [#136497])
+- Bump ZHA to 0.0.47 ([@TheJulianJES] - [#136883])
+- Bump nest to 7.1.1 ([@allenporter] - [#136888])
+- Poll supervisor job state when creating or restoring a backup ([@emontnemery] - [#136891])
+- Add missing discovery string from onewire ([@epenet] - [#136892])
+- Ignore dangling symlinks when restoring backup ([@emontnemery] - [#136893])
+- Fix handling of renamed backup files in the core writer ([@emontnemery] - [#136898])
+- Don't blow up when a backup doesn't exist on supervisor ([@emontnemery] - [#136907])
+- Fix onedrive does not fail on delete not found ([@zweckj] - [#136910])
+- Convert valve position to int for Shelly BLU TRV ([@bieniu] - [#136912])
+- Don't log errors when raising a backup exception in Google Drive ([@tronikos] - [#136916])
+- Show name of the backup agents in issue ([@joostlek] - [#136925])
+- Fix Sonos importing deprecating constant ([@joostlek] - [#136926])
+- Create Xbox signed session in executor ([@joostlek] - [#136927])
+- Pick onedrive owner from a more reliable source ([@zweckj] - [#136929])
+- Fix backup related translations in Synology DSM ([@mib1185] - [#136931])
+- Fix KeyError for Shelly virtual number component ([@bieniu] - [#136932])
+- Update frontend to 20250130.0 ([@bramkragten] - [#136937])
+- Ensure Reolink can start when privacy mode is enabled ([@starkillerOG] - [#136514])
+- Refactor eheimdigital platform async_setup_entry ([@autinerd] - [#136745])
+- Bump total-connect-client to 2025.1.4 ([@austinmroczek] - [#136793])
+- Fixes to the user-facing strings of energenie_power_sockets ([@NoRi2909] - [#136844])
+- Bump jellyfin-apiclient-python to 1.10.0 ([@RunC0deRun] - [#136872])
+- Suppress color_temp warning if color_temp_kelvin is provided ([@Djelibeybi] - [#136884])
+- Persist roborock maps to disk only on shutdown ([@allenporter] - [#136889])
+- Include the redirect URL in the Google Drive instructions ([@tronikos] - [#136906])
+- Bump opower to 0.8.9 ([@tronikos] - [#136911])
+- Make backup file names more user friendly ([@emontnemery] - [#136928])
+- Bump zeroconf to 0.142.0 ([@bdraco] - [#136940])
+- Bump aiohttp-asyncmdnsresolver to 0.0.2 ([@bdraco] - [#136942])
+- Update knx-frontend to 2025.1.30.194235 ([@farmio] - [#136954])
+- Consume extra system prompt in first pipeline ([@synesthesiam] - [#136958])
+- Bump habluetooth to 3.15.0 ([@bdraco] - [#136973])
+- Delete old addon update backups when updating addon ([@emontnemery] - [#136977])
+- Retry backup uploads in onedrive ([@zweckj] - [#136980])
+- Fix missing duration translation for Swiss public transport integration ([@miaucl] - [#136982])
+- Call backup listener during setup in onedrive ([@zweckj] - [#136990])
+- Bumb python-homewizard-energy to 8.3.2 ([@DCSBL] - [#136995])
+- Use device name as entity name in Eheim digital climate ([@joostlek] - [#136997])
+- Remove the unparsed config flow error from Swiss public transport ([@miaucl] - [#136998])
+- Make sure we load the backup integration before frontend ([@emontnemery] - [#137010])
+- Revert previous PR and remove URL from error message instead ([@NoRi2909] - [#137018])
+- Make supervisor backup file names more user friendly ([@emontnemery] - [#137020])
+- Bump habluetooth to 3.17.0 ([@bdraco] - [#137022])
+- Update frontend to 20250131.0 ([@bramkragten] - [#137024])
+- Bump bleak-esphome to 2.6.0 ([@bdraco] - [#137025])
+- Bump SQLAlchemy to 2.0.37 ([@bdraco] - [#137028])
+- Bump deebot-client to 11.1.0b2 ([@edenhaus] - [#137030])
+- Shorten the integration name for `incomfort` ([@jbouwh] - [#136930])
+- Update Overseerr string to mention CSRF ([@joostlek] - [#137001])
+- Use readable backup names for onedrive ([@zweckj] - [#137031])
+- Bump bthome-ble to 3.11.0 ([@Ernst79] - [#137032])
+- Bump zeroconf to 0.143.0 ([@bdraco] - [#137035])
+- Bump bthome-ble to 3.12.3 ([@bdraco] - [#137036])
+- Bump aiohttp-asyncmdnsresolver to 0.0.3 ([@bdraco] - [#137040])
+- Bump habluetooth to 3.17.1 ([@bdraco] - [#137045])
+- Bump aioimaplib to version 2.0.1 ([@jbouwh] - [#137049])
+- Raise HomeAssistantError from camera snapshot service ([@natekspencer] - [#137051])
+- Allow ignored govee-ble devices to be set up from the user flow ([@bdraco] - [#137052])
+- Allow ignored switchbot devices to be set up from the user flow ([@bdraco] - [#137056])
+- For consistency use suggested_filename in Google Drive ([@tronikos] - [#137061])
+- Bump habluetooth to 3.20.1 ([@bdraco] - [#137063])
+- Load `hassio` before `backup` at frontend stage ([@jpbede] - [#137067])
+- Bump lacrosse-view to 1.0.4 ([@IceBotYT] - [#137058])
+- Update RestrictedPython to 8.0 ([@cdce8p] - [#137075])
+- Set via_device for remote Bluetooth adapters to link to the parent device ([@bdraco] - [#137091])
+- Allow ignored airthings_ble devices to be set up from the user flow ([@bdraco] - [#137102])
+- Allow ignored yale_ble devices to be set up from the user flow ([@bdraco] - [#137103])
+- Allow ignored thermopro devices to be set up from the user flow ([@bdraco] - [#137104])
+- Allow ignored bthome devices to be set up from the user flow ([@bdraco] - [#137105])
+- Allow ignored inkbird devices to be set up from the user flow ([@bdraco] - [#137106])
+- Allow ignored mopeka devices to be set up from the user flow ([@bdraco] - [#137107])
+- Allow ignored oralb devices to be set up from the user flow ([@bdraco] - [#137109])
+- Fix Homekit camera profiles schema ([@shmuelzon] - [#137110])
+- Allow ignored qingping devices to be set up from the user flow ([@bdraco] - [#137111])
+- Allow ignored sensorpush devices to be set up from the user flow ([@bdraco] - [#137113])
+- Allow ignored xiaomi_ble devices to be set up from the user flow ([@bdraco] - [#137115])
+- Allow ignored Aranet devices to be set up from the user flow ([@thecode] - [#137121])
+- Allow ignored tilt_ble devices to be set up from user flow ([@apt-itude] - [#137123])
+- Remove entity state from mcp-server prompt ([@allenporter] - [#137126])
+- Bump habluetooth to 3.21.0 ([@bdraco] - [#137129])
+- Add missing brackets to ESPHome configuration URLs with IPv6 addresses ([@bdraco] - [#137132])
+- Bump deebot-client to 12.0.0b0 ([@edenhaus] - [#137137])
+- Allow manual smlight user setup to override discovery ([@tl-sl] - [#137136])
+- Bump dbus-fast to 2.30.4 ([@bdraco] - [#137151])
+- Bump bluetooth-data-tools to 1.23.3 ([@bdraco] - [#137147])
+- Bump habiticalib to v0.3.4 ([@tr4nt0r] - [#137148])
+- Bump monarchmoney to 0.4.4 ([@jeeftor] - [#137168])
+- Fix mqtt reconfigure does not use broker entry password when it is not changed ([@jbouwh] - [#137169])
+- Bump python-kasa to 0.10.1 ([@sdb9696] - [#137173])
+- Bump dbus-fast to 2.31.0 ([@bdraco] - [#137180])
+- Bump aiodhcpwatcher to 1.0.3 ([@bdraco] - [#137188])
+- Bump bleak-esphome to 2.7.0 ([@bdraco] - [#137199])
+- Switch to using IP Addresses for connecting to smlight devices ([@tl-sl] - [#137204])
+- Bump dbus-fast to 2.23.0 ([@bdraco] - [#137205])
+- Simplify config entry title for SMLIGHT ([@tl-sl] - [#137206])
+- Bump todist-api-python to 2.1.7 ([@boralyl] - [#136549])
+- Don't blow up when a backup doesn't exist on Synology DSM ([@mib1185] - [#136913])
+- Migrate OneDrive to onedrive_personal_sdk library ([@zweckj] - [#137064])
+- Humidifier turn display off for sleep mode ([@iprak] - [#137133])
+- Fixes in user-facing strings of Tado integration ([@NoRi2909] - [#137158])
+- Bump pypck to 0.8.5 ([@alengwenus] - [#137176])
+- Vesync bump pyvesync library ([@cdnninja] - [#137208])
+- Check for errors when restoring backups using supervisor ([@emontnemery] - [#137217])
+- Check for errors when creating backups using supervisor ([@emontnemery] - [#137220])
+- Fix retrieving PIN when no pin is set on mount in motionmount integration ([@RJPoelstra] - [#137230])
+- Fix minor issues in Homee ([@Taraman17] - [#137239])
+- Bump python-roborock to 2.11.1 ([@regevbr] - [#137244])
+- Bump onedrive-personal-sdk to 0.0.2 ([@zweckj] - [#137252])
+- Allow ignored idasen_desk devices to be set up from the user flow ([@abmantis] - [#137253])
+- Improve shutdown of _CipherBackupStreamer ([@emontnemery] - [#137257])
+- Remove v2 API support for HomeWizard P1 Meter ([@DCSBL] - [#137261])
+- Update frontend to 20250203.0 ([@bramkragten] - [#137263])
+- Bump pymill to 0.12.3 ([@Danielhiversen] - [#137264])
+- Bump tesla-fleet-api to 0.9.2 ([@Bre77] - [#137295])
+- Fix data update coordinator garbage collection ([@epenet] - [#137299])
+- Report progress while creating supervisor backup ([@emontnemery] - [#137301])
+- Bump onedrive-personal-sdk to 0.0.3 ([@zweckj] - [#137309])
+- Add view to download support package to Cloud component ([@abmantis] - [#135856])
+- Improve backup file naming in Synology DSM backup agent ([@mib1185] - [#137278])
+- Include extra metadata in backup WS API ([@emontnemery] - [#137296])
+- Bump tololib to 1.2.2 ([@MatthiasLohr] - [#137303])
+- Allow ignored screenlogic devices to be set up from the user flow ([@dieselrabbit] - [#137315])
+- Minor adjustments of hassio backup tests ([@emontnemery] - [#137324])
+- Bump onedrive-personal-sdk to 0.0.4 ([@zweckj] - [#137330])
+- Improve error handling when supervisor backups are deleted ([@emontnemery] - [#137331])
+- Don't show active user initiated data entry config flows ([@jbouwh] - [#137334])
+- Fix HomeWizard reconfigure flow throwing error for v2-API devices ([@DCSBL] - [#137337])
+- Copy area from remote parent device when creating Bluetooth devices ([@bdraco] - [#137340])
+- Update frontend to 20250204.0 ([@bramkragten] - [#137342])
+- Bump uiprotect to 7.5.1 ([@bdraco] - [#137343])
+- Fix incorrect UPB service entity type ([@gwww] - [#137346])
+- Polish tplink vacuum sensors ([@rytilahti] - [#137355])
+- Bump aranet4 to 2.5.1 ([@thecode] - [#137359])
+- Bump deebot-client to 12.0.0 ([@edenhaus] - [#137361])
+- Fix Tado missing await ([@thecode] - [#137364])
+- Bump pysmlight to v0.1.7 ([@tl-sl] - [#137390])
+- Report progress while restoring supervisor backup ([@emontnemery] - [#137313])
+- Fix memory leak when unloading DataUpdateCoordinator ([@bdraco] - [#137338])
+- Update led-ble to 1.1.5 ([@cdce8p] - [#137347])
+- Fix sqlalchemy deprecation warning that `declarative_base` has moved ([@jpbede] - [#137360])
+- Bump led-ble to 1.1.6 ([@bdraco] - [#137369])
+- Allow ignored Bluetooth adapters to be set up from the user flow ([@bdraco] - [#137373])
+- Bump Tesla Fleet API to v0.9.8 ([@Bre77] - [#137379])
+- Handle powerwall at zero percent in Tesla Fleet and Tessie ([@Bre77] - [#137393])
+- Simplify llm calendar tool ([@balloob] - [#137402])
+- Allow creating backup if at least one agent is available ([@emontnemery] - [#137409])
+- Adjust logic for per-backup agent encryption ([@emontnemery] - [#137420])
+- Adjust backup filename scheme ([@emontnemery] - [#137424])
+- Bump onedrive to 0.0.8 ([@zweckj] - [#137423])
+- Bump reolink_aio to 0.11.9 ([@starkillerOG] - [#137430])
+- Bump aiohasupervisor to version 0.3.0 ([@emontnemery] - [#137437])
+- Update frontend to 20250205.0 ([@bramkragten] - [#137441])
+- Update bluetooth dependencies ([@cdce8p] - [#137353])
+- Update bluetooth-data-tools to 1.23.4 ([@cdce8p] - [#137374])
+- Bump hassil and intents ([@synesthesiam] - [#137440])
+- Bump dbus-fast to 2.33.0 ([@bdraco] - [#137446])
+
+[#112047]: https://github.com/home-assistant/core/pull/112047
+[#121522]: https://github.com/home-assistant/core/pull/121522
+[#121548]: https://github.com/home-assistant/core/pull/121548
+[#124743]: https://github.com/home-assistant/core/pull/124743
+[#126064]: https://github.com/home-assistant/core/pull/126064
+[#126487]: https://github.com/home-assistant/core/pull/126487
+[#126878]: https://github.com/home-assistant/core/pull/126878
+[#127280]: https://github.com/home-assistant/core/pull/127280
+[#127550]: https://github.com/home-assistant/core/pull/127550
+[#127687]: https://github.com/home-assistant/core/pull/127687
+[#127957]: https://github.com/home-assistant/core/pull/127957
+[#128366]: https://github.com/home-assistant/core/pull/128366
+[#128439]: https://github.com/home-assistant/core/pull/128439
+[#129009]: https://github.com/home-assistant/core/pull/129009
+[#129352]: https://github.com/home-assistant/core/pull/129352
+[#129636]: https://github.com/home-assistant/core/pull/129636
+[#129757]: https://github.com/home-assistant/core/pull/129757
+[#130196]: https://github.com/home-assistant/core/pull/130196
+[#130356]: https://github.com/home-assistant/core/pull/130356
+[#130408]: https://github.com/home-assistant/core/pull/130408
+[#130513]: https://github.com/home-assistant/core/pull/130513
+[#130657]: https://github.com/home-assistant/core/pull/130657
+[#130717]: https://github.com/home-assistant/core/pull/130717
+[#130731]: https://github.com/home-assistant/core/pull/130731
+[#130738]: https://github.com/home-assistant/core/pull/130738
+[#130918]: https://github.com/home-assistant/core/pull/130918
+[#131032]: https://github.com/home-assistant/core/pull/131032
+[#131133]: https://github.com/home-assistant/core/pull/131133
+[#131224]: https://github.com/home-assistant/core/pull/131224
+[#131274]: https://github.com/home-assistant/core/pull/131274
+[#131371]: https://github.com/home-assistant/core/pull/131371
+[#131416]: https://github.com/home-assistant/core/pull/131416
+[#131433]: https://github.com/home-assistant/core/pull/131433
+[#131496]: https://github.com/home-assistant/core/pull/131496
+[#131550]: https://github.com/home-assistant/core/pull/131550
+[#131586]: https://github.com/home-assistant/core/pull/131586
+[#131676]: https://github.com/home-assistant/core/pull/131676
+[#131914]: https://github.com/home-assistant/core/pull/131914
+[#131965]: https://github.com/home-assistant/core/pull/131965
+[#132017]: https://github.com/home-assistant/core/pull/132017
+[#132117]: https://github.com/home-assistant/core/pull/132117
+[#132267]: https://github.com/home-assistant/core/pull/132267
+[#132502]: https://github.com/home-assistant/core/pull/132502
+[#132551]: https://github.com/home-assistant/core/pull/132551
+[#132754]: https://github.com/home-assistant/core/pull/132754
+[#132783]: https://github.com/home-assistant/core/pull/132783
+[#132871]: https://github.com/home-assistant/core/pull/132871
+[#132879]: https://github.com/home-assistant/core/pull/132879
+[#132920]: https://github.com/home-assistant/core/pull/132920
+[#133099]: https://github.com/home-assistant/core/pull/133099
+[#133227]: https://github.com/home-assistant/core/pull/133227
+[#133269]: https://github.com/home-assistant/core/pull/133269
+[#133270]: https://github.com/home-assistant/core/pull/133270
+[#133285]: https://github.com/home-assistant/core/pull/133285
+[#133318]: https://github.com/home-assistant/core/pull/133318
+[#133328]: https://github.com/home-assistant/core/pull/133328
+[#133342]: https://github.com/home-assistant/core/pull/133342
+[#133386]: https://github.com/home-assistant/core/pull/133386
+[#133398]: https://github.com/home-assistant/core/pull/133398
+[#133452]: https://github.com/home-assistant/core/pull/133452
+[#133511]: https://github.com/home-assistant/core/pull/133511
+[#133546]: https://github.com/home-assistant/core/pull/133546
+[#133583]: https://github.com/home-assistant/core/pull/133583
+[#133612]: https://github.com/home-assistant/core/pull/133612
+[#133615]: https://github.com/home-assistant/core/pull/133615
+[#133617]: https://github.com/home-assistant/core/pull/133617
+[#133663]: https://github.com/home-assistant/core/pull/133663
+[#133678]: https://github.com/home-assistant/core/pull/133678
+[#133691]: https://github.com/home-assistant/core/pull/133691
+[#133704]: https://github.com/home-assistant/core/pull/133704
+[#133732]: https://github.com/home-assistant/core/pull/133732
+[#133738]: https://github.com/home-assistant/core/pull/133738
+[#133777]: https://github.com/home-assistant/core/pull/133777
+[#133784]: https://github.com/home-assistant/core/pull/133784
+[#133810]: https://github.com/home-assistant/core/pull/133810
+[#133827]: https://github.com/home-assistant/core/pull/133827
+[#133833]: https://github.com/home-assistant/core/pull/133833
+[#133840]: https://github.com/home-assistant/core/pull/133840
+[#133844]: https://github.com/home-assistant/core/pull/133844
+[#133852]: https://github.com/home-assistant/core/pull/133852
+[#133866]: https://github.com/home-assistant/core/pull/133866
+[#133870]: https://github.com/home-assistant/core/pull/133870
+[#133888]: https://github.com/home-assistant/core/pull/133888
+[#133893]: https://github.com/home-assistant/core/pull/133893
+[#133895]: https://github.com/home-assistant/core/pull/133895
+[#133902]: https://github.com/home-assistant/core/pull/133902
+[#133910]: https://github.com/home-assistant/core/pull/133910
+[#133920]: https://github.com/home-assistant/core/pull/133920
+[#133921]: https://github.com/home-assistant/core/pull/133921
+[#133928]: https://github.com/home-assistant/core/pull/133928
+[#133937]: https://github.com/home-assistant/core/pull/133937
+[#133939]: https://github.com/home-assistant/core/pull/133939
+[#133953]: https://github.com/home-assistant/core/pull/133953
+[#133955]: https://github.com/home-assistant/core/pull/133955
+[#133957]: https://github.com/home-assistant/core/pull/133957
+[#133958]: https://github.com/home-assistant/core/pull/133958
+[#133959]: https://github.com/home-assistant/core/pull/133959
+[#133962]: https://github.com/home-assistant/core/pull/133962
+[#133969]: https://github.com/home-assistant/core/pull/133969
+[#133970]: https://github.com/home-assistant/core/pull/133970
+[#133981]: https://github.com/home-assistant/core/pull/133981
+[#133982]: https://github.com/home-assistant/core/pull/133982
+[#133987]: https://github.com/home-assistant/core/pull/133987
+[#133988]: https://github.com/home-assistant/core/pull/133988
+[#133994]: https://github.com/home-assistant/core/pull/133994
+[#133996]: https://github.com/home-assistant/core/pull/133996
+[#133997]: https://github.com/home-assistant/core/pull/133997
+[#134001]: https://github.com/home-assistant/core/pull/134001
+[#134004]: https://github.com/home-assistant/core/pull/134004
+[#134016]: https://github.com/home-assistant/core/pull/134016
+[#134019]: https://github.com/home-assistant/core/pull/134019
+[#134020]: https://github.com/home-assistant/core/pull/134020
+[#134021]: https://github.com/home-assistant/core/pull/134021
+[#134025]: https://github.com/home-assistant/core/pull/134025
+[#134026]: https://github.com/home-assistant/core/pull/134026
+[#134027]: https://github.com/home-assistant/core/pull/134027
+[#134028]: https://github.com/home-assistant/core/pull/134028
+[#134036]: https://github.com/home-assistant/core/pull/134036
+[#134040]: https://github.com/home-assistant/core/pull/134040
+[#134041]: https://github.com/home-assistant/core/pull/134041
+[#134044]: https://github.com/home-assistant/core/pull/134044
+[#134049]: https://github.com/home-assistant/core/pull/134049
+[#134051]: https://github.com/home-assistant/core/pull/134051
+[#134053]: https://github.com/home-assistant/core/pull/134053
+[#134054]: https://github.com/home-assistant/core/pull/134054
+[#134055]: https://github.com/home-assistant/core/pull/134055
+[#134056]: https://github.com/home-assistant/core/pull/134056
+[#134059]: https://github.com/home-assistant/core/pull/134059
+[#134060]: https://github.com/home-assistant/core/pull/134060
+[#134069]: https://github.com/home-assistant/core/pull/134069
+[#134072]: https://github.com/home-assistant/core/pull/134072
+[#134079]: https://github.com/home-assistant/core/pull/134079
+[#134087]: https://github.com/home-assistant/core/pull/134087
+[#134088]: https://github.com/home-assistant/core/pull/134088
+[#134093]: https://github.com/home-assistant/core/pull/134093
+[#134097]: https://github.com/home-assistant/core/pull/134097
+[#134100]: https://github.com/home-assistant/core/pull/134100
+[#134104]: https://github.com/home-assistant/core/pull/134104
+[#134105]: https://github.com/home-assistant/core/pull/134105
+[#134106]: https://github.com/home-assistant/core/pull/134106
+[#134107]: https://github.com/home-assistant/core/pull/134107
+[#134108]: https://github.com/home-assistant/core/pull/134108
+[#134109]: https://github.com/home-assistant/core/pull/134109
+[#134110]: https://github.com/home-assistant/core/pull/134110
+[#134115]: https://github.com/home-assistant/core/pull/134115
+[#134116]: https://github.com/home-assistant/core/pull/134116
+[#134117]: https://github.com/home-assistant/core/pull/134117
+[#134118]: https://github.com/home-assistant/core/pull/134118
+[#134120]: https://github.com/home-assistant/core/pull/134120
+[#134122]: https://github.com/home-assistant/core/pull/134122
+[#134124]: https://github.com/home-assistant/core/pull/134124
+[#134130]: https://github.com/home-assistant/core/pull/134130
+[#134132]: https://github.com/home-assistant/core/pull/134132
+[#134133]: https://github.com/home-assistant/core/pull/134133
+[#134135]: https://github.com/home-assistant/core/pull/134135
+[#134137]: https://github.com/home-assistant/core/pull/134137
+[#134138]: https://github.com/home-assistant/core/pull/134138
+[#134143]: https://github.com/home-assistant/core/pull/134143
+[#134146]: https://github.com/home-assistant/core/pull/134146
+[#134147]: https://github.com/home-assistant/core/pull/134147
+[#134150]: https://github.com/home-assistant/core/pull/134150
+[#134151]: https://github.com/home-assistant/core/pull/134151
+[#134153]: https://github.com/home-assistant/core/pull/134153
+[#134156]: https://github.com/home-assistant/core/pull/134156
+[#134170]: https://github.com/home-assistant/core/pull/134170
+[#134173]: https://github.com/home-assistant/core/pull/134173
+[#134174]: https://github.com/home-assistant/core/pull/134174
+[#134175]: https://github.com/home-assistant/core/pull/134175
+[#134179]: https://github.com/home-assistant/core/pull/134179
+[#134185]: https://github.com/home-assistant/core/pull/134185
+[#134186]: https://github.com/home-assistant/core/pull/134186
+[#134187]: https://github.com/home-assistant/core/pull/134187
+[#134192]: https://github.com/home-assistant/core/pull/134192
+[#134193]: https://github.com/home-assistant/core/pull/134193
+[#134196]: https://github.com/home-assistant/core/pull/134196
+[#134197]: https://github.com/home-assistant/core/pull/134197
+[#134198]: https://github.com/home-assistant/core/pull/134198
+[#134200]: https://github.com/home-assistant/core/pull/134200
+[#134207]: https://github.com/home-assistant/core/pull/134207
+[#134210]: https://github.com/home-assistant/core/pull/134210
+[#134211]: https://github.com/home-assistant/core/pull/134211
+[#134212]: https://github.com/home-assistant/core/pull/134212
+[#134213]: https://github.com/home-assistant/core/pull/134213
+[#134221]: https://github.com/home-assistant/core/pull/134221
+[#134222]: https://github.com/home-assistant/core/pull/134222
+[#134229]: https://github.com/home-assistant/core/pull/134229
+[#134242]: https://github.com/home-assistant/core/pull/134242
+[#134244]: https://github.com/home-assistant/core/pull/134244
+[#134245]: https://github.com/home-assistant/core/pull/134245
+[#134246]: https://github.com/home-assistant/core/pull/134246
+[#134256]: https://github.com/home-assistant/core/pull/134256
+[#134261]: https://github.com/home-assistant/core/pull/134261
+[#134275]: https://github.com/home-assistant/core/pull/134275
+[#134277]: https://github.com/home-assistant/core/pull/134277
+[#134278]: https://github.com/home-assistant/core/pull/134278
+[#134279]: https://github.com/home-assistant/core/pull/134279
+[#134281]: https://github.com/home-assistant/core/pull/134281
+[#134282]: https://github.com/home-assistant/core/pull/134282
+[#134285]: https://github.com/home-assistant/core/pull/134285
+[#134290]: https://github.com/home-assistant/core/pull/134290
+[#134291]: https://github.com/home-assistant/core/pull/134291
+[#134296]: https://github.com/home-assistant/core/pull/134296
+[#134298]: https://github.com/home-assistant/core/pull/134298
+[#134299]: https://github.com/home-assistant/core/pull/134299
+[#134300]: https://github.com/home-assistant/core/pull/134300
+[#134301]: https://github.com/home-assistant/core/pull/134301
+[#134302]: https://github.com/home-assistant/core/pull/134302
+[#134303]: https://github.com/home-assistant/core/pull/134303
+[#134304]: https://github.com/home-assistant/core/pull/134304
+[#134305]: https://github.com/home-assistant/core/pull/134305
+[#134307]: https://github.com/home-assistant/core/pull/134307
+[#134308]: https://github.com/home-assistant/core/pull/134308
+[#134309]: https://github.com/home-assistant/core/pull/134309
+[#134310]: https://github.com/home-assistant/core/pull/134310
+[#134314]: https://github.com/home-assistant/core/pull/134314
+[#134320]: https://github.com/home-assistant/core/pull/134320
+[#134328]: https://github.com/home-assistant/core/pull/134328
+[#134330]: https://github.com/home-assistant/core/pull/134330
+[#134331]: https://github.com/home-assistant/core/pull/134331
+[#134333]: https://github.com/home-assistant/core/pull/134333
+[#134334]: https://github.com/home-assistant/core/pull/134334
+[#134339]: https://github.com/home-assistant/core/pull/134339
+[#134342]: https://github.com/home-assistant/core/pull/134342
+[#134347]: https://github.com/home-assistant/core/pull/134347
+[#134348]: https://github.com/home-assistant/core/pull/134348
+[#134354]: https://github.com/home-assistant/core/pull/134354
+[#134366]: https://github.com/home-assistant/core/pull/134366
+[#134368]: https://github.com/home-assistant/core/pull/134368
+[#134372]: https://github.com/home-assistant/core/pull/134372
+[#134382]: https://github.com/home-assistant/core/pull/134382
+[#134383]: https://github.com/home-assistant/core/pull/134383
+[#134385]: https://github.com/home-assistant/core/pull/134385
+[#134387]: https://github.com/home-assistant/core/pull/134387
+[#134393]: https://github.com/home-assistant/core/pull/134393
+[#134394]: https://github.com/home-assistant/core/pull/134394
+[#134399]: https://github.com/home-assistant/core/pull/134399
+[#134402]: https://github.com/home-assistant/core/pull/134402
+[#134410]: https://github.com/home-assistant/core/pull/134410
+[#134415]: https://github.com/home-assistant/core/pull/134415
+[#134416]: https://github.com/home-assistant/core/pull/134416
+[#134419]: https://github.com/home-assistant/core/pull/134419
+[#134420]: https://github.com/home-assistant/core/pull/134420
+[#134422]: https://github.com/home-assistant/core/pull/134422
+[#134426]: https://github.com/home-assistant/core/pull/134426
+[#134433]: https://github.com/home-assistant/core/pull/134433
+[#134441]: https://github.com/home-assistant/core/pull/134441
+[#134444]: https://github.com/home-assistant/core/pull/134444
+[#134446]: https://github.com/home-assistant/core/pull/134446
+[#134447]: https://github.com/home-assistant/core/pull/134447
+[#134450]: https://github.com/home-assistant/core/pull/134450
+[#134457]: https://github.com/home-assistant/core/pull/134457
+[#134459]: https://github.com/home-assistant/core/pull/134459
+[#134461]: https://github.com/home-assistant/core/pull/134461
+[#134465]: https://github.com/home-assistant/core/pull/134465
+[#134466]: https://github.com/home-assistant/core/pull/134466
+[#134468]: https://github.com/home-assistant/core/pull/134468
+[#134469]: https://github.com/home-assistant/core/pull/134469
+[#134472]: https://github.com/home-assistant/core/pull/134472
+[#134473]: https://github.com/home-assistant/core/pull/134473
+[#134475]: https://github.com/home-assistant/core/pull/134475
+[#134477]: https://github.com/home-assistant/core/pull/134477
+[#134478]: https://github.com/home-assistant/core/pull/134478
+[#134479]: https://github.com/home-assistant/core/pull/134479
+[#134480]: https://github.com/home-assistant/core/pull/134480
+[#134482]: https://github.com/home-assistant/core/pull/134482
+[#134485]: https://github.com/home-assistant/core/pull/134485
+[#134487]: https://github.com/home-assistant/core/pull/134487
+[#134488]: https://github.com/home-assistant/core/pull/134488
+[#134491]: https://github.com/home-assistant/core/pull/134491
+[#134492]: https://github.com/home-assistant/core/pull/134492
+[#134493]: https://github.com/home-assistant/core/pull/134493
+[#134494]: https://github.com/home-assistant/core/pull/134494
+[#134499]: https://github.com/home-assistant/core/pull/134499
+[#134501]: https://github.com/home-assistant/core/pull/134501
+[#134503]: https://github.com/home-assistant/core/pull/134503
+[#134522]: https://github.com/home-assistant/core/pull/134522
+[#134532]: https://github.com/home-assistant/core/pull/134532
+[#134533]: https://github.com/home-assistant/core/pull/134533
+[#134535]: https://github.com/home-assistant/core/pull/134535
+[#134536]: https://github.com/home-assistant/core/pull/134536
+[#134537]: https://github.com/home-assistant/core/pull/134537
+[#134543]: https://github.com/home-assistant/core/pull/134543
+[#134551]: https://github.com/home-assistant/core/pull/134551
+[#134553]: https://github.com/home-assistant/core/pull/134553
+[#134563]: https://github.com/home-assistant/core/pull/134563
+[#134576]: https://github.com/home-assistant/core/pull/134576
+[#134591]: https://github.com/home-assistant/core/pull/134591
+[#134596]: https://github.com/home-assistant/core/pull/134596
+[#134616]: https://github.com/home-assistant/core/pull/134616
+[#134617]: https://github.com/home-assistant/core/pull/134617
+[#134619]: https://github.com/home-assistant/core/pull/134619
+[#134621]: https://github.com/home-assistant/core/pull/134621
+[#134625]: https://github.com/home-assistant/core/pull/134625
+[#134634]: https://github.com/home-assistant/core/pull/134634
+[#134646]: https://github.com/home-assistant/core/pull/134646
+[#134654]: https://github.com/home-assistant/core/pull/134654
+[#134667]: https://github.com/home-assistant/core/pull/134667
+[#134668]: https://github.com/home-assistant/core/pull/134668
+[#134671]: https://github.com/home-assistant/core/pull/134671
+[#134680]: https://github.com/home-assistant/core/pull/134680
+[#134682]: https://github.com/home-assistant/core/pull/134682
+[#134683]: https://github.com/home-assistant/core/pull/134683
+[#134687]: https://github.com/home-assistant/core/pull/134687
+[#134692]: https://github.com/home-assistant/core/pull/134692
+[#134694]: https://github.com/home-assistant/core/pull/134694
+[#134697]: https://github.com/home-assistant/core/pull/134697
+[#134700]: https://github.com/home-assistant/core/pull/134700
+[#134705]: https://github.com/home-assistant/core/pull/134705
+[#134721]: https://github.com/home-assistant/core/pull/134721
+[#134722]: https://github.com/home-assistant/core/pull/134722
+[#134724]: https://github.com/home-assistant/core/pull/134724
+[#134733]: https://github.com/home-assistant/core/pull/134733
+[#134745]: https://github.com/home-assistant/core/pull/134745
+[#134747]: https://github.com/home-assistant/core/pull/134747
+[#134748]: https://github.com/home-assistant/core/pull/134748
+[#134752]: https://github.com/home-assistant/core/pull/134752
+[#134765]: https://github.com/home-assistant/core/pull/134765
+[#134776]: https://github.com/home-assistant/core/pull/134776
+[#134778]: https://github.com/home-assistant/core/pull/134778
+[#134779]: https://github.com/home-assistant/core/pull/134779
+[#134780]: https://github.com/home-assistant/core/pull/134780
+[#134783]: https://github.com/home-assistant/core/pull/134783
+[#134799]: https://github.com/home-assistant/core/pull/134799
+[#134807]: https://github.com/home-assistant/core/pull/134807
+[#134809]: https://github.com/home-assistant/core/pull/134809
+[#134815]: https://github.com/home-assistant/core/pull/134815
+[#134816]: https://github.com/home-assistant/core/pull/134816
+[#134817]: https://github.com/home-assistant/core/pull/134817
+[#134822]: https://github.com/home-assistant/core/pull/134822
+[#134824]: https://github.com/home-assistant/core/pull/134824
+[#134830]: https://github.com/home-assistant/core/pull/134830
+[#134831]: https://github.com/home-assistant/core/pull/134831
+[#134837]: https://github.com/home-assistant/core/pull/134837
+[#134838]: https://github.com/home-assistant/core/pull/134838
+[#134841]: https://github.com/home-assistant/core/pull/134841
+[#134843]: https://github.com/home-assistant/core/pull/134843
+[#134844]: https://github.com/home-assistant/core/pull/134844
+[#134852]: https://github.com/home-assistant/core/pull/134852
+[#134858]: https://github.com/home-assistant/core/pull/134858
+[#134888]: https://github.com/home-assistant/core/pull/134888
+[#134894]: https://github.com/home-assistant/core/pull/134894
+[#134900]: https://github.com/home-assistant/core/pull/134900
+[#134901]: https://github.com/home-assistant/core/pull/134901
+[#134906]: https://github.com/home-assistant/core/pull/134906
+[#134914]: https://github.com/home-assistant/core/pull/134914
+[#134916]: https://github.com/home-assistant/core/pull/134916
+[#134917]: https://github.com/home-assistant/core/pull/134917
+[#134920]: https://github.com/home-assistant/core/pull/134920
+[#134921]: https://github.com/home-assistant/core/pull/134921
+[#134924]: https://github.com/home-assistant/core/pull/134924
+[#134925]: https://github.com/home-assistant/core/pull/134925
+[#134926]: https://github.com/home-assistant/core/pull/134926
+[#134931]: https://github.com/home-assistant/core/pull/134931
+[#134935]: https://github.com/home-assistant/core/pull/134935
+[#134942]: https://github.com/home-assistant/core/pull/134942
+[#134947]: https://github.com/home-assistant/core/pull/134947
+[#134950]: https://github.com/home-assistant/core/pull/134950
+[#134951]: https://github.com/home-assistant/core/pull/134951
+[#134952]: https://github.com/home-assistant/core/pull/134952
+[#134953]: https://github.com/home-assistant/core/pull/134953
+[#134954]: https://github.com/home-assistant/core/pull/134954
+[#134956]: https://github.com/home-assistant/core/pull/134956
+[#134962]: https://github.com/home-assistant/core/pull/134962
+[#134966]: https://github.com/home-assistant/core/pull/134966
+[#134971]: https://github.com/home-assistant/core/pull/134971
+[#134975]: https://github.com/home-assistant/core/pull/134975
+[#134978]: https://github.com/home-assistant/core/pull/134978
+[#134982]: https://github.com/home-assistant/core/pull/134982
+[#134985]: https://github.com/home-assistant/core/pull/134985
+[#134990]: https://github.com/home-assistant/core/pull/134990
+[#134991]: https://github.com/home-assistant/core/pull/134991
+[#134993]: https://github.com/home-assistant/core/pull/134993
+[#134996]: https://github.com/home-assistant/core/pull/134996
+[#134998]: https://github.com/home-assistant/core/pull/134998
+[#135000]: https://github.com/home-assistant/core/pull/135000
+[#135004]: https://github.com/home-assistant/core/pull/135004
+[#135006]: https://github.com/home-assistant/core/pull/135006
+[#135015]: https://github.com/home-assistant/core/pull/135015
+[#135017]: https://github.com/home-assistant/core/pull/135017
+[#135018]: https://github.com/home-assistant/core/pull/135018
+[#135021]: https://github.com/home-assistant/core/pull/135021
+[#135022]: https://github.com/home-assistant/core/pull/135022
+[#135028]: https://github.com/home-assistant/core/pull/135028
+[#135029]: https://github.com/home-assistant/core/pull/135029
+[#135030]: https://github.com/home-assistant/core/pull/135030
+[#135031]: https://github.com/home-assistant/core/pull/135031
+[#135032]: https://github.com/home-assistant/core/pull/135032
+[#135042]: https://github.com/home-assistant/core/pull/135042
+[#135046]: https://github.com/home-assistant/core/pull/135046
+[#135049]: https://github.com/home-assistant/core/pull/135049
+[#135052]: https://github.com/home-assistant/core/pull/135052
+[#135057]: https://github.com/home-assistant/core/pull/135057
+[#135058]: https://github.com/home-assistant/core/pull/135058
+[#135067]: https://github.com/home-assistant/core/pull/135067
+[#135068]: https://github.com/home-assistant/core/pull/135068
+[#135070]: https://github.com/home-assistant/core/pull/135070
+[#135071]: https://github.com/home-assistant/core/pull/135071
+[#135075]: https://github.com/home-assistant/core/pull/135075
+[#135081]: https://github.com/home-assistant/core/pull/135081
+[#135083]: https://github.com/home-assistant/core/pull/135083
+[#135095]: https://github.com/home-assistant/core/pull/135095
+[#135098]: https://github.com/home-assistant/core/pull/135098
+[#135102]: https://github.com/home-assistant/core/pull/135102
+[#135105]: https://github.com/home-assistant/core/pull/135105
+[#135108]: https://github.com/home-assistant/core/pull/135108
+[#135109]: https://github.com/home-assistant/core/pull/135109
+[#135120]: https://github.com/home-assistant/core/pull/135120
+[#135121]: https://github.com/home-assistant/core/pull/135121
+[#135125]: https://github.com/home-assistant/core/pull/135125
+[#135126]: https://github.com/home-assistant/core/pull/135126
+[#135130]: https://github.com/home-assistant/core/pull/135130
+[#135133]: https://github.com/home-assistant/core/pull/135133
+[#135135]: https://github.com/home-assistant/core/pull/135135
+[#135138]: https://github.com/home-assistant/core/pull/135138
+[#135143]: https://github.com/home-assistant/core/pull/135143
+[#135148]: https://github.com/home-assistant/core/pull/135148
+[#135153]: https://github.com/home-assistant/core/pull/135153
+[#135162]: https://github.com/home-assistant/core/pull/135162
+[#135171]: https://github.com/home-assistant/core/pull/135171
+[#135172]: https://github.com/home-assistant/core/pull/135172
+[#135176]: https://github.com/home-assistant/core/pull/135176
+[#135177]: https://github.com/home-assistant/core/pull/135177
+[#135178]: https://github.com/home-assistant/core/pull/135178
+[#135181]: https://github.com/home-assistant/core/pull/135181
+[#135182]: https://github.com/home-assistant/core/pull/135182
+[#135183]: https://github.com/home-assistant/core/pull/135183
+[#135186]: https://github.com/home-assistant/core/pull/135186
+[#135187]: https://github.com/home-assistant/core/pull/135187
+[#135194]: https://github.com/home-assistant/core/pull/135194
+[#135197]: https://github.com/home-assistant/core/pull/135197
+[#135199]: https://github.com/home-assistant/core/pull/135199
+[#135202]: https://github.com/home-assistant/core/pull/135202
+[#135205]: https://github.com/home-assistant/core/pull/135205
+[#135206]: https://github.com/home-assistant/core/pull/135206
+[#135209]: https://github.com/home-assistant/core/pull/135209
+[#135213]: https://github.com/home-assistant/core/pull/135213
+[#135214]: https://github.com/home-assistant/core/pull/135214
+[#135220]: https://github.com/home-assistant/core/pull/135220
+[#135224]: https://github.com/home-assistant/core/pull/135224
+[#135225]: https://github.com/home-assistant/core/pull/135225
+[#135227]: https://github.com/home-assistant/core/pull/135227
+[#135228]: https://github.com/home-assistant/core/pull/135228
+[#135229]: https://github.com/home-assistant/core/pull/135229
+[#135232]: https://github.com/home-assistant/core/pull/135232
+[#135234]: https://github.com/home-assistant/core/pull/135234
+[#135236]: https://github.com/home-assistant/core/pull/135236
+[#135237]: https://github.com/home-assistant/core/pull/135237
+[#135244]: https://github.com/home-assistant/core/pull/135244
+[#135248]: https://github.com/home-assistant/core/pull/135248
+[#135254]: https://github.com/home-assistant/core/pull/135254
+[#135255]: https://github.com/home-assistant/core/pull/135255
+[#135256]: https://github.com/home-assistant/core/pull/135256
+[#135257]: https://github.com/home-assistant/core/pull/135257
+[#135260]: https://github.com/home-assistant/core/pull/135260
+[#135261]: https://github.com/home-assistant/core/pull/135261
+[#135263]: https://github.com/home-assistant/core/pull/135263
+[#135264]: https://github.com/home-assistant/core/pull/135264
+[#135265]: https://github.com/home-assistant/core/pull/135265
+[#135267]: https://github.com/home-assistant/core/pull/135267
+[#135268]: https://github.com/home-assistant/core/pull/135268
+[#135269]: https://github.com/home-assistant/core/pull/135269
+[#135271]: https://github.com/home-assistant/core/pull/135271
+[#135277]: https://github.com/home-assistant/core/pull/135277
+[#135279]: https://github.com/home-assistant/core/pull/135279
+[#135281]: https://github.com/home-assistant/core/pull/135281
+[#135283]: https://github.com/home-assistant/core/pull/135283
+[#135285]: https://github.com/home-assistant/core/pull/135285
+[#135292]: https://github.com/home-assistant/core/pull/135292
+[#135294]: https://github.com/home-assistant/core/pull/135294
+[#135295]: https://github.com/home-assistant/core/pull/135295
+[#135299]: https://github.com/home-assistant/core/pull/135299
+[#135301]: https://github.com/home-assistant/core/pull/135301
+[#135303]: https://github.com/home-assistant/core/pull/135303
+[#135305]: https://github.com/home-assistant/core/pull/135305
+[#135306]: https://github.com/home-assistant/core/pull/135306
+[#135309]: https://github.com/home-assistant/core/pull/135309
+[#135312]: https://github.com/home-assistant/core/pull/135312
+[#135315]: https://github.com/home-assistant/core/pull/135315
+[#135320]: https://github.com/home-assistant/core/pull/135320
+[#135322]: https://github.com/home-assistant/core/pull/135322
+[#135323]: https://github.com/home-assistant/core/pull/135323
+[#135328]: https://github.com/home-assistant/core/pull/135328
+[#135331]: https://github.com/home-assistant/core/pull/135331
+[#135336]: https://github.com/home-assistant/core/pull/135336
+[#135337]: https://github.com/home-assistant/core/pull/135337
+[#135344]: https://github.com/home-assistant/core/pull/135344
+[#135347]: https://github.com/home-assistant/core/pull/135347
+[#135348]: https://github.com/home-assistant/core/pull/135348
+[#135349]: https://github.com/home-assistant/core/pull/135349
+[#135350]: https://github.com/home-assistant/core/pull/135350
+[#135353]: https://github.com/home-assistant/core/pull/135353
+[#135357]: https://github.com/home-assistant/core/pull/135357
+[#135359]: https://github.com/home-assistant/core/pull/135359
+[#135360]: https://github.com/home-assistant/core/pull/135360
+[#135362]: https://github.com/home-assistant/core/pull/135362
+[#135368]: https://github.com/home-assistant/core/pull/135368
+[#135370]: https://github.com/home-assistant/core/pull/135370
+[#135377]: https://github.com/home-assistant/core/pull/135377
+[#135382]: https://github.com/home-assistant/core/pull/135382
+[#135383]: https://github.com/home-assistant/core/pull/135383
+[#135384]: https://github.com/home-assistant/core/pull/135384
+[#135396]: https://github.com/home-assistant/core/pull/135396
+[#135397]: https://github.com/home-assistant/core/pull/135397
+[#135398]: https://github.com/home-assistant/core/pull/135398
+[#135399]: https://github.com/home-assistant/core/pull/135399
+[#135400]: https://github.com/home-assistant/core/pull/135400
+[#135408]: https://github.com/home-assistant/core/pull/135408
+[#135415]: https://github.com/home-assistant/core/pull/135415
+[#135419]: https://github.com/home-assistant/core/pull/135419
+[#135423]: https://github.com/home-assistant/core/pull/135423
+[#135426]: https://github.com/home-assistant/core/pull/135426
+[#135431]: https://github.com/home-assistant/core/pull/135431
+[#135433]: https://github.com/home-assistant/core/pull/135433
+[#135441]: https://github.com/home-assistant/core/pull/135441
+[#135445]: https://github.com/home-assistant/core/pull/135445
+[#135447]: https://github.com/home-assistant/core/pull/135447
+[#135448]: https://github.com/home-assistant/core/pull/135448
+[#135449]: https://github.com/home-assistant/core/pull/135449
+[#135454]: https://github.com/home-assistant/core/pull/135454
+[#135455]: https://github.com/home-assistant/core/pull/135455
+[#135457]: https://github.com/home-assistant/core/pull/135457
+[#135458]: https://github.com/home-assistant/core/pull/135458
+[#135465]: https://github.com/home-assistant/core/pull/135465
+[#135470]: https://github.com/home-assistant/core/pull/135470
+[#135472]: https://github.com/home-assistant/core/pull/135472
+[#135475]: https://github.com/home-assistant/core/pull/135475
+[#135492]: https://github.com/home-assistant/core/pull/135492
+[#135497]: https://github.com/home-assistant/core/pull/135497
+[#135500]: https://github.com/home-assistant/core/pull/135500
+[#135506]: https://github.com/home-assistant/core/pull/135506
+[#135509]: https://github.com/home-assistant/core/pull/135509
+[#135510]: https://github.com/home-assistant/core/pull/135510
+[#135512]: https://github.com/home-assistant/core/pull/135512
+[#135514]: https://github.com/home-assistant/core/pull/135514
+[#135518]: https://github.com/home-assistant/core/pull/135518
+[#135520]: https://github.com/home-assistant/core/pull/135520
+[#135521]: https://github.com/home-assistant/core/pull/135521
+[#135523]: https://github.com/home-assistant/core/pull/135523
+[#135524]: https://github.com/home-assistant/core/pull/135524
+[#135525]: https://github.com/home-assistant/core/pull/135525
+[#135530]: https://github.com/home-assistant/core/pull/135530
+[#135536]: https://github.com/home-assistant/core/pull/135536
+[#135537]: https://github.com/home-assistant/core/pull/135537
+[#135538]: https://github.com/home-assistant/core/pull/135538
+[#135543]: https://github.com/home-assistant/core/pull/135543
+[#135545]: https://github.com/home-assistant/core/pull/135545
+[#135546]: https://github.com/home-assistant/core/pull/135546
+[#135547]: https://github.com/home-assistant/core/pull/135547
+[#135548]: https://github.com/home-assistant/core/pull/135548
+[#135550]: https://github.com/home-assistant/core/pull/135550
+[#135551]: https://github.com/home-assistant/core/pull/135551
+[#135562]: https://github.com/home-assistant/core/pull/135562
+[#135563]: https://github.com/home-assistant/core/pull/135563
+[#135564]: https://github.com/home-assistant/core/pull/135564
+[#135571]: https://github.com/home-assistant/core/pull/135571
+[#135574]: https://github.com/home-assistant/core/pull/135574
+[#135575]: https://github.com/home-assistant/core/pull/135575
+[#135576]: https://github.com/home-assistant/core/pull/135576
+[#135577]: https://github.com/home-assistant/core/pull/135577
+[#135578]: https://github.com/home-assistant/core/pull/135578
+[#135579]: https://github.com/home-assistant/core/pull/135579
+[#135581]: https://github.com/home-assistant/core/pull/135581
+[#135582]: https://github.com/home-assistant/core/pull/135582
+[#135583]: https://github.com/home-assistant/core/pull/135583
+[#135585]: https://github.com/home-assistant/core/pull/135585
+[#135586]: https://github.com/home-assistant/core/pull/135586
+[#135588]: https://github.com/home-assistant/core/pull/135588
+[#135589]: https://github.com/home-assistant/core/pull/135589
+[#135591]: https://github.com/home-assistant/core/pull/135591
+[#135595]: https://github.com/home-assistant/core/pull/135595
+[#135601]: https://github.com/home-assistant/core/pull/135601
+[#135603]: https://github.com/home-assistant/core/pull/135603
+[#135606]: https://github.com/home-assistant/core/pull/135606
+[#135611]: https://github.com/home-assistant/core/pull/135611
+[#135612]: https://github.com/home-assistant/core/pull/135612
+[#135614]: https://github.com/home-assistant/core/pull/135614
+[#135615]: https://github.com/home-assistant/core/pull/135615
+[#135618]: https://github.com/home-assistant/core/pull/135618
+[#135620]: https://github.com/home-assistant/core/pull/135620
+[#135622]: https://github.com/home-assistant/core/pull/135622
+[#135625]: https://github.com/home-assistant/core/pull/135625
+[#135626]: https://github.com/home-assistant/core/pull/135626
+[#135628]: https://github.com/home-assistant/core/pull/135628
+[#135631]: https://github.com/home-assistant/core/pull/135631
+[#135633]: https://github.com/home-assistant/core/pull/135633
+[#135635]: https://github.com/home-assistant/core/pull/135635
+[#135636]: https://github.com/home-assistant/core/pull/135636
+[#135638]: https://github.com/home-assistant/core/pull/135638
+[#135645]: https://github.com/home-assistant/core/pull/135645
+[#135647]: https://github.com/home-assistant/core/pull/135647
+[#135649]: https://github.com/home-assistant/core/pull/135649
+[#135650]: https://github.com/home-assistant/core/pull/135650
+[#135653]: https://github.com/home-assistant/core/pull/135653
+[#135654]: https://github.com/home-assistant/core/pull/135654
+[#135658]: https://github.com/home-assistant/core/pull/135658
+[#135659]: https://github.com/home-assistant/core/pull/135659
+[#135660]: https://github.com/home-assistant/core/pull/135660
+[#135661]: https://github.com/home-assistant/core/pull/135661
+[#135662]: https://github.com/home-assistant/core/pull/135662
+[#135663]: https://github.com/home-assistant/core/pull/135663
+[#135667]: https://github.com/home-assistant/core/pull/135667
+[#135670]: https://github.com/home-assistant/core/pull/135670
+[#135672]: https://github.com/home-assistant/core/pull/135672
+[#135674]: https://github.com/home-assistant/core/pull/135674
+[#135676]: https://github.com/home-assistant/core/pull/135676
+[#135680]: https://github.com/home-assistant/core/pull/135680
+[#135681]: https://github.com/home-assistant/core/pull/135681
+[#135682]: https://github.com/home-assistant/core/pull/135682
+[#135685]: https://github.com/home-assistant/core/pull/135685
+[#135687]: https://github.com/home-assistant/core/pull/135687
+[#135688]: https://github.com/home-assistant/core/pull/135688
+[#135689]: https://github.com/home-assistant/core/pull/135689
+[#135690]: https://github.com/home-assistant/core/pull/135690
+[#135691]: https://github.com/home-assistant/core/pull/135691
+[#135692]: https://github.com/home-assistant/core/pull/135692
+[#135693]: https://github.com/home-assistant/core/pull/135693
+[#135694]: https://github.com/home-assistant/core/pull/135694
+[#135695]: https://github.com/home-assistant/core/pull/135695
+[#135696]: https://github.com/home-assistant/core/pull/135696
+[#135697]: https://github.com/home-assistant/core/pull/135697
+[#135698]: https://github.com/home-assistant/core/pull/135698
+[#135699]: https://github.com/home-assistant/core/pull/135699
+[#135700]: https://github.com/home-assistant/core/pull/135700
+[#135702]: https://github.com/home-assistant/core/pull/135702
+[#135703]: https://github.com/home-assistant/core/pull/135703
+[#135704]: https://github.com/home-assistant/core/pull/135704
+[#135705]: https://github.com/home-assistant/core/pull/135705
+[#135707]: https://github.com/home-assistant/core/pull/135707
+[#135708]: https://github.com/home-assistant/core/pull/135708
+[#135709]: https://github.com/home-assistant/core/pull/135709
+[#135711]: https://github.com/home-assistant/core/pull/135711
+[#135712]: https://github.com/home-assistant/core/pull/135712
+[#135714]: https://github.com/home-assistant/core/pull/135714
+[#135715]: https://github.com/home-assistant/core/pull/135715
+[#135716]: https://github.com/home-assistant/core/pull/135716
+[#135718]: https://github.com/home-assistant/core/pull/135718
+[#135719]: https://github.com/home-assistant/core/pull/135719
+[#135720]: https://github.com/home-assistant/core/pull/135720
+[#135721]: https://github.com/home-assistant/core/pull/135721
+[#135722]: https://github.com/home-assistant/core/pull/135722
+[#135723]: https://github.com/home-assistant/core/pull/135723
+[#135724]: https://github.com/home-assistant/core/pull/135724
+[#135725]: https://github.com/home-assistant/core/pull/135725
+[#135726]: https://github.com/home-assistant/core/pull/135726
+[#135727]: https://github.com/home-assistant/core/pull/135727
+[#135728]: https://github.com/home-assistant/core/pull/135728
+[#135729]: https://github.com/home-assistant/core/pull/135729
+[#135733]: https://github.com/home-assistant/core/pull/135733
+[#135734]: https://github.com/home-assistant/core/pull/135734
+[#135743]: https://github.com/home-assistant/core/pull/135743
+[#135746]: https://github.com/home-assistant/core/pull/135746
+[#135747]: https://github.com/home-assistant/core/pull/135747
+[#135749]: https://github.com/home-assistant/core/pull/135749
+[#135750]: https://github.com/home-assistant/core/pull/135750
+[#135751]: https://github.com/home-assistant/core/pull/135751
+[#135752]: https://github.com/home-assistant/core/pull/135752
+[#135757]: https://github.com/home-assistant/core/pull/135757
+[#135760]: https://github.com/home-assistant/core/pull/135760
+[#135762]: https://github.com/home-assistant/core/pull/135762
+[#135765]: https://github.com/home-assistant/core/pull/135765
+[#135767]: https://github.com/home-assistant/core/pull/135767
+[#135770]: https://github.com/home-assistant/core/pull/135770
+[#135773]: https://github.com/home-assistant/core/pull/135773
+[#135777]: https://github.com/home-assistant/core/pull/135777
+[#135778]: https://github.com/home-assistant/core/pull/135778
+[#135780]: https://github.com/home-assistant/core/pull/135780
+[#135781]: https://github.com/home-assistant/core/pull/135781
+[#135784]: https://github.com/home-assistant/core/pull/135784
+[#135786]: https://github.com/home-assistant/core/pull/135786
+[#135787]: https://github.com/home-assistant/core/pull/135787
+[#135788]: https://github.com/home-assistant/core/pull/135788
+[#135792]: https://github.com/home-assistant/core/pull/135792
+[#135795]: https://github.com/home-assistant/core/pull/135795
+[#135797]: https://github.com/home-assistant/core/pull/135797
+[#135798]: https://github.com/home-assistant/core/pull/135798
+[#135799]: https://github.com/home-assistant/core/pull/135799
+[#135800]: https://github.com/home-assistant/core/pull/135800
+[#135801]: https://github.com/home-assistant/core/pull/135801
+[#135802]: https://github.com/home-assistant/core/pull/135802
+[#135804]: https://github.com/home-assistant/core/pull/135804
+[#135805]: https://github.com/home-assistant/core/pull/135805
+[#135806]: https://github.com/home-assistant/core/pull/135806
+[#135807]: https://github.com/home-assistant/core/pull/135807
+[#135808]: https://github.com/home-assistant/core/pull/135808
+[#135809]: https://github.com/home-assistant/core/pull/135809
+[#135812]: https://github.com/home-assistant/core/pull/135812
+[#135815]: https://github.com/home-assistant/core/pull/135815
+[#135817]: https://github.com/home-assistant/core/pull/135817
+[#135818]: https://github.com/home-assistant/core/pull/135818
+[#135822]: https://github.com/home-assistant/core/pull/135822
+[#135825]: https://github.com/home-assistant/core/pull/135825
+[#135830]: https://github.com/home-assistant/core/pull/135830
+[#135832]: https://github.com/home-assistant/core/pull/135832
+[#135833]: https://github.com/home-assistant/core/pull/135833
+[#135835]: https://github.com/home-assistant/core/pull/135835
+[#135836]: https://github.com/home-assistant/core/pull/135836
+[#135838]: https://github.com/home-assistant/core/pull/135838
+[#135842]: https://github.com/home-assistant/core/pull/135842
+[#135846]: https://github.com/home-assistant/core/pull/135846
+[#135847]: https://github.com/home-assistant/core/pull/135847
+[#135852]: https://github.com/home-assistant/core/pull/135852
+[#135856]: https://github.com/home-assistant/core/pull/135856
+[#135858]: https://github.com/home-assistant/core/pull/135858
+[#135861]: https://github.com/home-assistant/core/pull/135861
+[#135869]: https://github.com/home-assistant/core/pull/135869
+[#135871]: https://github.com/home-assistant/core/pull/135871
+[#135872]: https://github.com/home-assistant/core/pull/135872
+[#135874]: https://github.com/home-assistant/core/pull/135874
+[#135875]: https://github.com/home-assistant/core/pull/135875
+[#135877]: https://github.com/home-assistant/core/pull/135877
+[#135878]: https://github.com/home-assistant/core/pull/135878
+[#135879]: https://github.com/home-assistant/core/pull/135879
+[#135882]: https://github.com/home-assistant/core/pull/135882
+[#135883]: https://github.com/home-assistant/core/pull/135883
+[#135886]: https://github.com/home-assistant/core/pull/135886
+[#135887]: https://github.com/home-assistant/core/pull/135887
+[#135889]: https://github.com/home-assistant/core/pull/135889
+[#135891]: https://github.com/home-assistant/core/pull/135891
+[#135896]: https://github.com/home-assistant/core/pull/135896
+[#135899]: https://github.com/home-assistant/core/pull/135899
+[#135901]: https://github.com/home-assistant/core/pull/135901
+[#135902]: https://github.com/home-assistant/core/pull/135902
+[#135903]: https://github.com/home-assistant/core/pull/135903
+[#135904]: https://github.com/home-assistant/core/pull/135904
+[#135905]: https://github.com/home-assistant/core/pull/135905
+[#135909]: https://github.com/home-assistant/core/pull/135909
+[#135910]: https://github.com/home-assistant/core/pull/135910
+[#135911]: https://github.com/home-assistant/core/pull/135911
+[#135913]: https://github.com/home-assistant/core/pull/135913
+[#135915]: https://github.com/home-assistant/core/pull/135915
+[#135917]: https://github.com/home-assistant/core/pull/135917
+[#135918]: https://github.com/home-assistant/core/pull/135918
+[#135919]: https://github.com/home-assistant/core/pull/135919
+[#135921]: https://github.com/home-assistant/core/pull/135921
+[#135927]: https://github.com/home-assistant/core/pull/135927
+[#135928]: https://github.com/home-assistant/core/pull/135928
+[#135929]: https://github.com/home-assistant/core/pull/135929
+[#135930]: https://github.com/home-assistant/core/pull/135930
+[#135932]: https://github.com/home-assistant/core/pull/135932
+[#135939]: https://github.com/home-assistant/core/pull/135939
+[#135940]: https://github.com/home-assistant/core/pull/135940
+[#135948]: https://github.com/home-assistant/core/pull/135948
+[#135949]: https://github.com/home-assistant/core/pull/135949
+[#135950]: https://github.com/home-assistant/core/pull/135950
+[#135953]: https://github.com/home-assistant/core/pull/135953
+[#135954]: https://github.com/home-assistant/core/pull/135954
+[#135957]: https://github.com/home-assistant/core/pull/135957
+[#135961]: https://github.com/home-assistant/core/pull/135961
+[#135962]: https://github.com/home-assistant/core/pull/135962
+[#135963]: https://github.com/home-assistant/core/pull/135963
+[#135974]: https://github.com/home-assistant/core/pull/135974
+[#135975]: https://github.com/home-assistant/core/pull/135975
+[#135978]: https://github.com/home-assistant/core/pull/135978
+[#135981]: https://github.com/home-assistant/core/pull/135981
+[#135982]: https://github.com/home-assistant/core/pull/135982
+[#135985]: https://github.com/home-assistant/core/pull/135985
+[#135986]: https://github.com/home-assistant/core/pull/135986
+[#135988]: https://github.com/home-assistant/core/pull/135988
+[#135990]: https://github.com/home-assistant/core/pull/135990
+[#135991]: https://github.com/home-assistant/core/pull/135991
+[#135992]: https://github.com/home-assistant/core/pull/135992
+[#135998]: https://github.com/home-assistant/core/pull/135998
+[#136000]: https://github.com/home-assistant/core/pull/136000
+[#136004]: https://github.com/home-assistant/core/pull/136004
+[#136006]: https://github.com/home-assistant/core/pull/136006
+[#136009]: https://github.com/home-assistant/core/pull/136009
+[#136012]: https://github.com/home-assistant/core/pull/136012
+[#136016]: https://github.com/home-assistant/core/pull/136016
+[#136020]: https://github.com/home-assistant/core/pull/136020
+[#136027]: https://github.com/home-assistant/core/pull/136027
+[#136037]: https://github.com/home-assistant/core/pull/136037
+[#136038]: https://github.com/home-assistant/core/pull/136038
+[#136040]: https://github.com/home-assistant/core/pull/136040
+[#136041]: https://github.com/home-assistant/core/pull/136041
+[#136042]: https://github.com/home-assistant/core/pull/136042
+[#136045]: https://github.com/home-assistant/core/pull/136045
+[#136048]: https://github.com/home-assistant/core/pull/136048
+[#136049]: https://github.com/home-assistant/core/pull/136049
+[#136051]: https://github.com/home-assistant/core/pull/136051
+[#136053]: https://github.com/home-assistant/core/pull/136053
+[#136057]: https://github.com/home-assistant/core/pull/136057
+[#136058]: https://github.com/home-assistant/core/pull/136058
+[#136062]: https://github.com/home-assistant/core/pull/136062
+[#136063]: https://github.com/home-assistant/core/pull/136063
+[#136064]: https://github.com/home-assistant/core/pull/136064
+[#136065]: https://github.com/home-assistant/core/pull/136065
+[#136067]: https://github.com/home-assistant/core/pull/136067
+[#136071]: https://github.com/home-assistant/core/pull/136071
+[#136078]: https://github.com/home-assistant/core/pull/136078
+[#136079]: https://github.com/home-assistant/core/pull/136079
+[#136082]: https://github.com/home-assistant/core/pull/136082
+[#136084]: https://github.com/home-assistant/core/pull/136084
+[#136085]: https://github.com/home-assistant/core/pull/136085
+[#136086]: https://github.com/home-assistant/core/pull/136086
+[#136088]: https://github.com/home-assistant/core/pull/136088
+[#136089]: https://github.com/home-assistant/core/pull/136089
+[#136090]: https://github.com/home-assistant/core/pull/136090
+[#136094]: https://github.com/home-assistant/core/pull/136094
+[#136096]: https://github.com/home-assistant/core/pull/136096
+[#136097]: https://github.com/home-assistant/core/pull/136097
+[#136099]: https://github.com/home-assistant/core/pull/136099
+[#136102]: https://github.com/home-assistant/core/pull/136102
+[#136104]: https://github.com/home-assistant/core/pull/136104
+[#136105]: https://github.com/home-assistant/core/pull/136105
+[#136106]: https://github.com/home-assistant/core/pull/136106
+[#136108]: https://github.com/home-assistant/core/pull/136108
+[#136110]: https://github.com/home-assistant/core/pull/136110
+[#136113]: https://github.com/home-assistant/core/pull/136113
+[#136114]: https://github.com/home-assistant/core/pull/136114
+[#136120]: https://github.com/home-assistant/core/pull/136120
+[#136123]: https://github.com/home-assistant/core/pull/136123
+[#136133]: https://github.com/home-assistant/core/pull/136133
+[#136134]: https://github.com/home-assistant/core/pull/136134
+[#136136]: https://github.com/home-assistant/core/pull/136136
+[#136140]: https://github.com/home-assistant/core/pull/136140
+[#136141]: https://github.com/home-assistant/core/pull/136141
+[#136142]: https://github.com/home-assistant/core/pull/136142
+[#136145]: https://github.com/home-assistant/core/pull/136145
+[#136146]: https://github.com/home-assistant/core/pull/136146
+[#136147]: https://github.com/home-assistant/core/pull/136147
+[#136148]: https://github.com/home-assistant/core/pull/136148
+[#136149]: https://github.com/home-assistant/core/pull/136149
+[#136150]: https://github.com/home-assistant/core/pull/136150
+[#136152]: https://github.com/home-assistant/core/pull/136152
+[#136153]: https://github.com/home-assistant/core/pull/136153
+[#136154]: https://github.com/home-assistant/core/pull/136154
+[#136155]: https://github.com/home-assistant/core/pull/136155
+[#136157]: https://github.com/home-assistant/core/pull/136157
+[#136159]: https://github.com/home-assistant/core/pull/136159
+[#136160]: https://github.com/home-assistant/core/pull/136160
+[#136164]: https://github.com/home-assistant/core/pull/136164
+[#136166]: https://github.com/home-assistant/core/pull/136166
+[#136169]: https://github.com/home-assistant/core/pull/136169
+[#136170]: https://github.com/home-assistant/core/pull/136170
+[#136172]: https://github.com/home-assistant/core/pull/136172
+[#136174]: https://github.com/home-assistant/core/pull/136174
+[#136177]: https://github.com/home-assistant/core/pull/136177
+[#136178]: https://github.com/home-assistant/core/pull/136178
+[#136180]: https://github.com/home-assistant/core/pull/136180
+[#136188]: https://github.com/home-assistant/core/pull/136188
+[#136190]: https://github.com/home-assistant/core/pull/136190
+[#136191]: https://github.com/home-assistant/core/pull/136191
+[#136194]: https://github.com/home-assistant/core/pull/136194
+[#136195]: https://github.com/home-assistant/core/pull/136195
+[#136196]: https://github.com/home-assistant/core/pull/136196
+[#136197]: https://github.com/home-assistant/core/pull/136197
+[#136198]: https://github.com/home-assistant/core/pull/136198
+[#136199]: https://github.com/home-assistant/core/pull/136199
+[#136200]: https://github.com/home-assistant/core/pull/136200
+[#136201]: https://github.com/home-assistant/core/pull/136201
+[#136202]: https://github.com/home-assistant/core/pull/136202
+[#136203]: https://github.com/home-assistant/core/pull/136203
+[#136205]: https://github.com/home-assistant/core/pull/136205
+[#136206]: https://github.com/home-assistant/core/pull/136206
+[#136210]: https://github.com/home-assistant/core/pull/136210
+[#136211]: https://github.com/home-assistant/core/pull/136211
+[#136212]: https://github.com/home-assistant/core/pull/136212
+[#136213]: https://github.com/home-assistant/core/pull/136213
+[#136214]: https://github.com/home-assistant/core/pull/136214
+[#136215]: https://github.com/home-assistant/core/pull/136215
+[#136220]: https://github.com/home-assistant/core/pull/136220
+[#136221]: https://github.com/home-assistant/core/pull/136221
+[#136225]: https://github.com/home-assistant/core/pull/136225
+[#136228]: https://github.com/home-assistant/core/pull/136228
+[#136230]: https://github.com/home-assistant/core/pull/136230
+[#136231]: https://github.com/home-assistant/core/pull/136231
+[#136233]: https://github.com/home-assistant/core/pull/136233
+[#136235]: https://github.com/home-assistant/core/pull/136235
+[#136241]: https://github.com/home-assistant/core/pull/136241
+[#136243]: https://github.com/home-assistant/core/pull/136243
+[#136247]: https://github.com/home-assistant/core/pull/136247
+[#136248]: https://github.com/home-assistant/core/pull/136248
+[#136251]: https://github.com/home-assistant/core/pull/136251
+[#136253]: https://github.com/home-assistant/core/pull/136253
+[#136258]: https://github.com/home-assistant/core/pull/136258
+[#136259]: https://github.com/home-assistant/core/pull/136259
+[#136260]: https://github.com/home-assistant/core/pull/136260
+[#136261]: https://github.com/home-assistant/core/pull/136261
+[#136265]: https://github.com/home-assistant/core/pull/136265
+[#136267]: https://github.com/home-assistant/core/pull/136267
+[#136270]: https://github.com/home-assistant/core/pull/136270
+[#136271]: https://github.com/home-assistant/core/pull/136271
+[#136277]: https://github.com/home-assistant/core/pull/136277
+[#136279]: https://github.com/home-assistant/core/pull/136279
+[#136280]: https://github.com/home-assistant/core/pull/136280
+[#136281]: https://github.com/home-assistant/core/pull/136281
+[#136282]: https://github.com/home-assistant/core/pull/136282
+[#136283]: https://github.com/home-assistant/core/pull/136283
+[#136285]: https://github.com/home-assistant/core/pull/136285
+[#136287]: https://github.com/home-assistant/core/pull/136287
+[#136289]: https://github.com/home-assistant/core/pull/136289
+[#136290]: https://github.com/home-assistant/core/pull/136290
+[#136291]: https://github.com/home-assistant/core/pull/136291
+[#136292]: https://github.com/home-assistant/core/pull/136292
+[#136294]: https://github.com/home-assistant/core/pull/136294
+[#136299]: https://github.com/home-assistant/core/pull/136299
+[#136300]: https://github.com/home-assistant/core/pull/136300
+[#136301]: https://github.com/home-assistant/core/pull/136301
+[#136302]: https://github.com/home-assistant/core/pull/136302
+[#136303]: https://github.com/home-assistant/core/pull/136303
+[#136304]: https://github.com/home-assistant/core/pull/136304
+[#136306]: https://github.com/home-assistant/core/pull/136306
+[#136307]: https://github.com/home-assistant/core/pull/136307
+[#136308]: https://github.com/home-assistant/core/pull/136308
+[#136309]: https://github.com/home-assistant/core/pull/136309
+[#136312]: https://github.com/home-assistant/core/pull/136312
+[#136313]: https://github.com/home-assistant/core/pull/136313
+[#136314]: https://github.com/home-assistant/core/pull/136314
+[#136316]: https://github.com/home-assistant/core/pull/136316
+[#136317]: https://github.com/home-assistant/core/pull/136317
+[#136318]: https://github.com/home-assistant/core/pull/136318
+[#136322]: https://github.com/home-assistant/core/pull/136322
+[#136323]: https://github.com/home-assistant/core/pull/136323
+[#136324]: https://github.com/home-assistant/core/pull/136324
+[#136327]: https://github.com/home-assistant/core/pull/136327
+[#136335]: https://github.com/home-assistant/core/pull/136335
+[#136336]: https://github.com/home-assistant/core/pull/136336
+[#136338]: https://github.com/home-assistant/core/pull/136338
+[#136343]: https://github.com/home-assistant/core/pull/136343
+[#136349]: https://github.com/home-assistant/core/pull/136349
+[#136354]: https://github.com/home-assistant/core/pull/136354
+[#136356]: https://github.com/home-assistant/core/pull/136356
+[#136357]: https://github.com/home-assistant/core/pull/136357
+[#136358]: https://github.com/home-assistant/core/pull/136358
+[#136360]: https://github.com/home-assistant/core/pull/136360
+[#136363]: https://github.com/home-assistant/core/pull/136363
+[#136365]: https://github.com/home-assistant/core/pull/136365
+[#136374]: https://github.com/home-assistant/core/pull/136374
+[#136376]: https://github.com/home-assistant/core/pull/136376
+[#136377]: https://github.com/home-assistant/core/pull/136377
+[#136378]: https://github.com/home-assistant/core/pull/136378
+[#136379]: https://github.com/home-assistant/core/pull/136379
+[#136380]: https://github.com/home-assistant/core/pull/136380
+[#136381]: https://github.com/home-assistant/core/pull/136381
+[#136382]: https://github.com/home-assistant/core/pull/136382
+[#136384]: https://github.com/home-assistant/core/pull/136384
+[#136386]: https://github.com/home-assistant/core/pull/136386
+[#136389]: https://github.com/home-assistant/core/pull/136389
+[#136397]: https://github.com/home-assistant/core/pull/136397
+[#136398]: https://github.com/home-assistant/core/pull/136398
+[#136401]: https://github.com/home-assistant/core/pull/136401
+[#136402]: https://github.com/home-assistant/core/pull/136402
+[#136403]: https://github.com/home-assistant/core/pull/136403
+[#136405]: https://github.com/home-assistant/core/pull/136405
+[#136406]: https://github.com/home-assistant/core/pull/136406
+[#136409]: https://github.com/home-assistant/core/pull/136409
+[#136410]: https://github.com/home-assistant/core/pull/136410
+[#136411]: https://github.com/home-assistant/core/pull/136411
+[#136412]: https://github.com/home-assistant/core/pull/136412
+[#136413]: https://github.com/home-assistant/core/pull/136413
+[#136414]: https://github.com/home-assistant/core/pull/136414
+[#136416]: https://github.com/home-assistant/core/pull/136416
+[#136418]: https://github.com/home-assistant/core/pull/136418
+[#136421]: https://github.com/home-assistant/core/pull/136421
+[#136422]: https://github.com/home-assistant/core/pull/136422
+[#136424]: https://github.com/home-assistant/core/pull/136424
+[#136426]: https://github.com/home-assistant/core/pull/136426
+[#136430]: https://github.com/home-assistant/core/pull/136430
+[#136432]: https://github.com/home-assistant/core/pull/136432
+[#136433]: https://github.com/home-assistant/core/pull/136433
+[#136434]: https://github.com/home-assistant/core/pull/136434
+[#136435]: https://github.com/home-assistant/core/pull/136435
+[#136437]: https://github.com/home-assistant/core/pull/136437
+[#136438]: https://github.com/home-assistant/core/pull/136438
+[#136440]: https://github.com/home-assistant/core/pull/136440
+[#136441]: https://github.com/home-assistant/core/pull/136441
+[#136442]: https://github.com/home-assistant/core/pull/136442
+[#136443]: https://github.com/home-assistant/core/pull/136443
+[#136444]: https://github.com/home-assistant/core/pull/136444
+[#136445]: https://github.com/home-assistant/core/pull/136445
+[#136446]: https://github.com/home-assistant/core/pull/136446
+[#136448]: https://github.com/home-assistant/core/pull/136448
+[#136453]: https://github.com/home-assistant/core/pull/136453
+[#136456]: https://github.com/home-assistant/core/pull/136456
+[#136457]: https://github.com/home-assistant/core/pull/136457
+[#136461]: https://github.com/home-assistant/core/pull/136461
+[#136462]: https://github.com/home-assistant/core/pull/136462
+[#136464]: https://github.com/home-assistant/core/pull/136464
+[#136465]: https://github.com/home-assistant/core/pull/136465
+[#136467]: https://github.com/home-assistant/core/pull/136467
+[#136470]: https://github.com/home-assistant/core/pull/136470
+[#136475]: https://github.com/home-assistant/core/pull/136475
+[#136481]: https://github.com/home-assistant/core/pull/136481
+[#136483]: https://github.com/home-assistant/core/pull/136483
+[#136484]: https://github.com/home-assistant/core/pull/136484
+[#136485]: https://github.com/home-assistant/core/pull/136485
+[#136486]: https://github.com/home-assistant/core/pull/136486
+[#136487]: https://github.com/home-assistant/core/pull/136487
+[#136488]: https://github.com/home-assistant/core/pull/136488
+[#136489]: https://github.com/home-assistant/core/pull/136489
+[#136490]: https://github.com/home-assistant/core/pull/136490
+[#136491]: https://github.com/home-assistant/core/pull/136491
+[#136492]: https://github.com/home-assistant/core/pull/136492
+[#136493]: https://github.com/home-assistant/core/pull/136493
+[#136496]: https://github.com/home-assistant/core/pull/136496
+[#136497]: https://github.com/home-assistant/core/pull/136497
+[#136504]: https://github.com/home-assistant/core/pull/136504
+[#136505]: https://github.com/home-assistant/core/pull/136505
+[#136506]: https://github.com/home-assistant/core/pull/136506
+[#136510]: https://github.com/home-assistant/core/pull/136510
+[#136511]: https://github.com/home-assistant/core/pull/136511
+[#136514]: https://github.com/home-assistant/core/pull/136514
+[#136516]: https://github.com/home-assistant/core/pull/136516
+[#136521]: https://github.com/home-assistant/core/pull/136521
+[#136522]: https://github.com/home-assistant/core/pull/136522
+[#136523]: https://github.com/home-assistant/core/pull/136523
+[#136524]: https://github.com/home-assistant/core/pull/136524
+[#136528]: https://github.com/home-assistant/core/pull/136528
+[#136529]: https://github.com/home-assistant/core/pull/136529
+[#136533]: https://github.com/home-assistant/core/pull/136533
+[#136536]: https://github.com/home-assistant/core/pull/136536
+[#136538]: https://github.com/home-assistant/core/pull/136538
+[#136539]: https://github.com/home-assistant/core/pull/136539
+[#136544]: https://github.com/home-assistant/core/pull/136544
+[#136546]: https://github.com/home-assistant/core/pull/136546
+[#136547]: https://github.com/home-assistant/core/pull/136547
+[#136549]: https://github.com/home-assistant/core/pull/136549
+[#136555]: https://github.com/home-assistant/core/pull/136555
+[#136561]: https://github.com/home-assistant/core/pull/136561
+[#136562]: https://github.com/home-assistant/core/pull/136562
+[#136563]: https://github.com/home-assistant/core/pull/136563
+[#136566]: https://github.com/home-assistant/core/pull/136566
+[#136567]: https://github.com/home-assistant/core/pull/136567
+[#136569]: https://github.com/home-assistant/core/pull/136569
+[#136570]: https://github.com/home-assistant/core/pull/136570
+[#136572]: https://github.com/home-assistant/core/pull/136572
+[#136573]: https://github.com/home-assistant/core/pull/136573
+[#136576]: https://github.com/home-assistant/core/pull/136576
+[#136577]: https://github.com/home-assistant/core/pull/136577
+[#136578]: https://github.com/home-assistant/core/pull/136578
+[#136580]: https://github.com/home-assistant/core/pull/136580
+[#136581]: https://github.com/home-assistant/core/pull/136581
+[#136583]: https://github.com/home-assistant/core/pull/136583
+[#136585]: https://github.com/home-assistant/core/pull/136585
+[#136586]: https://github.com/home-assistant/core/pull/136586
+[#136587]: https://github.com/home-assistant/core/pull/136587
+[#136589]: https://github.com/home-assistant/core/pull/136589
+[#136590]: https://github.com/home-assistant/core/pull/136590
+[#136591]: https://github.com/home-assistant/core/pull/136591
+[#136593]: https://github.com/home-assistant/core/pull/136593
+[#136596]: https://github.com/home-assistant/core/pull/136596
+[#136601]: https://github.com/home-assistant/core/pull/136601
+[#136602]: https://github.com/home-assistant/core/pull/136602
+[#136604]: https://github.com/home-assistant/core/pull/136604
+[#136609]: https://github.com/home-assistant/core/pull/136609
+[#136611]: https://github.com/home-assistant/core/pull/136611
+[#136612]: https://github.com/home-assistant/core/pull/136612
+[#136613]: https://github.com/home-assistant/core/pull/136613
+[#136614]: https://github.com/home-assistant/core/pull/136614
+[#136617]: https://github.com/home-assistant/core/pull/136617
+[#136618]: https://github.com/home-assistant/core/pull/136618
+[#136619]: https://github.com/home-assistant/core/pull/136619
+[#136621]: https://github.com/home-assistant/core/pull/136621
+[#136622]: https://github.com/home-assistant/core/pull/136622
+[#136625]: https://github.com/home-assistant/core/pull/136625
+[#136626]: https://github.com/home-assistant/core/pull/136626
+[#136627]: https://github.com/home-assistant/core/pull/136627
+[#136629]: https://github.com/home-assistant/core/pull/136629
+[#136631]: https://github.com/home-assistant/core/pull/136631
+[#136632]: https://github.com/home-assistant/core/pull/136632
+[#136633]: https://github.com/home-assistant/core/pull/136633
+[#136635]: https://github.com/home-assistant/core/pull/136635
+[#136639]: https://github.com/home-assistant/core/pull/136639
+[#136642]: https://github.com/home-assistant/core/pull/136642
+[#136643]: https://github.com/home-assistant/core/pull/136643
+[#136644]: https://github.com/home-assistant/core/pull/136644
+[#136645]: https://github.com/home-assistant/core/pull/136645
+[#136648]: https://github.com/home-assistant/core/pull/136648
+[#136649]: https://github.com/home-assistant/core/pull/136649
+[#136651]: https://github.com/home-assistant/core/pull/136651
+[#136652]: https://github.com/home-assistant/core/pull/136652
+[#136657]: https://github.com/home-assistant/core/pull/136657
+[#136658]: https://github.com/home-assistant/core/pull/136658
+[#136661]: https://github.com/home-assistant/core/pull/136661
+[#136663]: https://github.com/home-assistant/core/pull/136663
+[#136666]: https://github.com/home-assistant/core/pull/136666
+[#136668]: https://github.com/home-assistant/core/pull/136668
+[#136676]: https://github.com/home-assistant/core/pull/136676
+[#136679]: https://github.com/home-assistant/core/pull/136679
+[#136680]: https://github.com/home-assistant/core/pull/136680
+[#136684]: https://github.com/home-assistant/core/pull/136684
+[#136685]: https://github.com/home-assistant/core/pull/136685
+[#136686]: https://github.com/home-assistant/core/pull/136686
+[#136688]: https://github.com/home-assistant/core/pull/136688
+[#136689]: https://github.com/home-assistant/core/pull/136689
+[#136690]: https://github.com/home-assistant/core/pull/136690
+[#136691]: https://github.com/home-assistant/core/pull/136691
+[#136693]: https://github.com/home-assistant/core/pull/136693
+[#136694]: https://github.com/home-assistant/core/pull/136694
+[#136696]: https://github.com/home-assistant/core/pull/136696
+[#136697]: https://github.com/home-assistant/core/pull/136697
+[#136699]: https://github.com/home-assistant/core/pull/136699
+[#136701]: https://github.com/home-assistant/core/pull/136701
+[#136702]: https://github.com/home-assistant/core/pull/136702
+[#136703]: https://github.com/home-assistant/core/pull/136703
+[#136704]: https://github.com/home-assistant/core/pull/136704
+[#136705]: https://github.com/home-assistant/core/pull/136705
+[#136706]: https://github.com/home-assistant/core/pull/136706
+[#136707]: https://github.com/home-assistant/core/pull/136707
+[#136708]: https://github.com/home-assistant/core/pull/136708
+[#136709]: https://github.com/home-assistant/core/pull/136709
+[#136712]: https://github.com/home-assistant/core/pull/136712
+[#136717]: https://github.com/home-assistant/core/pull/136717
+[#136718]: https://github.com/home-assistant/core/pull/136718
+[#136719]: https://github.com/home-assistant/core/pull/136719
+[#136723]: https://github.com/home-assistant/core/pull/136723
+[#136727]: https://github.com/home-assistant/core/pull/136727
+[#136730]: https://github.com/home-assistant/core/pull/136730
+[#136731]: https://github.com/home-assistant/core/pull/136731
+[#136732]: https://github.com/home-assistant/core/pull/136732
+[#136733]: https://github.com/home-assistant/core/pull/136733
+[#136734]: https://github.com/home-assistant/core/pull/136734
+[#136735]: https://github.com/home-assistant/core/pull/136735
+[#136736]: https://github.com/home-assistant/core/pull/136736
+[#136738]: https://github.com/home-assistant/core/pull/136738
+[#136739]: https://github.com/home-assistant/core/pull/136739
+[#136741]: https://github.com/home-assistant/core/pull/136741
+[#136743]: https://github.com/home-assistant/core/pull/136743
+[#136744]: https://github.com/home-assistant/core/pull/136744
+[#136745]: https://github.com/home-assistant/core/pull/136745
+[#136748]: https://github.com/home-assistant/core/pull/136748
+[#136749]: https://github.com/home-assistant/core/pull/136749
+[#136750]: https://github.com/home-assistant/core/pull/136750
+[#136751]: https://github.com/home-assistant/core/pull/136751
+[#136752]: https://github.com/home-assistant/core/pull/136752
+[#136753]: https://github.com/home-assistant/core/pull/136753
+[#136759]: https://github.com/home-assistant/core/pull/136759
+[#136762]: https://github.com/home-assistant/core/pull/136762
+[#136763]: https://github.com/home-assistant/core/pull/136763
+[#136764]: https://github.com/home-assistant/core/pull/136764
+[#136765]: https://github.com/home-assistant/core/pull/136765
+[#136766]: https://github.com/home-assistant/core/pull/136766
+[#136767]: https://github.com/home-assistant/core/pull/136767
+[#136769]: https://github.com/home-assistant/core/pull/136769
+[#136770]: https://github.com/home-assistant/core/pull/136770
+[#136772]: https://github.com/home-assistant/core/pull/136772
+[#136773]: https://github.com/home-assistant/core/pull/136773
+[#136774]: https://github.com/home-assistant/core/pull/136774
+[#136775]: https://github.com/home-assistant/core/pull/136775
+[#136777]: https://github.com/home-assistant/core/pull/136777
+[#136779]: https://github.com/home-assistant/core/pull/136779
+[#136780]: https://github.com/home-assistant/core/pull/136780
+[#136781]: https://github.com/home-assistant/core/pull/136781
+[#136782]: https://github.com/home-assistant/core/pull/136782
+[#136784]: https://github.com/home-assistant/core/pull/136784
+[#136785]: https://github.com/home-assistant/core/pull/136785
+[#136786]: https://github.com/home-assistant/core/pull/136786
+[#136787]: https://github.com/home-assistant/core/pull/136787
+[#136791]: https://github.com/home-assistant/core/pull/136791
+[#136793]: https://github.com/home-assistant/core/pull/136793
+[#136794]: https://github.com/home-assistant/core/pull/136794
+[#136795]: https://github.com/home-assistant/core/pull/136795
+[#136797]: https://github.com/home-assistant/core/pull/136797
+[#136798]: https://github.com/home-assistant/core/pull/136798
+[#136799]: https://github.com/home-assistant/core/pull/136799
+[#136801]: https://github.com/home-assistant/core/pull/136801
+[#136803]: https://github.com/home-assistant/core/pull/136803
+[#136805]: https://github.com/home-assistant/core/pull/136805
+[#136806]: https://github.com/home-assistant/core/pull/136806
+[#136807]: https://github.com/home-assistant/core/pull/136807
+[#136810]: https://github.com/home-assistant/core/pull/136810
+[#136811]: https://github.com/home-assistant/core/pull/136811
+[#136813]: https://github.com/home-assistant/core/pull/136813
+[#136814]: https://github.com/home-assistant/core/pull/136814
+[#136816]: https://github.com/home-assistant/core/pull/136816
+[#136817]: https://github.com/home-assistant/core/pull/136817
+[#136818]: https://github.com/home-assistant/core/pull/136818
+[#136819]: https://github.com/home-assistant/core/pull/136819
+[#136821]: https://github.com/home-assistant/core/pull/136821
+[#136823]: https://github.com/home-assistant/core/pull/136823
+[#136824]: https://github.com/home-assistant/core/pull/136824
+[#136825]: https://github.com/home-assistant/core/pull/136825
+[#136826]: https://github.com/home-assistant/core/pull/136826
+[#136827]: https://github.com/home-assistant/core/pull/136827
+[#136828]: https://github.com/home-assistant/core/pull/136828
+[#136829]: https://github.com/home-assistant/core/pull/136829
+[#136830]: https://github.com/home-assistant/core/pull/136830
+[#136831]: https://github.com/home-assistant/core/pull/136831
+[#136832]: https://github.com/home-assistant/core/pull/136832
+[#136833]: https://github.com/home-assistant/core/pull/136833
+[#136834]: https://github.com/home-assistant/core/pull/136834
+[#136835]: https://github.com/home-assistant/core/pull/136835
+[#136836]: https://github.com/home-assistant/core/pull/136836
+[#136838]: https://github.com/home-assistant/core/pull/136838
+[#136842]: https://github.com/home-assistant/core/pull/136842
+[#136843]: https://github.com/home-assistant/core/pull/136843
+[#136844]: https://github.com/home-assistant/core/pull/136844
+[#136845]: https://github.com/home-assistant/core/pull/136845
+[#136850]: https://github.com/home-assistant/core/pull/136850
+[#136851]: https://github.com/home-assistant/core/pull/136851
+[#136852]: https://github.com/home-assistant/core/pull/136852
+[#136854]: https://github.com/home-assistant/core/pull/136854
+[#136856]: https://github.com/home-assistant/core/pull/136856
+[#136857]: https://github.com/home-assistant/core/pull/136857
+[#136858]: https://github.com/home-assistant/core/pull/136858
+[#136861]: https://github.com/home-assistant/core/pull/136861
+[#136862]: https://github.com/home-assistant/core/pull/136862
+[#136870]: https://github.com/home-assistant/core/pull/136870
+[#136872]: https://github.com/home-assistant/core/pull/136872
+[#136883]: https://github.com/home-assistant/core/pull/136883
+[#136884]: https://github.com/home-assistant/core/pull/136884
+[#136888]: https://github.com/home-assistant/core/pull/136888
+[#136889]: https://github.com/home-assistant/core/pull/136889
+[#136891]: https://github.com/home-assistant/core/pull/136891
+[#136892]: https://github.com/home-assistant/core/pull/136892
+[#136893]: https://github.com/home-assistant/core/pull/136893
+[#136898]: https://github.com/home-assistant/core/pull/136898
+[#136906]: https://github.com/home-assistant/core/pull/136906
+[#136907]: https://github.com/home-assistant/core/pull/136907
+[#136910]: https://github.com/home-assistant/core/pull/136910
+[#136911]: https://github.com/home-assistant/core/pull/136911
+[#136912]: https://github.com/home-assistant/core/pull/136912
+[#136913]: https://github.com/home-assistant/core/pull/136913
+[#136916]: https://github.com/home-assistant/core/pull/136916
+[#136925]: https://github.com/home-assistant/core/pull/136925
+[#136926]: https://github.com/home-assistant/core/pull/136926
+[#136927]: https://github.com/home-assistant/core/pull/136927
+[#136928]: https://github.com/home-assistant/core/pull/136928
+[#136929]: https://github.com/home-assistant/core/pull/136929
+[#136930]: https://github.com/home-assistant/core/pull/136930
+[#136931]: https://github.com/home-assistant/core/pull/136931
+[#136932]: https://github.com/home-assistant/core/pull/136932
+[#136937]: https://github.com/home-assistant/core/pull/136937
+[#136940]: https://github.com/home-assistant/core/pull/136940
+[#136942]: https://github.com/home-assistant/core/pull/136942
+[#136954]: https://github.com/home-assistant/core/pull/136954
+[#136958]: https://github.com/home-assistant/core/pull/136958
+[#136973]: https://github.com/home-assistant/core/pull/136973
+[#136977]: https://github.com/home-assistant/core/pull/136977
+[#136980]: https://github.com/home-assistant/core/pull/136980
+[#136982]: https://github.com/home-assistant/core/pull/136982
+[#136990]: https://github.com/home-assistant/core/pull/136990
+[#136995]: https://github.com/home-assistant/core/pull/136995
+[#136997]: https://github.com/home-assistant/core/pull/136997
+[#136998]: https://github.com/home-assistant/core/pull/136998
+[#137001]: https://github.com/home-assistant/core/pull/137001
+[#137010]: https://github.com/home-assistant/core/pull/137010
+[#137018]: https://github.com/home-assistant/core/pull/137018
+[#137020]: https://github.com/home-assistant/core/pull/137020
+[#137022]: https://github.com/home-assistant/core/pull/137022
+[#137024]: https://github.com/home-assistant/core/pull/137024
+[#137025]: https://github.com/home-assistant/core/pull/137025
+[#137028]: https://github.com/home-assistant/core/pull/137028
+[#137030]: https://github.com/home-assistant/core/pull/137030
+[#137031]: https://github.com/home-assistant/core/pull/137031
+[#137032]: https://github.com/home-assistant/core/pull/137032
+[#137035]: https://github.com/home-assistant/core/pull/137035
+[#137036]: https://github.com/home-assistant/core/pull/137036
+[#137040]: https://github.com/home-assistant/core/pull/137040
+[#137045]: https://github.com/home-assistant/core/pull/137045
+[#137049]: https://github.com/home-assistant/core/pull/137049
+[#137051]: https://github.com/home-assistant/core/pull/137051
+[#137052]: https://github.com/home-assistant/core/pull/137052
+[#137056]: https://github.com/home-assistant/core/pull/137056
+[#137058]: https://github.com/home-assistant/core/pull/137058
+[#137061]: https://github.com/home-assistant/core/pull/137061
+[#137063]: https://github.com/home-assistant/core/pull/137063
+[#137064]: https://github.com/home-assistant/core/pull/137064
+[#137067]: https://github.com/home-assistant/core/pull/137067
+[#137075]: https://github.com/home-assistant/core/pull/137075
+[#137091]: https://github.com/home-assistant/core/pull/137091
+[#137102]: https://github.com/home-assistant/core/pull/137102
+[#137103]: https://github.com/home-assistant/core/pull/137103
+[#137104]: https://github.com/home-assistant/core/pull/137104
+[#137105]: https://github.com/home-assistant/core/pull/137105
+[#137106]: https://github.com/home-assistant/core/pull/137106
+[#137107]: https://github.com/home-assistant/core/pull/137107
+[#137109]: https://github.com/home-assistant/core/pull/137109
+[#137110]: https://github.com/home-assistant/core/pull/137110
+[#137111]: https://github.com/home-assistant/core/pull/137111
+[#137113]: https://github.com/home-assistant/core/pull/137113
+[#137115]: https://github.com/home-assistant/core/pull/137115
+[#137121]: https://github.com/home-assistant/core/pull/137121
+[#137123]: https://github.com/home-assistant/core/pull/137123
+[#137126]: https://github.com/home-assistant/core/pull/137126
+[#137129]: https://github.com/home-assistant/core/pull/137129
+[#137132]: https://github.com/home-assistant/core/pull/137132
+[#137133]: https://github.com/home-assistant/core/pull/137133
+[#137136]: https://github.com/home-assistant/core/pull/137136
+[#137137]: https://github.com/home-assistant/core/pull/137137
+[#137147]: https://github.com/home-assistant/core/pull/137147
+[#137148]: https://github.com/home-assistant/core/pull/137148
+[#137151]: https://github.com/home-assistant/core/pull/137151
+[#137158]: https://github.com/home-assistant/core/pull/137158
+[#137168]: https://github.com/home-assistant/core/pull/137168
+[#137169]: https://github.com/home-assistant/core/pull/137169
+[#137173]: https://github.com/home-assistant/core/pull/137173
+[#137176]: https://github.com/home-assistant/core/pull/137176
+[#137180]: https://github.com/home-assistant/core/pull/137180
+[#137188]: https://github.com/home-assistant/core/pull/137188
+[#137199]: https://github.com/home-assistant/core/pull/137199
+[#137204]: https://github.com/home-assistant/core/pull/137204
+[#137205]: https://github.com/home-assistant/core/pull/137205
+[#137206]: https://github.com/home-assistant/core/pull/137206
+[#137208]: https://github.com/home-assistant/core/pull/137208
+[#137217]: https://github.com/home-assistant/core/pull/137217
+[#137220]: https://github.com/home-assistant/core/pull/137220
+[#137230]: https://github.com/home-assistant/core/pull/137230
+[#137239]: https://github.com/home-assistant/core/pull/137239
+[#137244]: https://github.com/home-assistant/core/pull/137244
+[#137252]: https://github.com/home-assistant/core/pull/137252
+[#137253]: https://github.com/home-assistant/core/pull/137253
+[#137257]: https://github.com/home-assistant/core/pull/137257
+[#137261]: https://github.com/home-assistant/core/pull/137261
+[#137263]: https://github.com/home-assistant/core/pull/137263
+[#137264]: https://github.com/home-assistant/core/pull/137264
+[#137278]: https://github.com/home-assistant/core/pull/137278
+[#137295]: https://github.com/home-assistant/core/pull/137295
+[#137296]: https://github.com/home-assistant/core/pull/137296
+[#137299]: https://github.com/home-assistant/core/pull/137299
+[#137301]: https://github.com/home-assistant/core/pull/137301
+[#137303]: https://github.com/home-assistant/core/pull/137303
+[#137309]: https://github.com/home-assistant/core/pull/137309
+[#137313]: https://github.com/home-assistant/core/pull/137313
+[#137315]: https://github.com/home-assistant/core/pull/137315
+[#137324]: https://github.com/home-assistant/core/pull/137324
+[#137330]: https://github.com/home-assistant/core/pull/137330
+[#137331]: https://github.com/home-assistant/core/pull/137331
+[#137334]: https://github.com/home-assistant/core/pull/137334
+[#137337]: https://github.com/home-assistant/core/pull/137337
+[#137338]: https://github.com/home-assistant/core/pull/137338
+[#137340]: https://github.com/home-assistant/core/pull/137340
+[#137342]: https://github.com/home-assistant/core/pull/137342
+[#137343]: https://github.com/home-assistant/core/pull/137343
+[#137346]: https://github.com/home-assistant/core/pull/137346
+[#137347]: https://github.com/home-assistant/core/pull/137347
+[#137353]: https://github.com/home-assistant/core/pull/137353
+[#137355]: https://github.com/home-assistant/core/pull/137355
+[#137359]: https://github.com/home-assistant/core/pull/137359
+[#137360]: https://github.com/home-assistant/core/pull/137360
+[#137361]: https://github.com/home-assistant/core/pull/137361
+[#137364]: https://github.com/home-assistant/core/pull/137364
+[#137369]: https://github.com/home-assistant/core/pull/137369
+[#137373]: https://github.com/home-assistant/core/pull/137373
+[#137374]: https://github.com/home-assistant/core/pull/137374
+[#137379]: https://github.com/home-assistant/core/pull/137379
+[#137390]: https://github.com/home-assistant/core/pull/137390
+[#137393]: https://github.com/home-assistant/core/pull/137393
+[#137402]: https://github.com/home-assistant/core/pull/137402
+[#137409]: https://github.com/home-assistant/core/pull/137409
+[#137420]: https://github.com/home-assistant/core/pull/137420
+[#137423]: https://github.com/home-assistant/core/pull/137423
+[#137424]: https://github.com/home-assistant/core/pull/137424
+[#137430]: https://github.com/home-assistant/core/pull/137430
+[#137437]: https://github.com/home-assistant/core/pull/137437
+[#137440]: https://github.com/home-assistant/core/pull/137440
+[#137441]: https://github.com/home-assistant/core/pull/137441
+[#137446]: https://github.com/home-assistant/core/pull/137446
+[@Anonym-tsk]: https://github.com/Anonym-tsk
+[@Bre77]: https://github.com/Bre77
+[@CFenner]: https://github.com/CFenner
+[@CoMPaTech]: https://github.com/CoMPaTech
+[@DCSBL]: https://github.com/DCSBL
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@Diegorro98]: https://github.com/Diegorro98
+[@Djelibeybi]: https://github.com/Djelibeybi
+[@DrDonoso]: https://github.com/DrDonoso
+[@EliSchleifer]: https://github.com/EliSchleifer
+[@Ernst79]: https://github.com/Ernst79
+[@G-Two]: https://github.com/G-Two
+[@GlennReilly]: https://github.com/GlennReilly
+[@IceBotYT]: https://github.com/IceBotYT
+[@IgnusG]: https://github.com/IgnusG
+[@Ik-12]: https://github.com/Ik-12
+[@KapJI]: https://github.com/KapJI
+[@LG-ThinQ-Integration]: https://github.com/LG-ThinQ-Integration
+[@LaStrada]: https://github.com/LaStrada
+[@Lash-L]: https://github.com/Lash-L
+[@LouisChrist]: https://github.com/LouisChrist
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@Master-Guy]: https://github.com/Master-Guy
+[@MatthiasLohr]: https://github.com/MatthiasLohr
+[@N3rdix]: https://github.com/N3rdix
+[@NoRi2909]: https://github.com/NoRi2909
+[@Noltari]: https://github.com/Noltari
+[@PaulSD]: https://github.com/PaulSD
+[@PeteRager]: https://github.com/PeteRager
+[@Petro31]: https://github.com/Petro31
+[@PoppyPop]: https://github.com/PoppyPop
+[@Qbus-iot]: https://github.com/Qbus-iot
+[@RBaragona]: https://github.com/RBaragona
+[@RJPoelstra]: https://github.com/RJPoelstra
+[@RaHehl]: https://github.com/RaHehl
+[@RunC0deRun]: https://github.com/RunC0deRun
+[@SeraphicRav]: https://github.com/SeraphicRav
+[@Shulyaka]: https://github.com/Shulyaka
+[@Shutgun]: https://github.com/Shutgun
+[@SparkyDan555]: https://github.com/SparkyDan555
+[@Splint77]: https://github.com/Splint77
+[@StevenLooman]: https://github.com/StevenLooman
+[@Taraman17]: https://github.com/Taraman17
+[@TheJulianJES]: https://github.com/TheJulianJES
+[@Thomas55555]: https://github.com/Thomas55555
+[@ThyMYthOS]: https://github.com/ThyMYthOS
+[@VandeurenGlenn]: https://github.com/VandeurenGlenn
+[@WaterInTheLake]: https://github.com/WaterInTheLake
+[@YogevBokobza]: https://github.com/YogevBokobza
+[@abmantis]: https://github.com/abmantis
+[@alengwenus]: https://github.com/alengwenus
+[@allenporter]: https://github.com/allenporter
+[@andrew-codechimp]: https://github.com/andrew-codechimp
+[@andrewsayre]: https://github.com/andrewsayre
+[@apt-itude]: https://github.com/apt-itude
+[@arturpragacz]: https://github.com/arturpragacz
+[@ashionky]: https://github.com/ashionky
+[@astrandb]: https://github.com/astrandb
+[@austinmroczek]: https://github.com/austinmroczek
+[@autinerd]: https://github.com/autinerd
+[@balloob]: https://github.com/balloob
+[@bdraco]: https://github.com/bdraco
+[@beginner2047]: https://github.com/beginner2047
+[@bieniu]: https://github.com/bieniu
+[@boralyl]: https://github.com/boralyl
+[@bors-ltd]: https://github.com/bors-ltd
+[@bouwew]: https://github.com/bouwew
+[@bramkragten]: https://github.com/bramkragten
+[@catsmanac]: https://github.com/catsmanac
+[@cdce8p]: https://github.com/cdce8p
+[@cdnninja]: https://github.com/cdnninja
+[@cereal2nd]: https://github.com/cereal2nd
+[@chemelli74]: https://github.com/chemelli74
+[@choumarin]: https://github.com/choumarin
+[@crevetor]: https://github.com/crevetor
+[@dan-r]: https://github.com/dan-r
+[@davet2001]: https://github.com/davet2001
+[@david1024pl]: https://github.com/david1024pl
+[@davidrapan]: https://github.com/davidrapan
+[@dext0r]: https://github.com/dext0r
+[@dgomes]: https://github.com/dgomes
+[@dieselrabbit]: https://github.com/dieselrabbit
+[@dknowles2]: https://github.com/dknowles2
+[@domingues]: https://github.com/domingues
+[@dontinelli]: https://github.com/dontinelli
+[@dotvav]: https://github.com/dotvav
+[@dustMason]: https://github.com/dustMason
+[@eclair4151]: https://github.com/eclair4151
+[@edenhaus]: https://github.com/edenhaus
+[@elmurato]: https://github.com/elmurato
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@epenet]: https://github.com/epenet
+[@erwindouna]: https://github.com/erwindouna
+[@farkasdi]: https://github.com/farkasdi
+[@farmio]: https://github.com/farmio
+[@firstof9]: https://github.com/firstof9
+[@flabbamann]: https://github.com/flabbamann
+[@frenck]: https://github.com/frenck
+[@fwestenberg]: https://github.com/fwestenberg
+[@gentoo-root]: https://github.com/gentoo-root
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@gjong]: https://github.com/gjong
+[@gwww]: https://github.com/gwww
+[@hahn-th]: https://github.com/hahn-th
+[@huyuwei1996]: https://github.com/huyuwei1996
+[@iMicknl]: https://github.com/iMicknl
+[@illia-piskurov]: https://github.com/illia-piskurov
+[@iprak]: https://github.com/iprak
+[@iskrakranj]: https://github.com/iskrakranj
+[@jaminh]: https://github.com/jaminh
+[@jb101010-2]: https://github.com/jb101010-2
+[@jbarreiros]: https://github.com/jbarreiros
+[@jbouwh]: https://github.com/jbouwh
+[@jeeftor]: https://github.com/jeeftor
+[@jesperraemaekers]: https://github.com/jesperraemaekers
+[@jiriappl]: https://github.com/jiriappl
+[@joostlek]: https://github.com/joostlek
+[@jpbede]: https://github.com/jpbede
+[@jpelgrom]: https://github.com/jpelgrom
+[@jsuar]: https://github.com/jsuar
+[@jterrace]: https://github.com/jterrace
+[@keithle888]: https://github.com/keithle888
+[@kelyaenn]: https://github.com/kelyaenn
+[@kereyroper]: https://github.com/kereyroper
+[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@klejejs]: https://github.com/klejejs
+[@krakonos1602]: https://github.com/krakonos1602
+[@lanthaler]: https://github.com/lanthaler
+[@lboue]: https://github.com/lboue
+[@lschloetterer]: https://github.com/lschloetterer
+[@luc-ass]: https://github.com/luc-ass
+[@marcelveldt]: https://github.com/marcelveldt
+[@maxcabrajac]: https://github.com/maxcabrajac
+[@mckbrmn]: https://github.com/mckbrmn
+[@miaucl]: https://github.com/miaucl
+[@mib1185]: https://github.com/mib1185
+[@mj23000]: https://github.com/mj23000
+[@mkmer]: https://github.com/mkmer
+[@mxr]: https://github.com/mxr
+[@natekspencer]: https://github.com/natekspencer
+[@noahhusby]: https://github.com/noahhusby
+[@oandrew]: https://github.com/oandrew
+[@pawlizio]: https://github.com/pawlizio
+[@peteS-UK]: https://github.com/peteS-UK
+[@piitaya]: https://github.com/piitaya
+[@puddly]: https://github.com/puddly
+[@rajlaud]: https://github.com/rajlaud
+[@redge76]: https://github.com/redge76
+[@regevbr]: https://github.com/regevbr
+[@richardpolzer]: https://github.com/richardpolzer
+[@rikroe]: https://github.com/rikroe
+[@rpavlik]: https://github.com/rpavlik
+[@rrooggiieerr]: https://github.com/rrooggiieerr
+[@rsiv]: https://github.com/rsiv
+[@rwalker777]: https://github.com/rwalker777
+[@rytilahti]: https://github.com/rytilahti
+[@sVnsation]: https://github.com/sVnsation
+[@scop]: https://github.com/scop
+[@sdb9696]: https://github.com/sdb9696
+[@shmuelzon]: https://github.com/shmuelzon
+[@silamon]: https://github.com/silamon
+[@sorgfresser]: https://github.com/sorgfresser
+[@squishykid]: https://github.com/squishykid
+[@srescio]: https://github.com/srescio
+[@starkillerOG]: https://github.com/starkillerOG
+[@synesthesiam]: https://github.com/synesthesiam
+[@thecode]: https://github.com/thecode
+[@thomasddn]: https://github.com/thomasddn
+[@tkunzfeld]: https://github.com/tkunzfeld
+[@tl-sl]: https://github.com/tl-sl
+[@tomer-w]: https://github.com/tomer-w
+[@tr4nt0r]: https://github.com/tr4nt0r
+[@tronikos]: https://github.com/tronikos
+[@tswsl1989]: https://github.com/tswsl1989
+[@tyron]: https://github.com/tyron
+[@wlcrs]: https://github.com/wlcrs
+[@zweckj]: https://github.com/zweckj
\ No newline at end of file
diff --git a/source/dashboards/views.markdown b/source/dashboards/views.markdown
index 30405a85324..a75dc2c0c57 100644
--- a/source/dashboards/views.markdown
+++ b/source/dashboards/views.markdown
@@ -59,11 +59,8 @@ There are four different view types:

-4. To use a background image, on the **Background** tab, select an image.
- - **Upload picture** lets you pick an image from the system used to show your Home Assistant UI.
- - **Local path** lets you pick an image stored on Home Assistant. For example: `/homeassistant/images/lights_view_background_image.jpg`.
- - To store an image on Home Assistant, you need to [configure access to files](/common-tasks/os/#configuring-access-to-files), for example via [Samba](/common-tasks/os/#installing-and-using-the-samba-add-on) or the [Studio Code Server](/common-tasks/os/#installing-and-using-the-visual-studio-code-vsc-add-on) add-on.
- - **web URL** let you pick an image from the web. For example `https://www.home-assistant.io/images/frontpage/assist_wake_word.png`.
+4. To use a background image, on the **Background** tab, select an image and customize the background settings. [Read more about these options.](#background)
+
5. On the **Badges** tab, select the entities you want to be represented by a badge.
- Sidebar and panel views do not support badges.
6. By default, the new section is visible to all users. On the **Visibility** tab, you can disable the view for users.
@@ -191,7 +188,7 @@ Set a separate [theme](/integrations/frontend/#themes) for the view and its card
## Background
-You can style the background of your views with a [theme](/integrations/frontend/#themes). You can use the CSS variable `lovelace-background`. For wallpapers you probably want to use the example below, more options can be found [here](https://developer.mozilla.org/en-US/docs/Web/CSS/background).
+The background settings of a view can be customized to display a background. Alternatively, a theme variable can be used to customize the background of all views.
### View-specific background settings
@@ -325,8 +322,8 @@ views:
type: string
background:
required: false
- description: Style the background using CSS.
- type: string
+ description: Style the background behind the view.
+ type: map
theme:
required: false
description: Themes view and cards.
diff --git a/source/images/blog/2025-02/backups-action.png b/source/images/blog/2025-02/backups-action.png
new file mode 100644
index 00000000000..d106d8dd289
Binary files /dev/null and b/source/images/blog/2025-02/backups-action.png differ
diff --git a/source/images/blog/2025-02/backups-addons-before-update.png b/source/images/blog/2025-02/backups-addons-before-update.png
new file mode 100644
index 00000000000..ca4780d12e8
Binary files /dev/null and b/source/images/blog/2025-02/backups-addons-before-update.png differ
diff --git a/source/images/blog/2025-02/backups-before-update-core.png b/source/images/blog/2025-02/backups-before-update-core.png
new file mode 100644
index 00000000000..94213672187
Binary files /dev/null and b/source/images/blog/2025-02/backups-before-update-core.png differ
diff --git a/source/images/blog/2025-02/backups-customize-backups-change.png b/source/images/blog/2025-02/backups-customize-backups-change.png
new file mode 100644
index 00000000000..35abd37846f
Binary files /dev/null and b/source/images/blog/2025-02/backups-customize-backups-change.png differ
diff --git a/source/images/blog/2025-02/backups-encryption-turned-off.png b/source/images/blog/2025-02/backups-encryption-turned-off.png
new file mode 100644
index 00000000000..85875aabf06
Binary files /dev/null and b/source/images/blog/2025-02/backups-encryption-turned-off.png differ
diff --git a/source/images/blog/2025-02/backups-new-locations.png b/source/images/blog/2025-02/backups-new-locations.png
new file mode 100644
index 00000000000..2cf85535471
Binary files /dev/null and b/source/images/blog/2025-02/backups-new-locations.png differ
diff --git a/source/images/blog/2025-02/backups-turn-off-encryption.png b/source/images/blog/2025-02/backups-turn-off-encryption.png
new file mode 100644
index 00000000000..c667c831cbd
Binary files /dev/null and b/source/images/blog/2025-02/backups-turn-off-encryption.png differ
diff --git a/source/images/blog/2025-02/bluetooth-panel.png b/source/images/blog/2025-02/bluetooth-panel.png
new file mode 100644
index 00000000000..98f0b7029f2
Binary files /dev/null and b/source/images/blog/2025-02/bluetooth-panel.png differ
diff --git a/source/images/blog/2025-02/conversation-history-after.png b/source/images/blog/2025-02/conversation-history-after.png
new file mode 100644
index 00000000000..d65fae4db06
Binary files /dev/null and b/source/images/blog/2025-02/conversation-history-after.png differ
diff --git a/source/images/blog/2025-02/conversation-history-before.png b/source/images/blog/2025-02/conversation-history-before.png
new file mode 100644
index 00000000000..d74a68112c1
Binary files /dev/null and b/source/images/blog/2025-02/conversation-history-before.png differ
diff --git a/source/images/blog/2025-02/social.jpg b/source/images/blog/2025-02/social.jpg
new file mode 100644
index 00000000000..597fcacef27
Binary files /dev/null and b/source/images/blog/2025-02/social.jpg differ
diff --git a/source/images/dashboards/energy/devices-detail-graph.png b/source/images/dashboards/energy/devices-detail-graph.png
index 7c1341d1c05..9719d8f5e57 100644
Binary files a/source/images/dashboards/energy/devices-detail-graph.png and b/source/images/dashboards/energy/devices-detail-graph.png differ
diff --git a/source/images/dashboards/energy/devices-graph.png b/source/images/dashboards/energy/devices-graph.png
index e28495ddbc6..e8d0e472fd5 100644
Binary files a/source/images/dashboards/energy/devices-graph.png and b/source/images/dashboards/energy/devices-graph.png differ
diff --git a/source/images/dashboards/energy/gas-graph.png b/source/images/dashboards/energy/gas-graph.png
index c4ab3fbcaed..47b97ad95c9 100644
Binary files a/source/images/dashboards/energy/gas-graph.png and b/source/images/dashboards/energy/gas-graph.png differ
diff --git a/source/images/dashboards/energy/solar-graph.png b/source/images/dashboards/energy/solar-graph.png
index 1e71c1da446..daeab131888 100644
Binary files a/source/images/dashboards/energy/solar-graph.png and b/source/images/dashboards/energy/solar-graph.png differ
diff --git a/source/images/dashboards/energy/usage-graph.png b/source/images/dashboards/energy/usage-graph.png
index 0b7c244c0ed..7fe5a7fd21b 100644
Binary files a/source/images/dashboards/energy/usage-graph.png and b/source/images/dashboards/energy/usage-graph.png differ
diff --git a/source/images/dashboards/statistics_graph_bar.png b/source/images/dashboards/statistics_graph_bar.png
index bd5db706253..6f636515dfc 100644
Binary files a/source/images/dashboards/statistics_graph_bar.png and b/source/images/dashboards/statistics_graph_bar.png differ
diff --git a/source/images/dashboards/statistics_graph_line.png b/source/images/dashboards/statistics_graph_line.png
index b3a90185405..6097d42563f 100644
Binary files a/source/images/dashboards/statistics_graph_line.png and b/source/images/dashboards/statistics_graph_line.png differ
diff --git a/source/images/integrations/mcp_server/claude-todo-list-control.png b/source/images/integrations/mcp_server/claude-todo-list-control.png
new file mode 100644
index 00000000000..4185f2b3d9b
Binary files /dev/null and b/source/images/integrations/mcp_server/claude-todo-list-control.png differ
diff --git a/source/images/integrations/onedrive/onedrive-permissions.png b/source/images/integrations/onedrive/onedrive-permissions.png
new file mode 100644
index 00000000000..abcc4625380
Binary files /dev/null and b/source/images/integrations/onedrive/onedrive-permissions.png differ
diff --git a/source/images/integrations/synology_dsm/synology_file_station.png b/source/images/integrations/synology_dsm/synology_file_station.png
new file mode 100644
index 00000000000..a7107914c7d
Binary files /dev/null and b/source/images/integrations/synology_dsm/synology_file_station.png differ
diff --git a/source/images/screenshots/network-storage/backup_locations_all.png b/source/images/screenshots/network-storage/backup_locations_all.png
deleted file mode 100644
index 2c1f87e0b52..00000000000
Binary files a/source/images/screenshots/network-storage/backup_locations_all.png and /dev/null differ
diff --git a/source/images/screenshots/network-storage/backup_locations_encryption.png b/source/images/screenshots/network-storage/backup_locations_encryption.png
new file mode 100644
index 00000000000..990be7fbf64
Binary files /dev/null and b/source/images/screenshots/network-storage/backup_locations_encryption.png differ
diff --git a/source/more-info/backup-emergency-kit.markdown b/source/more-info/backup-emergency-kit.markdown
index 003b1602a31..241e0d95299 100644
--- a/source/more-info/backup-emergency-kit.markdown
+++ b/source/more-info/backup-emergency-kit.markdown
@@ -8,7 +8,7 @@ related:
title: Restoring a backup
---
-[Backups](/common-tasks/general/#backups) are encrypted (using [AES-128](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)). The backup emergency kit contains information needed to [restore the backup](/common-tasks/general/#restoring-a-backup), such as the encryption key and metadata about the related backup.
+[Backups](/common-tasks/general/#backups) stored on Home Assistant Cloud are always encrypted using [AES-128](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard). For backups stored on other [backup locations](/common-tasks/general/#defining-backup-locations), you can choose whether or not to encrypt the backup. The backup emergency kit contains information needed to [restore the backup](/common-tasks/general/#restoring-a-backup), such as the encryption key and metadata about the related backup.
## What is encryption, and why are backups encrypted?
@@ -23,7 +23,7 @@ Encryption is a method of converting data into a coded format so that it can onl

3. Store the kit somewhere safe, outside the Home Assistant system.
- - Without the encryption key, there is no way to [restore the backup](/common-tasks/general/#restoring-a-backup).
+ - Without the encryption key, there is no way to [restore an encrypted backup](/common-tasks/general/#restoring-a-backup).
## Changing your encryption key