diff --git a/CODEOWNERS b/CODEOWNERS index 5e07d46def0..c4b0a384d57 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -95,6 +95,7 @@ source/_integrations/azure_data_explorer.markdown @kaareseras source/_integrations/azure_devops.markdown @timmo001 source/_integrations/azure_event_hub.markdown @eavanvalkenburg source/_integrations/azure_service_bus.markdown @hfurubotten +source/_integrations/azure_storage.markdown @zweckj source/_integrations/backup.markdown @home-assistant/core source/_integrations/baf.markdown @bdraco @jfroy source/_integrations/balboa.markdown @garbled1 @natekspencer @@ -133,6 +134,7 @@ source/_integrations/bthome.markdown @Ernst79 @thecode source/_integrations/bticino.markdown @cgtobi source/_integrations/bubendorff.markdown @cgtobi source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221 +source/_integrations/burbank_water_and_power.markdown @tronikos source/_integrations/button.markdown @home-assistant/core source/_integrations/calendar.markdown @home-assistant/core source/_integrations/cambridge_audio.markdown @noahhusby @@ -348,6 +350,7 @@ source/_integrations/hassio.markdown @home-assistant/supervisor source/_integrations/havana_shade.markdown @starkillerOG source/_integrations/hdmi_cec.markdown @inytar source/_integrations/heatmiser.markdown @andylockran +source/_integrations/heicko.markdown @starkillerOG source/_integrations/heiwa.markdown @cmroche source/_integrations/heos.markdown @andrewsayre source/_integrations/here_travel_time.markdown @eifinger @@ -361,7 +364,7 @@ source/_integrations/hive.markdown @Rendili @KJonline source/_integrations/hko.markdown @MisterCommand source/_integrations/hlk_sw16.markdown @jameshilliard source/_integrations/holiday.markdown @jrieger @gjohansson-ST -source/_integrations/home_connect.markdown @DavidMStraub @Diegorro98 +source/_integrations/home_connect.markdown @DavidMStraub @Diegorro98 @MartinHjelmare source/_integrations/home_plus_control.markdown @cgtobi source/_integrations/homeassistant.markdown @home-assistant/core source/_integrations/homeassistant_alerts.markdown @home-assistant/core @@ -418,6 +421,7 @@ source/_integrations/insteon.markdown @teharris1 source/_integrations/integration.markdown @dgomes source/_integrations/intellifire.markdown @jeeftor source/_integrations/intesishome.markdown @jnimmo +source/_integrations/iometer.markdown @MaestroOnICe source/_integrations/ios.markdown @robbiet480 source/_integrations/iotawatt.markdown @gtdiehl @jyavenard source/_integrations/iotty.markdown @shapournemati-iotty @@ -436,7 +440,7 @@ source/_integrations/ista_ecotrend.markdown @tr4nt0r source/_integrations/isy994.markdown @bdraco @shbatm source/_integrations/ituran.markdown @shmuelzon source/_integrations/izone.markdown @Swamp-Ig -source/_integrations/jellyfin.markdown @j-stienstra @ctalkington +source/_integrations/jellyfin.markdown @RunC0deRun @ctalkington source/_integrations/jewish_calendar.markdown @tsvi source/_integrations/juicenet.markdown @jesserockz source/_integrations/justnimbus.markdown @kvanzuijlen @@ -485,6 +489,7 @@ source/_integrations/light.template.markdown @home-assistant/core source/_integrations/linak.markdown @abmantis source/_integrations/linear_garage_door.markdown @IceBotYT source/_integrations/linux_battery.markdown @fabaff +source/_integrations/linx.markdown @starkillerOG source/_integrations/litejet.markdown @joncar source/_integrations/litterrobot.markdown @natekspencer @tkdrob source/_integrations/livisi.markdown @StefanIacobLivisi @planbnet @@ -598,7 +603,7 @@ source/_integrations/nuheat.markdown @tstabrawa source/_integrations/nuki.markdown @pschmitt @pvizeli @pree source/_integrations/numato.markdown @clssn source/_integrations/number.markdown @home-assistant/core @Shulyaka -source/_integrations/nut.markdown @bdraco @ollo69 @pestevez +source/_integrations/nut.markdown @bdraco @ollo69 @pestevez @tdfountain source/_integrations/nutrichef.markdown @bdraco source/_integrations/nws.markdown @MatthewFlamm @kamiyo source/_integrations/nyt_games.markdown @joostlek @@ -649,9 +654,10 @@ source/_integrations/pepco.markdown @tronikos source/_integrations/permobil.markdown @IsakNyberg source/_integrations/persistent_notification.markdown @home-assistant/core source/_integrations/pge.markdown @tronikos +source/_integrations/pglab.markdown @pglab-electronics source/_integrations/philips_js.markdown @elupus source/_integrations/pi_hole.markdown @shenxn -source/_integrations/picnic.markdown @corneyl +source/_integrations/picnic.markdown @corneyl @codesalatdev source/_integrations/pinecil.markdown @tr4nt0r source/_integrations/ping.markdown @jpbede source/_integrations/piper.markdown @balloob @synesthesiam @@ -800,6 +806,7 @@ source/_integrations/smappee.markdown @bsmappee source/_integrations/smart_blinds.markdown @starkillerOG source/_integrations/smart_home.markdown @starkillerOG source/_integrations/smart_meter_texas.markdown @grahamwetzler +source/_integrations/smart_rollos.markdown @starkillerOG source/_integrations/smarther.markdown @cgtobi source/_integrations/smarttub.markdown @mdz source/_integrations/smarty.markdown @z0mbieprocess @@ -809,6 +816,7 @@ source/_integrations/sms.markdown @ocalvo source/_integrations/smud.markdown @tronikos source/_integrations/snapcast.markdown @luar123 source/_integrations/snmp.markdown @nmaggioni +source/_integrations/snoo.markdown @Lash-L source/_integrations/snooz.markdown @AustinBrunkhorst source/_integrations/solaredge.markdown @frenck @bdraco source/_integrations/solaredge_local.markdown @drobtravels @scheric @@ -915,6 +923,7 @@ source/_integrations/twentemilieu.markdown @frenck source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @Olen source/_integrations/twitch.markdown @joostlek source/_integrations/ubiwizz.markdown @imicknl +source/_integrations/ublockout.markdown @starkillerOG source/_integrations/ukraine_alarm.markdown @PaulAnnekov source/_integrations/unifi.markdown @Kane610 source/_integrations/unifi_direct.markdown @tofuSCHNITZEL @@ -968,6 +977,7 @@ source/_integrations/weather.template.markdown @home-assistant/core source/_integrations/weatherflow.markdown @natekspencer @jeeftor source/_integrations/weatherflow_cloud.markdown @jeeftor source/_integrations/weatherkit.markdown @tjhorner +source/_integrations/webdav.markdown @jpbede source/_integrations/webhook.markdown @home-assistant/core source/_integrations/webmin.markdown @autinerd source/_integrations/webostv.markdown @thecode diff --git a/Gemfile b/Gemfile index 0a47dbe1fbd..829cdbdb704 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ group :development do # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' gem 'sass-embedded', '1.85.1' - gem 'rubocop', '1.72.2' + gem 'rubocop', '1.73.2' gem 'ruby-lsp', '0.23.11' gem 'rackup', '2.2.1' end diff --git a/Gemfile.lock b/Gemfile.lock index 09fd5b58277..ade82ef4f2e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -30,10 +30,10 @@ GEM ffi (1.17.1-arm64-darwin) ffi (1.17.1-x86_64-linux-gnu) forwardable-extended (2.6.0) - google-protobuf (4.29.3-arm64-darwin) + google-protobuf (4.30.0-arm64-darwin) bigdecimal rake (>= 13) - google-protobuf (4.29.3-x86_64-linux) + google-protobuf (4.30.0-x86_64-linux) bigdecimal rake (>= 13) http_parser.rb (0.8.0) @@ -99,7 +99,7 @@ GEM prism (1.3.0) public_suffix (6.0.1) racc (1.8.1) - rack (3.1.10) + rack (3.1.11) rack-protection (4.1.1) base64 (>= 0.1.0) logger (>= 1.6.0) @@ -119,7 +119,7 @@ GEM regexp_parser (2.10.0) rexml (3.4.1) rouge (4.5.1) - rubocop (1.72.2) + rubocop (1.73.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -141,10 +141,9 @@ GEM ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) - sass-embedded (1.85.1-arm64-darwin) - google-protobuf (~> 4.29) - sass-embedded (1.85.1-x86_64-linux-gnu) + sass-embedded (1.85.1) google-protobuf (~> 4.29) + rake (>= 13) sass-globbing (1.1.5) sass (>= 3.1) sassc (2.1.0) @@ -158,7 +157,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11862) + sorbet-runtime (0.5.11899) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) @@ -184,7 +183,7 @@ DEPENDENCIES nokogiri (= 1.18.3) rackup (= 2.2.1) rake (= 13.2.1) - rubocop (= 1.72.2) + rubocop (= 1.73.2) ruby-lsp (= 0.23.11) sass-embedded (= 1.85.1) sass-globbing (= 1.1.5) diff --git a/_config.yml b/_config.yml index 2d5cf608759..4faba40b031 100644 --- a/_config.yml +++ b/_config.yml @@ -107,9 +107,9 @@ social: # Home Assistant release details current_major_version: 2025 -current_minor_version: 2 -current_patch_version: 5 -date_released: 2025-02-21 +current_minor_version: 3 +current_patch_version: 0 +date_released: 2025-03-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/energy.markdown b/source/_dashboards/energy.markdown index d0ce5b5fc86..411d6611fc2 100644 --- a/source/_dashboards/energy.markdown +++ b/source/_dashboards/energy.markdown @@ -235,6 +235,28 @@ type: energy-devices-detail-graph max_devices: 5 ``` +## Sankey energy graph + +

+ Screenshot of the sankey energy graph card + Screenshot of the sankey energy graph card. +

+ +The sankey energy graph shows the flow of energy in your home. It starts with sources and flows into the various consumers. Devices are grouped into floors and areas if these are configured. + +### Examples + +```yaml +type: energy-sankey +``` + +The following example orients the flow from top to bottom: + +```yaml +type: energy-sankey +layout: vertical +``` + ## Using Multiple Collections By default, all energy cards are linked to any `energy-date-selection` card on the view, and all `energy-date-selection` cards are linked to the same period. To enable multiple different date selections on the same view, it is necessary to link them to different collections. This is done by adding the variable `collection_key` to the card YAML, and giving this a value of any custom string that begins with `energy_`. (strings that do not start with `energy_` will generate an error). diff --git a/source/_dashboards/tile.markdown b/source/_dashboards/tile.markdown index 0ccdb9c8f85..7fda9d505ca 100644 --- a/source/_dashboards/tile.markdown +++ b/source/_dashboards/tile.markdown @@ -12,11 +12,12 @@ related: title: Dashboard cards --- -The tile card gives you a quick overview of your {% term entity %}. The card allows you to toggle the {% term entity %} and show the more info dialog. A badge is shown for some {% term entities %} like the [climate](/integrations/climate) or [person](/integrations/person) {% term entities %}. +The tile card gives you a quick overview of your {% term entity %}. The card allows you to add tap actions, and features to control the entity. You can also select the {% term entity %} to open the more info dialog. A badge is shown for some {% term entities %} like the [climate](/integrations/climate) or [person](/integrations/person) {% term entities %}.

- Screenshot of tile cards - Screenshot of tile cards. + Screenshot of tile cards + The circular background behind an icon indicates that there is a tap action. + The "Downstairs" and "Upstairs" climate entities have a badge and a feature that is bottom-aligned.

{% include dashboard/edit_dashboard.md %} diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index f0a4b417633..9a294ae2935 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -532,7 +532,6 @@ entities for organic, paper, and packaging waste. In terms of functionality, the information service is like a device. It is called *service* to avoid confusion, as it does not come with a piece of hardware. - link: /docs/scripts/perform-actions/ aliases: - services - term: State diff --git a/source/_data/people.yml b/source/_data/people.yml index 120f86f5ecb..16043925a3d 100644 --- a/source/_data/people.yml +++ b/source/_data/people.yml @@ -92,4 +92,8 @@ Missy Quarry: Annika Schulz: name: Annika Schulz - github: anakinsbrna \ No newline at end of file + github: anakinsbrna + +Miranda Bishop: + name: Miranda Bishop + github: miranda-gb \ No newline at end of file diff --git a/source/_data/products.yml b/source/_data/products.yml index 4eafcce2285..b7f99fa9aaf 100644 --- a/source/_data/products.yml +++ b/source/_data/products.yml @@ -17,6 +17,11 @@ green: ship_to: America url: https://cloudfree.shop/product/home-assistant-green/ logo: /images/distributors/cloudfree.webp + - name: Seeed Studio + ship_from: US + ship_to: America + url: https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html + logo: /images/distributors/seeed-studio.webp # Asia - name: Seeed Studio ship_from: China diff --git a/source/_docs/blueprint.markdown b/source/_docs/blueprint.markdown index 177da2b68f2..436b4eae550 100644 --- a/source/_docs/blueprint.markdown +++ b/source/_docs/blueprint.markdown @@ -18,7 +18,7 @@ This section gives a high-level introduction to blueprints. To view a descriptio ## What is a blueprint? -A blueprint is a {% term script %}, {% term automation %} or [template entity](/docs/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint. +A blueprint is a {% term script %}, {% term automation %} or [template entity](/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint. Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time. diff --git a/source/_docs/glossary.html b/source/_docs/glossary.html deleted file mode 100644 index 112024e72b0..00000000000 --- a/source/_docs/glossary.html +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Glossary" -description: "Home Assistant's Glossary." ---- - -{% assign entries = site.data.glossary | sort: 'term' %} - -The glossary covers terms which are used around Home Assistant. - -
- -{% for entry in entries %} - -
-
- - {{ entry.term }} -
-
- - {{ entry.definition | markdownify | newline_to_br }} - {%- if entry.link -%} - Read more about: {{ entry.term }} - {%- endif -%} - -
-
- -{% endfor %} - -
diff --git a/source/_docs/glossary.markdown b/source/_docs/glossary.markdown new file mode 100644 index 00000000000..cdd270c7081 --- /dev/null +++ b/source/_docs/glossary.markdown @@ -0,0 +1,33 @@ +--- +title: "Glossary" +description: "Home Assistant's Glossary." +--- + +The glossary covers terms which are used around Home Assistant. + +{% assign entries = site.data.glossary | sort: 'term' %} +{% assign current_letter = '' %} + +{% for entry in entries %} + +{% assign first_letter = entry.term | slice: 0 %} +{% if first_letter != current_letter %} +{% assign current_letter = first_letter | upcase %} + +## {{ current_letter }} + +--- + +{% endif %} + +### {{ entry.term }} + +{{ entry.definition | markdownify }} + +{%- if entry.link -%} + +{{ "[Read more about " | append: "_" | append: entry.term | append: "_](" | append: entry.link | append: ")" | markdownify }} + +{%- endif -%} + +{% endfor %} diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown index c83eb0534ab..bc2000d9149 100644 --- a/source/_docs/tools/dev-tools.markdown +++ b/source/_docs/tools/dev-tools.markdown @@ -149,7 +149,7 @@ Another use of the {% my developer_statistics title="statistics developer tool" icon. Use date & time to search for the incorrect data point and adjust the value. -![Screenshot showing adjusting the long-term statistic history value](/images/blog/2022-04/adjust-statistics.png) +![Screenshot showing adjusting the long-term statistic history value](/images/docs/developer-tools/adjust-statistics.png) ## Assist tab diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index 316971e2dc9..b9af18dbe20 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -3,7 +3,7 @@ {% assign percentage = 100.0 | times: active_installations | divided_by: site.data.analytics_data.reports_integrations | round: 1 %}
- + {%- if page.ha_config_flow and domain -%} {% my config_flow_start badge domain=domain %} diff --git a/source/_integrations/_integration_docs_template.markdown b/source/_integrations/_integration_docs_template.markdown new file mode 100644 index 00000000000..f8b33a17150 --- /dev/null +++ b/source/_integrations/_integration_docs_template.markdown @@ -0,0 +1,208 @@ +--- +title: My integration +description: Example document structure and text blocks for integration documentation. +ha_release: 2025.3 +ha_iot_class: Local Push +ha_codeowners: + - '@home-assistant/core' +ha_domain: my_integration +ha_integration_type: integration +related: + - url: https://developers.home-assistant.io/docs/documenting/standards + title: Documentation standard + - url: https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/ + title: Integration Quality Scale - Rules + - docs: /docs/glossary/ + title: Glossary + - docs: /docs/tools/quick-bar/#my-links + title: My link +--- + + + + + +The **My integration** {% term integration %} is used to integrate with the devices of [MyCompany](https://www.mycompany.com). MyCompany creates various smart home appliances and devices and are known for their MyProduct. +Use case: When you combine it with their other device you can do x. + +## Supported devices + +The following devices are known to be supported by the integration: + +- Device 1 +- Device 2 +- Every appliance that runs MyOS + +## Unsupported devices + +The following devices are not supported by the integration: + +- Device 3 +- Appliances built before 2010 + +## Prerequisites + +1. Open the app store and install the **MyProduct** app. +2. Create an account. +3. Add a device to the app. +4. Open the app and go to the **Settings** page. +5. Select **Expose API**. + +{% include integrations/config_flow.md %} + + + + + +{% configuration_basic %} +Host: + description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**." +Local access token: + description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**." +{% endconfiguration_basic %} + + + +{% configuration %} +Host: + description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**." + required: false + type: string +Local access token: + description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**." + required: false + type: string +{% endconfiguration %} + +## Configuration options + +The integration provides the following configuration options: + +{% configuration_basic %} +Country code: + description: You can specify the country code (NL or BE) of the country to display on the camera. +Timeframe: + description: Minutes to look ahead for precipitation forecast sensors (minimum 5, maximum 120). +{% endconfiguration_basic %} + +## Supported functionality + +### Entities + +The **My integration** integration provides the following entities. + +#### Buttons + +- **Start backflush** + - **Description**: Starts the backflush process on your machine. You got 15 seconds to turn the paddle after activation. + - **Available for machines**: all + +#### Numbers + +- **Dose** + - **Description**: Dosage (in ticks) for each key + - **Available for machines**: GS3 AV, Linea Mini. + - **Remarks**: GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default. + +#### Sensors + +- **Current coffee temperature** + - **Description**: Current temperature of the coffee boiler. + - **Available for machines**: all + - **Remarks**: When the machine reaches temperature, this will be approximately 3 degrees higher than the `Coffee target temperature`, due to different measurement points. + +- **Current steam temperature** + - **Description**: Current temperature of the steam boiler. + - **Available for machines**: Linea Micra, GS3 AV, GS3 MP. + - **Remarks**: - + +#### Selects + +- **Prebrew/-infusion mode** + - **Description**: Whether to use prebrew, preinfusion, or neither. + - **Options**: Disabled, Prebrew, Preinfusion + - **Available for machines**: Linea Micra, Linea Mini, GS3 AV + +- **Steam level** + - **Description**: The level your steam boiler should run at. + - **Options**: 1, 2, 3 + - **Available for machines**: Linea Micra + +#### Updates + +- **Gateway firmware** + - **Description**: Firmware status of the gateway. + - **Available for machines**: all + +## Actions + +The integration provides the following actions. + +### Action: Get schedule + +The `my_integration.get_schedule` action is used to fetch a schedule from the integration. + +- **Data attribute**: `config_entry_id` + - **Description**: The ID of the config entry to get the schedule from. + - **Optional**: No + +## Examples + +### Turning off the LEDs during the night + +The status LEDs on the device can be quite bright. +To tackle this, you can use this blueprint to easily automate the LEDs turning off when the sun goes down. + +link to the blueprint on the [blueprints + exchange](https://community.home-assistant.io/c/blueprints-exchange/53) + +## Data updates + +The **My integration** integration fetches data from the device every 5 minutes by default. +Newer devices (the ones running MyOS) have the possibility to push data. +In this case, pushing data is enabled when the integration is started. If enabling data push fails, the integration uses data {% term polling %}. + +## Known limitations + +The integration does not provide the ability to reboot, which can instead be done via the manufacturer's app. + +## Troubleshooting + +### Can’t set up the device + +#### Symptom: “This device can’t be reached” + +When trying to set up the integration, the form shows the message “This device can’t be reached”. + +##### Description + +This means the settings on the device are incorrect, since the device needs to be enabled for local communication. + +##### Resolution + +To resolve this issue, try the following steps: + +1. Make sure your device is powered up (LEDs are on). +2. Make sure your device is connected to the internet: + - Make sure the app of the manufacturer can see the device. +3. Make sure the device has the local communication enabled: + - Check the device’s settings. + - Check the device’s manual. +... + +### I can't see my devices + +Make sure the devices are visible and controllable via the manufacturer's app. +If they are not, check the device's power and network connection. + +### The device goes unavailable after a day + +Make sure you turned off the device's power-saving mode. + +## Removing the integration + +This integration follows standard integration removal. + +{% include integrations/remove_device_service.md %} + +After deleting the integration, go to the app of the manufacturer and remove the Home Assistant integration from there as well. diff --git a/source/_integrations/azure_storage.markdown b/source/_integrations/azure_storage.markdown index 094d5304f75..8e16bb27a83 100644 --- a/source/_integrations/azure_storage.markdown +++ b/source/_integrations/azure_storage.markdown @@ -10,6 +10,7 @@ ha_domain: azure_storage ha_codeowners: - '@zweckj' ha_integration_type: service +ha_quality_scale: bronze --- This integration allows you to use [Azure storage accounts](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview) for use with Home Assistant Backups. diff --git a/source/_integrations/bring.markdown b/source/_integrations/bring.markdown index 8ae2d84dfec..ca5e6f26095 100644 --- a/source/_integrations/bring.markdown +++ b/source/_integrations/bring.markdown @@ -13,9 +13,9 @@ ha_domain: bring ha_integration_type: service ha_platforms: - diagnostics + - event - sensor - todo - - event related: - docs: /integrations/todo title: To-do list integration documentation @@ -25,6 +25,7 @@ related: title: To-do list card - url: https://www.getbring.com/ title: Bring! +ha_quality_scale: platinum --- The **Bring!** integration allows you to sync your [Bring!](https://www.getbring.com/) shopping lists with Home Assistant. diff --git a/source/_integrations/burbank_water_and_power.markdown b/source/_integrations/burbank_water_and_power.markdown index 7c14281b751..01208f5b406 100644 --- a/source/_integrations/burbank_water_and_power.markdown +++ b/source/_integrations/burbank_water_and_power.markdown @@ -4,7 +4,7 @@ description: Get energy usage from Burbank Water and Power (BWP) using the Opowe ha_category: - Energy - Sensor -ha_release: 2025.3 +ha_release: 2023.8 ha_domain: burbank_water_and_power ha_integration_type: virtual ha_supporting_domain: opower diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown index 4695ebd93c4..0d8a4841115 100644 --- a/source/_integrations/device_tracker.markdown +++ b/source/_integrations/device_tracker.markdown @@ -55,6 +55,7 @@ device_tracker: - platform: netgear host: IP_ADDRESS username: YOUR_USERNAME + password: YOUR_PASSWORD interval_seconds: 10 consider_home: 180 new_device_defaults: diff --git a/source/_integrations/electric_kiwi.markdown b/source/_integrations/electric_kiwi.markdown index 9a11d784679..bb1b7ce081a 100644 --- a/source/_integrations/electric_kiwi.markdown +++ b/source/_integrations/electric_kiwi.markdown @@ -13,6 +13,7 @@ ha_platforms: - select - sensor ha_integration_type: hub +ha_quality_scale: bronze --- [Electric Kiwi](https://www.electrickiwi.co.nz/) is an independent power and broadband company in New Zealand, offering variable rates for peak, shoulder, and off-peak pricing with a selectable hour of free power. diff --git a/source/_integrations/enphase_envoy.markdown b/source/_integrations/enphase_envoy.markdown index 098b90bba20..588317a0805 100644 --- a/source/_integrations/enphase_envoy.markdown +++ b/source/_integrations/enphase_envoy.markdown @@ -142,8 +142,8 @@ House consumption data requires an Envoy Metered equipped and configured with at - **Envoy SN Current power consumption**: Current power consumption in W. - **Envoy SN Lifetime energy consumption**: Lifetime energy consumption in Wh, default display scaled to MWh. -- **Envoy SN Energy production last seven days**: Energy consumption in previous 7 days, not including today's, in Wh, display scaled to kWh. This entity is not logged in statistics. -- **Envoy SN Energy consumption today**: Energy consumption since midnight in Wh, default display scaled to kWh. +- **Envoy SN Energy consumption last seven days**: Energy consumption in previous 7 days, not including today's, in Wh, display scaled to kWh. (See known limitations [Energy Incorrect](#energy-incorrect)) This entity is not logged in statistics. +- **Envoy SN Energy consumption today**: Energy consumption since midnight in Wh, default display scaled to kWh. (See known limitations [Energy Incorrect](#energy-incorrect))
consumption entities @@ -683,8 +683,22 @@ When using Envoy Metered with CT, not When using Envoy Metered with CT -- not all firmware versions report `Energy production today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` entity for daily reporting. -- not all firmware versions report `Energy production last seven days` correctly. Zero and unexpected values have been reported. +- not all firmware versions report `Energy production today` and/or `Energy consumption today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` or `Lifetime energy consumption` entity for daily reporting. +- not all firmware versions report `Energy production last seven days` and/or `Energy consumption last seven days` correctly. Zero and unexpected values have been reported. +- `Energy production today` has been reported not to reset to zero at the start of the day. Instead, it resets to a non-zero value that gradually increases over time. This issue has also been reported as starting suddenly overnight. For daily reporting, it is recommended to use a utility meter with the `Lifetime energy production` entity. + +{% details "History examples for Today's energy production value not resetting to zero" %} + +
+ envoy today non zero reset +
Envoy Today's energy production value exhibits a daily reset to an ever increasing non-zero value.
+
+ +
+ envoy today step change +
Envoy Today's energy production value exhibits a sudden onset of non-zero resets.
+
+{% enddetails %} ### Lifetime reset diff --git a/source/_integrations/esera_onewire.markdown b/source/_integrations/esera_onewire.markdown index 884e107f628..a765ea23837 100644 --- a/source/_integrations/esera_onewire.markdown +++ b/source/_integrations/esera_onewire.markdown @@ -19,6 +19,7 @@ ha_platforms: - sensor - switch ha_iot_class: Local Polling +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown index 3930bb47ed8..0e73ffb8cf4 100644 --- a/source/_integrations/group.markdown +++ b/source/_integrations/group.markdown @@ -118,10 +118,12 @@ In short, when any group member entity is `unlocked`, the group will also be `un - The group state is `unavailable` if all group members are `unavailable`. - Otherwise, the group state is `unknown` if all group members are `unknown` or `unavailable`. - Otherwise, the group state is `jammed` if at least one group member is `jammed`. +- Otherwise, the group state is `opening` if at least one group member is `opening`. - Otherwise, the group state is `locking` if at least one group member is `locking`. +- Otherwise, the group state is `open` if at least one group member is `open`. - Otherwise, the group state is `unlocking` if at least one group member is `unlocking`. -- Otherwise, the group state is `unlocked` if at least one group member is `unlocked`. -- Otherwise, the group state is `locked`. +- Otherwise, the group state is `locked` if all group members are `locked`. +- Otherwise, the group state is `unlocked`. ### Notify entity groups diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown index 73231240cf7..3c05561c08b 100644 --- a/source/_integrations/habitica.markdown +++ b/source/_integrations/habitica.markdown @@ -31,6 +31,7 @@ related: title: To-do list card - url: https://habitica.com/ title: Habitica +ha_quality_scale: platinum --- The Habitica {% term integration %} enables you to monitor your adventurer's progress and stats from [Habitica](https://habitica.com/) in Home Assistant and seamlessly integrates your to-do's, daily tasks, and many more things. diff --git a/source/_integrations/heicko.markdown b/source/_integrations/heicko.markdown index d2ae71585bb..3adac1eea53 100644 --- a/source/_integrations/heicko.markdown +++ b/source/_integrations/heicko.markdown @@ -7,7 +7,7 @@ ha_domain: heicko ha_integration_type: virtual ha_supporting_domain: motion_blinds ha_supporting_integration: Motionblinds -ha_release: 2025.3 +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' ha_config_flow: true diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown index 609fb8325a6..956cb00c9fd 100644 --- a/source/_integrations/heos.markdown +++ b/source/_integrations/heos.markdown @@ -218,6 +218,11 @@ data: | `entity_id` | yes | Remove this media player from any player groups. | +{% note %} + +Actions may fail if they cannot be processed by the HEOS device. For example, attempting to call `media_player.clear_playlist` when the queue is empty will result in an error. To prevent this from halting a script or automation, set [`continue_on_error: true`](/docs/scripts/#continuing-on-error) in the action call. +{% endnote %} + ## Supported devices Denon and Marantz do not currently publish an inventory of HEOS-enabled devices, however, many receiver and hi-fi products began including HEOS since 2013. Consult your product model to confirm support: diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown index 22f420aaa82..145df81eef8 100644 --- a/source/_integrations/here_travel_time.markdown +++ b/source/_integrations/here_travel_time.markdown @@ -20,7 +20,9 @@ The `here_travel_time` sensor provides travel time from the [HERE Routing API](h You need to register for an API key by following the instructions in the [API Developer Guide](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/topics/send-request.html). -HERE offers a Limited Plan which includes 1000 free transactions per day. If you are not [updating sensors on demand](#updating-sensors-on-demand-using-automation), you can track 3 routes without exceeding the limit. You can provide payment details to increase this to 5000 free transactions per day. More information can be found [on the pricing page](https://www.here.com/get-started/pricing) +HERE offers a Limited Plan which includes 1000 free transactions per day. If you are not [updating sensors on demand](#updating-sensors-on-demand-using-automation), you can track 3 routes without exceeding the limit. + +You can provide payment details if you want to pay for unlimited transactions. Be aware that the amount of transactions included for free in the paid plan might be _less_ than the 1000 transactions per day in the free plan. More information can be found [on the pricing page](https://www.here.com/get-started/pricing) {% include integrations/config_flow.md %} diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index e490197c65b..311e22273a6 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -17,6 +17,7 @@ ha_domain: home_connect ha_codeowners: - '@DavidMStraub' - '@Diegorro98' + - '@MartinHjelmare' ha_config_flow: true ha_platforms: - binary_sensor @@ -41,31 +42,10 @@ The Home Connect integration allows users to integrate their home appliances sup - Control the light of your appliances. - Adjust the appliance settings. -The integration will add one Home Assistant device for each connected home appliance which will have the following entities: - -- A power switch -- If the device has programs: - - Two select entities that will allow you to select and start a program between the available ones. - - A timestamp sensor for remaining time and a numeric sensor for the progress percentage. -- Light: - - Hoods: - - Functional light: on/off and brightness - - Ambient light: on/off, brightness, HSV and RGB - - Dishwasher: on/off, brightness, HS and RGB - - Cooling appliances: Both, external and internal lights, on/off and brightness -- Numbers that set the temperature of cooling appliances. -- Time for alarm clock for cooktops and ovens. -- Multiple sensors that report the different states and events reported by the appliance. -- Binary sensors that show binary states of the appliance. - {% note %} Note that it depends on the appliance and on API permissions which of the features are supported. {% endnote %} -{% note %} -Some devices only have the state `on` and turn off is not supported by the appliance, check [power state availability at Home Connect API documentation](https://api-docs.home-connect.com/settings/#power-state) for more information. -{% endnote %} - ## Supported devices You can find information about supported devices on the [Home Connect website](https://www.home-connect.com/global/smart-home-appliances). @@ -110,14 +90,6 @@ Internal examples: `http://192.168.0.2:8123/auth/external/callback`, `http://hom The integration configuration will ask for the *Client ID* and *Client Secret* created above. See [Application Credentials](/integrations/application_credentials) for more details. -## Removing the integration - -This integration follows standard integration removal. No extra steps are required. - -{% include integrations/remove_device_service.md %} - -After deleting the integration, go to [your applications at the Home Connect Developer portal](https://developer.home-connect.com/applications), find the application that you were using for Home Assistant, click on details and click on "Delete Application". - ## Supported functionality {% note %} @@ -1002,7 +974,6 @@ Changes a setting. | `key` | no | Key of the setting. | | `value` | no | Value of the setting. | - ## Automation examples Get started with these automation examples @@ -1077,6 +1048,12 @@ actions: This integration uses server-sent events from the Home Connect API to receive live updates from the appliances. When the configuration entry is loaded or after a streaming error (for example after disconnection), the integration will request all data (such as appliance info, available commands, programs, settings, and status) for all appliances. If a new appliance is added to the account, the integration will request data for the new appliance and expose the related entities automatically. + +## Known limitations + +- The Home Connect API does not fully match the Home Connect app. Some programs, options, or settings available in the app may not be accessible or usable via the API. +- This integration supports only one integration entry, as the Home Connect API does not allow for the unique identification of an account. + ## Troubleshooting ### I could not configure the Home Connect integration @@ -1143,8 +1120,10 @@ To try to solve the above issues, follow these steps: - [Home Connect service and contact](https://www.home-connect.com/us/en/support/contact-and-service) - [Home Connect developer Help & Support](https://developer.home-connect.com/support) -## Known limitations +## Removing the integration -- The Home Connect API does not fully match the Home Connect app. Some programs, options, or settings available in the app may not be accessible or usable via the API. -- This integration supports only one integration entry, as the Home Connect API does not allow for the unique identification of an account. +This integration follows standard integration removal. No extra steps are required. +{% include integrations/remove_device_service.md %} + +After deleting the integration, go to [your applications at the Home Connect Developer portal](https://developer.home-connect.com/applications), find the application that you were using for Home Assistant, click on details and click on "Delete Application". diff --git a/source/_integrations/iometer.markdown b/source/_integrations/iometer.markdown index ea05a12897a..ddbdcb376f9 100644 --- a/source/_integrations/iometer.markdown +++ b/source/_integrations/iometer.markdown @@ -3,17 +3,18 @@ title: IOmeter description: Instructions on how to integrate IOmeter within Home Assistant. ha_release: 2025.3 ha_category: - - Sensor - Energy + - Sensor ha_codeowners: - '@MaestroOnICe' - - '@iometer-gmbh' ha_quality_scale: bronze ha_domain: iometer -ha_integration_type: integration +ha_integration_type: device ha_iot_class: Local Polling ha_config_flow: true ha_zeroconf: true +ha_platforms: + - sensor --- The **IOmeter** {% term integration %} fetches data from your [IOmeter](https://iometer.de/produkt/) device, by using the local HTTP API. diff --git a/source/_integrations/islamic_prayer_times.markdown b/source/_integrations/islamic_prayer_times.markdown index 60d98d36281..74081d68936 100644 --- a/source/_integrations/islamic_prayer_times.markdown +++ b/source/_integrations/islamic_prayer_times.markdown @@ -58,7 +58,7 @@ Default: Islamic Society of North America A prayer times calculation method. Methods identify various schools of thought about how to compute the timings. If not specified, it defaults to Islamic Society of North America. -### Latatude Adjustment Method +### Latitude Adjustment Method Default: Middle of the night diff --git a/source/_integrations/jellyfin.markdown b/source/_integrations/jellyfin.markdown index 378ceed096a..439852d6149 100644 --- a/source/_integrations/jellyfin.markdown +++ b/source/_integrations/jellyfin.markdown @@ -9,7 +9,7 @@ ha_category: ha_release: '2021.12' ha_iot_class: Local Polling ha_codeowners: - - '@j-stienstra' + - '@RunC0deRun' - '@ctalkington' ha_config_flow: true ha_domain: jellyfin diff --git a/source/_integrations/lg_thinq.markdown b/source/_integrations/lg_thinq.markdown index ca0b16d2e00..e85966c9f89 100644 --- a/source/_integrations/lg_thinq.markdown +++ b/source/_integrations/lg_thinq.markdown @@ -127,29 +127,30 @@ The properties for controlling both the temperature and wind strength of the app | Device | Property | | ------ | -------- | -| Air Conditioner | Current temperature
Fan mode
HVAC mode
Preset mode
Temperature
Temperature cool
Temperature heat
Unit | +| Air Conditioner | Current temperature
Fan mode
Swing mode
Swing horizontal mode
HVAC mode
Preset mode
Temperature
Temperature cool
Temperature heat
Unit | | System Boiler | Current temperature
HVAC mode
Temperature
Temperature cool
Temperature heat
Unit | ### Event -A notification message pushed from the server is represented as an event platform. +A notification message pushed from the server is represented as an event platform. The **Notification codes** shows the full support range, and you can check the range of your device through the developer tools. -| Device | Property | -| ------ | -------- | -| Air Conditioner | Notification | -| Air Purifier| Notification | -| Air Purifier Fan | Notification | -| Dehumidifier | Notification | -| Dish Washer | Error
Notification | -| Humidifier | Notification | -| Kimchi Refrigerator | Notification | -| Microwave Oven | Notification | -| Oven | Notification | -| Refrigerator | Notification | -| Robot Cleaner | Error
Notification | -| Stick Cleaner | Notification | -| Dryer
Styler
Washer
Washcombo Main
Washcombo Mini
Washtower
Washtower Dryer
Washtower Washer | Error
Notification | -| Wine Cellar | Notification | +| Device | Property | Notification codes | +| ------ | -------- | ---------- | +| Air Conditioner | Notification | water_is_full | +| Air Purifier| Notification | lack_of_water, time_to_clean_filter, pollution_is_high, time_to_change_filter | +| Air Purifier Fan | Notification | time_to_change_filter | +| Dehumidifier | Notification | water_is_full | +| Dish Washer | Error
Notification | cleaning_is_complete, error_during_cleaning, water_leak_has_occurred, rinse_is_not_enough, salt_refill_is_needed | +| Humidifier | Notification | time_to_change_filter, lack_of_water | +| Kimchi Refrigerator | Notification | door_is_open | +| Microwave Oven | Notification | none | +| Oven | Notification | preheating_is_complete, cooking_is_complete, time_to_clean, error_has_occurred | +| Refrigerator | Notification | time_to_change_filter, time_to_change_water_filter, frozen_is_complete, door_is_open | +| Robot Cleaner | Error
Notification | - | +| Stick Cleaner | Notification | charging_is_complete, time_to_clean_filter | +| Washer
Dryer
Washcombo Main
Washcombo Mini
Washtower
Washtower Dryer
Washtower Washer | Error
Notification | washing_is_complete, error_during_washing, drying_is_complete, drying_failed | +| Styler | Error
Notification | styling_is_complete, error_has_occurred | +| Wine Cellar | Notification | door_is_open | ### Fan @@ -172,7 +173,7 @@ A read-write property which has a numeric value is represented as a number platf | Microwave Oven | Fan
Light | | Oven | Temperature | | Refrigerator | Temperature | -| Dryer
Styler
Washer
Washcombo Main
Washcombo Mini
Washtower
Washtower Dryer
Washtower Washer | Delay ends in | +| Dryer
Styler
Washer
Washcombo Main
Washcombo Mini
Washtower
Washtower Dryer
Washtower Washer | Delayed start/end | | Water Heater | Temperature | | Wine Cellar | Light
Temperature | @@ -200,13 +201,13 @@ A read-write property which has only two states that can be toggled is represent | Device | Property | | ------ | -------- | -| Air Conditioner | Energy saving | +| Air Conditioner | Power
Lighting
Energy saving | | Air Purifier | Power | | Air Purifier Fan | Heating
Power
UVnano | | Dehumidifier | Power | | Humidifier | Auto mode
Heating
Mood light
Power
Sleep mode | -| Refrigerator | Ice plus
Quick freeze | -| System Boiler | Hot water | +| Refrigerator | Express mode
Express cool
Quick freeze | +| System Boiler | Power
Hot water | | Wine Cellar | Ventilation | ### Vacuum @@ -217,6 +218,14 @@ The properties for controlling the clean operations of the appliance are represe | ------ | -------- | | Robot Cleaner | Battery
Current status
Operation | +### Water heater + +The properties for controlling the operating mode and temperature are represented as a water_heater platform. + +| Device | Property | +| ------ | -------- | +| Water heater | Mode
Current temperature
Temperature | + ### Sensor A read-only property which has states is represented as a sensor platform. @@ -228,8 +237,8 @@ A read-only property which has states is represented as a sensor platform. | Air Purifier Fan | Air quality sensor
Humidity
Odor
Overall air quality
PM1
PM10
PM2.5
Sleep timer
Temperature
Schedule turn-off
Schedule turn-on | | Cooktop | Current status
Power level | | Dehumidifier | Humidity
Operating mode | -| Dish Washer | Current cycle
Current status
Rinse aid dispenser level
Softening level
Delay in
Remaining time
Total time | -| Home Brew| Brewing duration
Brewing period
Current status
Flavor
Homebrew recipe
Hops
Recipe progress
Wort
Yeast | +| Dish Washer | Current cycle
Current status
Rinse aid dispenser level
Softening level
Delayed start
Remaining time
Total time | +| Home Brew| Brewing duration
Brewing period
Current status
First flavor
Second flavor
Homebrew recipe
First hop
Second hop
Recipe progress
Wort
Yeast | | Humidifier | Air quality sensor
Humidity
Overall air quality
PM1
PM10
PM2.5
Schedule turn-off
Schedule turn-on
Sleep timer
Temperature | | Kimchi Refrigerator | Fresh air filter
Temperature | | Microwave Oven | Current status | @@ -238,16 +247,16 @@ A read-only property which has states is represented as a sensor platform. | Refrigerator | Fresh air filter
Water filter used | | Robot Cleaner | Current status
Operating mode
Running time | | Stick Cleaner | Battery
Current status
Operating mode | -| Water Heater | Temperature | +| System Boiler | Indoor temperature
Inlet temperature
Outlet temperature | | Water Purifier | High-temp sterilization
Type
UVnano| -| Dryer
Styler
Washer
Washcombo Main
Washcombo Mini
Washtower
Washtower Dryer
Washtower Washer | Current status
Delay in
Remaining time
Total time | +| Dryer
Styler
Washer
Washcombo Main
Washcombo Mini
Washtower
Washtower Dryer
Washtower Washer | Current status
Delayed start/end
Remaining time
Total time
Cycles | -### Custom card configuration +## User guide +### 1. Custom card configuration (HACS) -#### Timer Bar Card - -- Supported devices: Washer, Dryer, Styler, Dish washer -- Entities: sensor.washer_current_status, sensor.washer_remaining_time, sensor.washer_total_time +**- Timer Bar Card** +> - Supported devices: Washer, Dryer, Styler, Dish washer +> - Used entities: sensor.washer_**current_status**, sensor.washer_**remaining_time**, sensor.washer_**total_time** ```yaml type: custom:timer-bar-card @@ -274,6 +283,29 @@ entities: invert: true ``` +### 2. Automation +**- Notification, Error event** +> - Guide: [Automating on event](https://www.home-assistant.io/integrations/event/#automating-on-a-button-press) +> - Important: guide's step 3, 4 +> - You can select the state change you want to act as trigger in step 4 +```yaml +alias: lack of water example +description: Toggle switch when air purifier's lack_of_water +triggers: + - trigger: state + entity_id: + - event.purifier_notification +actions: + - condition: state + entity_id: event.purifier_notification + attribute: event_type + state: lack_of_water + - type: toggle + device_id: xxxxxxxx + entity_id: xxxxxxxx + domain: switch +``` + ## Troubleshooting ### Setup @@ -293,5 +325,9 @@ The LG ThinQ integration will work properly after some time. ## Debugging / Issue report The LG ThinQ integration will show additional information by enabling log configuration. -1. Enable debug logging in /config/integrations/integration/lg_thinq, -2. Please report your device info (screenshot including name, device type, entities) and logs. +1. [Enable debug logging](/docs/configuration/troubleshooting/#enabling-debug-logging). + - If you change **Enable** to **Disable**, the log will be saved to the download folder. +2. When reporting an issue: + - Provide screenshots of your device configuration (including device name, type, and entities). + - Include the debug logs. + - Describe the expected behavior and what's not working. diff --git a/source/_integrations/linak.markdown b/source/_integrations/linak.markdown index b915dee0c60..516ca4beb38 100644 --- a/source/_integrations/linak.markdown +++ b/source/_integrations/linak.markdown @@ -1,22 +1,22 @@ --- title: LINAK -description: Connect and control your LINAK motorized desks the IKEA Idåsen Desk integration +description: Connect and control your LINAK devices using the IKEA Idasen Desk integration ha_category: - Cover ha_domain: linak -ha_iot_class: Local Push ha_integration_type: virtual ha_supporting_domain: idasen_desk ha_supporting_integration: IKEA Idåsen Desk -ha_release: '2025.3' +ha_release: '2023.10' ha_codeowners: - '@abmantis' ha_config_flow: true -ha_quality_scale: bronze ha_platforms: - button - cover - sensor +ha_iot_class: Local Push +ha_bluetooth: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/linx.markdown b/source/_integrations/linx.markdown index 07b455bbb5d..8fa842f9bf3 100644 --- a/source/_integrations/linx.markdown +++ b/source/_integrations/linx.markdown @@ -7,7 +7,7 @@ ha_domain: linx ha_integration_type: virtual ha_supporting_domain: motion_blinds ha_supporting_integration: Motionblinds -ha_release: 2025.2 +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' ha_config_flow: true diff --git a/source/_integrations/lock.markdown b/source/_integrations/lock.markdown index 7116ff7c587..bbe95579d75 100644 --- a/source/_integrations/lock.markdown +++ b/source/_integrations/lock.markdown @@ -27,6 +27,7 @@ A lock entity can have the following states: - **Opening**: Indication of whether the lock is currently opening. - **Locked**: The lock is currently locked. - **Locking**: The lock is in the process of being locked. +- **Unlocked**: The lock is currently unlocked. - **Unlocking**: The lock is in the process of being unlocked. - **Unavailable**: The entity is currently unavailable. - **Unknown**: The state is not yet known. diff --git a/source/_integrations/mastodon.markdown b/source/_integrations/mastodon.markdown index 5fcd3a49ad7..f606ec06e26 100644 --- a/source/_integrations/mastodon.markdown +++ b/source/_integrations/mastodon.markdown @@ -12,6 +12,7 @@ ha_domain: mastodon ha_iot_class: Cloud Polling ha_platforms: - diagnostics + - notify - sensor ha_integration_type: service ha_config_flow: true diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown index 97d0d433112..60849da6e5f 100644 --- a/source/_integrations/microsoft.markdown +++ b/source/_integrations/microsoft.markdown @@ -65,7 +65,7 @@ pitch: type: string default: "`default`" contour: - description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](https://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`." + description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](https://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0%, -1st) (100%, +10st)`." required: false type: string region: @@ -100,6 +100,6 @@ tts: rate: 20 volume: -50 pitch: high - contour: (0, 0) (100, 100) + contour: (0%, -1st) (100%, +10st) region: eastus ``` diff --git a/source/_integrations/minecraft_server.markdown b/source/_integrations/minecraft_server.markdown index 919101e81a5..292ee3eacb3 100644 --- a/source/_integrations/minecraft_server.markdown +++ b/source/_integrations/minecraft_server.markdown @@ -15,6 +15,7 @@ ha_platforms: - diagnostics - sensor ha_integration_type: integration +ha_quality_scale: silver --- [Minecraft](https://www.minecraft.net/en-us) is a sandbox video game developed by Mojang Studios. Minecraft servers allow players to play the game online or via a local area network with other players. The **Minecraft Server** integration lets you retrieve information from a Minecraft server within Home Assistant. Both **Java Edition** and **Bedrock Edition** servers are supported. diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown index 76620d555b6..3b8db3c2717 100644 --- a/source/_integrations/nut.markdown +++ b/source/_integrations/nut.markdown @@ -11,6 +11,7 @@ ha_codeowners: - '@bdraco' - '@ollo69' - '@pestevez' + - '@tdfountain' ha_zeroconf: true ha_platforms: - diagnostics diff --git a/source/_integrations/onedrive.markdown b/source/_integrations/onedrive.markdown index 9ab8230ffd7..891a7893090 100644 --- a/source/_integrations/onedrive.markdown +++ b/source/_integrations/onedrive.markdown @@ -1,5 +1,5 @@ --- -title: Microsoft OneDrive +title: OneDrive description: Instructions on how to setup OneDrive to be used with backups. ha_release: 2025.2 ha_category: @@ -13,7 +13,9 @@ ha_integration_type: service related: - docs: /common-tasks/general/#backups title: Backups -ha_quality_scale: bronze +ha_quality_scale: platinum +ha_platforms: + - sensor --- This integration allows you to use [Microsoft OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage) for [Home Assistant Backups](/common-tasks/general/#backups). diff --git a/source/_integrations/opower.markdown b/source/_integrations/opower.markdown index 95f234fd8f4..55aee7a54c9 100644 --- a/source/_integrations/opower.markdown +++ b/source/_integrations/opower.markdown @@ -142,3 +142,16 @@ Your **Configure gas consumption** should now look like this: With the above changes your (**{% my config_energy title="Settings > Dashboards > Energy" %}**) page should now look like this: ![Screenshot Energy Configuration](/images/integrations/opower/energy_config.png) + +## Known limitations + +- There is a delay, often for up to a few days, for sensors and statistics to have up-to-date data. +- For some utilities, there are no sensors added by this integration. +- For some utilities, the sensors might disappear or become unavailable at the beginning of your bill period. +- Sensors for typical monthly usage and cost are not populated for accounts younger than a year. +- Many utilities provide granular usage (for example, daily or hourly) but not cost. They only provide cost for billing periods (for example, month). This results in showing 0 for cost. + +## Troubleshooting + +- Before opening an issue, ensure you can access the energy usage section/dashboard on your utility website and verify that the data is up-to-date there. +- In your energy dashboard in Home Assistant, make sure you use the statistics and not the sensors. diff --git a/source/_integrations/pglab.markdown b/source/_integrations/pglab.markdown index 5cbe441f2f1..62694f4242e 100644 --- a/source/_integrations/pglab.markdown +++ b/source/_integrations/pglab.markdown @@ -4,16 +4,17 @@ description: Instructions on how to integrate PG LAB Electronics with Home Assis ha_category: - Switch - Sensor -ha_release: "2025.3" +ha_release: '2025.3' ha_iot_class: Local Push ha_config_flow: true ha_codeowners: - - "@pglab-electronics" + - '@pglab-electronics' ha_domain: pglab ha_platforms: - switch - sensor ha_integration_type: integration +ha_quality_scale: bronze --- The **PG LAB Electronics** {% term integrations %} allows you to control [PG LAB Electronics](https://www.pglab.dev/) devices in Home Assistant. diff --git a/source/_integrations/picnic.markdown b/source/_integrations/picnic.markdown index d2d924482b1..2e3db91d159 100644 --- a/source/_integrations/picnic.markdown +++ b/source/_integrations/picnic.markdown @@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - '@corneyl' + - '@codesalatdev' ha_domain: picnic ha_platforms: - sensor diff --git a/source/_integrations/qbus.markdown b/source/_integrations/qbus.markdown index c7b4882f1f7..baa87f9aea5 100644 --- a/source/_integrations/qbus.markdown +++ b/source/_integrations/qbus.markdown @@ -4,6 +4,7 @@ description: Instructions on how to integrate your Qbus installation with Home A ha_category: - Switch ha_platforms: + - light - switch ha_iot_class: Local Push ha_codeowners: diff --git a/source/_integrations/roborock.markdown b/source/_integrations/roborock.markdown index a3b7aa0ae43..dd2cd8c4709 100644 --- a/source/_integrations/roborock.markdown +++ b/source/_integrations/roborock.markdown @@ -24,6 +24,7 @@ ha_platforms: - diagnostics - image - number + - scene - select - sensor - switch diff --git a/source/_integrations/smart_rollos.markdown b/source/_integrations/smart_rollos.markdown index 21976015968..bb7eef3076e 100644 --- a/source/_integrations/smart_rollos.markdown +++ b/source/_integrations/smart_rollos.markdown @@ -7,7 +7,7 @@ ha_domain: smart_rollos ha_integration_type: virtual ha_supporting_domain: motion_blinds ha_supporting_integration: Motionblinds -ha_release: 2025.3 +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' ha_config_flow: true diff --git a/source/_integrations/snoo.markdown b/source/_integrations/snoo.markdown index 23b5c379577..fc5a2e516d5 100644 --- a/source/_integrations/snoo.markdown +++ b/source/_integrations/snoo.markdown @@ -1,5 +1,5 @@ --- -title: Snoo +title: Happiest Baby Snoo description: Instructions on how to integrate Snoo into Home Assistant ha_category: - Sensor @@ -12,6 +12,7 @@ ha_domain: snoo ha_platforms: - sensor ha_integration_type: integration +ha_quality_scale: bronze --- The [Snoo](https://www.happiestbaby.com/products/snoo-smart-bassinet) is a smart bassinet made by [Happiest Baby](https://www.happiestbaby.com/) that helps get your baby to sleep and helps keep them asleep. diff --git a/source/_integrations/steam_online.markdown b/source/_integrations/steam_online.markdown index 32ba8c8dce7..1d6837cd1c0 100644 --- a/source/_integrations/steam_online.markdown +++ b/source/_integrations/steam_online.markdown @@ -32,7 +32,12 @@ Go to your profile, select "Edit Profile", "Privacy Settings". You need a [free API key](https://steamcommunity.com/dev/apikey) to use the platform. -To find an account's 64-bit SteamID on profiles without a custom URL you can check the URL of the profile page, the long string of numbers at the end is the 64-bit SteamID. If the profile has a custom URL you will have to copy the URL into [STEAMID I/O](https://steamid.io/) to find the 64-bit SteamID. +To find an account's 64-bit SteamID: + +1. Open Steam. +2. Open the dropdown menu labeled with your username. +3. Select **Account details**. + - Your **Steam ID** is displayed just below the label **Your-Account-Name Account**. ## Examples diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown index cbab7d2f921..8d4bad5cc9a 100644 --- a/source/_integrations/tado.markdown +++ b/source/_integrations/tado.markdown @@ -7,13 +7,12 @@ ha_category: - Hub - Presence detection - Sensor + - Switch - Water heater - Weather - - Switch ha_release: 0.41 ha_iot_class: Cloud Polling ha_codeowners: - - '@chiefdragon' - '@erwindouna' ha_domain: tado ha_config_flow: true @@ -23,6 +22,7 @@ ha_platforms: - climate - device_tracker - sensor + - switch - water_heater ha_dhcp: true ha_integration_type: integration diff --git a/source/_integrations/thermopro.markdown b/source/_integrations/thermopro.markdown index 101095970ad..26e0599a50e 100644 --- a/source/_integrations/thermopro.markdown +++ b/source/_integrations/thermopro.markdown @@ -12,6 +12,7 @@ ha_codeowners: ha_domain: thermopro ha_config_flow: true ha_platforms: + - button - sensor ha_integration_type: integration --- diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index b5d988401fb..bddd5efe8f8 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -204,6 +204,7 @@ If required, you can manually trigger an update via **Developer tools** > **Acti - Ensure you have enabled **Tapo Lab** > **Third-Party Compatibility** in the Tapo app. You may need to factory reset and re-add to the Tapo app after this step. - Disable or remove any custom integrations that interact with TPLink devices supported by this integration. - Ensure stable network connectivity between Home Assistant and the device. +- Unplug existing TP-Link/Tapo devices on your network before onboarding a new device. The TP-Link Simple Setup (TSS) protocol, which shares credentials from existing devices, can break authentication. If issues persist, factory reset the new device and re-add it without other TP-Link devices active. - Check the [reported connection solutions](#reported-connection-solutions) section below. - Check the [supported device list](#supported-devices) to see if the device is tested to work with the integration. - Try running the [kasa tool](https://github.com/python-kasa/python-kasa) to connect to the device. An easy way to do this is to [install uv](https://docs.astral.sh/uv/getting-started/installation/) and run `uvx --from python-kasa kasa --username --password ` diff --git a/source/_integrations/ublockout.markdown b/source/_integrations/ublockout.markdown index 4f4243e6e17..90036d7fe0e 100644 --- a/source/_integrations/ublockout.markdown +++ b/source/_integrations/ublockout.markdown @@ -7,7 +7,7 @@ ha_domain: ublockout ha_integration_type: virtual ha_supporting_domain: motion_blinds ha_supporting_integration: Motionblinds -ha_release: 2025.3 +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' ha_config_flow: true diff --git a/source/_integrations/velbus.markdown b/source/_integrations/velbus.markdown index b3525a584db..bb611270b1c 100644 --- a/source/_integrations/velbus.markdown +++ b/source/_integrations/velbus.markdown @@ -27,6 +27,7 @@ ha_platforms: - sensor - switch ha_integration_type: hub +ha_quality_scale: bronze --- The **Velbus** {% term integration %} is used to control [Velbus](https://www.velbus.eu/?lang=en) modules. It supports the Velbus USB, Velbus serial and a TCP/IP gateway. diff --git a/source/_integrations/vesync.markdown b/source/_integrations/vesync.markdown index 7c057a6a0d1..43b6c3d8676 100644 --- a/source/_integrations/vesync.markdown +++ b/source/_integrations/vesync.markdown @@ -23,6 +23,7 @@ ha_platforms: - humidifier - light - number + - select - sensor - switch ha_integration_type: integration diff --git a/source/_integrations/weatherflow_cloud.markdown b/source/_integrations/weatherflow_cloud.markdown index 44c903da4fe..9c8b8ddc256 100644 --- a/source/_integrations/weatherflow_cloud.markdown +++ b/source/_integrations/weatherflow_cloud.markdown @@ -1,5 +1,5 @@ --- -title: WeatherFlow Cloud +title: WeatherflowCloud description: Instructions on the Cloud based WeatherFlow integration ha_release: 2024.3 ha_category: @@ -84,4 +84,3 @@ There is not a straight 1-1 mapping between the Home Assistant supported weather | snow | snowy | | thunderstorm | lightning | | windy | windy | - diff --git a/source/_posts/2025-02-27-apollo-joins-wwha.markdown b/source/_posts/2025-02-27-apollo-joins-wwha.markdown new file mode 100644 index 00000000000..17e9c60d45d --- /dev/null +++ b/source/_posts/2025-02-27-apollo-joins-wwha.markdown @@ -0,0 +1,50 @@ +--- +layout: post +title: "Apollo joins the Works With Home Assistant Program" +description: "Adding three devices, including their community favorite presence and air quality multisensors." +date: 2025-02-27 00:00:01 +date_formatted: "February 27, 2025" +author: Miranda Bishop +comments: true +categories: Announcements +og_image: /images/blog/2025-02-apollo/art.jpg +--- + +Apollo wwha logo + +[Apollo Automation](https://apolloautomation.com/) has joined the [Works with Home Assistant](https://partner.home-assistant.io/) program. Certifying three of their newest devices, including their community favorite presence and air quality multisensors, giving users the best possible experience when using these devices with Home Assistant. + +Notably, these are the first [ESPHome](https://esphome.io/index.html)-based devices to receive Works with Home Assistant certification. Apollo is one of the first movers in an important trend that we're very excited about: Home Assistant community members turning their open projects into viable businesses that support a thriving Open Home ecosystem. + + + +## Background + +Apollo Automation is a growing family-run business rooted in the Home Assistant and ESPHome communities. And yes, they're named after their German Shepherd, Apollo 🐕. + +
+

Apollo Automation is built by and for the Home Assistant community. We believe in open smart home technology that gives users control, privacy, and flexibility. Joining the Works With Home Assistant program is a natural step for us, ensuring our devices integrate seamlessly while supporting the ecosystem we love. Home Assistant allows users to create powerful smart homes, and we are excited to contribute by making high-quality, reliable hardware that enhances the experience for everyone.

+ - Justin Bunton, Co-Founder, Apollo Automation +
+ +Two years ago, they started sharing their designs for a new impressively small ESPHome-powered multisensor with the community. Getting feedback, sharing iterations, and working collaboratively, they turned that sensor into a full-fledged product, which was built to work with Home Assistant. They have continued this open, community-first approach and have now built several even more refined multisensors. + +

Apollo MSR-2 multisensor +A multisensor for ants? 🐜

+ +Home Assistant is the [only true smart home platform](https://newsletter.openhomefoundation.org/true-platforms-let-you-create/) because it gives everyone full control to build and create. [ESPHome](/integrations/esphome/) is the ultimate smart device platform, and it is fostering an entirely new ecosystem of Open Home projects. ESPHome works fully locally, and it's a modder's paradise, allowing users to build DIY smart home devices (check out the [getting started with ESPHome guide](https://esphome.io/guides/getting_started_hassio.html)). + +Creators can also use it to build pre-built, plug-and-play products that give users a really seamless experience. With devices being discovered and easily added to your Wi-Fi network and Home Assistant, along with a one-click update within Home Assistant. + +ESPHome and Home Assistant allows anyone to turn their passion for building cool things into a career, and the things they build help support a more vibrant Open Home. Apollo is an exciting new partner for the Works with Home Assistant program and should serve as an inspiration to all aspiring makers in our community. + +## Devices +Works with Home Assistant differs from other certification programs as products are rigorously tested in-house to ensure they work seamlessly out of the box. Any company joining also commits to providing long-term support and firmware updates, while being a positive force in the Home Assistant community. Works with Home Assistant is operated by the [Open Home Foundation](https://www.openhomefoundation.org/), and it is the support of [Home Assistant Cloud](/cloud/) subscribers that funds this work. + +Apollo has chosen first to certify three products, which include: + +- [MTR-1 Multi-Target Radar Multisensor For Home Assistant (LD2450)](https://apolloautomation.com/products/mtr-1) - A tiny, but powerful radar-based (mmWave) presence sensor that can pack in many other sensors. +- [MSR-2 mmWave Multisensor For Home Assistant (LD2410B)](https://apolloautomation.com/products/msr-2) - An even smaller multisensor that is the successor of the initial community feedback-driven design. +- [AIR-1 Air Quality Sensor For Home Assistant](https://apolloautomation.com/products/air-1) - A small air quality multisensor that can be extended to incorporate a huge variety of sensors. + +We anticipate that Apollo will bring more of their lineup into the program, and we are excited to see their new innovations going forward! This is just the start of a year of many new Works with Home Assistant announcements, so please stay tuned! diff --git a/source/_posts/2025-03-05-music-assistants-next-big-hit.markdown b/source/_posts/2025-03-05-music-assistants-next-big-hit.markdown new file mode 100644 index 00000000000..94f8c3456b6 --- /dev/null +++ b/source/_posts/2025-03-05-music-assistants-next-big-hit.markdown @@ -0,0 +1,95 @@ +--- +layout: post +title: "Music Assistant's next big hit" +description: "Spotify Connect, Assist streaming, podcasts, audiobooks, Apple Music, a full EQ, and more!" +date: 2025-03-05 00:00:01 +date_formatted: "March 5, 2025" +author: Marcel van der Veldt +comments: true +categories: Music-Assistant +og_image: /images/blog/2025-03-music-assistant/art.jpg +--- + +

Music Assistants next big hit

+ +Over the past several months, [Music Assistant](https://www.music-assistant.io/) has been hitting all the right notes with new features, greater stability, and a crescendo of contributors who keep pushing the project forward. If you're [unfamiliar with Music Assistant](/blog/2024/05/09/music-assistant-2/#what-is-music-assistant), it allows you to merge your libraries from leading audio streaming providers and local files, letting you play them on the most popular smart speakers. Since our [last update](/blog/2024/05/09/music-assistant-2/), Music Assistant has had a couple of big releases, but our most recent might just be our platinum record 💿, with a lot of new functionality coming in version 2.4. In case you've missed the last few updates, here are the biggest additions. + +**Table of contents** +- [Optimized for Assist](#say-my-name) +- [External audio & Spotify Connect](#across-the-universe) +- [Podcasts & Audiobooks](#radio-ga-ga) +- [More players and providers](#new-sensation) +- [Equalizer control & features](#all-about-that-bass) +- [Home Assistant improvements](#master-of-puppets) +- [More stable streaming](#d-d-dont-dont-stop-the-beat) +- [Get Music Assistant 2.4 today!](#drop-it-like-its-hot) + + + +### "Say My Name" +

Optimized for Assist

+

audiobooks pageWe should have called it Hi-Fi edition

+ +The most recent release has some great advancements for [Assist](/voice_control/) devices, like the [Home Assistant Voice Preview Edition](/voice-pe/). We've been working closely with the [ESPHome](https://esphome.io/) team to ensure the most optimal audio streaming experience, which has helped make Assist devices into very capable media players. The community has even added some great functionality to fully [control your media player with your voice](https://github.com/music-assistant/voice-support), including choosing songs, artists, and more. Voice Preview Edition has a high-quality DAC that provides very clean audio playback from its 3.5mm jack, allowing you to stream lossless audio to connected speakers (this $59 device puts some of my expensive Hi-Fi gear to shame!). + +### "Across the Universe" +

External audio & Spotify Connect

+

Spotify Connect on a Voice PESpotify Connect on Voice Preview Edition

+ +Another feature in the latest release is support for "external audio sources", which can be provided either by players themselves (source control) or with plugins. The first plugin to deliver this functionality is Spotify Connect. It's the easiest way to use Spotify with Music Assistant, and can be enabled on any player. This makes any Music Assistant supported device a Spotify Connect supported device (can confirm, Voice Preview Edition is great for this). [To get started](https://www.music-assistant.io/plugins/spotify-connect/) go to Music Assistant's settings, add the Spotify Connect Plugin, choose the devices you would like it to use, and within Spotify you will see the device as a player. Just note, Spotify Connect requires a Premium account to work. + +We've got our sights set on adding even more plugins like this down the line (AirPlay, anyone?). We're also hard at work making the whole setup process super simple, particularly for those using the Voice Preview Edition who might not need every single Music Assistant feature, but still want this simple casting capability. + +### "Radio Ga Ga" +

Podcasts & Audiobooks

+ +

audiobooks pageThe full book's progress is tracked, and chapters are clearly shown

+ +Your library just got a whole lot bigger! Music Assistant now has native support for podcasts and audiobooks. For podcasts, several providers have been added, including [Subsonic](https://www.music-assistant.io/music-providers/subsonic/), [YouTube](https://www.music-assistant.io/music-providers/youtube-music/), and [RSS feeds](https://www.music-assistant.io/music-providers/podcastfeed/). Audiobooks can be added via two brand new providers: [Audible](https://www.music-assistant.io/music-providers/audible/) and [Audiobookshelf](https://www.music-assistant.io/music-providers/audiobookshelf/), or imported directly from your local files. Audiobook playback presents the entire book as a single bar with dots showing each chapter (even if the book is separated into multiple files), allowing you to really track your progress. The entire core has been adjusted to keep better track of your progress through any media, so you will always resume where you left off. + +

Continue listening sectionThe "Continue listening" section on the home page takes you back to where you left off

+ +### "New Sensation" +

More players and providers

+ +Shortly after our last blog post, we added support for [Apple Music](https://www.music-assistant.io/music-providers/apple-music/) which was one of the most requested additions in the comments. A couple of other new providers were added, including [iBroadcast](https://www.music-assistant.io/music-providers/ibroadcast/) and [SiriusXM](https://www.music-assistant.io/music-providers/siriusxm/). For new hardware support we've added support for [Bluesound](https://www.music-assistant.io/player-support/bluesound/) players. If you have a provider or player you love and want to see it in Music Assistant, [request it](https://github.com/orgs/music-assistant/discussions?discussions_q=sort%3Atop)---but better yet [join us in developing it](https://github.com/music-assistant/server)! + +### "All About That Bass" +

Equalizer control & features

+ +

PEQ pageMake your own EQ settings or import pre-made settings for your speaker

+ +When we released 2.0 there were basic bass and treble controls for devices, but with our new [configurable DSP](https://www.music-assistant.io/audiopipeline/) (Digital Signal Processor) you can now fine-tune your audio like never before. This includes input and output gain, along with a powerful [parametric equalizer](https://www.music-assistant.io/dsp/parametriceq/) that can be applied per player 📈. You can conveniently view the entire audio pipeline by clicking the quality indicator icon. + +

Music Assistants next big hit

+ +Another useful feature added was a "[Don't stop the music](https://www.music-assistant.io/usage/#:~:text=Don%27t%20Stop%20The%20Music%20(DSTM))" mode that keeps music playing even once your queue finishes, playing similar songs from your library. Another way to keep the music playing is through lock screens and widget controls built into many popular operating systems, which can now control Music Assistant. + +### "Master of Puppets" +

Home Assistant improvements

+ +Home Assistant was always designed to work seamlessly with Music Assistant, and it's only getting better. In the [Home Assistant 2024.12 release](/blog/2024/12/04/release-202412/#new-integrations), we gave the community a Christmas present--Music Assistant moved from HACS to being a native integration ([please migrate if you haven't yet](https://www.music-assistant.io/integration/migrate/)). + +Many people now add all their players to Music Assistant first and then integrate Music Assistant with Home Assistant, eliminating the need to add each device separately. The most recent release added the ability to outsource any player control, including volume or turning it on/off, to a Home Assistant entity. There are other benefits to using them together, like Music Assistant [resuming audio playback](https://www.music-assistant.io/integration/announcements/) after an announcement or using Assist to find and play a song ([with or without LLMs](https://github.com/music-assistant/voice-support)). + +### "D-D-Don't Don't Stop the Beat" +

More stable streaming

+ +One of the biggest goals for every release is to improve streaming stability across all providers and players. With every release, we've been improving stability, and since our last post, we've had a big influx of users who have been finding and helping squash bugs. There have been nice improvements to almost every provider helping with stability, speed, and quality. Just in the next patch release 2.4.3, we've improved streaming performance on slower network connections. The goal is that the music never stops. + +## "Praise You" - 🙏 + +A huge thank you to everyone who contributed to this release---whether through code, testing, or feedback. Your support keeps Music Assistant evolving into the ultimate tool for managing your music, on your players. + +## "Drop It Like It's Hot" +

Get Music Assistant 2.4 today!

+ +If you haven't updated yet, now's the time! And if you haven't used it yet, you can install Music Assistant as a Home Assistant Add-on, + +[!Open your Home Assistant instance and show the dashboard of an add-on.](https://my.home-assistant.io/redirect/supervisor_addon/?addon=d5369777_music_assistant) + +For more on getting started with Music Assistant, [read the documentation](https://www.music-assistant.io/installation/). + +Have feedback or want to contribute? Join our growing community on GitHub and Discord! + +Happy listening! diff --git a/source/_posts/2025-03-05-release-20253.markdown b/source/_posts/2025-03-05-release-20253.markdown new file mode 100644 index 00000000000..c896c28947e --- /dev/null +++ b/source/_posts/2025-03-05-release-20253.markdown @@ -0,0 +1,619 @@ +--- +layout: post +title: "2025.3: View those headers!" +description: "Beautiful dashboard view headers, tons of tile card improvements and new features, better map clustering, Assist now streams responses, and integrating with SmartThings is now better than ever!" +date: 2025-03-05 00:01:00 +date_formatted: "March 5, 2025" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2025-03/social.jpg +--- + + + +Home Assistant 2025.3! 🎉 + +But! Before I dive into the release, let me quickly catch you up on things you +might have missed. There is a lot of cool stuff happening lately! + +We had a live stream about Assist: [**Voice chapter 9**](https://www.youtube.com/watch?v=k6VvzDSI8RU)! +Here we announced [**Speech-to-Phrase**](/blog/2025/02/13/voice-chapter-9-speech-to-phrase/#voice-for-the-masses), +a voice recognition technology that is blazing fast and super accurate, even +on a Raspberry Pi! 🚀 + +I'm also super stoked [about the announcement](/blog/2025/02/27/apollo-joins-wwha/) +that [**Apollo Automation**](https://apolloautomation.com/) has joined the +[**Works with Home Assistant**](https://partner.home-assistant.io) program 🥰 + +And our friends at [**Music Assistant**](https://www.music-assistant.io/) have +[**shipped their next big hit**](/blog/2025/03/05/music-assistants-next-big-hit/)! +With awesome new features like Spotify Connect, Assist optimization, +an equalizer, and podcast & audiobook support. 🎶 + +Great stuff, right? But this release today is also packed with amazing things! + +After a few releases [focusing on backups](/blog/2025/02/05/release-20252/), +we are back with a release **packed** with new features and improvements, +mostly **focusing on dashboards**! 🤩 + +The new abilities, the tile card's fine-tuning, and the dashboard view's new +headers are really cool; I can’t wait to see screenshots of your dashboards +with these new features! 📸 + +Enjoy the release! + +../Frenck + + + +- [Dashboard view headers](#dashboard-view-headers) +- [Tile cards](#tile-cards) + - [Making tile card interactions clearer](#making-tile-card-interactions-clearer) + - [Position tile card features](#position-tile-card-features) + - [New tile card features](#new-tile-card-features) + - [Switch toggle](#switch-toggle) + - [Counter actions](#counter-actions) + - [Tiny interaction improvements](#tiny-interaction-improvements) + - [Editor improvements](#editor-improvements) +- [Assist chat now has streaming responses](#assist-chat-now-has-streaming-responses) +- [Integrations](#integrations) + - [New integrations](#new-integrations) + - [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations) + - [SmartThings](#smartthings) +- [Other noteworthy changes](#other-noteworthy-changes) +- [Iterating on the legends of graphs](#iterating-on-the-legends-of-graphs) +- [Grouping/clustering of trackables on the maps](#groupingclustering-of-trackables-on-the-maps) +- [Need help? Join the community!](#need-help-join-the-community) +- [Backward-incompatible changes](#backward-incompatible-changes) +- [All changes](#all-changes) + +## Dashboard view headers + +This release brings a whole new look with the ability to add headers to your +dashboards. This allows you to add a title and welcoming text to your dashboards +using Markdown and even templates. Additionally, this gives you a lot of space +for badges next to the header. + +As always, we’ve baked in a lot of customization, with the ability to align the +header in multiple different ways. It comes with a responsive layout by default, +but you can also set it to always be left-aligned or center-aligned. + +Screenshot showing the new header feature in the dashboard view. + +The badges can also be positioned below the text (default) or above the text. A +great visual menu makes it easy to choose how you want to organize your header. + +## Tile cards + +This release has made many improvements and fine touches to the tile card. It +is one of the most versatile cards in Home Assistant, +and we have made it even better! + +### Making tile card interactions clearer + +There is no doubt the tile card can do a lot, but ever since its creation, +it has had a little flaw that you might have run into yourself… + +How would you know if tapping the icon on the tile card would trigger +an action or whether it would just display more information? We have addressed +this with some subtle visual language in this release! + +Screenshot showing tile cards with and without direct actions on their icons. The ones that do have a direct action have a circular background, others don't. + +When tapping the icon on the tile card directly performs an action, +like for example, turning on a light, the icon will have a circular background +around it. In all other cases, the little circle will not be displayed. + +Now you know! 👍 + +### Position tile card features + +Since [we added support for resizing cards](/blog/2024/07/03/release-20247/#resize-the-cards-on-your-dashboard), +we gained the ability to make very wide tile cards. These cards have a lot of +empty space surrounding them, which can be helpful at times. + +But what if you could do something useful with that space? Now you can! +All features of a tile card can now be positioned inline in the tile card! + +Screenshot showcasing the new inline tile card features (versus the existing bottom feature + +This brings a completely new look and feel, which we are sure you will love! +From the settings, you can add a feature, like a brightness slider, and position +it either below (bottom) or to the right side of the icon (inline). + +{% note %} +Only the first feature can be positioned inline; the rest will not be displayed. +{% endnote %} + +### New tile card features + +This release also ships with two new tile card features that can be +added to your entities to provide new controls. [@jpbede] contributed these, +so a big shout out to him! + +[@jpbede]: https://github.com/jpbede + +#### Switch toggle + +The first addition is one that is just surprising we didn't have it before: +A switch toggle! This allows you to toggle a switch entity directly from the +tile card. + +Screenshot showing the new tile card feature for switch entities. + +#### Counter actions + +The second addition is a counter toggle. This allows you to add a button to +increase, decrease, or reset a counter entity directly from the tile card. + +Screenshot showing the new tile card feature for counter helper entities. + +### Tiny interaction improvements + +More tweaks to the tile card have been made to improve their interaction +experience. For example, we now have nice little animations when you hover over +the tile card, making it more apparent that it is interactive. Still, when you +tap the tile card, it will show a little animation to indicate that the +tap was registered. + +
+Screenrecording showing the new tiny micro interactions added to the tile card and a small demo of using keyboard navigation +
+ +Another nice addition is that the tile card can now interact with your keyboard! +Tab and shift + tab your way across the screen like the keyboard warrior you are. + +### Editor improvements + +Not just the tile card itself has been improved, but also the editor for +the tile card has been improved. It is now clearer and easier to use. + +The new control gives you a better overview of what the option will do for +the tile card. + +Screenshot showing the brand new visual card editor that make it more visually clear what options do. + +## Assist chat now has streaming responses + +If you have hooked up an LLM, like ChatGPT, to your Assist as +a conversation agent, it will now livestream the responses to you when +you are text chatting with it! + +When experimenting with larger models, or on slower hardware, LLM’s can feel +sluggish. They only respond once the entire reply is generated, which can take +frustratingly long for lengthy responses (you’ll be waiting a while if you ask +it to tell you an epic fairy tale). + +We've added support for LLMs to stream their response to the text chat, allowing you +to start reading while the response is being generated. A bonus side effect is +that commands are now also faster: they will be executed as soon as they come +in, without waiting for the rest of the message to be complete. + + + +There was quite a lot more to tell around Assist and the new voice features; +in case you missed it, you can read all about it in this blog post: + +📰 [Speech-to-Phrase brings voice home - Voice chapter 9](/blog/2025/02/13/voice-chapter-9-speech-to-phrase/) + +## 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: + +- **[Azure Storage]**, added by [@zweckj] + Use Azure Storage as a target location for your backups. +- **[IOmeter]**, added by [@MaestroOnICe] + Read out your [IOmeter device] data locally. +- **[PG LAB Electronics]**, added by [@pglab-electronics] + Control your [PG LAB Electronics devices] from Home Assistant. +- **[SensorPush Cloud]**, added by [@sstallion] + Integrate your [SensorPush devices] with Home Assistant, using their + cloud service. +- **[SNOO]**, added by [@Lash-L] + Get the state of your [SNOO Smart Sleeper Bassinet] into Home Assistant. +- **[WebDAV]**, added by [@jpbede] + Use any WebDAV compatible service as a target location for your backups. + +[@jpbede]: https://github.com/jpbede +[@Lash-L]: https://github.com/Lash-L +[@MaestroOnICe]: https://github.com/MaestroOnICe +[@pglab-electronics]: https://githb.com/pglab-electronics +[@sstallion]: https://github.com/sstallion +[@zweckj]: https://github.com/zweckj +[Azure Storage]: /integrations/azure_storage +[IOmeter device]: https://iometer.de/produkt/ +[IOmeter]: /integrations/iometer +[PG LAB Electronics devices]: https://www.pglab.dev/ +[PG LAB Electronics]: /integrations/pglab +[SensorPush Cloud]: /integrations/sensorpush_cloud +[SensorPush devices]: https://www.sensorpush.com/ +[SNOO Smart Sleeper Bassinet]: https://www.happiestbaby.com/ +[SNOO]: /integrations/snoo +[WebDAV]: /integrations/webdav + +This release also has new virtual integrations. Virtual integrations +are stubs that are handled by other (existing) integrations to help with +findability. These ones are new: + +- **[Burbank Water and Power (BWP)]**, provided by [Opower], added by [@tronikos] +- **[Heicko]**, provided by [Motionblinds], added by [@starkillerOG] +- **[LINAK]**, provided by [Idasen Desk], added by [@abmantis] +- **[Linx]**, provided by [Motionblinds], added by [@starkillerOG] +- **[Smart Rollos]**, provided by [Motionblinds], added by [@starkillerOG] +- **[Ublockout]**, provided by [Motionblinds], added by [@starkillerOG] + +[@abmantis]: https://github.com/abmantis +[@starkillerOG]: https://github.com/starkillerOG +[@tronikos]: https://github.com/tronikos +[Burbank Water and Power (BWP)]: /integrations/burbank_water_and_power +[Heicko]: /integrations/heicko +[Idasen Desk]: /integrations/idasen_desk +[LINAK]: /integrations/linak +[Linx]: /integrations/linx +[Motionblinds]: /integrations/motionblinds +[Opower]: /integrations/opower +[Smart Rollos]: /integrations/smart_rollos +[Ublockout]: /integrations/ublockout + +### 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: + +- [@MartinHjelmare] and [@Diegorro98] have been putting in a lot of effort to bring + the [Home Connect integration] to the next level. Nice! +- Got an [ESPHome] device that is acting up? [@bdraco] has added a new option + to the integration to let Home Assistant shadowlog the device logs. + Helpful! +- The [OpenAI conversation integration] now supports the `o1`, `o1-preview`, + `o1-mini`, and `o3-mini` reasoning models. Thanks, [@Shulyaka]! +- The [Shelly integration] now supports the 4th generation of the Shelly Flood + sensors and added support for Shelly script events entities. + Thanks, [@chemelli74] and [@wjtje]! +- Support for the [Switchbot Remote] has been added to the + [Switchbot integration]. Thanks, [@awahlig]! +- UniFi version 9 introduced zone-based rules. These are now supported by + [Unifi integration]. Thanks, [@Samywamy10]! +- [@Galorhallen] has added support for effects in [Govee lights]. Nice! + +[@awahlig]: https://github.com/awahlig +[@bdraco]: https://github.com/bdraco +[@chemelli74]: https://github.com/chemelli74 +[@Diegorro98]: https://github.com/Diegorro98 +[@Galorhallen]: https://github.com/Galorhallen +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@Samywamy10]: https://github.com/Samywamy10 +[@Shulyaka]: https://github.com/Shulyaka +[@wjtje]: https://github.com/wjtje +[ESPhome]: /integrations/esphome +[Govee lights]: /integrations/govee_light_local +[Home Connect integration]: /integrations/home_connect +[OpenAI conversation integration]: /integrations/openai_conversation +[Switchbot integration]: /integrations/switchbot +[Switchbot Remote]: https://eu.switch-bot.com/products/switchbot-Remote +[UniFi integration]: /integrations/unifi +[Shelly integration]: /integrations/shelly + +### SmartThings + +The [SmartThings] integration has been completely rewritten! 🎉 In December, +SmartThings shut down the old authentication method, but thanks to +SmartThings' hard work and close collaboration with us, [@joostlek] was able to +bring back the integration is back—better than ever. + +No more setting up routing, exposing ports, or creating developer accounts with +access tokens—**just log in with your Samsung account**, and you’re good to go! + +And there’s more! Push updates now work without exposing your instance to the +internet, making the experience faster, seamless, and more secure! 🚀 + +A huge shoutout to our amazing community, who played a key role in this effort! +💙 When [@joostlek] shared a guide on gathering test data, the community +stepped up—sending in valuable test data that helped fine-tune the integration. +This collaboration truly made a difference! + +[@joostlek]: https://github.com/joostlek +[SmartThings]: /integrations/smartthings + +## Other noteworthy changes + +There are many more improvements in this release; here are some of the other +noteworthy changes this release: + +- Ever upgraded Home Assistant and needed to do a hard refresh in your + browser to make it work again? We have been able to reduce the cases in + which this happens! Thanks, [@bramkragten]! +- [@balloob] made a small change with a big impact. When you set up a new + integration for a new device, Home Assistant will now redirect you to the + device page after setting it up. Nice! +- There is now an option to add an extra margin to the top of a section view. + Thanks, [@piitaya]! +- The add/edit area dialog has been improved and compacted. They are + much more pleasant to use now. Thanks, [@jpbede]! +- We now have a device class for the wind direction sensors! Thanks, [@edenhaus]! +- [@jschlyter] has added the energy distance device class for sensors, + which supports the following units: `kWh/100mi`, `kWh/100km`, and `mi/kWh`, + including conversion between them. Awesome! +- Media player entities that support browsing media now have a new action + available to [browse media as an action with a response]. Thanks, [@PeteRager]! +- [@rikroe] has added an action to [retrieve the configuration of a schedule + helper]. Thanks! + +[@balloob]: https://github.com/balloob +[@bramkragten]: https://github.com/bramkragten +[@edenhaus]: https://github.com/edenhaus +[@jpbede]: https://github.com/jpbede +[@jschlyter]: https://github.com/jschlyter +[@PeteRager]: https:/github.com/PeteRager +[@piitaya]: https://github.com/piitaya +[@rikroe]: https://github.com/rikroe +[browse media as an action with a response]: /integrations/media_player#action-media_playerbrowse_media +[retrieve the configuration of a schedule helper]: /integrations/schedule#action-scheduleget_schedule + +## Iterating on the legends of graphs + +Last release, we made [quite a big change to the charts](/blog/2025/02/05/release-20252/#preparing-our-graphs-for-the-future) +by replacing the software we use to make these graphs in Home Assistant. Things +changed behind the scenes, but our aim to start was to make it look +and feel similar. + +However, we received a lot of feedback from the community that the legends shown +on the new graphs were suboptimal. Our UX and frontend teams have been working +hard to improve this situation and make the new graph legends more similar +to the old ones. + +
+A screen recording showing expanding and collapsing the legend +
+ +By default, we show the legend below the graph and show as many data points +as possible. If there are too many, they will be displayed on demand using the +little ellipsis button. + +When using these cards on your dashboard, if you want to always show the full +legend, a new option will allow you to keep it fully visible. + +You can now also zoom in and out, by double clicking on a graph. If you want +more control over the range you want to view in your graph, you can press the +ctrl/cmd key and then select the range on the graph you want to zoom in on. + +## Grouping/clustering of trackables on the maps + +The map card is perfect for visualizing your entities’ locations, but when too +many cluster together in the same spot, it can get a bit cluttered. + +To tackle this, we’ve introduced marker clustering, which groups nearby entities +together, making it easier to see them at a glance. When zooming in, the markers +‘spider’ out, showing individual entity locations with a connecting line to +their original positions. You can temporarily disable clustering with a +simple toggle. + +Thanks [@jpbede] and [@marcinbauer85] for this awesome improvement! + +
+The map now nicely clusters the items on the same location. This animation shows the ability to expand the cluster of items. +
+ +[@jpbede]: https://github.com/jpbede +[@marcinbauer85]: https://github.com/marcinbauer85 + +## 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 "Automations & scripts" %} + +The `wait` variable and variables defined by a `response_variable` set in an +inner scope of a script or automation now propagate to outer scopes also if +a `variables` action is present in the inner scope. + +Furthermore, variables defined by a `response_variable` now also propagate +out from `parallel` sequences. Scripts and automations which relied on the +older (buggy) behavior might need to be adjusted. + +([@arturpragacz] - [#138883]) + +[@arturpragacz]: https://github.com/jrieger +[#138883]: https://github.com/home-assistant/core/pull/138883 + +{% enddetails %} + +{% details "GPSD" %} + +All state attributes of the main sensor were replaced with a dedicated sensor +Home Assistant in 2024.9. The deprecated attributes have now been removed. + +([@jrieger] - [#137600]) ([documentation](/integrations/gpsd)) + +[@jrieger]: https://github.com/jrieger +[#137600]: https://github.com/home-assistant/core/pull/137600 + +{% enddetails %} + +{% details "Home Connect" %} + +Some programs and program switches (which are being deprecated) and program +select entities may not be exposed anymore by the integration as they are +missing an `aiohomeconnect` program key enumeration ([file](https://github.com/MartinHjelmare/aiohomeconnect/blob/ccfbf802884aa781eef481da92e6bccd2e6de733/src/aiohomeconnect/model/program.py#L213C1-L507C6)). +You can get the diagnostics from the configuration entry or the device and open +an issue or submit a PR with the generated diagnostics file on the +[`aiohomeconnect` repository](https://github.com/MartinHjelmare/aiohomeconnect) +to suggest the missing program(s). + +([@Diegorro98] - [#136116]) ([documentation](/integrations/home_connect)) + +[@Diegorro98]: https://github.com/Diegorro98 +[#136116]: https://github.com/home-assistant/core/pull/136116 + +--- + +Using program and option keys that aren't in the API documentation in Home +Connect actions will no longer work. To be able to use undocumented program or +option keys, open an issue or submit a pull request with the required keys at +[MartinHjelmare/aiohomeconnect](https://github.com/MartinHjelmare/aiohomeconnect). + +([@Diegorro98] - [#137027]) ([documentation](/integrations/home_connect)) + +[@Diegorro98]: https://github.com/Diegorro98 +[#137027]: https://github.com/home-assistant/core/pull/137027 + +--- + +Multiple Home Connect config entries will not be allowed to be configured. For +regular users where all appliances in the home are connected to the same Home +Connect account, there should not be any reason to have more than one config +entry since all appliances in the home will be connected to the same account +and config entry. + +([@Diegorro98] - [#137088]) ([documentation](/integrations/home_connect)) + +[@Diegorro98]: https://github.com/Diegorro98 +[#137088]: https://github.com/home-assistant/core/pull/137088 + +{% enddetails %} + +{% details "MQTT" %} + + Legacy `color_mode` support for MQTT JSON lights has been removed. The support + was deprecated in HA Core 2024.4. + +Users with a YAML setup have been instructed to update their configuration in +`configuration.yaml` via repair issue flow. Deprecation issues with MQTT JSON +lights set up through discovery were communicated via warnings in the logs. +Using the removed parameters in discovery will not break the configuration but +will still log a warning. + +([@jbouwh] - [#136996]) ([documentation](/integrations/mqtt)) + +[@jbouwh]: https://github.com/jbouwh +[#136996]: https://github.com/home-assistant/core/pull/136996 + +{% enddetails %} + +{% details "Proximity" %} + +The distance is now measured to the edge of the monitored zones (it takes the +radius into account), instead of to the center of the zone as before. This leads +to slightly different expected distance values, which you may have to adjust +accordingly in your existing automations. + +([@Spcemarine] - [#138819]) ([documentation](/integrations/proximity)) + +[@Spcemarine]: https://github.com/Spcemarine +[#138819]: https://github.com/home-assistant/core/pull/138819 + +{% enddetails %} + +{% details "SmartThings" %} + +The energy and power sensors have been removed for every device that has a +switch. They rarely worked because there were no energy or power +capabilities available to get data from. If you do have the capabilities, +it will still work for you. + +([@joostlek] - [#138313]) ([documentation](/integrations/smartthings)) + +--- + +There are a lot of states that have been renamed; this might need an update in +your automations or other configurations. + +- Set options for dishwasher job state sensor in SmartThings ([#139349]) +- Add translatable states to SmartThings media source input ([#139353]) +- Add translatable states to SmartThings media playback ([#139354]) +- Add translatable states to oven mode in SmartThings ([#139356]) +- Add translatable states to oven job state in SmartThings ([#139361]) +- Add translatable states to robot cleaner movement in SmartThings ([#139363]) +- Add translatable states to robot cleaner turbo mode in SmartThings ([#139364]) +- Add translatable states to washer job state in SmartThings ([#139368]) +- Add translatable states to dryer job state in SmartThings ([#139370]) + + +[@joostlek]: https://github.com/joostlek +[#138313]: https://github.com/home-assistant/core/pull/138313 +[#139349]: https://github.com/home-assistant/core/pull/139349 +[#139353]: https://github.com/home-assistant/core/pull/139353 +[#139354]: https://github.com/home-assistant/core/pull/139354 +[#139356]: https://github.com/home-assistant/core/pull/139356 +[#139361]: https://github.com/home-assistant/core/pull/139361 +[#139363]: https://github.com/home-assistant/core/pull/139363 +[#139364]: https://github.com/home-assistant/core/pull/139364 +[#139368]: https://github.com/home-assistant/core/pull/139368 +[#139370]: https://github.com/home-assistant/core/pull/139370 + +{% enddetails %} + +{% details "Synology DSM" %} + +The scan interval option has been removed, and the default of 15 minutes is +used. If needed, there is an integration-independent and +[common way](/common-tasks/general/#defining-a-custom-polling-interval) +to set a custom polling interval. + +([@mib1185] - [#138490]) ([documentation](/integrations/synology_dsm)) + +[@mib1185]: https://github.com/mib1185 +[#138490]: https://github.com/home-assistant/core/pull/138490 + +{% enddetails %} + +{% details "TechnoVE" %} + +The status sensor state `high_charge_period` was renamed to `high_tariff_period`. + +([@Moustachauve] - [#139314]) ([documentation](/integrations/technove)) + +[@Moustachauve]: https://github.com/Moustachauve +[#139314]: https://github.com/home-assistant/core/pull/139314 + +{% 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 changes are the most notable for this release: + +- [Backup agents](https://developers.home-assistant.io/blog/2025/02/17/backup-agents) +- [Changed config entry state transitions](https://developers.home-assistant.io/blog/2025/02/19/new-config-entry-states) +- [Changes to the BackupAgent API](https://developers.home-assistant.io/blog/2025/03/04/backup-agent-api-changes) +- [Energy by distance units](https://developers.home-assistant.io/blog/2025/01/31/energy-distance-units) +- [New checks for config flow unique ID](https://developers.home-assistant.io/blog/2025/03/01/config-flow-unique-id/) +- [Relocate dhcp/ssdp/usb/zeroconf ServiceInfo models](https://developers.home-assistant.io/blog/2025/01/15/service-info) +- [Support for config subentries](https://developers.home-assistant.io/blog/2025/02/16/config-subentries) + +[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.3](/changelogs/core-2025.3) diff --git a/source/changelogs/core-2025.3.markdown b/source/changelogs/core-2025.3.markdown new file mode 100644 index 00000000000..a0ff0a74ef3 --- /dev/null +++ b/source/changelogs/core-2025.3.markdown @@ -0,0 +1,2475 @@ +--- +title: Full changelog for Home Assistant Core 2025.3 +description: Detailed changelog for the Home Assistant Core 2025.3 release +replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$ +--- + +These are all the changes included in the Home Assistant Core 2025.3 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2025/03/05/release-20253/). + +- Bump version to 2025.3.0 ([@bramkragten] - [#136859]) +- Update quality scale in Onkyo ([@arturpragacz] - [#136710]) +- Migrate from homeconnect dependency to aiohomeconnect ([@Diegorro98] - [#136116]) +- Bump github/codeql-action from 3.28.6 to 3.28.8 (@dependabot - [#136890]) +- Add error handling to enphase_envoy switch platform action ([@catsmanac] - [#136837]) +- Bump Pysmlight to v0.2.0 ([@tl-sl] - [#136886]) +- Remove stale translation string in HomeWizard ([@DCSBL] - [#136917]) +- Add DS2450 to onewire integration ([@moritzthecat] - [#136882]) +- Add software version to onewire device info ([@epenet] - [#136934]) +- Make assist_satellite action descriptions consistent ([@NoRi2909] - [#136955]) +- Add serial number to LG webOS TV device info ([@thecode] - [#136968]) +- Fetch all programs instead of only the available ones at Home Connect ([@Diegorro98] - [#136949]) +- Fix error messaging for cascading service calls ([@abmantis] - [#136966]) +- Add more Homee cover tests ([@Taraman17] - [#136568]) +- Add tariff sensor and peak sensors ([@gjong] - [#136919]) +- Add post action to mastodon ([@andrew-codechimp] - [#134788]) +- Add support for standby quickmode to ViCare integration ([@CFenner] - [#133156]) +- Add sensors for drink stats per key to lamarzocco ([@zweckj] - [#136582]) +- Do not duplicate device class translations in ring integration ([@sdb9696] - [#136868]) +- Make Reolink reboot button always available ([@starkillerOG] - [#136667]) +- Use runtime_data in motionmount integration ([@RJPoelstra] - [#136999]) +- Create/delete lists at runtime in Bring integration ([@tr4nt0r] - [#130098]) +- Bump python-MotionMount to 2.3.0 ([@RJPoelstra] - [#136985]) +- Energy distance units ([@jschlyter] - [#136933]) +- Add data_description's to motionmount integration ([@RJPoelstra] - [#137014]) +- Bump letpot to 0.4.0 ([@jpelgrom] - [#137007]) +- Add pets to litterrobot integration ([@natekspencer] - [#136865]) +- Add codeowner to Home Connect ([@MartinHjelmare] - [#137029]) +- Add exception handling for updating LetPot time entities ([@jpelgrom] - [#137033]) +- Fix one occurrence of "api" to match all other in sensibo and HA ([@NoRi2909] - [#137037]) +- Add dev docs and frontend PR links to PR template ([@abmantis] - [#137034]) +- Bump pysmlight to v0.2.1 ([@tl-sl] - [#137053]) +- Add switch platform to LetPot integration ([@jpelgrom] - [#136383]) +- Fix Home Connect actions keys ([@Diegorro98] - [#137027]) +- Replace keys with translatable friendly names in Statistics helper ([@NoRi2909] - [#136936]) +- Filter programs by execution type at select program entities at Home Connect ([@Diegorro98] - [#136950]) +- Home Connect entities availability based on the connected state of the appliance ([@Diegorro98] - [#136951]) +- Test config_entry_oauth2_flow.async_get_redirect_uri ([@tronikos] - [#136976]) +- Improve sonos alarms typing ([@cdce8p] - [#137078]) +- Improve isy994 sensor typing ([@cdce8p] - [#137077]) +- Enable Modbus Climate / HVAC on/off to use the coil instead of the register(s) ([@illia-piskurov] - [#135657]) +- Bump aiohomeconnect to 0.12.3 ([@MartinHjelmare] - [#137085]) +- Improve fully_kiosk sensor typing ([@cdce8p] - [#137079]) +- Small additions for Homee ([@Taraman17] - [#137000]) +- Fetch current active and selected programs at Home Connect ([@Diegorro98] - [#136948]) +- Add and delete Home Connect devices on CONNECTED/PAIRED and DEPAIRED events ([@Diegorro98] - [#136952]) +- Extract conversation ID generation to helper ([@balloob] - [#137062]) +- Bump openai to 1.61.0 ([@Shulyaka] - [#137130]) +- Fix home connect manifest logger ([@MartinHjelmare] - [#137138]) +- Make get_chat_session a callback context manager ([@balloob] - [#137146]) +- fix: sort available modes ([@iprak] - [#137134]) +- Reolink styling using walrus operator ([@starkillerOG] - [#137069]) +- Bump teslemetry-stream to 0.6.10 ([@Bre77] - [#137159]) +- Add Linx virtual motionblinds integration ([@starkillerOG] - [#137184]) +- Add support for OpenAI reasoning models ([@Shulyaka] - [#137139]) +- Chat session rev2 ([@balloob] - [#137209]) +- Fix spelling of "SharkClean" and sentence-casing of some words ([@NoRi2909] - [#137183]) +- Add support for Shelly Flood gen4 ([@chemelli74] - [#136981]) +- Fix uppercase / lowercase setup strings in Generic Camera ([@NoRi2909] - [#137219]) +- Add parallel updates setting to Bang & Olufsen Event platform ([@mj23000] - [#135850]) +- Update license-expression to 30.4.1 ([@cdce8p] - [#137226]) +- Update pipdeptree to 2.25.0 ([@cdce8p] - [#137228]) +- Update pylint to 3.3.4 ([@cdce8p] - [#137227]) +- Update coverage to 7.6.10 ([@cdce8p] - [#137229]) +- Bump pysmlight to v0.2.2 ([@tl-sl] - [#137218]) +- Update pytest-freezer to 0.4.9 ([@cdce8p] - [#137232]) +- Update pytest-picked to 0.5.1 ([@cdce8p] - [#137233]) +- Add Starlink connectivity binary sensor ([@MrConorAE] - [#133184]) +- Update syrupy to 4.8.1 ([@cdce8p] - [#137235]) +- Update pyOpenSSL to 25.0.0 ([@cdce8p] - [#137236]) +- Update pytest-asyncio to 0.25.3 ([@cdce8p] - [#137231]) +- Update pytest-github-actions-annotate-failures to 0.3.0 ([@cdce8p] - [#137243]) +- Add service to retrieve schedule configuration ([@rikroe] - [#121904]) +- Update pylint-per-file-ignores to 1.4.0 ([@cdce8p] - [#137242]) +- Migrate unique ID in vesync switches ([@cdnninja] - [#137099]) +- Bump python-homeassistant-analytics to 0.9.0 ([@joostlek] - [#137240]) +- Assist Satellite to use ChatSession for conversation ID ([@balloob] - [#137142]) +- Assist Pipeline to use ChatSession for conversation ID ([@balloob] - [#137143]) +- Add tests for Shelly Flood gen4 ([@thecode] - [#137246]) +- Ensure random temp dir is used during MQTT CI tests ([@jbouwh] - [#137221]) +- Add Ublockout virtual integration of MotionBlinds ([@starkillerOG] - [#137179]) +- Add Heicko virtual motionblinds integration ([@starkillerOG] - [#137191]) +- Add Smart Rollos virtual motionblinds integration ([@starkillerOG] - [#137190]) +- Fix eheimdigital sw_version mock ([@MartinHjelmare] - [#137255]) +- Clear extra system prompt on start_conversation error ([@synesthesiam] - [#137254]) +- Update tqdm to 4.67.1 ([@cdce8p] - [#137241]) +- Add device cleanup to Vodafone Station ([@chemelli74] - [#116024]) +- Introduce async_add_assistant_content to conversation chat log ([@balloob] - [#137273]) +- Add Shelly script events entities ([@wjtje] - [#135979]) +- Pass config_entry as param to Shelly coordinator ([@chemelli74] - [#137276]) +- Add channel sensor to bthome ([@Ernst79] - [#137072]) +- Update Jellyfin codeowner ([@RunC0deRun] - [#137270]) +- Use runtime_data in fastdotcom ([@epenet] - [#137293]) +- Use HassKey in file_upload ([@epenet] - [#137294]) +- Use runtime_data in faa_delays ([@epenet] - [#137292]) +- Bump uv to 0.5.27 ([@edenhaus] - [#137297]) +- Allow integrations with digits in hassfest QS runtime_data ([@autinerd] - [#136479]) +- Cleanup runtime warnings in async unit tests ([@epenet] - [#137308]) +- Update pytest-aiohttp to 1.1.0 ([@cdce8p] - [#137311]) +- Update pyoverkiz to 1.16.0 ([@cdce8p] - [#137310]) +- Update codespell to 2.4.1 ([@cdce8p] - [#137312]) +- Improve descriptions of Bluesound actions ([@NoRi2909] - [#137156]) +- Improve frontier_silicon media_player typing ([@cdce8p] - [#137080]) +- Remove legacy color_mode support for legacy mqtt json light ([@jbouwh] - [#136996]) +- Update attrs to 25.1.0 ([@cdce8p] - [#137316]) +- Add default voice for languages in cloud TTS ([@ludeeus] - [#137300]) +- Update types packages ([@cdce8p] - [#137317]) +- Convert Niko home control to async ([@VandeurenGlenn] - [#137174]) +- Add exception translations to ring integration ([@sdb9696] - [#136468]) +- Added support for One Time Charge Status to Vicare ([@migrzyb] - [#135984]) +- Bump upb-lib to 0.6.0 ([@gwww] - [#137339]) +- Bump roombapy to 1.9.0 ([@jbouwh] - [#137336]) +- Update yalexs-ble to 2.5.7 ([@cdce8p] - [#137345]) +- Update home-assistant-bluetooth to 1.13.1 ([@cdce8p] - [#137350]) +- Make Sonos action descriptions more UI- and translation-friendly ([@NoRi2909] - [#137356]) +- Fix spelling of "ID" and sentence-casing in ovo_energy strings ([@NoRi2909] - [#137329]) +- Bump paho-mqtt client to version 2.1.0 ([@jbouwh] - [#136130]) +- Update bleak-esphome to 2.7.1 ([@cdce8p] - [#137354]) +- Add sensor and weather tests to meteo_france ([@epenet] - [#137318]) +- Update aiozoneinfo to 0.2.3 ([@cdce8p] - [#137370]) +- Add iometer integration ([@MaestroOnICe] - [#135513]) +- Bump thermopro-ble to 0.11.0 ([@stephan48] - [#137381]) +- Bump nexia to 2.0.9 ([@bdraco] - [#137383]) +- Update dhcp dependencies ([@cdce8p] - [#137384]) +- Update bthome-ble to 3.12.4 ([@cdce8p] - [#137385]) +- Update aiohttp-fast-zlib to 0.2.2 ([@cdce8p] - [#137387]) +- Update async-interrupt to 1.2.1 ([@cdce8p] - [#137388]) +- Update aionut to 4.3.4 ([@cdce8p] - [#137389]) +- Update aiosteamist to 1.0.1 ([@cdce8p] - [#137391]) +- Update aiooncue to 0.3.9 ([@cdce8p] - [#137392]) +- Add update entity for second Zigbee radio ([@tl-sl] - [#136918]) +- Update ismartgate to 5.0.2 ([@cdce8p] - [#137394]) +- Update discovergy30303 to 0.3.3 ([@cdce8p] - [#137396]) +- Fix spelling of "YoLink" and improve action descriptions ([@NoRi2909] - [#137412]) +- Bump pysmlight to v0.2.3 ([@tl-sl] - [#137386]) +- Bump sigstore/cosign-installer from 3.7.0 to 3.8.0 (@dependabot - [#137404]) +- Add coordinator unsubscribe listener test ([@epenet] - [#137422]) +- Improve action descriptions in rainmachine, fix casing ([@NoRi2909] - [#137428]) +- Fix sentence-casing and action names/descriptions in unifiprotect ([@NoRi2909] - [#137418]) +- Bump thinqconnect to 1.0.4 ([@LG-ThinQ-Integration] - [#137395]) +- Replace wrong name reference of binary jvc_power sensor in jvc_projector ([@NoRi2909] - [#137271]) +- Show new errors from the MotionMount ([@RJPoelstra] - [#137006]) +- Add tests for sensors in SwitchBot Cloud ([@mckbrmn] - [#137319]) +- Only clean up chat log if it was stored ([@balloob] - [#137399]) +- Replace "Ota" with "OTA update" in anova integration ([@NoRi2909] - [#137431]) +- Fix spelling of "PowerView Hub" in user-facing strings ([@NoRi2909] - [#137435]) +- Disable annotations for pytest warnings [ci] ([@cdce8p] - [#137434]) +- Update PySwitchbot to 0.56.0 ([@awahlig] - [#137432]) +- Add streaming select entities to Teslemetry ([@Bre77] - [#137210]) +- Add translation key for Matter Energy management mode ([@lboue] - [#137259]) +- Refactor switch for vesync ([@cdnninja] - [#134409]) +- Govee light local bump ([@Galorhallen] - [#137436]) +- Add support for Switchbot Remote ([@awahlig] - [#137443]) +- Move fireservicerota coordinator to own module ([@epenet] - [#137304]) +- Add GPSd satellites sensors ([@jrieger] - [#137320]) +- Explicitly pass in the config_entry in screenlogic coordinator init ([@mib1185] - [#137463]) +- Explicitly pass in the config_entry in omnilogic coordinator init ([@mib1185] - [#137466]) +- Explicitly pass in the config_entry in picnic coordinator init ([@mib1185] - [#137465]) +- Explicitly pass in the config_entry in webmin coordinator init ([@mib1185] - [#137462]) +- Explicitly pass in the config_entry in Bluesound coordinator init ([@mib1185] - [#137461]) +- Explicitly pass in the config_entry in rympro coordinator init ([@mib1185] - [#137464]) +- Explicitly pass in the config_entry in airgradient coordinator init ([@mib1185] - [#137469]) +- Explicitly pass in the config_entry in supervisor coordinator init ([@mib1185] - [#137472]) +- Bump aioairq version to 0.4.4 ([@Sibgatulin] - [#137454]) +- Update default Google model to Gemini Flash 2.0 ([@balloob] - [#137505]) +- Bump bring-api version to 1.0.1 ([@tr4nt0r] - [#137496]) +- Deprecate Linear Garage Door integration ([@IceBotYT] - [#137502]) +- Fix typo in keba and replace key references with UI-friendly descriptions ([@NoRi2909] - [#137527]) +- Add data_description to Bring! integration ([@tr4nt0r] - [#137513]) +- Enable strict-typing for Bring! integration ([@tr4nt0r] - [#137518]) +- Add switch to LG ThinQ for power control ([@LG-ThinQ-Integration] - [#137512]) +- Update mypy-dev to 1.16.0a2 ([@cdce8p] - [#137542]) +- Update govee-local-api to 2.0.1 ([@Galorhallen] - [#137546]) +- Fix translation key typo in coinbase options ([@natekspencer] - [#137543]) +- Prevent packages from accidentally installing poetry ([@cdce8p] - [#137560]) +- Fix spelling of "Roborock" and adapt action descriptions to HA standards ([@NoRi2909] - [#137570]) +- Several fixes in user-facing strings of the SQL integration ([@NoRi2909] - [#137438]) +- Explicitly pass in the config_entry in madvr coordinator init ([@mib1185] - [#137468]) +- Replace string literal with existing const in ZHA ([@abmantis] - [#137576]) +- Plugwise: remove user-config of port ([@bouwew] - [#137584]) +- Fix sentence-casing in user-facing strings of Coinbase integration ([@NoRi2909] - [#137586]) +- Correct state and icon if fan is in standby mode in ViCare integration ([@CFenner] - [#137565]) +- Explicitly pass in the config_entry in vesync ([@cdnninja] - [#137498]) +- Update library for smhi ([@gjohansson-ST] - [#136375]) +- Add exception translations to Bring! integration ([@tr4nt0r] - [#137515]) +- Bump python-overseerr to 0.7.0 ([@joostlek] - [#137590]) +- Fix sentence-casing in user-facing strings of here_travel_time ([@NoRi2909] - [#137593]) +- Keep track of addons and integrations when determining HA radio firmware type ([@puddly] - [#134598]) +- Remove deprecated state attributes from GPSd ([@jrieger] - [#137600]) +- KNX tests: Support loading different config store fixtures ([@farmio] - [#136961]) +- Add Wi-Fi RSSI sensor in HomeWizard ([@DCSBL] - [#136754]) +- Add remaining HEOS exception translations ([@andrewsayre] - [#136878]) +- Remove redundant dependency markers ([@cdce8p] - [#137608]) +- Add HNT wallet/rate to coinbase ([@natekspencer] - [#137592]) +- Add event platform to Bring! integration ([@tr4nt0r] - [#136935]) +- Pass in the config_entry in youless coordinator init ([@mib1185] - [#137471]) +- Use runtime_data in freedompro ([@epenet] - [#137635]) +- Fix fireservicerota unload ([@epenet] - [#137629]) +- Use runtime_data in fitbit ([@epenet] - [#137631]) +- Use runtime_data in foscam ([@epenet] - [#137646]) +- Add reconfiguration flow to Bring! integration ([@tr4nt0r] - [#137529]) +- Fix missing type annotation in bring ([@epenet] - [#137647]) +- Plugwise: fix double CONF_PASSWORD occurrence ([@bouwew] - [#137641]) +- Replace "HassOS" with "Home Assistant OS" in homeassistant_hardware ([@NoRi2909] - [#137637]) +- Improve type hints in fireservicerota ([@epenet] - [#137628]) +- Use runtime_data in frontier_silicon ([@epenet] - [#137633]) +- Use runtime_data in fivem ([@epenet] - [#137632]) +- Use runtime_data in firmata ([@epenet] - [#137630]) +- Use snapshots for ConfigEntry migration tests ([@alengwenus] - [#136093]) +- Remove unnecessary type casts ([@cdce8p] - [#137657]) +- Bump PyTado to version 0.18.6 ([@erwindouna] - [#137655]) +- Make all occurrences of "Home Guard" in lg_thinq consistent ([@NoRi2909] - [#137662]) +- Use runtime_data in flume ([@epenet] - [#137660]) +- Clean up colliding deleted devices when updating non-deleted devices ([@arturpragacz] - [#135592]) +- Replace key names with friendly names in todoist actions ([@NoRi2909] - [#137667]) +- Use config_entry.async_on_unload in forked_daapd ([@epenet] - [#137656]) +- Fix spelling of "SwitchBot", "ID" plus sentence-casing in switchbot ([@NoRi2909] - [#137684]) +- Set the device class for the Shelly virtual sensor ([@bieniu] - [#137068]) +- Fix spelling of "AccuWeather" and sentence-casing plus grammar ([@NoRi2909] - [#137696]) +- Pass in the config_entry in azure_devops coordinator init ([@mib1185] - [#137722]) +- Explicitly pass in the config_entry in autarco coordinator init ([@mib1185] - [#137718]) +- Explicitly pass in the config_entry in airnow coordinator init ([@mib1185] - [#137699]) +- Explicitly pass in the config_entry in airly coordinator init ([@mib1185] - [#137698]) +- Explicitly pass in the config entry in anova coordinator init ([@mib1185] - [#137701]) +- Explicitly pass in the config_entry in bsblan coordinator init ([@mib1185] - [#137725]) +- Pass in the config_entry in brother coordinator init ([@mib1185] - [#137726]) +- Explicitly pass in the config_entry in blink coordinator init ([@mib1185] - [#137727]) +- Bump SQLAlchemy to 2.0.38 ([@bdraco] - [#137693]) +- Explicitly pass in the config_entry in ambient_network coordinator init ([@mib1185] - [#137707]) +- Explicitly pass in the config entry in amberelectric coordinator init ([@mib1185] - [#137700]) +- Fix wrong reference for description of password field in bring ([@NoRi2909] - [#137720]) +- Explicitly pass in the config_entry in discovergy coordinator ([@mib1185] - [#137734]) +- Limit flume ConfigEntrySelect to integration domain ([@cdce8p] - [#137661]) +- Explicitly pass in the config_entry in aussie_broadband coordinator init ([@mib1185] - [#137719]) +- Explicitly pass in the config_entry in airzone coordinator init ([@mib1185] - [#137702]) +- Explicitly pass in the config_entry in aquacell coordinator init ([@mib1185] - [#137713]) +- Explicitly pass in the config_entry in braviatv coordinator init ([@mib1185] - [#137724]) +- Explicitly pass in the config_entry in aurora_abb_powerone coordinator init ([@mib1185] - [#137715]) +- Explicitly pass in the config_entry in arve coordinator init ([@mib1185] - [#137712]) +- Explicitly pass in the config_entry in android_ip_webcam coordinator … ([@mib1185] - [#137705]) +- Explicitly pass in the config_entry in analytics_insight coordinator init ([@mib1185] - [#137706]) +- Explicitly pass in the config_entry in apcupsd coordinator init ([@mib1185] - [#137709]) +- Explicitly pass in the config_entry in letpot coordinator ([@jpelgrom] - [#137759]) +- Explicitly pass in the config_entry in eheimdigital coordinator ([@mib1185] - [#137738]) +- Explicitly pass in the config_entry in dremel_3d_printer coordinator ([@mib1185] - [#137740]) +- Explicitly pass in the config_entry in emoncms coordinator ([@mib1185] - [#137743]) +- Explicitly pass in the config_entry in dwd weather warnings coordinator ([@mib1185] - [#137737]) +- Make sure we always have agent_id in ConversationInput ([@balloob] - [#137679]) +- Clear statistics when you unload the Opower integration ([@tronikos] - [#135908]) +- Conversation chat log cleanup and optimization ([@balloob] - [#137784]) +- Add discovery for Nanoleaf Blocks and 4D ([@milanmeu] - [#137792]) +- Info log when Android TV Remote is unavailable ([@tronikos] - [#137794]) +- Add quality_scale to motionmount ([@RJPoelstra] - [#137012]) +- Limit google_sheets ConfigEntrySelect to integration domain ([@cdce8p] - [#137766]) +- Group helpers of set_up_integrations in bootstrap ([@arturpragacz] - [#137673]) +- Explicitly pass in the config_entry in co2signal coordinator ([@mib1185] - [#137732]) +- Explicitly pass in the config_entry in airq coordinator init ([@mib1185] - [#137704]) +- Explicitly pass in the config_entry in airzone_cloud coordinator init ([@mib1185] - [#137703]) +- Explicitly pass in the config_entry in fjaraskupan coordinator ([@mib1185] - [#137825]) +- Explicitly pass in the config_entry in aosmith coordinator init ([@mib1185] - [#137710]) +- Explicitly pass in the config_entry in aseko_pool_live coordinator init ([@mib1185] - [#137711]) +- Explicitly pass in the config_entry in aurora coordinator init ([@mib1185] - [#137714]) +- Explicitly pass in the config_entry in gardena_bluetooth coordinator ([@mib1185] - [#137830]) +- Explicitly pass in the config_entry in gree coordinator ([@mib1185] - [#137844]) +- Explicitly pass in the config_entry in govee_light_local coordinator ([@mib1185] - [#137843]) +- Explicitly pass in the config_entry in flo coordinator ([@mib1185] - [#137819]) +- Explicitly pass in the config_entry in flume coordinator ([@mib1185] - [#137822]) +- Explicitly pass in the config_entry in forecast_solar coordinator ([@mib1185] - [#137824]) +- Explicitly pass in the config_entry in atag coordinator init ([@mib1185] - [#137716]) +- Explicitly pass in the config_entry in gogogate2 coordinator ([@mib1185] - [#137837]) +- Explicitly pass in the config_entry in goalzero coordinator ([@mib1185] - [#137836]) +- Explicitly pass in the config_entry in glances coordinator ([@mib1185] - [#137835]) +- Explicitly pass in the config_entry in github coordinator ([@mib1185] - [#137834]) +- Explicitly pass in the config_entry in garages_amsterdam coordinator ([@mib1185] - [#137829]) +- Explicitly pass in the config_entry in apsystems coordinator init ([@mib1185] - [#137708]) +- Explicitly pass in the config_entry in cert_expiry coordinator init ([@mib1185] - [#137728]) +- Explicitly pass in the config_entry in deluge coordinator ([@mib1185] - [#137733]) +- Explicitly pass in the config_entry in enigma2 coordinator ([@mib1185] - [#137739]) +- Add snapshot tests for setup of LetPot platforms ([@jpelgrom] - [#137756]) +- Explicitly pass in the config_entry in enphase flexit_bacnet coordinator ([@mib1185] - [#137814]) +- Explicitly pass in the config_entry in duke_energy coordinator ([@mib1185] - [#137741]) +- Bump PyViCare to 2.42.0 ([@CFenner] - [#137804]) +- Update fitbit quality scale for runtime-data ([@allenporter] - [#137785]) +- Explicitly pass in the config_entry in guardian coordinator ([@mib1185] - [#137848]) +- Explicitly pass in the config_entry in fitbit coordinator ([@mib1185] - [#137808]) +- Update flexit_bacnet dependecy 2.2.1 -> 2.2.3 ([@piotrbulinski] - [#137730]) +- Explicitly pass in the config_entry in awair coordinator init ([@mib1185] - [#137717]) +- Explicitly pass in the config_entry in enphase envoy coordinator ([@mib1185] - [#137806]) +- Explicitly pass in the config_entry in filesize coordinator ([@mib1185] - [#137807]) +- Explicitly pass in the config_entry in gios coordinator ([@mib1185] - [#137832]) +- Explicitly pass in the config_entry in flipr coordinator ([@mib1185] - [#137818]) +- Explicitly pass in the config_entry in google_tasks coordinator ([@mib1185] - [#137842]) +- Explicitly pass in the config_entry in flux_led coordinator ([@mib1185] - [#137823]) +- Explicitly pass in the config_entry in fyta coordinator ([@mib1185] - [#137828]) +- Explicitly pass in the config_entry in fujitsu_fglair coordinator ([@mib1185] - [#137826]) +- Explicitly pass in the config_entry in fully_kiosk coordinator ([@mib1185] - [#137827]) +- Explicitly pass in the config_entry in goodwe coordinator ([@mib1185] - [#137838]) +- Explicitly pass in the config_entry in geocaching coordinator ([@mib1185] - [#137831]) +- Explicitly pass in the config_entry in google coordinator ([@mib1185] - [#137839]) +- Explicitly pass in the config_entry in google_photos coordinator ([@mib1185] - [#137840]) +- Make action descriptions in adguard consistent, remove "true/false" ([@NoRi2909] - [#137799]) +- Explicitly pass in the config_entry in flick_electric coordinator ([@mib1185] - [#137816]) +- Refactor evohome for major bump of client to 1.0.2 ([@zxdavb] - [#135436]) +- Add Peblar charge switch ([@frenck] - [#137853]) +- Move ForkedDaapdUpdater to separate module ([@epenet] - [#137654]) +- Bump noaa-coops to version 0.4.0 ([@jdelaney72] - [#137777]) +- Bump plugwise to v1.7.1 and adapt ([@bouwew] - [#137599]) +- Only allow single Home Connect config entry ([@Diegorro98] - [#137088]) +- Explicitly pass in the config_entry in zamg coordinator ([@mib1185] - [#137858]) +- Explicitly pass in the config_entry in zeversolar coordinator ([@mib1185] - [#137857]) +- Explicitly pass in the config_entry in youtube coordinator ([@mib1185] - [#137859]) +- Explicitly pass in the config_entry in ws66i coordinator ([@mib1185] - [#137865]) +- Explicitly pass in the config_entry in waqi coordinator ([@mib1185] - [#137873]) +- Explicitly pass in the config_entry in watergate coordinator ([@mib1185] - [#137872]) +- Prolong ondilo ico update interval ([@MartinHjelmare] - [#137888]) +- Explicitly pass in the config_entry in v2c coordinator ([@mib1185] - [#137882]) +- Fix sentence-casing and description of homekit.reload action ([@NoRi2909] - [#137894]) +- Explicitly pass in the config_entry in steamist coordinator ([@mib1185] - [#137930]) +- Explicitly pass in the config_entry in uptimerobot coordinator ([@mib1185] - [#137883]) +- Explicitly pass in the config_entry in skybell coordinator ([@mib1185] - [#137947]) +- Bump bring-api to version 1.0.2 ([@tr4nt0r] - [#137925]) +- Fix three action descriptions in xiaomi_miio ([@NoRi2909] - [#137918]) +- Fix spelling of "Wi-Fi" in keenetic_ndms2 integration ([@NoRi2909] - [#137920]) +- Explicitly pass in the config_entry in simplefin coordinator ([@mib1185] - [#137948]) +- Explicitly pass in the config_entry in sleepiq coordinator ([@mib1185] - [#137946]) +- Add support for fireplace mode control for flexit_bacnet integration ([@piotrbulinski] - [#137594]) +- Bump nhc to 0.4.10 ([@VandeurenGlenn] - [#137903]) +- Explicitly pass in the config_entry in shelly coordinator ([@mib1185] - [#137951]) +- Explicitly pass in the config_entry in surepetcare coordinator ([@mib1185] - [#137926]) +- Explicitly pass in the config_entry in swiss_public_transport coordinator ([@mib1185] - [#137924]) +- Explicitly pass in the config_entry in switchbee coordinator ([@mib1185] - [#137923]) +- Explicitly pass in the config_entry in streamlabswater coordinator ([@mib1185] - [#137927]) +- Explicitly pass in the config_entry in yardian coordinator ([@mib1185] - [#137862]) +- Explicitly pass in the config_entry in xbox coordinator ([@mib1185] - [#137864]) +- Explicitly pass in the config_entry in slide_local coordinator ([@mib1185] - [#137945]) +- Explicitly pass in the config_entry in solaredge coordinator ([@mib1185] - [#137941]) +- Explicitly pass in the config_entry in samsungtv coordinator ([@mib1185] - [#137962]) +- Explicitly pass in the config_entry in sanix coordinator ([@mib1185] - [#137960]) +- Explicitly pass in the config_entry in steam_online coordinator ([@mib1185] - [#137929]) +- Explicitly pass in the config_entry in stookwijzer coordinator ([@mib1185] - [#137928]) +- Explicitly pass in the config_entry in smarty coordinator ([@mib1185] - [#137944]) +- Explicitly pass in the config_entry in seventeentrack coordinator ([@mib1185] - [#137956]) +- Explicitly pass in the config_entry in weheat coordinator ([@mib1185] - [#137868]) +- Explicitly pass in the config_entry in yolink coordinator ([@mib1185] - [#137861]) +- Explicitly pass in the config_entry in romy coordinator ([@mib1185] - [#137967]) +- Explicitly pass in the config_entry in tado coordinator ([@mib1185] - [#137916]) +- Explicitly pass in the config_entry in weatherkit coordinator ([@mib1185] - [#137869]) +- Explicitly pass in the config_entry in weatherflow_cloud coordinator ([@mib1185] - [#137871]) +- Explicitly pass in the config_entry in verisure coordinator ([@mib1185] - [#137879]) +- Explicitly pass in the config_entry in toon coordinator ([@mib1185] - [#137899]) +- Explicitly pass in the config_entry in upnp coordinator ([@mib1185] - [#137885]) +- Explicitly pass in the config_entry in rova coordinator ([@mib1185] - [#137966]) +- Improve emulated_hue logging to identify bad devices ([@stevesinchak] - [#137919]) +- Explicitly pass in the config_entry in ridwell coordinator ([@mib1185] - [#137973]) +- Explicitly pass in the config_entry in wallbox coordinator ([@mib1185] - [#137874]) +- Explicitly pass in the config_entry in volvooncall coordinator ([@mib1185] - [#137875]) +- Explicitly pass in the config_entry in vizio coordinator ([@mib1185] - [#137876]) +- Explicitly pass in the config_entry in rainbird coordinator ([@mib1185] - [#137982]) +- Small typing improvements ([@cdce8p] - [#137994]) +- Explicitly pass in the config_entry in roborock coordinator ([@mib1185] - [#137970]) +- Stream OpenAI messages into the chat log ([@balloob] - [#137400]) +- Fix sentence-casing in user-facing strings of screenlogic ([@NoRi2909] - [#138015]) +- Raise `ConfigEntryAuthFailed` at Home Connect update auth error ([@Diegorro98] - [#136953]) +- Explicitly pass in the config_entry in pvpc_hourly_pricing coordinator ([@mib1185] - [#138032]) +- Explicitly pass in the config_entry in openexchangerates coordinator ([@mib1185] - [#138053]) +- Explicitly pass in the config_entry in philips_js coordinator ([@mib1185] - [#138042]) +- Explicitly pass in the config_entry in withings coordinator ([@mib1185] - [#137866]) +- Explicitly pass in the config_entry in wemo coordinator ([@mib1185] - [#137867]) +- Explicitly pass in the config_entry in octoprint coordinator ([@mib1185] - [#138056]) +- Explicitly pass in the config_entry in yamaha_musiccast coordinator ([@mib1185] - [#137863]) +- Explicitly pass in the config_entry in version coordinator ([@mib1185] - [#137877]) +- Explicitly pass in the config_entry in vallox coordinator ([@mib1185] - [#137881]) +- Explicitly pass in the config_entry in ukraine_alarm coordinator ([@mib1185] - [#137886]) +- Explicitly pass in the config_entry in twinkly coordinator ([@mib1185] - [#137889]) +- Explicitly pass in the config_entry in transmission coordinator ([@mib1185] - [#137891]) +- Explicitly pass in the config_entry in tradfri coordinator ([@mib1185] - [#137892]) +- Explicitly pass in the config_entry in traccar_server coordinator ([@mib1185] - [#137893]) +- Explicitly pass in the config_entry in touchline_sl coordinator ([@mib1185] - [#137897]) +- Explicitly pass in the config_entry in tplink_omada coordinator ([@mib1185] - [#137895]) +- Explicitly pass in the config_entry in totalconnect coordinator ([@mib1185] - [#137898]) +- Explicitly pass in the config_entry in tomorrowio coordinator ([@mib1185] - [#137900]) +- Explicitly pass in the config_entry in tolo coordinator ([@mib1185] - [#137902]) +- Explicitly pass in the config_entry in tibber coordinator ([@mib1185] - [#137904]) +- Explicitly pass in the config_entry in thethingsnetwork coordinator ([@mib1185] - [#137905]) +- Explicitly pass in the config_entry in venstar coordinator ([@mib1185] - [#137880]) +- Explicitly pass in the config_entry in tessie coordinator ([@mib1185] - [#137906]) +- Explicitly pass in the config_entry in qnap_qsw coordinator ([@mib1185] - [#138027]) +- Explicitly pass in the config_entry in ping coordinator ([@mib1185] - [#138041]) +- Explicitly pass in the config_entry in technove coordinator ([@mib1185] - [#137910]) +- Explicitly pass in the config_entry in tautulli coordinator ([@mib1185] - [#137911]) +- Explicitly pass in the config_entry in tami4 coordinator ([@mib1185] - [#137912]) +- Explicitly pass in the config_entry in ohme coordinator ([@mib1185] - [#138055]) +- Explicitly pass in the config_entry in tailscale coordinator ([@mib1185] - [#137913]) +- Explicitly pass in the config_entry in system_bridge coordinator ([@mib1185] - [#137921]) +- Explicitly pass in the config_entry in switchbot_cloud coordinator ([@mib1185] - [#137922]) +- Explicitly pass in the config_entry in ondilo_ico coordinator ([@mib1185] - [#138054]) +- Explicitly pass in the config_entry in opengarage coordinator ([@mib1185] - [#138052]) +- Explicitly pass in the config_entry in starlink coordinator ([@mib1185] - [#137932]) +- Explicitly pass in the config_entry in openuv coordinator ([@mib1185] - [#138050]) +- Explicitly pass in the config_entry in purpleair coordinator ([@mib1185] - [#138034]) +- Explicitly pass in the config_entry in opensky coordinator ([@mib1185] - [#138051]) +- Explicitly pass in the config_entry in srp_energy coordinator ([@mib1185] - [#137933]) +- Explicitly pass in the config_entry in squeezebox coordinator ([@mib1185] - [#137934]) +- Explicitly pass in the config_entry in spotify coordinator ([@mib1185] - [#137935]) +- Explicitly pass in the config_entry in pyload coordinator ([@mib1185] - [#138031]) +- Explicitly pass in the config_entry in pvoutput coordinator ([@mib1185] - [#138033]) +- Explicitly pass in the config_entry in pure_energie coordinator ([@mib1185] - [#138035]) +- Explicitly pass in the config_entry in plaato coordinator ([@mib1185] - [#138040]) +- Explicitly pass in the config_entry in openweathermap coordinator ([@mib1185] - [#138049]) +- Explicitly pass in the config_entry in smlight coordinator ([@mib1185] - [#137943]) +- Explicitly pass in the config_entry in ourgroceries coordinator ([@mib1185] - [#138047]) +- Explicitly pass in the config_entry in sharkiq coordinator ([@mib1185] - [#137954]) +- Explicitly pass in the config_entry in sfr_box coordinator ([@mib1185] - [#137955]) +- Explicitly pass in the config_entry in sensoterra coordinator ([@mib1185] - [#137957]) +- Explicitly pass in the config_entry in sense coordinator ([@mib1185] - [#137958]) +- Explicitly pass in the config_entry in ruuvi_gateway coordinator ([@mib1185] - [#137964]) +- Explicitly pass in the config_entry in ruckus_unleashed coordinator ([@mib1185] - [#137965]) +- Explicitly pass in the config_entry in schlage coordinator ([@mib1185] - [#137959]) +- Explicitly pass in the config_entry in imap coordinator ([@jbouwh] - [#138068]) +- Explicitly pass in the config_entry in roku coordinator ([@mib1185] - [#137968]) +- Explicitly pass in the config_entry in rituals_perfume_genie coordinator ([@mib1185] - [#137971]) +- Explicitly pass in the config_entry in risco coordinator ([@mib1185] - [#137972]) +- Explicitly pass in the config_entry in renson coordinator ([@mib1185] - [#137974]) +- Explicitly pass in the config_entry in renault coordinator ([@mib1185] - [#137977]) +- Explicitly pass in the config_entry in refoss coordinator ([@mib1185] - [#137978]) +- Explicitly pass in the config_entry in snapcast coordinator ([@mib1185] - [#137942]) +- Explicitly pass in the config_entry in rainmachine coordinator ([@mib1185] - [#137979]) +- Explicitly pass in the config_entry in solarlog coordinator ([@mib1185] - [#137939]) +- Explicitly pass in the config_entry in tesla_fleet coordinator ([@mib1185] - [#137909]) +- Explicitly pass in the config_entry in sonarr coordinator ([@mib1185] - [#137938]) +- Explicitly pass in the config_entry in speedtestdotnet coordinator ([@mib1185] - [#137936]) +- Explicitly pass in the config_entry in teslemetry coordinator ([@mib1185] - [#137907]) +- Explicitly pass in the config_entry in rainforest_eagle coordinator ([@mib1185] - [#137981]) +- Explicitly pass in the config_entry in radiotherm coordinator ([@mib1185] - [#137983]) +- Explicitly pass in the config_entry in radarr coordinator ([@mib1185] - [#137984]) +- Explicitly pass in the config_entry in rabbitair coordinator ([@mib1185] - [#137985]) +- Explicitly pass in the config_entry in qnap coordinator ([@mib1185] - [#138028]) +- Explicitly pass in the config_entry in nexia coordinator ([@mib1185] - [#138073]) +- Explicitly pass in the config_entry in myuplink coordinator ([@mib1185] - [#138078]) +- Explicitly pass in the config_entry in nam coordinator ([@mib1185] - [#138076]) +- Explicitly pass in the config_entry in nanoleaf coordinator ([@mib1185] - [#138075]) +- Explicitly pass in the config_entry in netgear_lte coordinator ([@mib1185] - [#138074]) +- Explicitly pass in the config_entry in nextdns coordinator ([@mib1185] - [#138072]) +- Explicitly pass in the config_entry in nibe_heatpump coordinator ([@mib1185] - [#138071]) +- Explicitly pass in the config_entry in nice_go coordinator ([@mib1185] - [#138070]) +- Explicitly pass in the config_entry in palazzetti coordinator ([@mib1185] - [#138044]) +- Explicitly pass in the config_entry in notion coordinator ([@mib1185] - [#138066]) +- Explicitly pass in the config_entry in nuki coordinator ([@mib1185] - [#138064]) +- Explicitly pass in the config_entry in nws coordinator ([@mib1185] - [#138063]) +- Explicitly pass in the config_entry in nyt_games coordinator ([@mib1185] - [#138062]) +- Explicitly pass in the config_entry in nzbget coordinator ([@mib1185] - [#138061]) +- Explicitly pass in the config_entry in opower coordinator ([@mib1185] - [#138048]) +- Explicitly pass in the config_entry in moehlenhoff_alpha2 coordinator ([@mib1185] - [#138083]) +- Explicitly pass in the config_entry in monarch_money coordinator ([@mib1185] - [#138082]) +- Explicitly pass in the config_entry in monzo coordinator ([@mib1185] - [#138081]) +- Explicitly pass in the config_entry in plugwise coordinator ([@mib1185] - [#138039]) +- Explicitly pass in the config_entry in poolsense coordinator ([@mib1185] - [#138038]) +- Explicitly pass in the config_entry in powerfox coordinator ([@mib1185] - [#138037]) +- Explicitly pass in the config_entry in prusalink coordinator ([@mib1185] - [#138036]) +- Explicitly pass in the config_entry in qbittorrent coordinator ([@mib1185] - [#138029]) +- Explicitly pass in the config_entry in motion_blinds coordinator ([@mib1185] - [#138080]) +- Explicitly pass in the config_entry in modern_forms coordinator ([@mib1185] - [#138085]) +- Explicitly pass in the config_entry in minecraft_server coordinator ([@mib1185] - [#138086]) +- Explicitly pass in the config_entry in mill coordinator ([@mib1185] - [#138088]) +- Explicitly pass in the config_entry in mikrotik coordinator ([@mib1185] - [#138089]) +- Explicitly pass in the config_entry in microbees coordinator ([@mib1185] - [#138090]) +- Explicitly pass in the config_entry in met coordinator ([@mib1185] - [#138091]) +- Explicitly pass in the config_entry in melnor coordinator ([@mib1185] - [#138092]) +- Explicitly pass in the config_entry in mealie coordinator ([@mib1185] - [#138093]) +- Explicitly pass in the config_entry in mastodon coordinator ([@mib1185] - [#138094]) +- Explicitly pass in the config_entry in permobil coordinator ([@mib1185] - [#138043]) +- Explicitly pass in the config_entry in p1_monitor coordinator ([@mib1185] - [#138045]) +- Explicitly pass in the config_entry in overkiz coordinator ([@mib1185] - [#138046]) +- Explicitly pass in the config_entry in nina coordinator ([@mib1185] - [#138069]) +- Explicitly pass in the config_entry in teslemetry coordinator ([@mib1185] - [#138102]) +- Explicitly pass in the config_entry in starlink coordinator ([@mib1185] - [#138103]) +- Explicitly pass in the config_entry in loqed coordinator ([@mib1185] - [#138106]) +- Explicitly pass in the config_entry in linear_garage_door coordinator ([@mib1185] - [#138109]) +- Explicitly pass in the config_entry in squeezebox coordinator ([@mib1185] - [#138105]) +- Explicitly pass in the config_entry in lookin coordinator ([@mib1185] - [#138107]) +- Explicitly pass in the config_entry in livisi coordinator ([@mib1185] - [#138108]) +- Explicitly pass in the config_entry in lidarr coordinator ([@mib1185] - [#138111]) +- Explicitly pass in the config_entry in lg_thinq coordinator ([@mib1185] - [#138113]) +- Explicitly pass in the config_entry in lektrico coordinator ([@mib1185] - [#138114]) +- Explicitly pass in the config_entry in ld2410_ble coordinator ([@mib1185] - [#138115]) +- Explicitly pass in the config_entry in laundrify coordinator ([@mib1185] - [#138116]) +- Explicitly pass in the config_entry in lastfm coordinator ([@mib1185] - [#138117]) +- Explicitly pass in the config_entry in landisgyr_heat_meter coordinator ([@mib1185] - [#138119]) +- Explicitly pass in the config_entry in lametric coordinator ([@mib1185] - [#138120]) +- Explicitly pass in the config_entry in lifx coordinator ([@mib1185] - [#138110]) +- Explicitly pass in the config_entry in incomfort coordinator ([@jbouwh] - [#138131]) +- Explicitly pass in the config_entry in iskra coordinator ([@mib1185] - [#138134]) +- Explicitly pass in the config_entry in knocki coordinator ([@mib1185] - [#138125]) +- Explicitly pass in the config_entry in ista_ecotrend coordinator ([@mib1185] - [#138130]) +- Explicitly pass in the config_entry in jellyfin coordinator ([@mib1185] - [#138129]) +- Explicitly pass in the config_entry in imgw_pib coordinator ([@mib1185] - [#138144]) +- Explicitly pass in the config_entry in justnimbus coordinator ([@mib1185] - [#138128]) +- Explicitly pass in the config_entry in jvc_projector coordinator ([@mib1185] - [#138127]) +- Explicitly pass in the config_entry in kostal_plenticore coordinator ([@mib1185] - [#138124]) +- Explicitly pass in the config_entry in lacrosse_view coordinator ([@mib1185] - [#138122]) +- Explicitly pass in the config_entry in ialarm coordinator ([@mib1185] - [#138147]) +- Explicitly pass in the config_entry in israel_rail coordinator ([@mib1185] - [#138132]) +- Explicitly pass in the config_entry in iotty coordinator ([@mib1185] - [#138140]) +- Explicitly pass in the config_entry in islamic_prayer_times coordinator ([@mib1185] - [#138133]) +- Explicitly pass in the config_entry in iotawatt coordinator ([@mib1185] - [#138141]) +- Explicitly pass in the config_entry in idasen_desk coordinator ([@mib1185] - [#138146]) +- Explicitly pass in the config_entry in husqvarna_automower coordinator ([@mib1185] - [#138149]) +- Remove non-existing via_device in La Crosse View ([@IceBotYT] - [#137995]) +- Explicitly pass in the config_entry in husqvarna_automower_ble coordinator ([@mib1185] - [#138150]) +- Explicitly pass in the config_entry in homewizard coordinator ([@mib1185] - [#138152]) +- Explicitly pass in the config_entry in iometer coordinator ([@mib1185] - [#138142]) +- Explicitly pass in the config_entry in intellifire coordinator ([@mib1185] - [#138143]) +- Explicitly pass in the config_entry in here_travel_time coordinator ([@mib1185] - [#138155]) +- Explicitly pass in the config_entry in hko coordinator ([@mib1185] - [#138154]) +- Explicitly pass in the config_entry in hunterdouglas_powerview coordinator ([@mib1185] - [#138151]) +- Explicitly pass in the config_entry in habitica coordinator ([@mib1185] - [#138156]) +- Explicitly pass in the config_entry in hydrawise coordinator ([@mib1185] - [#138148]) +- Explicitly pass in the config_entry in iron_os coordinator ([@mib1185] - [#138137]) +- Explicitly pass in the config_entry in ipp coordinator ([@mib1185] - [#138138]) +- Explicitly pass in the config_entry in homeassistant_alerts coordinator ([@mib1185] - [#138153]) +- Revert "Clear statistics when you unload the Opower integration (#135908)" ([@jbouwh] - [#138163]) +- Add unique ID for NOAA Tides sensor ([@jdelaney72] - [#137988]) +- Add scene support to roborock ([@regevbr] - [#137203]) +- Update ollama to use the ChatLog/ChatSession APIs ([@allenporter] - [#138167]) +- Use generics for deprecation helpers ([@cdce8p] - [#138171]) +- Add extra tests to `flick_electric` ([@ZephireNZ] - [#138017]) +- Bump google-cloud-pubsub to 2.28.0 ([@bdraco] - [#137742]) +- Bump pyeconet to 0.1.27 ([@w1ll1am23] - [#136400]) +- Add battery level sensor for ViCare zigbee devices ([@CFenner] - [#137813]) +- Add optional media description to Mastodon post action ([@andrew-codechimp] - [#137224]) +- Replace duplicate keys with reference, improve field description ([@NoRi2909] - [#138123]) +- Fix user input not added to chat log from contextvar ([@balloob] - [#138173]) +- Make MockChatLog reusable for other integrations ([@balloob] - [#138112]) +- Add pipeline intent-progress events based on deltas ([@balloob] - [#138095]) +- Update anthropic to use the new chatlog API ([@allenporter] - [#138178]) +- Update Ollama to use streaming API ([@allenporter] - [#138177]) +- Add pglab integration ([@pglab-electronics] - [#109725]) +- Add authorities to london_air ([@kiranbhakre] - [#137349]) +- Improve blueprint importer typing ([@cdce8p] - [#138194]) +- Adjust 'Install all test requirements' task to include base requirements ([@epenet] - [#137642]) +- Bump pybalboa to 1.1.2 ([@natekspencer] - [#138139]) +- Merge config subentry feature branch to dev ([@emontnemery] - [#136121]) +- Improve description in Intergas entry setup form ([@jbouwh] - [#138225]) +- Add caching to onedrive ([@zweckj] - [#137950]) +- bump pyHomee to 1.2.7 ([@Taraman17] - [#138212]) +- Bump github/codeql-action from 3.28.8 to 3.28.9 (@dependabot - [#138184]) +- Allow ignored IronOS devices to be set up from the user flow ([@tr4nt0r] - [#138223]) +- Replace (wrong) xiaomi vacuum action key names with friendly names ([@NoRi2909] - [#138214]) +- Change light.turn_on and light.turn_off descriptions to match HA style ([@NoRi2909] - [#138213]) +- Rework ondilo ico coordinator ([@MartinHjelmare] - [#138204]) +- Update signature of platforms' async_setup_entry ([@emontnemery] - [#138201]) +- Add Wyoming satellite announce ([@synesthesiam] - [#138221]) +- Bump aiodiscover to 2.6.0 ([@bdraco] - [#138239]) +- Add test for trying to add an entity to an unknown config subentry ([@emontnemery] - [#138211]) +- Allow specifying SIP username for outgoing calls ([@jaminh] - [#137059]) +- Bump pyipma to 3.0.9 ([@dgomes] - [#138238]) +- Remove some unused tests from Google Generative AI ([@balloob] - [#138249]) +- Unify error reporting in onboarding backup API ([@emontnemery] - [#138200]) +- Remove question marks and "true/false" from action fields in zwave_js ([@NoRi2909] - [#138263]) +- Remove "true" / "false" from field descriptions in osoenergy ([@NoRi2909] - [#138267]) +- Make field descriptions in knx actions UI-friendly ([@NoRi2909] - [#138268]) +- Add user profile info to Habitica sensor and device URL ([@tr4nt0r] - [#137152]) +- Improve device naming for ViCare integration ([@CFenner] - [#138240]) +- Simplify the description of insteon.load_all_link_database action ([@NoRi2909] - [#138275]) +- Update signature of platforms' async_setup_entry in tests ([@emontnemery] - [#138271]) +- Improve config_entries tests ([@emontnemery] - [#138274]) +- Improve error reporting in onboarding backup API ([@emontnemery] - [#138203]) +- Flexit BACnet: Cooker hood mode support ([@piotrbulinski] - [#138229]) +- Add test helper for creating a mocked backup agent ([@emontnemery] - [#138294]) +- Fix scaffolding integration generation ([@stevenh] - [#138247]) +- Use runtime_data in fjaraskupan ([@epenet] - [#138281]) +- Use runtime_data in flexit_bacnet ([@epenet] - [#138280]) +- Use runtime_data in flux_led ([@epenet] - [#138279]) +- Keep responding state on wake word start ([@synesthesiam] - [#138244]) +- Set PARALLEL_UPDATES for MotionMount integration ([@RJPoelstra] - [#138264]) +- Dsmr eon hungary ([@balazs92117] - [#138162]) +- Do not test internals in flo tests ([@epenet] - [#138306]) +- Use runtime_data in flo ([@epenet] - [#138307]) +- Refactor SmartThings sensor platform ([@joostlek] - [#138313]) +- Fix data_entry_flow.UnknownStep error message ([@emontnemery] - [#138288]) +- Improve user-facing strings of denonavr for better translations ([@NoRi2909] - [#138322]) +- Improve type hints in forked_daapd coordinator ([@epenet] - [#138287]) +- Remove remaining occurrences of "true" / "false" in telegram_bot ([@NoRi2909] - [#138329]) +- Remove "true" / "false" and key name from yeelight.set_music_mode action ([@NoRi2909] - [#138334]) +- Allow timer.finish on paused timers ([@rrooggiieerr] - [#134552]) +- Improve test coverage of config subentries and fix related issues ([@emontnemery] - [#138321]) +- Fix timer.cancel action fires timer.cancelled event even on canceled timers ([@rrooggiieerr] - [#134507]) +- Add logs to Cloud component support package ([@abmantis] - [#138230]) +- Update anthropic to use the streaming API ([@allenporter] - [#138256]) +- Expose media_player async_browse_media as service ([@PeteRager] - [#116452]) +- Use test helper for creating a mocked backup agent in backup tests ([@emontnemery] - [#138312]) +- Use entry.async_on_unload in fireservicerota ([@epenet] - [#138360]) +- Use setup_backup_integration test helper in backup tests ([@emontnemery] - [#138362]) +- Fix authentication error when adding new devices to SMLIGHT ([@tl-sl] - [#138373]) +- Improve field names and descriptions of easyEnergy actions ([@NoRi2909] - [#138319]) +- Add Homee sensor tests ([@Taraman17] - [#137200]) +- Fix typos in user-facing strings of Bayesian integration ([@NoRi2909] - [#138364]) +- Use runtime_data in geo_json_events ([@epenet] - [#138366]) +- Use runtime_data in fireservicerota ([@epenet] - [#138361]) +- Add missing loggers to Cloud ([@abmantis] - [#138374]) +- Bump stookwijzer to 1.5.2 ([@fwestenberg] - [#138384]) +- Remove unused arguments in forked_daapd initialisation ([@epenet] - [#138289]) +- Bump ohmepy to 1.3.0 ([@dan-r] - [#138380]) +- Add sensor platform to OneDrive for drive usage ([@zweckj] - [#138232]) +- Improve test coverage for onedrive ([@zweckj] - [#138410]) +- OTBR firmware API for Home Assistant Hardware ([@puddly] - [#138330]) +- Set suggested display precision in La Crosse View ([@IceBotYT] - [#138355]) +- Improve test coverage for letpot ([@jpelgrom] - [#138420]) +- Handle no_readings in La Crosse View ([@IceBotYT] - [#138354]) +- Add error handling to enphase_envoy select platform action ([@catsmanac] - [#136698]) +- Make descriptions of `data` fields in notify actions UI-friendly ([@NoRi2909] - [#138431]) +- Add night light brightness level setting to VeSync ([@iprak] - [#137544]) +- Replace wrong description reference of isy994.send_node_command ([@NoRi2909] - [#138385]) +- Simplify stage 1 in bootstrap ([@arturpragacz] - [#137668]) +- Starlink migration to `StarlinkConfigEntry` ([@davidrapan] - [#137896]) +- Mark entity-device-class as done for motionmount integration ([@RJPoelstra] - [#138459]) +- Fix Tuya unsupported cameras ([@maghiel] - [#136960]) +- Add sonos_websocket to Sonos loggers ([@PeteRager] - [#138470]) +- Replace `config.yaml` with correct `configuration.yaml` in folder_watcher ([@NoRi2909] - [#138434]) +- Bump opower to 0.9.0 ([@tronikos] - [#138433]) +- Fix race configuring zeroconf ([@bdraco] - [#138425]) +- Upgrade paho-mqtt API to v2 ([@jbouwh] - [#137613]) +- Remove scan interval option from Synology DSM ([@mib1185] - [#138490]) +- Bump PyViCare to 2.42.1 ([@CFenner] - [#138494]) +- squeezebox bump pysqueezebox to 0.12.0 ([@pssc] - [#138205]) +- Improve descriptions of snooz.transition_xx actions ([@NoRi2909] - [#138403]) +- Add entity category to non primary entities for motionmount integration ([@RJPoelstra] - [#138436]) +- Update quality scale to platinum 🏆️ for Bring! integration ([@tr4nt0r] - [#138202]) +- Disable less used entities by default in MotionMount integration ([@RJPoelstra] - [#138509]) +- Improve tests of removing and unloading config entries ([@emontnemery] - [#138432]) +- Add icon translation to MotionMount integration ([@RJPoelstra] - [#138520]) +- Fix action descriptions in Xiaomi Miio integration ([@NoRi2909] - [#138476]) +- Add sensor platform to LetPot integration ([@jpelgrom] - [#138491]) +- Bump arcam-fmj to 1.8.0 ([@jgus] - [#138422]) +- Refactor and add tests to image platform of Habitica ([@tr4nt0r] - [#135897]) +- Bump aiohttp-asyncmdnsresolver to 0.1.1 ([@bdraco] - [#138534]) +- Update action descriptions of weather integration ([@NoRi2909] - [#138540]) +- Set quality scale to platinum 🏆️ for Habitica integration ([@tr4nt0r] - [#136076]) +- Improved auth failure handling in Nice G.O. ([@IceBotYT] - [#136607]) +- Add Home Connect action with recognized programs and options ([@Diegorro98] - [#130662]) +- Add binary sensor platform to LetPot integration ([@jpelgrom] - [#138554]) +- Add 6 new sensors to qBittorrent integration ([@Xitee1] - [#138446]) +- Add time entity to balboa ([@natekspencer] - [#138248]) +- Bump aioesphomeapi to 29.0.2 ([@bdraco] - [#138549]) +- Prevent voice wizard from crashing for wyoming/voip ([@synesthesiam] - [#138547]) +- Bump zeroconf to 0.144.3 ([@bdraco] - [#138553]) +- Use language util to match intent language ([@synesthesiam] - [#138560]) +- Fix and improve Home Connect strings ([@Diegorro98] - [#138583]) +- Bump pybalboa to 1.1.3 ([@natekspencer] - [#138557]) +- Bump PyViCare to 2.43.0 ([@CFenner] - [#138564]) +- Remove dynamic rate limits from Tesla Fleet ([@Bre77] - [#138576]) +- Add Event entity states to diagnostics for Bang & Olufsen ([@mj23000] - [#135859]) +- Provide part of uuid when requesting token for HomeWizard v2 API ([@DCSBL] - [#138586]) +- Fix home connect coffe-milk ratio option ([@Diegorro98] - [#138593]) +- Disable zwave_js testing resetting the controller ([@emontnemery] - [#138595]) +- Add switch to toggle filter cycle 2 on balboa spas ([@natekspencer] - [#138605]) +- Bump pyeconet to 0.1.28 ([@CodingSquirrel] - [#138610]) +- Bump plugwise to v1.7.2 ([@bouwew] - [#138613]) +- Add issues for data cap to onedrive ([@zweckj] - [#138411]) +- Replace alarm action descriptions with wording from online docs ([@NoRi2909] - [#138608]) +- Update integrations screenshot in README ([@IceBotYT] - [#138555]) +- Update action description in ecovacs integration to match HA style ([@NoRi2909] - [#138548]) +- Use correct inputs for relative time and duration options ([@Diegorro98] - [#138619]) +- Add missing unit for Withings snore sensor ([@teynar] - [#138517]) +- Fix sentence-casing in ZHA integration, capitalize names ([@NoRi2909] - [#138636]) +- Use gibibytes for onedrive ([@zweckj] - [#138637]) +- Replace opentherm_gw action key name with friendly name for UI ([@NoRi2909] - [#138634]) +- Fix sentence-casing and capitalization of "Zigbee" in smlight ([@NoRi2909] - [#138647]) +- Flexit bacnet/quality preparations ([@lellky] - [#138514]) +- Allow wifi switches for mesh repeaters in AVM Fritz!Box Tools ([@mib1185] - [#135456]) +- Add quality scale bronze for flexit_bacnet ([@lellky] - [#138309]) +- Bump sense_energy to 0.13.5 ([@kbickar] - [#138659]) +- Allow renaming of backup files in Synology DSM ([@mib1185] - [#138652]) +- Improve remember the milk storage ([@MartinHjelmare] - [#138618]) +- Add OptionsFlow to Squeezebox to allow setting Browse Limit and Volume Step ([@peteS-UK] - [#129578]) +- Add latest Nighthawk WiFi 7 routers to V2 models ([@lanthaler] - [#138675]) +- Bump stookwijzer==1.5.4 ([@fwestenberg] - [#138678]) +- Move some setups during onboarding to background ([@balloob] - [#138558]) +- Allow removal of stale HEOS devices ([@andrewsayre] - [#138677]) +- Comply with parallel updates quality rule ([@lellky] - [#138672]) +- Update foscam action descriptions to match HA style ([@NoRi2909] - [#138664]) +- Add preconditioning number entity to Ohme ([@dan-r] - [#138346]) +- Improve 17track action descriptions by using those from the online docs ([@NoRi2909] - [#138698]) +- Elmax - fix issue 136877 ([@albertogeniola] - [#138419]) +- Fix casing in Sensibo action descriptions ([@NoRi2909] - [#138701]) +- Bump yolink api 0.4.8 ([@matrixd2] - [#138703]) +- Bump uv to 0.6.0 ([@edenhaus] - [#138707]) +- Optimize Refoss state_class of Sensor ([@ashionky] - [#138266]) +- Add repair-issue that backup location setup is missing in Synology DSM ([@mib1185] - [#138233]) +- Use correct camel-case for OpenThread, reword error message ([@NoRi2909] - [#138651]) +- Improve type hints in base entities ([@epenet] - [#138708]) +- Add common entity module to pylint plugin ([@epenet] - [#138706]) +- Update mypy-dev to 1.16.0a3 ([@cdce8p] - [#138655]) +- Fix snapshots timezone in Cloud tests ([@abmantis] - [#138393]) +- Add translations for exceptions ([@lellky] - [#138669]) +- Create HEOS devices after integration setup ([@andrewsayre] - [#138721]) +- Add LV-RH131S-WM Air Purifier ([@CloCkWeRX] - [#138626]) +- Move ZHA debug logs handling out of event loop ([@abmantis] - [#138568]) +- Add sensors for washer and system boiler in LG ThinQ ([@LG-ThinQ-Integration] - [#137514]) +- Improve config entry state transitions when unloading and removing entries ([@emontnemery] - [#138522]) +- Fix typos in qBittorrent exceptions strings ([@NoRi2909] - [#138728]) +- Update HEOS repair issues quality scale item ([@andrewsayre] - [#138724]) +- Fix race condition on eheimdigital coordinator setup ([@autinerd] - [#138580]) +- Fix small typo in qbittorrent strings.json ([@Xitee1] - [#138734]) +- Fix user-facing strings of the NWS integration ([@NoRi2909] - [#138727]) +- Mark reauthentication-flow as exempt for flexit_bacnet ([@lellky] - [#138740]) +- Mark action-exceptions as exempt for flexit_bacnet ([@lellky] - [#138739]) +- Fix wrong description of teslemetry.set_scheduled_charging action ([@NoRi2909] - [#138723]) +- Bump PyViCare to 2.43.1 ([@CFenner] - [#138737]) +- Bump aioesphomeapi to 29.1.0 ([@bdraco] - [#138742]) +- Fix temp files of mqtt CI tests not cleaned up properly ([@jbouwh] - [#138741]) +- Update Diagnostics in Teslemetry ([@Bre77] - [#138759]) +- Allow playback of h265 encoded Reolink video ([@starkillerOG] - [#138667]) +- Bump zeroconf to 0.145.1 ([@bdraco] - [#138763]) +- Fixing casing mistakes in user-facing strings of renault ([@NoRi2909] - [#138729]) +- Make spelling of "BSB-Lan" consistent ([@NoRi2909] - [#138766]) +- Fix Z-WaveJS inclusion in the background ([@MindFreeze] - [#138717]) +- Fix grammar in evohome.reset_system action, consistently add "mode" ([@NoRi2909] - [#138777]) +- Add support for announce to Squeezebox media player ([@peteS-UK] - [#129460]) +- Add HEOS entity service to set group volume level ([@andrewsayre] - [#136885]) +- airq: add more verbose debug logging ([@Sibgatulin] - [#138192]) +- Add threshold sensor to Aranet ([@parkerbxyz] - [#137291]) +- Add switch flex button support. ([@matrixd2] - [#137524]) +- Add `_shelly._tcp` to Shelly zeroconf configuration ([@bieniu] - [#138782]) +- Ecobee: Report Humidifier Action ([@SLaks] - [#138756]) +- Bump uv to 0.6.1 ([@edenhaus] - [#138790]) +- Reorder Dockerfile to improve caching ([@edenhaus] - [#138789]) +- Fix shelly not being able to be setup from user flow when already discovered ([@bdraco] - [#138807]) +- Add Home Connect to .strict-typing ([@Diegorro98] - [#138799]) +- Add Home Connect entities that weren't added before ([@Diegorro98] - [#138796]) +- Set Home Connect beverages counters as diagnostics ([@Diegorro98] - [#138798]) +- Add connectivity binary sensor to Home Connect ([@Diegorro98] - [#138795]) +- Update Home Assistant base image to 2025.02.1 ([@frenck] - [#138746]) +- Fix typos in strings.json files ([@CFenner] - [#138601]) +- Add HEOS group volume down/up actions ([@andrewsayre] - [#138801]) +- Set clean_start=True on connect to MQTT broker ([@skobow] - [#136026]) +- Bump aioesphomeapi to 29.1.1 ([@bdraco] - [#138827]) +- Move blocking code to executor job in MQTT CI test helper ([@jbouwh] - [#138815]) +- Bump habluetooth to 3.22.0 ([@bdraco] - [#138812]) +- Add button for bond light temp toggle feature ([@HA-Roberto] - [#135379]) +- Electric Kiwi: Add quality scale ([@mikey0000] - [#138680]) +- add icon to select ([@mikey0000] - [#138834]) +- Add test for flexit_bacnet hvac mode ([@lellky] - [#138748]) +- Improve performance of calculating state ([@bdraco] - [#138832]) +- Add sensors for pellets boiler in ViCare integration ([@CFenner] - [#138563]) +- Electric Kiwi: Parallel updates ([@mikey0000] - [#138839]) +- Remove unused code in the climate entity of the flexit_bacnet integration ([@lellky] - [#138840]) +- Update xknx to 3.6.0 ([@farmio] - [#138838]) +- Modify string water_heater's off state ([@LG-ThinQ-Integration] - [#137627]) +- Add check_connection parameter to cloud login methods and handle AlreadyConnectedError ([@ludeeus] - [#138699]) +- Adds Tado Child Lock support ([@proohit] - [#135837]) +- Add WIND_DIRECTION to SensorDeviceClass and NumberDeviceClass ([@edenhaus] - [#138714]) +- Refactor eheimdigital setup_device_entities ([@autinerd] - [#138837]) +- Homee switch platform ([@Taraman17] - [#137457]) +- Update play_media parameter description in Media Player ([@PeteRager] - [#138855]) +- Revert "Add assistant filter to expose entities list command" ([@emontnemery] - [#138867]) +- Improve reading clarity of steps code in scripts helper part 1 ([@arturpragacz] - [#138628]) +- Add exception translation for async_set_temperature in integration flexit_bacnet ([@lellky] - [#138870]) +- Select preferred discovered HEOS host ([@andrewsayre] - [#138779]) +- Bump onedrive-personal-sdk to 0.0.11 ([@zweckj] - [#138861]) +- Improve reading clarity of steps code in scripts helper ([@arturpragacz] - [#134395]) +- Capitalize all occurrences of "Bond" brand name ([@NoRi2909] - [#138876]) +- Tuya camera rm duplication ([@maghiel] - [#138794]) +- Make field description of snips.say_action UI-friendly ([@NoRi2909] - [#138276]) +- Fix scaffolding generations ([@stevenh] - [#138820]) +- Make description of `input_select.select_next` action consistent ([@NoRi2909] - [#138877]) +- Filter out certain intents from being matched in local fallback ([@balloob] - [#137763]) +- Add LINAK virtual integration supported by Idasen Desk ([@abmantis] - [#138749]) +- Remove some dead code from the conversation integration ([@emontnemery] - [#138878]) +- Add initial basic GitHub Copilot instructions ([@frenck] - [#137754]) +- Environment Canada: Add a detailed forecast action ([@gwww] - [#138806]) +- Switch cleanup for Shelly (part 1) ([@chemelli74] - [#138791]) +- Use xmod model info for Shelly XMOD devices ([@chemelli74] - [#137013]) +- Bump pyloadapi to 1.4.1 ([@tr4nt0r] - [#138894]) +- Add light platform to qbus ([@thomasddn] - [#136168]) +- Move test before setup coordinator `_async_setup` in pyLoad integration ([@tr4nt0r] - [#138893]) +- Set parallel_updates in pyLoad integration ([@tr4nt0r] - [#138897]) +- Minor readability improvement of Spotify browse media ([@emontnemery] - [#138907]) +- Bump docker/build-push-action from 6.13.0 to 6.14.0 (@dependabot - [#138902]) +- Adjust config entry state checks in qbus ([@emontnemery] - [#138911]) +- Adjust config entry state checks in reolink ([@emontnemery] - [#138909]) +- Adjust config entry state check in yolink ([@emontnemery] - [#138904]) +- Bump actions/cache from 4.2.0 to 4.2.1 (@dependabot - [#138901]) +- Adjust config entry state checks in esphome ([@emontnemery] - [#138914]) +- Adjust config entry state checks in renault ([@emontnemery] - [#138910]) +- Adjust config entry state checks in mcp_server ([@emontnemery] - [#138913]) +- Adjust config entry state checks in nest ([@emontnemery] - [#138912]) +- Adjust cleanup of removed integration aladdin_connect ([@emontnemery] - [#138917]) +- Improve action descriptions of ness_alarm integration ([@NoRi2909] - [#138921]) +- Bump bluetooth-auto-recovery to 1.4.4 ([@bdraco] - [#138895]) +- Allow use of insecure ciphers in rest_command ([@jpbede] - [#138886]) +- Add button platform to Homee ([@Taraman17] - [#138923]) +- Adjust cleanup of removed integration eight_sleep ([@emontnemery] - [#138926]) +- Adjust cleanup of removed integration life360 ([@emontnemery] - [#138928]) +- Adjust cleanup of removed integration linear_garage_door ([@emontnemery] - [#138929]) +- Adjust cleanup of removed integration mazda ([@emontnemery] - [#138930]) +- Adjust cleanup of removed integration myq ([@emontnemery] - [#138931]) +- Adjust cleanup of removed integration spider ([@emontnemery] - [#138932]) +- Bump habluetooth to 3.22.1 and bleak-retry-connector to 3.9.0 ([@bdraco] - [#138898]) +- Fix ability to set HEOS options ([@andrewsayre] - [#138235]) +- Allow files to be directly deleted in onedrive ([@zweckj] - [#138908]) +- Remove helper.recorder.async_wait_recorder ([@emontnemery] - [#138935]) +- Add SensorPush Cloud integration ([@sstallion] - [#134223]) +- Adjust config entry state check in vizio ([@emontnemery] - [#138905]) +- Bump ruff to 0.9.7 ([@joostlek] - [#138939]) +- Add climate entity tests for flexit_bacnet and mark test coverage done (99%) ([@lellky] - [#138887]) +- Minor adjustment of recorder helper ([@emontnemery] - [#138941]) +- Improve names and descriptions of `media_player.xxx_set` actions ([@NoRi2909] - [#138773]) +- Add light platform to Homee ([@Taraman17] - [#138776]) +- Revert Python 3.13.2 requirement for now ([@frenck] - [#138948]) +- Add error handling to enphase_envoy number platform action ([@catsmanac] - [#136812]) +- Bump propcache to 0.3.0 ([@bdraco] - [#138949]) +- Use capitalized "Modbus" as name, replace "slave" with "server" ([@NoRi2909] - [#138945]) +- Restore `PaddleSwitchPico` (Pico Paddle Remote) device trigger to Lutron Caseta ([@bdraco] - [#137689]) +- Adjust DSL line status options in SFR Box integration ([@epenet] - [#136425]) +- Bump arcam-fmj to 1.8.1 ([@jgus] - [#138959]) +- Jellyfin - Improve media image quality ([@zackslash] - [#138958]) +- Add debug launch configuration for current open test file ([@proohit] - [#137177]) +- Bump inkbird-ble to 0.7.0 ([@bdraco] - [#138964]) +- Bump universal-silabs-flasher to v0.0.29 ([@puddly] - [#138970]) +- Add ability to get callback when a config entry state changes ([@zweckj] - [#138943]) +- Mark flexit_bacnet as silver on the quality scale 🥈 ([@lellky] - [#138951]) +- Remember inkbird device type in the config entry ([@bdraco] - [#138967]) +- Bump aiounifi to v82 ([@Samywamy10] - [#138975]) +- Media Player tests patch demo object ([@PeteRager] - [#138854]) +- Update HEOS host from discovery ([@andrewsayre] - [#138950]) +- Extend initial IQS state for ViCare ([@CFenner] - [#138952]) +- Homee: fix state_class of rain sensors. ([@Taraman17] - [#138310]) +- Bump sigstore/cosign-installer from 3.8.0 to 3.8.1 (@dependabot - [#138973]) +- Migrate `homeassistant_hardware` to use `FirmwareInfo` instead of just the application type ([@puddly] - [#138874]) +- Don't fail on successful relogin in pyLoad integration ([@tr4nt0r] - [#138936]) +- Fix off by one bug when sorting tasks in Habitica integration ([@tr4nt0r] - [#138993]) +- Add remember the milk entity tests ([@MartinHjelmare] - [#138991]) +- Fix Shelly model name for xmod devices ([@thecode] - [#138984]) +- Unifi zone based rules ([@Samywamy10] - [#138974]) +- Bump wolf-comm to 0.0.19 ([@mtielen] - [#138997]) +- Bump qbusmqttapi to 1.3.0 ([@thomasddn] - [#139000]) +- Fix Shelly mock initialization for sleepy RPC device in tests ([@thecode] - [#139003]) +- Bump HEOS quality scale to platinum ([@andrewsayre] - [#138995]) +- Add daily and monthly consumption sensors to the rympro integration ([@nivstein] - [#137953]) +- Allow ignored thermobeacon devices to be set up from the user flow ([@bdraco] - [#139009]) +- Bump pyfritzhome 0.6.16 ([@mib1185] - [#139011]) +- Add target_temp_step attribute to water_heater ([@LG-ThinQ-Integration] - [#138920]) +- Add button to set date and time for thermopro TP358/TP393 ([@stephan48] - [#135740]) +- Fix write_registers calling after the upgrade of pymodbus to 3.8.x ([@crug80] - [#139017]) +- Swap the Gemini SDK to the newly released Unified SDK ([@IvanLH] - [#138246]) +- Adjust config entry state check in unifi ([@emontnemery] - [#138906]) +- Bump habluetooth to 3.24.0 ([@bdraco] - [#139021]) +- Fix station parser problem in Trafikverket Train ([@gjohansson-ST] - [#139035]) +- Implement base entity for smhi ([@gjohansson-ST] - [#139042]) +- Bump holidays to 0.67 ([@gjohansson-ST] - [#139036]) +- Bump async-interrupt to 1.2.2 ([@bdraco] - [#139056]) +- Bump aiodhcpwatcher to 1.1.1 ([@bdraco] - [#139058]) +- Bump aiohttp-fast-zlib to 0.2.3 ([@bdraco] - [#139062]) +- Bump fnv-hash-fast to 1.2.3 ([@bdraco] - [#139059]) +- Improve descriptions in `nuki.lock_n_go` action ([@NoRi2909] - [#139067]) +- Bump Stookwijzer to 1.5.7 ([@fwestenberg] - [#139063]) +- Bump cached-ipaddress to 0.8.1 ([@bdraco] - [#139061]) +- Use ConfigEntry.runtime_data to store Minecraft Server runtime data ([@elmurato] - [#139039]) +- Bump ulid-transform to 1.2.1 ([@bdraco] - [#139054]) +- Bump pyrisco to 0.6.7 ([@FredericMa] - [#139065]) +- Bump pyfritzhome to 0.6.17 ([@mib1185] - [#139066]) +- Fix docstring parameter in entity platform ([@joostlek] - [#139070]) +- Add entities that represent program options to Home Connect ([@Diegorro98] - [#138674]) +- Add buttons to Home Connect ([@Diegorro98] - [#138792]) +- Fix minimum schema version to run event_id_post_migration ([@bdraco] - [#139014]) +- Fix dryer's remaining time issue ([@LG-ThinQ-Integration] - [#138764]) +- Bump aiodiscover to 2.6.1 ([@bdraco] - [#139055]) +- Remove unnecessary debug message from vesync ([@iprak] - [#139083]) +- Bump py-synologydsm-api to 2.7.0 ([@mib1185] - [#139082]) +- Add select setting entities to Home Connect ([@Diegorro98] - [#138884]) +- Fix typo in SSH connection string for cisco ios device_tracker ([@javers99] - [#138584]) +- Bump pyprosegur to 0.0.14 ([@dgomes] - [#139077]) +- OpenAI to report when running out of funds ([@balloob] - [#139088]) +- Add tests to Evohome for its native services ([@zxdavb] - [#139104]) +- Add Home Connect functional light color temperature percent setting ([@Diegorro98] - [#139096]) +- Backup location feature requires Synology DSM 6.0 and higher ([@mib1185] - [#139106]) +- Fetch allowed values for select entities at Home Connect ([@Diegorro98] - [#139103]) +- Bump aiohue to 4.7.4 ([@joostlek] - [#139108]) +- Waze action support entities ([@TomBrien] - [#139068]) +- Remove individual lcn devices for each entity ([@alengwenus] - [#136450]) +- Allow rename of the backup folder for OneDrive ([@zweckj] - [#138407]) +- Deprecate Home Connect command actions ([@Diegorro98] - [#139093]) +- Move remember the milk config storage to own module ([@MartinHjelmare] - [#138999]) +- Test remember the milk configurator ([@MartinHjelmare] - [#139122]) +- Change backup listener calls for existing backup integrations ([@zweckj] - [#138988]) +- Bump thermobeacon-ble to 0.8.0 ([@bdraco] - [#139119]) +- Complete remember the milk typing ([@MartinHjelmare] - [#139123]) +- Fix flakey onedrive tests ([@zweckj] - [#139129]) +- Allow arbitrary Gemini attachments ([@SLaks] - [#138751]) +- bump soco to 0.30.9 ([@PeteRager] - [#139143]) +- Bump github/codeql-action from 3.28.9 to 3.28.10 (@dependabot - [#139162]) +- Bump aiowebostv to 0.7.0 ([@thecode] - [#139145]) +- Bump androidtvremote2 to 0.2.0 ([@tronikos] - [#139141]) +- Bump actions/upload-artifact from 4.6.0 to 4.6.1 (@dependabot - [#139161]) +- Consider the zone radius in proximity distance calculation ([@Spcemarine] - [#138819]) +- Remove unnecessary min/max setting of WATER_HEATER ([@LG-ThinQ-Integration] - [#138969]) +- Remove setup of rpi_power from onboarding ([@emontnemery] - [#139168]) +- Better handle runtime recovery mode in bootstrap ([@arturpragacz] - [#138624]) +- Add Snoo integration ([@Lash-L] - [#134243]) +- Bump zwave-js-server-python to 0.60.1 ([@MartinHjelmare] - [#139185]) +- Fix description of `cycle` field in `input_select.select_previous` action ([@NoRi2909] - [#139032]) +- Add melcloud standard horizontal vane modes ([@antlarr] - [#136654]) +- Change code owner - MotionMount integration ([@laiho-vogels] - [#139187]) +- Bump Weheat to 2025.2.22 ([@SteveDiks] - [#139186]) +- Add ambient temperature and humidity status sensors to NUT ([@tdfountain] - [#124181]) +- Update LG webOS TV diagnostics to use tv_info and tv_state dictionaries ([@thecode] - [#139189]) +- Add flag to backup store to track backup wizard completion ([@emontnemery] - [#138368]) +- Add translations for exceptions and data descriptions to pyLoad integration ([@tr4nt0r] - [#138896]) +- Refactor to-do list order and reordering in Habitica ([@tr4nt0r] - [#138566]) +- Add WebDAV backup agent ([@jpbede] - [#137721]) +- Remove name in Minecraft Server config entry ([@elmurato] - [#139113]) +- Add vesync debug mode in library ([@cdnninja] - [#134571]) +- Fix return value for DataUpdateCoordinator._async setup ([@MartinHjelmare] - [#139181]) +- Fix race in WS command recorder/info ([@emontnemery] - [#139177]) +- Bump aiohttp to 3.11.13 ([@bdraco] - [#139197]) +- Update Linkplay constants for Arylic S10+ and Arylic Up2Stream Amp 2.1 ([@ozonejunkieau] - [#138198]) +- Add support for Apps and Radios to Squeezebox Media Browser ([@peteS-UK] - [#135009]) +- Add azure_storage as backup agent ([@zweckj] - [#134085]) +- Bump onedrive quality scale to platinum ([@zweckj] - [#137451]) +- Bump pyloadapi to v1.4.2 ([@tr4nt0r] - [#139140]) +- Add missing translations to switchbot ([@emontnemery] - [#139212]) +- Fix bug in check_translations fixture ([@emontnemery] - [#139206]) +- Add missing exception translation to Home Connect ([@Diegorro98] - [#139218]) +- Configure trusted publishing for PyPI file upload ([@cdce8p] - [#137607]) +- Bump aiostreammagic to 2.11.0 ([@noahhusby] - [#139213]) +- Add missing exception translation to Home Connect ([@Diegorro98] - [#139223]) +- Bump ohmepy to 1.3.2 ([@dan-r] - [#139013]) +- Fix kitchen_sink statistic issues ([@emontnemery] - [#139228]) +- Bump aiowebdav2 to 0.3.0 ([@jpbede] - [#139202]) +- Bump pylamarzocco to 1.4.7 ([@zweckj] - [#139231]) +- Add backup helper ([@emontnemery] - [#139199]) +- Reduce requests made by webdav ([@jpbede] - [#139238]) +- Add Homee valve platform ([@Taraman17] - [#139188]) +- Fix units for LCN sensor ([@alengwenus] - [#138940]) +- Add Ohme voltage and slot list sensor ([@dan-r] - [#139203]) +- Initiate source list as instance variable in Volumio ([@joostlek] - [#139243]) +- `logbook.log` action: Make description of `name` field UI-friendly ([@NoRi2909] - [#139200]) +- Treat "Twist Assist" & "Block to Block" as feature names and add descriptions in Z-Wave ([@NoRi2909] - [#139239]) +- Add climate's swing mode to LG ThinQ ([@LG-ThinQ-Integration] - [#137619]) +- Bump aiowithings to 3.1.6 ([@joostlek] - [#139242]) +- Add update reward action to Habitica integration ([@tr4nt0r] - [#139157]) +- Add Re-Auth Flow to vesync ([@cdnninja] - [#137398]) +- Rework the velbus configflow to make it more user-friendly ([@cereal2nd] - [#135609]) +- Add missing ATTR_HVAC_MODE of async_set_temperature to LG ThinQ ([@LG-ThinQ-Integration] - [#137621]) +- Make Radarr units translatable ([@danbishop] - [#139250]) +- Improve Minecraft Server config flow tests ([@elmurato] - [#139251]) +- Revert "Bump Stookwijzer to 1.5.7" ([@edenhaus] - [#139253]) +- Add parallel updates to Home Connect ([@Diegorro98] - [#139255]) +- Bump fnv-hash-fast to 1.2.6 ([@bdraco] - [#139246]) +- Make default dim level configurable in Lutron ([@cameronr] - [#137127]) +- Set PARALLEL_UPDATES in all Minecraft Server platforms ([@elmurato] - [#139259]) +- Bump aiowebostv to 0.7.1 ([@thecode] - [#139244]) +- Consistently capitalize "Velbus" brand name, camel-case "VelServ" ([@NoRi2909] - [#139257]) +- Bump cached-ipaddress to 0.9.2 ([@bdraco] - [#139245]) +- Make Sonarr component's units translatable ([@danbishop] - [#139254]) +- Bump stookwijzer to 1.5.8 ([@fwestenberg] - [#139258]) +- Bump Velbus to bronze quality scale ([@cereal2nd] - [#139256]) +- Add Homee number platform ([@Taraman17] - [#138962]) +- Fix yolink lock v2 state update ([@matrixd2] - [#138710]) +- Set Minecraft Server quality scale to silver ([@elmurato] - [#139265]) +- Add OpenWeatherMap Minute forecast action ([@10100011] - [#128799]) +- Fix Ezviz entity state for cameras that are offline ([@RenierM26] - [#136003]) +- Use proper camel-case for "VeSync", fix sentence-casing in title ([@NoRi2909] - [#139252]) +- Add request made by `rest_command` to debug log ([@jpbede] - [#139266]) +- Create repair for configured unavailable backup agents ([@MartinHjelmare] - [#137382]) +- Improve description of `openweathermap.get_minute_forecast` action ([@NoRi2909] - [#139267]) +- Use right import in ezviz ([@joostlek] - [#139272]) +- Change touchline dependency to pytouchline_extended ([@brondum] - [#136362]) +- Rename description field to notes in Habitica action ([@tr4nt0r] - [#139271]) +- Add support for effects in Govee lights ([@Galorhallen] - [#137846]) +- Add Burbank Water and Power (BWP) virtual integration ([@tronikos] - [#139027]) +- Update adext to 0.4.4 ([@pleasantone] - [#139151]) +- Add sound mode support to Onkyo ([@arturpragacz] - [#133531]) +- Use new python library for picnic component ([@codesalatdev] - [#139111]) +- Bump securetar to 2025.2.1 ([@emontnemery] - [#139273]) +- Fix race in async_get_integrations with multiple calls when an integration is not found ([@bdraco] - [#139270]) +- Bump python-overseerr to 0.7.1 ([@joostlek] - [#139263]) +- Add coordinator to SMHI ([@gjohansson-ST] - [#139052]) +- Make Radarr unit translation lowercase ([@danbishop] - [#139261]) +- Add common state translation string for charging and discharging ([@mib1185] - [#139074]) +- Add test fixture ignore_translations_for_mock_domains ([@emontnemery] - [#139235]) +- Fix grammar in loader comments ([@bdraco] - [#139276]) +- Bump aiohomeconnect to 0.15.0 ([@Diegorro98] - [#139277]) +- Add current cavity temperature sensor to Home Connect ([@Diegorro98] - [#139282]) +- Bump anthropic to 0.47.2 ([@Shulyaka] - [#139283]) +- Adjust recorder validate_statistics handler ([@emontnemery] - [#139229]) +- Fix re-connect logic in Apple TV integration ([@postlund] - [#139289]) +- Revert "Bump stookwijzer==1.5.8" ([@bdraco] - [#139287]) +- Add option to ESPHome to subscribe to logs ([@bdraco] - [#139073]) +- Remove not used constants in smhi ([@gjohansson-ST] - [#139298]) +- Bump `aioshelly` to version `13.0.0` ([@bieniu] - [#139294]) +- Remove timeout from vscode test launch configuration ([@abmantis] - [#139288]) +- Add missing Home Connect context at event listener registration for appliance options ([@Diegorro98] - [#139292]) +- Sort common translation strings ([@mib1185] - [#139300]) +- Add album artist media browser category to Squeezebox ([@peteS-UK] - [#139210]) +- Bump aioesphomeapi to 29.2.0 ([@bdraco] - [#139309]) +- Bump actions/download-artifact from 4.1.8 to 4.1.9 (@dependabot - [#139317]) +- Bump home-assistant/builder from 2024.08.2 to 2025.02.0 (@dependabot - [#139316]) +- Adjust remote ESPHome log subscription level on logging change ([@bdraco] - [#139308]) +- Fix homeassistant/expose_entity/list ([@emontnemery] - [#138872]) +- Bump `accuweather` to version `4.1.0` ([@bieniu] - [#139320]) +- Bump ZHA to 0.0.50 ([@TheJulianJES] - [#139318]) +- Bump pytechnove to 2.0.0 ([@Moustachauve] - [#139314]) +- Update python-smarttub dependency to 0.0.39 ([@mdz] - [#139313]) +- Fix anthropic blocking call ([@Shulyaka] - [#139299]) +- Bump pybotvac to 0.0.26 ([@benbridts] - [#139330]) +- Bump stookwijzer==1.6.0 ([@fwestenberg] - [#139332]) +- Improve error message when failing to create backups ([@emontnemery] - [#139262]) +- Add translations and icon for Twinkly select entity ([@piitaya] - [#139336]) +- Bump recommended ESPHome Bluetooth proxy version to 2025.2.1 ([@bdraco] - [#139196]) +- Add default_db_url flag to WS command recorder/info ([@emontnemery] - [#139333]) +- Improve action descriptions of LIFX integration ([@NoRi2909] - [#139329]) +- Bump Music Assistant client to 1.1.1 ([@marcelveldt] - [#139331]) +- Refactor SmartThings ([@joostlek] - [#137940]) +- Add keys initiate_flow and entry_type to data entry translations ([@emontnemery] - [#138882]) +- Add support for swing horizontal mode for mqtt climate ([@jbouwh] - [#139303]) +- Add entity translations to SmartThings ([@joostlek] - [#139342]) +- Improve logging for selected options in Onkyo ([@arturpragacz] - [#139279]) +- Change no fixtures comment in SmartThings ([@joostlek] - [#139344]) +- Set options for carbon monoxide detector sensor in SmartThings ([@joostlek] - [#139346]) +- Improve calculating supported features in template light ([@jbouwh] - [#139339]) +- Update frontend to 20250226.0 ([@bramkragten] - [#139340]) +- Use particulate matter device class in SmartThings ([@joostlek] - [#139351]) +- Set options for dishwasher job state sensor in SmartThings ([@joostlek] - [#139349]) +- Set options for dishwasher machine state sensor in SmartThings ([@joostlek] - [#139347]) +- Set options for alarm sensor in SmartThings ([@joostlek] - [#139345]) +- Fix variable scopes in scripts ([@arturpragacz] - [#138883]) +- Add translatable states to SmartThings media source input ([@joostlek] - [#139353]) +- Add translatable states to SmartThings media playback ([@joostlek] - [#139354]) +- Add translatable states to oven mode in SmartThings ([@joostlek] - [#139356]) +- Add translatable states to oven job state in SmartThings ([@joostlek] - [#139361]) +- Add translatable states to oven machine state ([@joostlek] - [#139358]) +- Add translatable states to robot cleaner movement in SmartThings ([@joostlek] - [#139363]) +- Add translatable states to robot cleaner cleaning mode in SmartThings ([@joostlek] - [#139362]) +- Add translatable states to washer machine state in SmartThings ([@joostlek] - [#139366]) +- Add translatable states to smoke detector in SmartThings ([@joostlek] - [#139365]) +- Add translatable states to robot cleaner turbo mode in SmartThings ([@joostlek] - [#139364]) +- Add translatable states to washer job state in SmartThings ([@joostlek] - [#139368]) +- Improve Home Connect oven cavity temperature sensor ([@Diegorro98] - [#139355]) +- Add translatable states to dryer machine state in Smartthings ([@joostlek] - [#139369]) +- Add translatable states to dryer job state in SmartThings ([@joostlek] - [#139370]) +- Don't create entities for disabled capabilities in SmartThings ([@joostlek] - [#139343]) +- Fix typo in SmartThing string ([@joostlek] - [#139373]) +- Bump stookwijzer==1.6.1 ([@fwestenberg] - [#139380]) +- Bump ZHA to 0.0.51 ([@puddly] - [#139383]) +- Bump intents to 2025.2.26 ([@synesthesiam] - [#139387]) +- Fix fetch options error for Home connect ([@Diegorro98] - [#139392]) +- Bump onedrive to 0.0.12 ([@zweckj] - [#139410]) +- Bump pysmartthings to 2.0.0 ([@joostlek] - [#139418]) +- Bump habluetooth to 3.24.1 ([@bdraco] - [#139420]) +- Fix conversation agent fallback ([@balloob] - [#139421]) +- Add diagnostics to SmartThings ([@joostlek] - [#139423]) +- Bump bleak-esphome to 2.8.0 ([@bdraco] - [#139426]) +- Bump reolink-aio to 0.12.1 ([@starkillerOG] - [#139427]) +- Fix Music Assistant media player entity features ([@marcelveldt] - [#139428]) +- Update frontend to 20250227.0 ([@bramkragten] - [#139437]) +- Bump weatherflow4py to 1.3.1 ([@jeeftor] - [#135529]) +- Add new mediatypes to Music Assistant integration ([@marcelveldt] - [#139338]) +- Move climate intent to homeassistant integration ([@synesthesiam] - [#139371]) +- Bump aiohomeconnect to 0.15.1 ([@Diegorro98] - [#139445]) +- Fix SmartThings diagnostics ([@joostlek] - [#139447]) +- Bump pysmartthings to 2.0.1 ([@joostlek] - [#139454]) +- Change webdav namespace to absolut URI ([@jpbede] - [#139456]) +- Improve onedrive migration ([@zweckj] - [#139458]) +- Bump pysmartthings to 2.1.0 ([@joostlek] - [#139460]) +- Only lowercase SmartThings media input source if we have it ([@joostlek] - [#139468]) +- Set SmartThings suggested display precision ([@joostlek] - [#139470]) +- Fix Gemini Schema validation for #139416 ([@IvanLH] - [#139478]) +- Fail recorder.backup.async_pre_backup if Home Assistant is not running ([@emontnemery] - [#139491]) +- Fix shift state in Teslemetry ([@Bre77] - [#139505]) +- Improve error handling in CoreBackupReaderWriter ([@emontnemery] - [#139508]) +- Add diagnostics to onedrive ([@zweckj] - [#139516]) +- Make the Tuya backend library compatible with the newer paho mqtt client. ([@jbouwh] - [#139518]) +- Suppress unsupported event 'EVT_USP_RpsPowerDeniedByPsuOverload' by bumping aiounifi to v83 ([@Kane610] - [#139519]) +- Don't split wheels builder anymore ([@edenhaus] - [#139522]) +- Bump yt-dlp to 2025.02.19 ([@joostlek] - [#139526]) +- Update frontend to 20250228.0 ([@bramkragten] - [#139531]) +- Add missing 'state_class' attribute for Growatt plant sensors ([@LaithBudairi] - [#132145]) +- Bump env_canada to 0.8.0 ([@maruel] - [#138237]) +- Fix Nederlandse Spoorwegen to ignore trains in the past ([@Martreides] - [#138331]) +- Use multiple indexed group-by queries to get start time states for MySQL ([@bdraco] - [#138786]) +- Specify recorder as after dependency in sql integration ([@gjohansson-ST] - [#139037]) +- Handle IPv6 URLs in devolo Home Network ([@Shutgun] - [#139191]) +- Fix bug in derivative sensor when source sensor's state is constant ([@jgrande] - [#139230]) +- Ensure Hue bridge is added first to the device registry ([@marcelveldt] - [#139438]) +- Fix update data for multiple Gree devices ([@filipagh] - [#139469]) +- Use last event as color mode in SmartThings ([@joostlek] - [#139473]) +- Set SmartThings delta energy to Total ([@joostlek] - [#139474]) +- Fix alert not respecting can_acknowledge setting ([@StaleLoafOfBread] - [#139483]) +- Bump pysmartthings to 2.2.0 ([@joostlek] - [#139539]) +- Remove orphan devices on startup in SmartThings ([@joostlek] - [#139541]) +- Bump PySwitchBot to 0.56.1 ([@bdraco] - [#139544]) +- Bump pysmartthings to 2.3.0 ([@joostlek] - [#139546]) +- Improve SmartThings OCF device info ([@joostlek] - [#139547]) +- Add SmartThings Viper device info ([@joostlek] - [#139548]) +- Revert polling changes to HomeKit Controller ([@bdraco] - [#139550]) +- Bump pysmartthings to 2.4.0 ([@joostlek] - [#139564]) +- Bump Tesla Fleet API to v0.9.12 ([@Bre77] - [#139565]) +- Bump aiowebdav2 to 0.3.1 ([@jpbede] - [#139567]) +- Validate scopes in SmartThings config flow ([@joostlek] - [#139569]) +- Only determine SmartThings swing modes if we support it ([@joostlek] - [#139571]) +- Don't require not needed scopes in SmartThings ([@joostlek] - [#139576]) +- Homee: fix watchdog icon ([@Taraman17] - [#139577]) +- Bump aiohomekit to 3.2.8 ([@bdraco] - [#139579]) +- Fix duplicate unique id issue in Sensibo ([@gjohansson-ST] - [#139582]) +- Improve field descriptions of `zha.permit` action ([@NoRi2909] - [#139584]) +- Fix - Allow brightness only light MQTT json light to be set up using the `brightness` flag or via `supported_color_modes` ([@jbouwh] - [#139585]) +- Fix Manufacturer naming for Squeezelite model name for Squeezebox ([@peteS-UK] - [#139586]) +- Bump deebot-client to 12.3.1 ([@edenhaus] - [#139598]) +- Fix handling of NaN float values for current humidity in ESPHome ([@bdraco] - [#139600]) +- Bump aioshelly to 13.1.0 ([@thecode] - [#139601]) +- Bump inkbird-ble to 0.7.1 ([@bdraco] - [#139603]) +- Fix body text of imap message not available in custom event data template ([@jbouwh] - [#139609]) +- Fix arm vacation mode showing as armed away in elkm1 ([@bdraco] - [#139613]) +- Still request scopes in SmartThings ([@joostlek] - [#139626]) +- Bump pysmartthings to 2.4.1 ([@joostlek] - [#139627]) +- Fix unique identifiers where multiple IKEA Tradfri gateways are in use ([@cs12ag] - [#136060]) +- Fix vicare exception for specific ventilation device type ([@CrEaK] - [#138343]) +- Prevent zero interval in Calendar get_events service ([@abmantis] - [#139378]) +- Fix Homee brightness sensors reporting in percent ([@Taraman17] - [#139409]) +- Fix ability to remove orphan device in Music Assistant integration ([@marcelveldt] - [#139431]) +- Fix broken link in ESPHome BLE repair ([@bdraco] - [#139639]) +- Fix scope comparison in SmartThings ([@joostlek] - [#139652]) +- Avoid duplicate chat log content ([@balloob] - [#139679]) +- Add additional roborock debug logging ([@allenporter] - [#139680]) +- Improve failure handling and logging for invalid map responses ([@allenporter] - [#139681]) +- Abort SmartThings flow if default_config is not enabled ([@joostlek] - [#139700]) +- Bump ESPHome stable BLE version to 2025.2.2 ([@bdraco] - [#139704]) +- Bump holidays to 0.68 ([@gjohansson-ST] - [#139711]) +- Bump aiowebostv to 0.7.2 ([@thecode] - [#139712]) +- Bump sense-energy to 0.13.6 ([@bdraco] - [#139714]) +- Add nest translation string for `already_in_progress` ([@allenporter] - [#139727]) +- Bump google-nest-sdm to 7.1.4 ([@allenporter] - [#139728]) +- Delete refresh after a non-breaking error at event stream at Home Connect ([@Diegorro98] - [#139740]) +- Bump aiohomeconnect to 0.16.2 ([@Diegorro98] - [#139750]) +- Add Apollo Automation virtual integration ([@joostlek] - [#139751]) +- Fix incorrect weather state returned by HKO ([@MisterCommand] - [#139757]) +- Bump pysmartthings to 2.5.0 ([@joostlek] - [#139758]) +- Fix home connect available ([@MartinHjelmare] - [#139760]) +- Bump nexia to 2.1.1 ([@bdraco] - [#139772]) +- Bump aiowebostv to 0.7.3 ([@thecode] - [#139788]) +- Drop BETA postfix from Matter integration's title ([@marcelveldt] - [#139816]) +- Split the energy and data retrieval in WeHeat ([@SteveDiks] - [#139211]) +- Update frontend to 20250305.0 ([@bramkragten] - [#139829]) +- Get temperature data appropriate for hass.config.unit in LG ThinQ ([@LG-ThinQ-Integration] - [#137626]) +- Bump nexia to 2.2.1 ([@bdraco] - [#139786]) +- Revert "Add scene support to roborock (#137203)" ([@allenporter] - [#139840]) +- Bump aioecowitt to 2025.3.1 ([@joostlek] - [#139841]) +- Bump onedrive-personal-sdk to 0.0.13 ([@zweckj] - [#139846]) +- Bump intents to 2025.3.5 ([@synesthesiam] - [#139851]) +- Fix no disabled capabilities in SmartThings ([@joostlek] - [#139860]) + +[#109725]: https://github.com/home-assistant/core/pull/109725 +[#116024]: https://github.com/home-assistant/core/pull/116024 +[#116452]: https://github.com/home-assistant/core/pull/116452 +[#121904]: https://github.com/home-assistant/core/pull/121904 +[#124181]: https://github.com/home-assistant/core/pull/124181 +[#128799]: https://github.com/home-assistant/core/pull/128799 +[#129460]: https://github.com/home-assistant/core/pull/129460 +[#129578]: https://github.com/home-assistant/core/pull/129578 +[#130098]: https://github.com/home-assistant/core/pull/130098 +[#130662]: https://github.com/home-assistant/core/pull/130662 +[#132145]: https://github.com/home-assistant/core/pull/132145 +[#133156]: https://github.com/home-assistant/core/pull/133156 +[#133184]: https://github.com/home-assistant/core/pull/133184 +[#133531]: https://github.com/home-assistant/core/pull/133531 +[#134085]: https://github.com/home-assistant/core/pull/134085 +[#134223]: https://github.com/home-assistant/core/pull/134223 +[#134243]: https://github.com/home-assistant/core/pull/134243 +[#134395]: https://github.com/home-assistant/core/pull/134395 +[#134409]: https://github.com/home-assistant/core/pull/134409 +[#134507]: https://github.com/home-assistant/core/pull/134507 +[#134552]: https://github.com/home-assistant/core/pull/134552 +[#134571]: https://github.com/home-assistant/core/pull/134571 +[#134598]: https://github.com/home-assistant/core/pull/134598 +[#134788]: https://github.com/home-assistant/core/pull/134788 +[#135009]: https://github.com/home-assistant/core/pull/135009 +[#135379]: https://github.com/home-assistant/core/pull/135379 +[#135436]: https://github.com/home-assistant/core/pull/135436 +[#135456]: https://github.com/home-assistant/core/pull/135456 +[#135513]: https://github.com/home-assistant/core/pull/135513 +[#135529]: https://github.com/home-assistant/core/pull/135529 +[#135592]: https://github.com/home-assistant/core/pull/135592 +[#135609]: https://github.com/home-assistant/core/pull/135609 +[#135657]: https://github.com/home-assistant/core/pull/135657 +[#135740]: https://github.com/home-assistant/core/pull/135740 +[#135837]: https://github.com/home-assistant/core/pull/135837 +[#135850]: https://github.com/home-assistant/core/pull/135850 +[#135859]: https://github.com/home-assistant/core/pull/135859 +[#135897]: https://github.com/home-assistant/core/pull/135897 +[#135908]: https://github.com/home-assistant/core/pull/135908 +[#135979]: https://github.com/home-assistant/core/pull/135979 +[#135984]: https://github.com/home-assistant/core/pull/135984 +[#136003]: https://github.com/home-assistant/core/pull/136003 +[#136026]: https://github.com/home-assistant/core/pull/136026 +[#136060]: https://github.com/home-assistant/core/pull/136060 +[#136076]: https://github.com/home-assistant/core/pull/136076 +[#136093]: https://github.com/home-assistant/core/pull/136093 +[#136116]: https://github.com/home-assistant/core/pull/136116 +[#136121]: https://github.com/home-assistant/core/pull/136121 +[#136130]: https://github.com/home-assistant/core/pull/136130 +[#136168]: https://github.com/home-assistant/core/pull/136168 +[#136362]: https://github.com/home-assistant/core/pull/136362 +[#136375]: https://github.com/home-assistant/core/pull/136375 +[#136383]: https://github.com/home-assistant/core/pull/136383 +[#136400]: https://github.com/home-assistant/core/pull/136400 +[#136425]: https://github.com/home-assistant/core/pull/136425 +[#136450]: https://github.com/home-assistant/core/pull/136450 +[#136468]: https://github.com/home-assistant/core/pull/136468 +[#136479]: https://github.com/home-assistant/core/pull/136479 +[#136568]: https://github.com/home-assistant/core/pull/136568 +[#136582]: https://github.com/home-assistant/core/pull/136582 +[#136607]: https://github.com/home-assistant/core/pull/136607 +[#136654]: https://github.com/home-assistant/core/pull/136654 +[#136667]: https://github.com/home-assistant/core/pull/136667 +[#136698]: https://github.com/home-assistant/core/pull/136698 +[#136710]: https://github.com/home-assistant/core/pull/136710 +[#136754]: https://github.com/home-assistant/core/pull/136754 +[#136812]: https://github.com/home-assistant/core/pull/136812 +[#136837]: https://github.com/home-assistant/core/pull/136837 +[#136859]: https://github.com/home-assistant/core/pull/136859 +[#136865]: https://github.com/home-assistant/core/pull/136865 +[#136868]: https://github.com/home-assistant/core/pull/136868 +[#136878]: https://github.com/home-assistant/core/pull/136878 +[#136882]: https://github.com/home-assistant/core/pull/136882 +[#136885]: https://github.com/home-assistant/core/pull/136885 +[#136886]: https://github.com/home-assistant/core/pull/136886 +[#136890]: https://github.com/home-assistant/core/pull/136890 +[#136917]: https://github.com/home-assistant/core/pull/136917 +[#136918]: https://github.com/home-assistant/core/pull/136918 +[#136919]: https://github.com/home-assistant/core/pull/136919 +[#136933]: https://github.com/home-assistant/core/pull/136933 +[#136934]: https://github.com/home-assistant/core/pull/136934 +[#136935]: https://github.com/home-assistant/core/pull/136935 +[#136936]: https://github.com/home-assistant/core/pull/136936 +[#136948]: https://github.com/home-assistant/core/pull/136948 +[#136949]: https://github.com/home-assistant/core/pull/136949 +[#136950]: https://github.com/home-assistant/core/pull/136950 +[#136951]: https://github.com/home-assistant/core/pull/136951 +[#136952]: https://github.com/home-assistant/core/pull/136952 +[#136953]: https://github.com/home-assistant/core/pull/136953 +[#136955]: https://github.com/home-assistant/core/pull/136955 +[#136960]: https://github.com/home-assistant/core/pull/136960 +[#136961]: https://github.com/home-assistant/core/pull/136961 +[#136966]: https://github.com/home-assistant/core/pull/136966 +[#136968]: https://github.com/home-assistant/core/pull/136968 +[#136976]: https://github.com/home-assistant/core/pull/136976 +[#136981]: https://github.com/home-assistant/core/pull/136981 +[#136985]: https://github.com/home-assistant/core/pull/136985 +[#136996]: https://github.com/home-assistant/core/pull/136996 +[#136999]: https://github.com/home-assistant/core/pull/136999 +[#137000]: https://github.com/home-assistant/core/pull/137000 +[#137006]: https://github.com/home-assistant/core/pull/137006 +[#137007]: https://github.com/home-assistant/core/pull/137007 +[#137012]: https://github.com/home-assistant/core/pull/137012 +[#137013]: https://github.com/home-assistant/core/pull/137013 +[#137014]: https://github.com/home-assistant/core/pull/137014 +[#137027]: https://github.com/home-assistant/core/pull/137027 +[#137029]: https://github.com/home-assistant/core/pull/137029 +[#137033]: https://github.com/home-assistant/core/pull/137033 +[#137034]: https://github.com/home-assistant/core/pull/137034 +[#137037]: https://github.com/home-assistant/core/pull/137037 +[#137053]: https://github.com/home-assistant/core/pull/137053 +[#137059]: https://github.com/home-assistant/core/pull/137059 +[#137062]: https://github.com/home-assistant/core/pull/137062 +[#137068]: https://github.com/home-assistant/core/pull/137068 +[#137069]: https://github.com/home-assistant/core/pull/137069 +[#137072]: https://github.com/home-assistant/core/pull/137072 +[#137077]: https://github.com/home-assistant/core/pull/137077 +[#137078]: https://github.com/home-assistant/core/pull/137078 +[#137079]: https://github.com/home-assistant/core/pull/137079 +[#137080]: https://github.com/home-assistant/core/pull/137080 +[#137085]: https://github.com/home-assistant/core/pull/137085 +[#137088]: https://github.com/home-assistant/core/pull/137088 +[#137099]: https://github.com/home-assistant/core/pull/137099 +[#137127]: https://github.com/home-assistant/core/pull/137127 +[#137130]: https://github.com/home-assistant/core/pull/137130 +[#137134]: https://github.com/home-assistant/core/pull/137134 +[#137138]: https://github.com/home-assistant/core/pull/137138 +[#137139]: https://github.com/home-assistant/core/pull/137139 +[#137142]: https://github.com/home-assistant/core/pull/137142 +[#137143]: https://github.com/home-assistant/core/pull/137143 +[#137146]: https://github.com/home-assistant/core/pull/137146 +[#137152]: https://github.com/home-assistant/core/pull/137152 +[#137156]: https://github.com/home-assistant/core/pull/137156 +[#137159]: https://github.com/home-assistant/core/pull/137159 +[#137174]: https://github.com/home-assistant/core/pull/137174 +[#137177]: https://github.com/home-assistant/core/pull/137177 +[#137179]: https://github.com/home-assistant/core/pull/137179 +[#137183]: https://github.com/home-assistant/core/pull/137183 +[#137184]: https://github.com/home-assistant/core/pull/137184 +[#137190]: https://github.com/home-assistant/core/pull/137190 +[#137191]: https://github.com/home-assistant/core/pull/137191 +[#137200]: https://github.com/home-assistant/core/pull/137200 +[#137203]: https://github.com/home-assistant/core/pull/137203 +[#137209]: https://github.com/home-assistant/core/pull/137209 +[#137210]: https://github.com/home-assistant/core/pull/137210 +[#137218]: https://github.com/home-assistant/core/pull/137218 +[#137219]: https://github.com/home-assistant/core/pull/137219 +[#137221]: https://github.com/home-assistant/core/pull/137221 +[#137224]: https://github.com/home-assistant/core/pull/137224 +[#137226]: https://github.com/home-assistant/core/pull/137226 +[#137227]: https://github.com/home-assistant/core/pull/137227 +[#137228]: https://github.com/home-assistant/core/pull/137228 +[#137229]: https://github.com/home-assistant/core/pull/137229 +[#137231]: https://github.com/home-assistant/core/pull/137231 +[#137232]: https://github.com/home-assistant/core/pull/137232 +[#137233]: https://github.com/home-assistant/core/pull/137233 +[#137235]: https://github.com/home-assistant/core/pull/137235 +[#137236]: https://github.com/home-assistant/core/pull/137236 +[#137240]: https://github.com/home-assistant/core/pull/137240 +[#137241]: https://github.com/home-assistant/core/pull/137241 +[#137242]: https://github.com/home-assistant/core/pull/137242 +[#137243]: https://github.com/home-assistant/core/pull/137243 +[#137246]: https://github.com/home-assistant/core/pull/137246 +[#137254]: https://github.com/home-assistant/core/pull/137254 +[#137255]: https://github.com/home-assistant/core/pull/137255 +[#137259]: https://github.com/home-assistant/core/pull/137259 +[#137270]: https://github.com/home-assistant/core/pull/137270 +[#137271]: https://github.com/home-assistant/core/pull/137271 +[#137273]: https://github.com/home-assistant/core/pull/137273 +[#137276]: https://github.com/home-assistant/core/pull/137276 +[#137291]: https://github.com/home-assistant/core/pull/137291 +[#137292]: https://github.com/home-assistant/core/pull/137292 +[#137293]: https://github.com/home-assistant/core/pull/137293 +[#137294]: https://github.com/home-assistant/core/pull/137294 +[#137297]: https://github.com/home-assistant/core/pull/137297 +[#137300]: https://github.com/home-assistant/core/pull/137300 +[#137304]: https://github.com/home-assistant/core/pull/137304 +[#137308]: https://github.com/home-assistant/core/pull/137308 +[#137310]: https://github.com/home-assistant/core/pull/137310 +[#137311]: https://github.com/home-assistant/core/pull/137311 +[#137312]: https://github.com/home-assistant/core/pull/137312 +[#137316]: https://github.com/home-assistant/core/pull/137316 +[#137317]: https://github.com/home-assistant/core/pull/137317 +[#137318]: https://github.com/home-assistant/core/pull/137318 +[#137319]: https://github.com/home-assistant/core/pull/137319 +[#137320]: https://github.com/home-assistant/core/pull/137320 +[#137329]: https://github.com/home-assistant/core/pull/137329 +[#137336]: https://github.com/home-assistant/core/pull/137336 +[#137339]: https://github.com/home-assistant/core/pull/137339 +[#137345]: https://github.com/home-assistant/core/pull/137345 +[#137349]: https://github.com/home-assistant/core/pull/137349 +[#137350]: https://github.com/home-assistant/core/pull/137350 +[#137354]: https://github.com/home-assistant/core/pull/137354 +[#137356]: https://github.com/home-assistant/core/pull/137356 +[#137370]: https://github.com/home-assistant/core/pull/137370 +[#137381]: https://github.com/home-assistant/core/pull/137381 +[#137382]: https://github.com/home-assistant/core/pull/137382 +[#137383]: https://github.com/home-assistant/core/pull/137383 +[#137384]: https://github.com/home-assistant/core/pull/137384 +[#137385]: https://github.com/home-assistant/core/pull/137385 +[#137386]: https://github.com/home-assistant/core/pull/137386 +[#137387]: https://github.com/home-assistant/core/pull/137387 +[#137388]: https://github.com/home-assistant/core/pull/137388 +[#137389]: https://github.com/home-assistant/core/pull/137389 +[#137391]: https://github.com/home-assistant/core/pull/137391 +[#137392]: https://github.com/home-assistant/core/pull/137392 +[#137394]: https://github.com/home-assistant/core/pull/137394 +[#137395]: https://github.com/home-assistant/core/pull/137395 +[#137396]: https://github.com/home-assistant/core/pull/137396 +[#137398]: https://github.com/home-assistant/core/pull/137398 +[#137399]: https://github.com/home-assistant/core/pull/137399 +[#137400]: https://github.com/home-assistant/core/pull/137400 +[#137404]: https://github.com/home-assistant/core/pull/137404 +[#137412]: https://github.com/home-assistant/core/pull/137412 +[#137418]: https://github.com/home-assistant/core/pull/137418 +[#137422]: https://github.com/home-assistant/core/pull/137422 +[#137428]: https://github.com/home-assistant/core/pull/137428 +[#137431]: https://github.com/home-assistant/core/pull/137431 +[#137432]: https://github.com/home-assistant/core/pull/137432 +[#137434]: https://github.com/home-assistant/core/pull/137434 +[#137435]: https://github.com/home-assistant/core/pull/137435 +[#137436]: https://github.com/home-assistant/core/pull/137436 +[#137438]: https://github.com/home-assistant/core/pull/137438 +[#137443]: https://github.com/home-assistant/core/pull/137443 +[#137451]: https://github.com/home-assistant/core/pull/137451 +[#137454]: https://github.com/home-assistant/core/pull/137454 +[#137457]: https://github.com/home-assistant/core/pull/137457 +[#137461]: https://github.com/home-assistant/core/pull/137461 +[#137462]: https://github.com/home-assistant/core/pull/137462 +[#137463]: https://github.com/home-assistant/core/pull/137463 +[#137464]: https://github.com/home-assistant/core/pull/137464 +[#137465]: https://github.com/home-assistant/core/pull/137465 +[#137466]: https://github.com/home-assistant/core/pull/137466 +[#137468]: https://github.com/home-assistant/core/pull/137468 +[#137469]: https://github.com/home-assistant/core/pull/137469 +[#137471]: https://github.com/home-assistant/core/pull/137471 +[#137472]: https://github.com/home-assistant/core/pull/137472 +[#137496]: https://github.com/home-assistant/core/pull/137496 +[#137498]: https://github.com/home-assistant/core/pull/137498 +[#137502]: https://github.com/home-assistant/core/pull/137502 +[#137505]: https://github.com/home-assistant/core/pull/137505 +[#137512]: https://github.com/home-assistant/core/pull/137512 +[#137513]: https://github.com/home-assistant/core/pull/137513 +[#137514]: https://github.com/home-assistant/core/pull/137514 +[#137515]: https://github.com/home-assistant/core/pull/137515 +[#137518]: https://github.com/home-assistant/core/pull/137518 +[#137524]: https://github.com/home-assistant/core/pull/137524 +[#137527]: https://github.com/home-assistant/core/pull/137527 +[#137529]: https://github.com/home-assistant/core/pull/137529 +[#137542]: https://github.com/home-assistant/core/pull/137542 +[#137543]: https://github.com/home-assistant/core/pull/137543 +[#137544]: https://github.com/home-assistant/core/pull/137544 +[#137546]: https://github.com/home-assistant/core/pull/137546 +[#137560]: https://github.com/home-assistant/core/pull/137560 +[#137565]: https://github.com/home-assistant/core/pull/137565 +[#137570]: https://github.com/home-assistant/core/pull/137570 +[#137576]: https://github.com/home-assistant/core/pull/137576 +[#137584]: https://github.com/home-assistant/core/pull/137584 +[#137586]: https://github.com/home-assistant/core/pull/137586 +[#137590]: https://github.com/home-assistant/core/pull/137590 +[#137592]: https://github.com/home-assistant/core/pull/137592 +[#137593]: https://github.com/home-assistant/core/pull/137593 +[#137594]: https://github.com/home-assistant/core/pull/137594 +[#137599]: https://github.com/home-assistant/core/pull/137599 +[#137600]: https://github.com/home-assistant/core/pull/137600 +[#137607]: https://github.com/home-assistant/core/pull/137607 +[#137608]: https://github.com/home-assistant/core/pull/137608 +[#137613]: https://github.com/home-assistant/core/pull/137613 +[#137619]: https://github.com/home-assistant/core/pull/137619 +[#137621]: https://github.com/home-assistant/core/pull/137621 +[#137626]: https://github.com/home-assistant/core/pull/137626 +[#137627]: https://github.com/home-assistant/core/pull/137627 +[#137628]: https://github.com/home-assistant/core/pull/137628 +[#137629]: https://github.com/home-assistant/core/pull/137629 +[#137630]: https://github.com/home-assistant/core/pull/137630 +[#137631]: https://github.com/home-assistant/core/pull/137631 +[#137632]: https://github.com/home-assistant/core/pull/137632 +[#137633]: https://github.com/home-assistant/core/pull/137633 +[#137635]: https://github.com/home-assistant/core/pull/137635 +[#137637]: https://github.com/home-assistant/core/pull/137637 +[#137641]: https://github.com/home-assistant/core/pull/137641 +[#137642]: https://github.com/home-assistant/core/pull/137642 +[#137646]: https://github.com/home-assistant/core/pull/137646 +[#137647]: https://github.com/home-assistant/core/pull/137647 +[#137654]: https://github.com/home-assistant/core/pull/137654 +[#137655]: https://github.com/home-assistant/core/pull/137655 +[#137656]: https://github.com/home-assistant/core/pull/137656 +[#137657]: https://github.com/home-assistant/core/pull/137657 +[#137660]: https://github.com/home-assistant/core/pull/137660 +[#137661]: https://github.com/home-assistant/core/pull/137661 +[#137662]: https://github.com/home-assistant/core/pull/137662 +[#137667]: https://github.com/home-assistant/core/pull/137667 +[#137668]: https://github.com/home-assistant/core/pull/137668 +[#137673]: https://github.com/home-assistant/core/pull/137673 +[#137679]: https://github.com/home-assistant/core/pull/137679 +[#137684]: https://github.com/home-assistant/core/pull/137684 +[#137689]: https://github.com/home-assistant/core/pull/137689 +[#137693]: https://github.com/home-assistant/core/pull/137693 +[#137696]: https://github.com/home-assistant/core/pull/137696 +[#137698]: https://github.com/home-assistant/core/pull/137698 +[#137699]: https://github.com/home-assistant/core/pull/137699 +[#137700]: https://github.com/home-assistant/core/pull/137700 +[#137701]: https://github.com/home-assistant/core/pull/137701 +[#137702]: https://github.com/home-assistant/core/pull/137702 +[#137703]: https://github.com/home-assistant/core/pull/137703 +[#137704]: https://github.com/home-assistant/core/pull/137704 +[#137705]: https://github.com/home-assistant/core/pull/137705 +[#137706]: https://github.com/home-assistant/core/pull/137706 +[#137707]: https://github.com/home-assistant/core/pull/137707 +[#137708]: https://github.com/home-assistant/core/pull/137708 +[#137709]: https://github.com/home-assistant/core/pull/137709 +[#137710]: https://github.com/home-assistant/core/pull/137710 +[#137711]: https://github.com/home-assistant/core/pull/137711 +[#137712]: https://github.com/home-assistant/core/pull/137712 +[#137713]: https://github.com/home-assistant/core/pull/137713 +[#137714]: https://github.com/home-assistant/core/pull/137714 +[#137715]: https://github.com/home-assistant/core/pull/137715 +[#137716]: https://github.com/home-assistant/core/pull/137716 +[#137717]: https://github.com/home-assistant/core/pull/137717 +[#137718]: https://github.com/home-assistant/core/pull/137718 +[#137719]: https://github.com/home-assistant/core/pull/137719 +[#137720]: https://github.com/home-assistant/core/pull/137720 +[#137721]: https://github.com/home-assistant/core/pull/137721 +[#137722]: https://github.com/home-assistant/core/pull/137722 +[#137724]: https://github.com/home-assistant/core/pull/137724 +[#137725]: https://github.com/home-assistant/core/pull/137725 +[#137726]: https://github.com/home-assistant/core/pull/137726 +[#137727]: https://github.com/home-assistant/core/pull/137727 +[#137728]: https://github.com/home-assistant/core/pull/137728 +[#137730]: https://github.com/home-assistant/core/pull/137730 +[#137732]: https://github.com/home-assistant/core/pull/137732 +[#137733]: https://github.com/home-assistant/core/pull/137733 +[#137734]: https://github.com/home-assistant/core/pull/137734 +[#137737]: https://github.com/home-assistant/core/pull/137737 +[#137738]: https://github.com/home-assistant/core/pull/137738 +[#137739]: https://github.com/home-assistant/core/pull/137739 +[#137740]: https://github.com/home-assistant/core/pull/137740 +[#137741]: https://github.com/home-assistant/core/pull/137741 +[#137742]: https://github.com/home-assistant/core/pull/137742 +[#137743]: https://github.com/home-assistant/core/pull/137743 +[#137754]: https://github.com/home-assistant/core/pull/137754 +[#137756]: https://github.com/home-assistant/core/pull/137756 +[#137759]: https://github.com/home-assistant/core/pull/137759 +[#137763]: https://github.com/home-assistant/core/pull/137763 +[#137766]: https://github.com/home-assistant/core/pull/137766 +[#137777]: https://github.com/home-assistant/core/pull/137777 +[#137784]: https://github.com/home-assistant/core/pull/137784 +[#137785]: https://github.com/home-assistant/core/pull/137785 +[#137792]: https://github.com/home-assistant/core/pull/137792 +[#137794]: https://github.com/home-assistant/core/pull/137794 +[#137799]: https://github.com/home-assistant/core/pull/137799 +[#137804]: https://github.com/home-assistant/core/pull/137804 +[#137806]: https://github.com/home-assistant/core/pull/137806 +[#137807]: https://github.com/home-assistant/core/pull/137807 +[#137808]: https://github.com/home-assistant/core/pull/137808 +[#137813]: https://github.com/home-assistant/core/pull/137813 +[#137814]: https://github.com/home-assistant/core/pull/137814 +[#137816]: https://github.com/home-assistant/core/pull/137816 +[#137818]: https://github.com/home-assistant/core/pull/137818 +[#137819]: https://github.com/home-assistant/core/pull/137819 +[#137822]: https://github.com/home-assistant/core/pull/137822 +[#137823]: https://github.com/home-assistant/core/pull/137823 +[#137824]: https://github.com/home-assistant/core/pull/137824 +[#137825]: https://github.com/home-assistant/core/pull/137825 +[#137826]: https://github.com/home-assistant/core/pull/137826 +[#137827]: https://github.com/home-assistant/core/pull/137827 +[#137828]: https://github.com/home-assistant/core/pull/137828 +[#137829]: https://github.com/home-assistant/core/pull/137829 +[#137830]: https://github.com/home-assistant/core/pull/137830 +[#137831]: https://github.com/home-assistant/core/pull/137831 +[#137832]: https://github.com/home-assistant/core/pull/137832 +[#137834]: https://github.com/home-assistant/core/pull/137834 +[#137835]: https://github.com/home-assistant/core/pull/137835 +[#137836]: https://github.com/home-assistant/core/pull/137836 +[#137837]: https://github.com/home-assistant/core/pull/137837 +[#137838]: https://github.com/home-assistant/core/pull/137838 +[#137839]: https://github.com/home-assistant/core/pull/137839 +[#137840]: https://github.com/home-assistant/core/pull/137840 +[#137842]: https://github.com/home-assistant/core/pull/137842 +[#137843]: https://github.com/home-assistant/core/pull/137843 +[#137844]: https://github.com/home-assistant/core/pull/137844 +[#137846]: https://github.com/home-assistant/core/pull/137846 +[#137848]: https://github.com/home-assistant/core/pull/137848 +[#137853]: https://github.com/home-assistant/core/pull/137853 +[#137857]: https://github.com/home-assistant/core/pull/137857 +[#137858]: https://github.com/home-assistant/core/pull/137858 +[#137859]: https://github.com/home-assistant/core/pull/137859 +[#137861]: https://github.com/home-assistant/core/pull/137861 +[#137862]: https://github.com/home-assistant/core/pull/137862 +[#137863]: https://github.com/home-assistant/core/pull/137863 +[#137864]: https://github.com/home-assistant/core/pull/137864 +[#137865]: https://github.com/home-assistant/core/pull/137865 +[#137866]: https://github.com/home-assistant/core/pull/137866 +[#137867]: https://github.com/home-assistant/core/pull/137867 +[#137868]: https://github.com/home-assistant/core/pull/137868 +[#137869]: https://github.com/home-assistant/core/pull/137869 +[#137871]: https://github.com/home-assistant/core/pull/137871 +[#137872]: https://github.com/home-assistant/core/pull/137872 +[#137873]: https://github.com/home-assistant/core/pull/137873 +[#137874]: https://github.com/home-assistant/core/pull/137874 +[#137875]: https://github.com/home-assistant/core/pull/137875 +[#137876]: https://github.com/home-assistant/core/pull/137876 +[#137877]: https://github.com/home-assistant/core/pull/137877 +[#137879]: https://github.com/home-assistant/core/pull/137879 +[#137880]: https://github.com/home-assistant/core/pull/137880 +[#137881]: https://github.com/home-assistant/core/pull/137881 +[#137882]: https://github.com/home-assistant/core/pull/137882 +[#137883]: https://github.com/home-assistant/core/pull/137883 +[#137885]: https://github.com/home-assistant/core/pull/137885 +[#137886]: https://github.com/home-assistant/core/pull/137886 +[#137888]: https://github.com/home-assistant/core/pull/137888 +[#137889]: https://github.com/home-assistant/core/pull/137889 +[#137891]: https://github.com/home-assistant/core/pull/137891 +[#137892]: https://github.com/home-assistant/core/pull/137892 +[#137893]: https://github.com/home-assistant/core/pull/137893 +[#137894]: https://github.com/home-assistant/core/pull/137894 +[#137895]: https://github.com/home-assistant/core/pull/137895 +[#137896]: https://github.com/home-assistant/core/pull/137896 +[#137897]: https://github.com/home-assistant/core/pull/137897 +[#137898]: https://github.com/home-assistant/core/pull/137898 +[#137899]: https://github.com/home-assistant/core/pull/137899 +[#137900]: https://github.com/home-assistant/core/pull/137900 +[#137902]: https://github.com/home-assistant/core/pull/137902 +[#137903]: https://github.com/home-assistant/core/pull/137903 +[#137904]: https://github.com/home-assistant/core/pull/137904 +[#137905]: https://github.com/home-assistant/core/pull/137905 +[#137906]: https://github.com/home-assistant/core/pull/137906 +[#137907]: https://github.com/home-assistant/core/pull/137907 +[#137909]: https://github.com/home-assistant/core/pull/137909 +[#137910]: https://github.com/home-assistant/core/pull/137910 +[#137911]: https://github.com/home-assistant/core/pull/137911 +[#137912]: https://github.com/home-assistant/core/pull/137912 +[#137913]: https://github.com/home-assistant/core/pull/137913 +[#137916]: https://github.com/home-assistant/core/pull/137916 +[#137918]: https://github.com/home-assistant/core/pull/137918 +[#137919]: https://github.com/home-assistant/core/pull/137919 +[#137920]: https://github.com/home-assistant/core/pull/137920 +[#137921]: https://github.com/home-assistant/core/pull/137921 +[#137922]: https://github.com/home-assistant/core/pull/137922 +[#137923]: https://github.com/home-assistant/core/pull/137923 +[#137924]: https://github.com/home-assistant/core/pull/137924 +[#137925]: https://github.com/home-assistant/core/pull/137925 +[#137926]: https://github.com/home-assistant/core/pull/137926 +[#137927]: https://github.com/home-assistant/core/pull/137927 +[#137928]: https://github.com/home-assistant/core/pull/137928 +[#137929]: https://github.com/home-assistant/core/pull/137929 +[#137930]: https://github.com/home-assistant/core/pull/137930 +[#137932]: https://github.com/home-assistant/core/pull/137932 +[#137933]: https://github.com/home-assistant/core/pull/137933 +[#137934]: https://github.com/home-assistant/core/pull/137934 +[#137935]: https://github.com/home-assistant/core/pull/137935 +[#137936]: https://github.com/home-assistant/core/pull/137936 +[#137938]: https://github.com/home-assistant/core/pull/137938 +[#137939]: https://github.com/home-assistant/core/pull/137939 +[#137940]: https://github.com/home-assistant/core/pull/137940 +[#137941]: https://github.com/home-assistant/core/pull/137941 +[#137942]: https://github.com/home-assistant/core/pull/137942 +[#137943]: https://github.com/home-assistant/core/pull/137943 +[#137944]: https://github.com/home-assistant/core/pull/137944 +[#137945]: https://github.com/home-assistant/core/pull/137945 +[#137946]: https://github.com/home-assistant/core/pull/137946 +[#137947]: https://github.com/home-assistant/core/pull/137947 +[#137948]: https://github.com/home-assistant/core/pull/137948 +[#137950]: https://github.com/home-assistant/core/pull/137950 +[#137951]: https://github.com/home-assistant/core/pull/137951 +[#137953]: https://github.com/home-assistant/core/pull/137953 +[#137954]: https://github.com/home-assistant/core/pull/137954 +[#137955]: https://github.com/home-assistant/core/pull/137955 +[#137956]: https://github.com/home-assistant/core/pull/137956 +[#137957]: https://github.com/home-assistant/core/pull/137957 +[#137958]: https://github.com/home-assistant/core/pull/137958 +[#137959]: https://github.com/home-assistant/core/pull/137959 +[#137960]: https://github.com/home-assistant/core/pull/137960 +[#137962]: https://github.com/home-assistant/core/pull/137962 +[#137964]: https://github.com/home-assistant/core/pull/137964 +[#137965]: https://github.com/home-assistant/core/pull/137965 +[#137966]: https://github.com/home-assistant/core/pull/137966 +[#137967]: https://github.com/home-assistant/core/pull/137967 +[#137968]: https://github.com/home-assistant/core/pull/137968 +[#137970]: https://github.com/home-assistant/core/pull/137970 +[#137971]: https://github.com/home-assistant/core/pull/137971 +[#137972]: https://github.com/home-assistant/core/pull/137972 +[#137973]: https://github.com/home-assistant/core/pull/137973 +[#137974]: https://github.com/home-assistant/core/pull/137974 +[#137977]: https://github.com/home-assistant/core/pull/137977 +[#137978]: https://github.com/home-assistant/core/pull/137978 +[#137979]: https://github.com/home-assistant/core/pull/137979 +[#137981]: https://github.com/home-assistant/core/pull/137981 +[#137982]: https://github.com/home-assistant/core/pull/137982 +[#137983]: https://github.com/home-assistant/core/pull/137983 +[#137984]: https://github.com/home-assistant/core/pull/137984 +[#137985]: https://github.com/home-assistant/core/pull/137985 +[#137988]: https://github.com/home-assistant/core/pull/137988 +[#137994]: https://github.com/home-assistant/core/pull/137994 +[#137995]: https://github.com/home-assistant/core/pull/137995 +[#138015]: https://github.com/home-assistant/core/pull/138015 +[#138017]: https://github.com/home-assistant/core/pull/138017 +[#138027]: https://github.com/home-assistant/core/pull/138027 +[#138028]: https://github.com/home-assistant/core/pull/138028 +[#138029]: https://github.com/home-assistant/core/pull/138029 +[#138031]: https://github.com/home-assistant/core/pull/138031 +[#138032]: https://github.com/home-assistant/core/pull/138032 +[#138033]: https://github.com/home-assistant/core/pull/138033 +[#138034]: https://github.com/home-assistant/core/pull/138034 +[#138035]: https://github.com/home-assistant/core/pull/138035 +[#138036]: https://github.com/home-assistant/core/pull/138036 +[#138037]: https://github.com/home-assistant/core/pull/138037 +[#138038]: https://github.com/home-assistant/core/pull/138038 +[#138039]: https://github.com/home-assistant/core/pull/138039 +[#138040]: https://github.com/home-assistant/core/pull/138040 +[#138041]: https://github.com/home-assistant/core/pull/138041 +[#138042]: https://github.com/home-assistant/core/pull/138042 +[#138043]: https://github.com/home-assistant/core/pull/138043 +[#138044]: https://github.com/home-assistant/core/pull/138044 +[#138045]: https://github.com/home-assistant/core/pull/138045 +[#138046]: https://github.com/home-assistant/core/pull/138046 +[#138047]: https://github.com/home-assistant/core/pull/138047 +[#138048]: https://github.com/home-assistant/core/pull/138048 +[#138049]: https://github.com/home-assistant/core/pull/138049 +[#138050]: https://github.com/home-assistant/core/pull/138050 +[#138051]: https://github.com/home-assistant/core/pull/138051 +[#138052]: https://github.com/home-assistant/core/pull/138052 +[#138053]: https://github.com/home-assistant/core/pull/138053 +[#138054]: https://github.com/home-assistant/core/pull/138054 +[#138055]: https://github.com/home-assistant/core/pull/138055 +[#138056]: https://github.com/home-assistant/core/pull/138056 +[#138061]: https://github.com/home-assistant/core/pull/138061 +[#138062]: https://github.com/home-assistant/core/pull/138062 +[#138063]: https://github.com/home-assistant/core/pull/138063 +[#138064]: https://github.com/home-assistant/core/pull/138064 +[#138066]: https://github.com/home-assistant/core/pull/138066 +[#138068]: https://github.com/home-assistant/core/pull/138068 +[#138069]: https://github.com/home-assistant/core/pull/138069 +[#138070]: https://github.com/home-assistant/core/pull/138070 +[#138071]: https://github.com/home-assistant/core/pull/138071 +[#138072]: https://github.com/home-assistant/core/pull/138072 +[#138073]: https://github.com/home-assistant/core/pull/138073 +[#138074]: https://github.com/home-assistant/core/pull/138074 +[#138075]: https://github.com/home-assistant/core/pull/138075 +[#138076]: https://github.com/home-assistant/core/pull/138076 +[#138078]: https://github.com/home-assistant/core/pull/138078 +[#138080]: https://github.com/home-assistant/core/pull/138080 +[#138081]: https://github.com/home-assistant/core/pull/138081 +[#138082]: https://github.com/home-assistant/core/pull/138082 +[#138083]: https://github.com/home-assistant/core/pull/138083 +[#138085]: https://github.com/home-assistant/core/pull/138085 +[#138086]: https://github.com/home-assistant/core/pull/138086 +[#138088]: https://github.com/home-assistant/core/pull/138088 +[#138089]: https://github.com/home-assistant/core/pull/138089 +[#138090]: https://github.com/home-assistant/core/pull/138090 +[#138091]: https://github.com/home-assistant/core/pull/138091 +[#138092]: https://github.com/home-assistant/core/pull/138092 +[#138093]: https://github.com/home-assistant/core/pull/138093 +[#138094]: https://github.com/home-assistant/core/pull/138094 +[#138095]: https://github.com/home-assistant/core/pull/138095 +[#138102]: https://github.com/home-assistant/core/pull/138102 +[#138103]: https://github.com/home-assistant/core/pull/138103 +[#138105]: https://github.com/home-assistant/core/pull/138105 +[#138106]: https://github.com/home-assistant/core/pull/138106 +[#138107]: https://github.com/home-assistant/core/pull/138107 +[#138108]: https://github.com/home-assistant/core/pull/138108 +[#138109]: https://github.com/home-assistant/core/pull/138109 +[#138110]: https://github.com/home-assistant/core/pull/138110 +[#138111]: https://github.com/home-assistant/core/pull/138111 +[#138112]: https://github.com/home-assistant/core/pull/138112 +[#138113]: https://github.com/home-assistant/core/pull/138113 +[#138114]: https://github.com/home-assistant/core/pull/138114 +[#138115]: https://github.com/home-assistant/core/pull/138115 +[#138116]: https://github.com/home-assistant/core/pull/138116 +[#138117]: https://github.com/home-assistant/core/pull/138117 +[#138119]: https://github.com/home-assistant/core/pull/138119 +[#138120]: https://github.com/home-assistant/core/pull/138120 +[#138122]: https://github.com/home-assistant/core/pull/138122 +[#138123]: https://github.com/home-assistant/core/pull/138123 +[#138124]: https://github.com/home-assistant/core/pull/138124 +[#138125]: https://github.com/home-assistant/core/pull/138125 +[#138127]: https://github.com/home-assistant/core/pull/138127 +[#138128]: https://github.com/home-assistant/core/pull/138128 +[#138129]: https://github.com/home-assistant/core/pull/138129 +[#138130]: https://github.com/home-assistant/core/pull/138130 +[#138131]: https://github.com/home-assistant/core/pull/138131 +[#138132]: https://github.com/home-assistant/core/pull/138132 +[#138133]: https://github.com/home-assistant/core/pull/138133 +[#138134]: https://github.com/home-assistant/core/pull/138134 +[#138137]: https://github.com/home-assistant/core/pull/138137 +[#138138]: https://github.com/home-assistant/core/pull/138138 +[#138139]: https://github.com/home-assistant/core/pull/138139 +[#138140]: https://github.com/home-assistant/core/pull/138140 +[#138141]: https://github.com/home-assistant/core/pull/138141 +[#138142]: https://github.com/home-assistant/core/pull/138142 +[#138143]: https://github.com/home-assistant/core/pull/138143 +[#138144]: https://github.com/home-assistant/core/pull/138144 +[#138146]: https://github.com/home-assistant/core/pull/138146 +[#138147]: https://github.com/home-assistant/core/pull/138147 +[#138148]: https://github.com/home-assistant/core/pull/138148 +[#138149]: https://github.com/home-assistant/core/pull/138149 +[#138150]: https://github.com/home-assistant/core/pull/138150 +[#138151]: https://github.com/home-assistant/core/pull/138151 +[#138152]: https://github.com/home-assistant/core/pull/138152 +[#138153]: https://github.com/home-assistant/core/pull/138153 +[#138154]: https://github.com/home-assistant/core/pull/138154 +[#138155]: https://github.com/home-assistant/core/pull/138155 +[#138156]: https://github.com/home-assistant/core/pull/138156 +[#138162]: https://github.com/home-assistant/core/pull/138162 +[#138163]: https://github.com/home-assistant/core/pull/138163 +[#138167]: https://github.com/home-assistant/core/pull/138167 +[#138171]: https://github.com/home-assistant/core/pull/138171 +[#138173]: https://github.com/home-assistant/core/pull/138173 +[#138177]: https://github.com/home-assistant/core/pull/138177 +[#138178]: https://github.com/home-assistant/core/pull/138178 +[#138184]: https://github.com/home-assistant/core/pull/138184 +[#138192]: https://github.com/home-assistant/core/pull/138192 +[#138194]: https://github.com/home-assistant/core/pull/138194 +[#138198]: https://github.com/home-assistant/core/pull/138198 +[#138200]: https://github.com/home-assistant/core/pull/138200 +[#138201]: https://github.com/home-assistant/core/pull/138201 +[#138202]: https://github.com/home-assistant/core/pull/138202 +[#138203]: https://github.com/home-assistant/core/pull/138203 +[#138204]: https://github.com/home-assistant/core/pull/138204 +[#138205]: https://github.com/home-assistant/core/pull/138205 +[#138211]: https://github.com/home-assistant/core/pull/138211 +[#138212]: https://github.com/home-assistant/core/pull/138212 +[#138213]: https://github.com/home-assistant/core/pull/138213 +[#138214]: https://github.com/home-assistant/core/pull/138214 +[#138221]: https://github.com/home-assistant/core/pull/138221 +[#138223]: https://github.com/home-assistant/core/pull/138223 +[#138225]: https://github.com/home-assistant/core/pull/138225 +[#138229]: https://github.com/home-assistant/core/pull/138229 +[#138230]: https://github.com/home-assistant/core/pull/138230 +[#138232]: https://github.com/home-assistant/core/pull/138232 +[#138233]: https://github.com/home-assistant/core/pull/138233 +[#138235]: https://github.com/home-assistant/core/pull/138235 +[#138237]: https://github.com/home-assistant/core/pull/138237 +[#138238]: https://github.com/home-assistant/core/pull/138238 +[#138239]: https://github.com/home-assistant/core/pull/138239 +[#138240]: https://github.com/home-assistant/core/pull/138240 +[#138244]: https://github.com/home-assistant/core/pull/138244 +[#138246]: https://github.com/home-assistant/core/pull/138246 +[#138247]: https://github.com/home-assistant/core/pull/138247 +[#138248]: https://github.com/home-assistant/core/pull/138248 +[#138249]: https://github.com/home-assistant/core/pull/138249 +[#138256]: https://github.com/home-assistant/core/pull/138256 +[#138263]: https://github.com/home-assistant/core/pull/138263 +[#138264]: https://github.com/home-assistant/core/pull/138264 +[#138266]: https://github.com/home-assistant/core/pull/138266 +[#138267]: https://github.com/home-assistant/core/pull/138267 +[#138268]: https://github.com/home-assistant/core/pull/138268 +[#138271]: https://github.com/home-assistant/core/pull/138271 +[#138274]: https://github.com/home-assistant/core/pull/138274 +[#138275]: https://github.com/home-assistant/core/pull/138275 +[#138276]: https://github.com/home-assistant/core/pull/138276 +[#138279]: https://github.com/home-assistant/core/pull/138279 +[#138280]: https://github.com/home-assistant/core/pull/138280 +[#138281]: https://github.com/home-assistant/core/pull/138281 +[#138287]: https://github.com/home-assistant/core/pull/138287 +[#138288]: https://github.com/home-assistant/core/pull/138288 +[#138289]: https://github.com/home-assistant/core/pull/138289 +[#138294]: https://github.com/home-assistant/core/pull/138294 +[#138306]: https://github.com/home-assistant/core/pull/138306 +[#138307]: https://github.com/home-assistant/core/pull/138307 +[#138309]: https://github.com/home-assistant/core/pull/138309 +[#138310]: https://github.com/home-assistant/core/pull/138310 +[#138312]: https://github.com/home-assistant/core/pull/138312 +[#138313]: https://github.com/home-assistant/core/pull/138313 +[#138319]: https://github.com/home-assistant/core/pull/138319 +[#138321]: https://github.com/home-assistant/core/pull/138321 +[#138322]: https://github.com/home-assistant/core/pull/138322 +[#138329]: https://github.com/home-assistant/core/pull/138329 +[#138330]: https://github.com/home-assistant/core/pull/138330 +[#138331]: https://github.com/home-assistant/core/pull/138331 +[#138334]: https://github.com/home-assistant/core/pull/138334 +[#138343]: https://github.com/home-assistant/core/pull/138343 +[#138346]: https://github.com/home-assistant/core/pull/138346 +[#138354]: https://github.com/home-assistant/core/pull/138354 +[#138355]: https://github.com/home-assistant/core/pull/138355 +[#138360]: https://github.com/home-assistant/core/pull/138360 +[#138361]: https://github.com/home-assistant/core/pull/138361 +[#138362]: https://github.com/home-assistant/core/pull/138362 +[#138364]: https://github.com/home-assistant/core/pull/138364 +[#138366]: https://github.com/home-assistant/core/pull/138366 +[#138368]: https://github.com/home-assistant/core/pull/138368 +[#138373]: https://github.com/home-assistant/core/pull/138373 +[#138374]: https://github.com/home-assistant/core/pull/138374 +[#138380]: https://github.com/home-assistant/core/pull/138380 +[#138384]: https://github.com/home-assistant/core/pull/138384 +[#138385]: https://github.com/home-assistant/core/pull/138385 +[#138393]: https://github.com/home-assistant/core/pull/138393 +[#138403]: https://github.com/home-assistant/core/pull/138403 +[#138407]: https://github.com/home-assistant/core/pull/138407 +[#138410]: https://github.com/home-assistant/core/pull/138410 +[#138411]: https://github.com/home-assistant/core/pull/138411 +[#138419]: https://github.com/home-assistant/core/pull/138419 +[#138420]: https://github.com/home-assistant/core/pull/138420 +[#138422]: https://github.com/home-assistant/core/pull/138422 +[#138425]: https://github.com/home-assistant/core/pull/138425 +[#138431]: https://github.com/home-assistant/core/pull/138431 +[#138432]: https://github.com/home-assistant/core/pull/138432 +[#138433]: https://github.com/home-assistant/core/pull/138433 +[#138434]: https://github.com/home-assistant/core/pull/138434 +[#138436]: https://github.com/home-assistant/core/pull/138436 +[#138446]: https://github.com/home-assistant/core/pull/138446 +[#138459]: https://github.com/home-assistant/core/pull/138459 +[#138470]: https://github.com/home-assistant/core/pull/138470 +[#138476]: https://github.com/home-assistant/core/pull/138476 +[#138490]: https://github.com/home-assistant/core/pull/138490 +[#138491]: https://github.com/home-assistant/core/pull/138491 +[#138494]: https://github.com/home-assistant/core/pull/138494 +[#138509]: https://github.com/home-assistant/core/pull/138509 +[#138514]: https://github.com/home-assistant/core/pull/138514 +[#138517]: https://github.com/home-assistant/core/pull/138517 +[#138520]: https://github.com/home-assistant/core/pull/138520 +[#138522]: https://github.com/home-assistant/core/pull/138522 +[#138534]: https://github.com/home-assistant/core/pull/138534 +[#138540]: https://github.com/home-assistant/core/pull/138540 +[#138547]: https://github.com/home-assistant/core/pull/138547 +[#138548]: https://github.com/home-assistant/core/pull/138548 +[#138549]: https://github.com/home-assistant/core/pull/138549 +[#138553]: https://github.com/home-assistant/core/pull/138553 +[#138554]: https://github.com/home-assistant/core/pull/138554 +[#138555]: https://github.com/home-assistant/core/pull/138555 +[#138557]: https://github.com/home-assistant/core/pull/138557 +[#138558]: https://github.com/home-assistant/core/pull/138558 +[#138560]: https://github.com/home-assistant/core/pull/138560 +[#138563]: https://github.com/home-assistant/core/pull/138563 +[#138564]: https://github.com/home-assistant/core/pull/138564 +[#138566]: https://github.com/home-assistant/core/pull/138566 +[#138568]: https://github.com/home-assistant/core/pull/138568 +[#138576]: https://github.com/home-assistant/core/pull/138576 +[#138580]: https://github.com/home-assistant/core/pull/138580 +[#138583]: https://github.com/home-assistant/core/pull/138583 +[#138584]: https://github.com/home-assistant/core/pull/138584 +[#138586]: https://github.com/home-assistant/core/pull/138586 +[#138593]: https://github.com/home-assistant/core/pull/138593 +[#138595]: https://github.com/home-assistant/core/pull/138595 +[#138601]: https://github.com/home-assistant/core/pull/138601 +[#138605]: https://github.com/home-assistant/core/pull/138605 +[#138608]: https://github.com/home-assistant/core/pull/138608 +[#138610]: https://github.com/home-assistant/core/pull/138610 +[#138613]: https://github.com/home-assistant/core/pull/138613 +[#138618]: https://github.com/home-assistant/core/pull/138618 +[#138619]: https://github.com/home-assistant/core/pull/138619 +[#138624]: https://github.com/home-assistant/core/pull/138624 +[#138626]: https://github.com/home-assistant/core/pull/138626 +[#138628]: https://github.com/home-assistant/core/pull/138628 +[#138634]: https://github.com/home-assistant/core/pull/138634 +[#138636]: https://github.com/home-assistant/core/pull/138636 +[#138637]: https://github.com/home-assistant/core/pull/138637 +[#138647]: https://github.com/home-assistant/core/pull/138647 +[#138651]: https://github.com/home-assistant/core/pull/138651 +[#138652]: https://github.com/home-assistant/core/pull/138652 +[#138655]: https://github.com/home-assistant/core/pull/138655 +[#138659]: https://github.com/home-assistant/core/pull/138659 +[#138664]: https://github.com/home-assistant/core/pull/138664 +[#138667]: https://github.com/home-assistant/core/pull/138667 +[#138669]: https://github.com/home-assistant/core/pull/138669 +[#138672]: https://github.com/home-assistant/core/pull/138672 +[#138674]: https://github.com/home-assistant/core/pull/138674 +[#138675]: https://github.com/home-assistant/core/pull/138675 +[#138677]: https://github.com/home-assistant/core/pull/138677 +[#138678]: https://github.com/home-assistant/core/pull/138678 +[#138680]: https://github.com/home-assistant/core/pull/138680 +[#138698]: https://github.com/home-assistant/core/pull/138698 +[#138699]: https://github.com/home-assistant/core/pull/138699 +[#138701]: https://github.com/home-assistant/core/pull/138701 +[#138703]: https://github.com/home-assistant/core/pull/138703 +[#138706]: https://github.com/home-assistant/core/pull/138706 +[#138707]: https://github.com/home-assistant/core/pull/138707 +[#138708]: https://github.com/home-assistant/core/pull/138708 +[#138710]: https://github.com/home-assistant/core/pull/138710 +[#138714]: https://github.com/home-assistant/core/pull/138714 +[#138717]: https://github.com/home-assistant/core/pull/138717 +[#138721]: https://github.com/home-assistant/core/pull/138721 +[#138723]: https://github.com/home-assistant/core/pull/138723 +[#138724]: https://github.com/home-assistant/core/pull/138724 +[#138727]: https://github.com/home-assistant/core/pull/138727 +[#138728]: https://github.com/home-assistant/core/pull/138728 +[#138729]: https://github.com/home-assistant/core/pull/138729 +[#138734]: https://github.com/home-assistant/core/pull/138734 +[#138737]: https://github.com/home-assistant/core/pull/138737 +[#138739]: https://github.com/home-assistant/core/pull/138739 +[#138740]: https://github.com/home-assistant/core/pull/138740 +[#138741]: https://github.com/home-assistant/core/pull/138741 +[#138742]: https://github.com/home-assistant/core/pull/138742 +[#138746]: https://github.com/home-assistant/core/pull/138746 +[#138748]: https://github.com/home-assistant/core/pull/138748 +[#138749]: https://github.com/home-assistant/core/pull/138749 +[#138751]: https://github.com/home-assistant/core/pull/138751 +[#138756]: https://github.com/home-assistant/core/pull/138756 +[#138759]: https://github.com/home-assistant/core/pull/138759 +[#138763]: https://github.com/home-assistant/core/pull/138763 +[#138764]: https://github.com/home-assistant/core/pull/138764 +[#138766]: https://github.com/home-assistant/core/pull/138766 +[#138773]: https://github.com/home-assistant/core/pull/138773 +[#138776]: https://github.com/home-assistant/core/pull/138776 +[#138777]: https://github.com/home-assistant/core/pull/138777 +[#138779]: https://github.com/home-assistant/core/pull/138779 +[#138782]: https://github.com/home-assistant/core/pull/138782 +[#138786]: https://github.com/home-assistant/core/pull/138786 +[#138789]: https://github.com/home-assistant/core/pull/138789 +[#138790]: https://github.com/home-assistant/core/pull/138790 +[#138791]: https://github.com/home-assistant/core/pull/138791 +[#138792]: https://github.com/home-assistant/core/pull/138792 +[#138794]: https://github.com/home-assistant/core/pull/138794 +[#138795]: https://github.com/home-assistant/core/pull/138795 +[#138796]: https://github.com/home-assistant/core/pull/138796 +[#138798]: https://github.com/home-assistant/core/pull/138798 +[#138799]: https://github.com/home-assistant/core/pull/138799 +[#138801]: https://github.com/home-assistant/core/pull/138801 +[#138806]: https://github.com/home-assistant/core/pull/138806 +[#138807]: https://github.com/home-assistant/core/pull/138807 +[#138812]: https://github.com/home-assistant/core/pull/138812 +[#138815]: https://github.com/home-assistant/core/pull/138815 +[#138819]: https://github.com/home-assistant/core/pull/138819 +[#138820]: https://github.com/home-assistant/core/pull/138820 +[#138827]: https://github.com/home-assistant/core/pull/138827 +[#138832]: https://github.com/home-assistant/core/pull/138832 +[#138834]: https://github.com/home-assistant/core/pull/138834 +[#138837]: https://github.com/home-assistant/core/pull/138837 +[#138838]: https://github.com/home-assistant/core/pull/138838 +[#138839]: https://github.com/home-assistant/core/pull/138839 +[#138840]: https://github.com/home-assistant/core/pull/138840 +[#138854]: https://github.com/home-assistant/core/pull/138854 +[#138855]: https://github.com/home-assistant/core/pull/138855 +[#138861]: https://github.com/home-assistant/core/pull/138861 +[#138867]: https://github.com/home-assistant/core/pull/138867 +[#138870]: https://github.com/home-assistant/core/pull/138870 +[#138872]: https://github.com/home-assistant/core/pull/138872 +[#138874]: https://github.com/home-assistant/core/pull/138874 +[#138876]: https://github.com/home-assistant/core/pull/138876 +[#138877]: https://github.com/home-assistant/core/pull/138877 +[#138878]: https://github.com/home-assistant/core/pull/138878 +[#138882]: https://github.com/home-assistant/core/pull/138882 +[#138883]: https://github.com/home-assistant/core/pull/138883 +[#138884]: https://github.com/home-assistant/core/pull/138884 +[#138886]: https://github.com/home-assistant/core/pull/138886 +[#138887]: https://github.com/home-assistant/core/pull/138887 +[#138893]: https://github.com/home-assistant/core/pull/138893 +[#138894]: https://github.com/home-assistant/core/pull/138894 +[#138895]: https://github.com/home-assistant/core/pull/138895 +[#138896]: https://github.com/home-assistant/core/pull/138896 +[#138897]: https://github.com/home-assistant/core/pull/138897 +[#138898]: https://github.com/home-assistant/core/pull/138898 +[#138901]: https://github.com/home-assistant/core/pull/138901 +[#138902]: https://github.com/home-assistant/core/pull/138902 +[#138904]: https://github.com/home-assistant/core/pull/138904 +[#138905]: https://github.com/home-assistant/core/pull/138905 +[#138906]: https://github.com/home-assistant/core/pull/138906 +[#138907]: https://github.com/home-assistant/core/pull/138907 +[#138908]: https://github.com/home-assistant/core/pull/138908 +[#138909]: https://github.com/home-assistant/core/pull/138909 +[#138910]: https://github.com/home-assistant/core/pull/138910 +[#138911]: https://github.com/home-assistant/core/pull/138911 +[#138912]: https://github.com/home-assistant/core/pull/138912 +[#138913]: https://github.com/home-assistant/core/pull/138913 +[#138914]: https://github.com/home-assistant/core/pull/138914 +[#138917]: https://github.com/home-assistant/core/pull/138917 +[#138920]: https://github.com/home-assistant/core/pull/138920 +[#138921]: https://github.com/home-assistant/core/pull/138921 +[#138923]: https://github.com/home-assistant/core/pull/138923 +[#138926]: https://github.com/home-assistant/core/pull/138926 +[#138928]: https://github.com/home-assistant/core/pull/138928 +[#138929]: https://github.com/home-assistant/core/pull/138929 +[#138930]: https://github.com/home-assistant/core/pull/138930 +[#138931]: https://github.com/home-assistant/core/pull/138931 +[#138932]: https://github.com/home-assistant/core/pull/138932 +[#138935]: https://github.com/home-assistant/core/pull/138935 +[#138936]: https://github.com/home-assistant/core/pull/138936 +[#138939]: https://github.com/home-assistant/core/pull/138939 +[#138940]: https://github.com/home-assistant/core/pull/138940 +[#138941]: https://github.com/home-assistant/core/pull/138941 +[#138943]: https://github.com/home-assistant/core/pull/138943 +[#138945]: https://github.com/home-assistant/core/pull/138945 +[#138948]: https://github.com/home-assistant/core/pull/138948 +[#138949]: https://github.com/home-assistant/core/pull/138949 +[#138950]: https://github.com/home-assistant/core/pull/138950 +[#138951]: https://github.com/home-assistant/core/pull/138951 +[#138952]: https://github.com/home-assistant/core/pull/138952 +[#138958]: https://github.com/home-assistant/core/pull/138958 +[#138959]: https://github.com/home-assistant/core/pull/138959 +[#138962]: https://github.com/home-assistant/core/pull/138962 +[#138964]: https://github.com/home-assistant/core/pull/138964 +[#138967]: https://github.com/home-assistant/core/pull/138967 +[#138969]: https://github.com/home-assistant/core/pull/138969 +[#138970]: https://github.com/home-assistant/core/pull/138970 +[#138973]: https://github.com/home-assistant/core/pull/138973 +[#138974]: https://github.com/home-assistant/core/pull/138974 +[#138975]: https://github.com/home-assistant/core/pull/138975 +[#138984]: https://github.com/home-assistant/core/pull/138984 +[#138988]: https://github.com/home-assistant/core/pull/138988 +[#138991]: https://github.com/home-assistant/core/pull/138991 +[#138993]: https://github.com/home-assistant/core/pull/138993 +[#138995]: https://github.com/home-assistant/core/pull/138995 +[#138997]: https://github.com/home-assistant/core/pull/138997 +[#138999]: https://github.com/home-assistant/core/pull/138999 +[#139000]: https://github.com/home-assistant/core/pull/139000 +[#139003]: https://github.com/home-assistant/core/pull/139003 +[#139009]: https://github.com/home-assistant/core/pull/139009 +[#139011]: https://github.com/home-assistant/core/pull/139011 +[#139013]: https://github.com/home-assistant/core/pull/139013 +[#139014]: https://github.com/home-assistant/core/pull/139014 +[#139017]: https://github.com/home-assistant/core/pull/139017 +[#139021]: https://github.com/home-assistant/core/pull/139021 +[#139027]: https://github.com/home-assistant/core/pull/139027 +[#139032]: https://github.com/home-assistant/core/pull/139032 +[#139035]: https://github.com/home-assistant/core/pull/139035 +[#139036]: https://github.com/home-assistant/core/pull/139036 +[#139037]: https://github.com/home-assistant/core/pull/139037 +[#139039]: https://github.com/home-assistant/core/pull/139039 +[#139042]: https://github.com/home-assistant/core/pull/139042 +[#139052]: https://github.com/home-assistant/core/pull/139052 +[#139054]: https://github.com/home-assistant/core/pull/139054 +[#139055]: https://github.com/home-assistant/core/pull/139055 +[#139056]: https://github.com/home-assistant/core/pull/139056 +[#139058]: https://github.com/home-assistant/core/pull/139058 +[#139059]: https://github.com/home-assistant/core/pull/139059 +[#139061]: https://github.com/home-assistant/core/pull/139061 +[#139062]: https://github.com/home-assistant/core/pull/139062 +[#139063]: https://github.com/home-assistant/core/pull/139063 +[#139065]: https://github.com/home-assistant/core/pull/139065 +[#139066]: https://github.com/home-assistant/core/pull/139066 +[#139067]: https://github.com/home-assistant/core/pull/139067 +[#139068]: https://github.com/home-assistant/core/pull/139068 +[#139070]: https://github.com/home-assistant/core/pull/139070 +[#139073]: https://github.com/home-assistant/core/pull/139073 +[#139074]: https://github.com/home-assistant/core/pull/139074 +[#139077]: https://github.com/home-assistant/core/pull/139077 +[#139082]: https://github.com/home-assistant/core/pull/139082 +[#139083]: https://github.com/home-assistant/core/pull/139083 +[#139088]: https://github.com/home-assistant/core/pull/139088 +[#139093]: https://github.com/home-assistant/core/pull/139093 +[#139096]: https://github.com/home-assistant/core/pull/139096 +[#139103]: https://github.com/home-assistant/core/pull/139103 +[#139104]: https://github.com/home-assistant/core/pull/139104 +[#139106]: https://github.com/home-assistant/core/pull/139106 +[#139108]: https://github.com/home-assistant/core/pull/139108 +[#139111]: https://github.com/home-assistant/core/pull/139111 +[#139113]: https://github.com/home-assistant/core/pull/139113 +[#139119]: https://github.com/home-assistant/core/pull/139119 +[#139122]: https://github.com/home-assistant/core/pull/139122 +[#139123]: https://github.com/home-assistant/core/pull/139123 +[#139129]: https://github.com/home-assistant/core/pull/139129 +[#139140]: https://github.com/home-assistant/core/pull/139140 +[#139141]: https://github.com/home-assistant/core/pull/139141 +[#139143]: https://github.com/home-assistant/core/pull/139143 +[#139145]: https://github.com/home-assistant/core/pull/139145 +[#139151]: https://github.com/home-assistant/core/pull/139151 +[#139157]: https://github.com/home-assistant/core/pull/139157 +[#139161]: https://github.com/home-assistant/core/pull/139161 +[#139162]: https://github.com/home-assistant/core/pull/139162 +[#139168]: https://github.com/home-assistant/core/pull/139168 +[#139177]: https://github.com/home-assistant/core/pull/139177 +[#139181]: https://github.com/home-assistant/core/pull/139181 +[#139185]: https://github.com/home-assistant/core/pull/139185 +[#139186]: https://github.com/home-assistant/core/pull/139186 +[#139187]: https://github.com/home-assistant/core/pull/139187 +[#139188]: https://github.com/home-assistant/core/pull/139188 +[#139189]: https://github.com/home-assistant/core/pull/139189 +[#139191]: https://github.com/home-assistant/core/pull/139191 +[#139196]: https://github.com/home-assistant/core/pull/139196 +[#139197]: https://github.com/home-assistant/core/pull/139197 +[#139199]: https://github.com/home-assistant/core/pull/139199 +[#139200]: https://github.com/home-assistant/core/pull/139200 +[#139202]: https://github.com/home-assistant/core/pull/139202 +[#139203]: https://github.com/home-assistant/core/pull/139203 +[#139206]: https://github.com/home-assistant/core/pull/139206 +[#139210]: https://github.com/home-assistant/core/pull/139210 +[#139211]: https://github.com/home-assistant/core/pull/139211 +[#139212]: https://github.com/home-assistant/core/pull/139212 +[#139213]: https://github.com/home-assistant/core/pull/139213 +[#139218]: https://github.com/home-assistant/core/pull/139218 +[#139223]: https://github.com/home-assistant/core/pull/139223 +[#139228]: https://github.com/home-assistant/core/pull/139228 +[#139229]: https://github.com/home-assistant/core/pull/139229 +[#139230]: https://github.com/home-assistant/core/pull/139230 +[#139231]: https://github.com/home-assistant/core/pull/139231 +[#139235]: https://github.com/home-assistant/core/pull/139235 +[#139238]: https://github.com/home-assistant/core/pull/139238 +[#139239]: https://github.com/home-assistant/core/pull/139239 +[#139242]: https://github.com/home-assistant/core/pull/139242 +[#139243]: https://github.com/home-assistant/core/pull/139243 +[#139244]: https://github.com/home-assistant/core/pull/139244 +[#139245]: https://github.com/home-assistant/core/pull/139245 +[#139246]: https://github.com/home-assistant/core/pull/139246 +[#139250]: https://github.com/home-assistant/core/pull/139250 +[#139251]: https://github.com/home-assistant/core/pull/139251 +[#139252]: https://github.com/home-assistant/core/pull/139252 +[#139253]: https://github.com/home-assistant/core/pull/139253 +[#139254]: https://github.com/home-assistant/core/pull/139254 +[#139255]: https://github.com/home-assistant/core/pull/139255 +[#139256]: https://github.com/home-assistant/core/pull/139256 +[#139257]: https://github.com/home-assistant/core/pull/139257 +[#139258]: https://github.com/home-assistant/core/pull/139258 +[#139259]: https://github.com/home-assistant/core/pull/139259 +[#139261]: https://github.com/home-assistant/core/pull/139261 +[#139262]: https://github.com/home-assistant/core/pull/139262 +[#139263]: https://github.com/home-assistant/core/pull/139263 +[#139265]: https://github.com/home-assistant/core/pull/139265 +[#139266]: https://github.com/home-assistant/core/pull/139266 +[#139267]: https://github.com/home-assistant/core/pull/139267 +[#139270]: https://github.com/home-assistant/core/pull/139270 +[#139271]: https://github.com/home-assistant/core/pull/139271 +[#139272]: https://github.com/home-assistant/core/pull/139272 +[#139273]: https://github.com/home-assistant/core/pull/139273 +[#139276]: https://github.com/home-assistant/core/pull/139276 +[#139277]: https://github.com/home-assistant/core/pull/139277 +[#139279]: https://github.com/home-assistant/core/pull/139279 +[#139282]: https://github.com/home-assistant/core/pull/139282 +[#139283]: https://github.com/home-assistant/core/pull/139283 +[#139287]: https://github.com/home-assistant/core/pull/139287 +[#139288]: https://github.com/home-assistant/core/pull/139288 +[#139289]: https://github.com/home-assistant/core/pull/139289 +[#139292]: https://github.com/home-assistant/core/pull/139292 +[#139294]: https://github.com/home-assistant/core/pull/139294 +[#139298]: https://github.com/home-assistant/core/pull/139298 +[#139299]: https://github.com/home-assistant/core/pull/139299 +[#139300]: https://github.com/home-assistant/core/pull/139300 +[#139303]: https://github.com/home-assistant/core/pull/139303 +[#139308]: https://github.com/home-assistant/core/pull/139308 +[#139309]: https://github.com/home-assistant/core/pull/139309 +[#139313]: https://github.com/home-assistant/core/pull/139313 +[#139314]: https://github.com/home-assistant/core/pull/139314 +[#139316]: https://github.com/home-assistant/core/pull/139316 +[#139317]: https://github.com/home-assistant/core/pull/139317 +[#139318]: https://github.com/home-assistant/core/pull/139318 +[#139320]: https://github.com/home-assistant/core/pull/139320 +[#139329]: https://github.com/home-assistant/core/pull/139329 +[#139330]: https://github.com/home-assistant/core/pull/139330 +[#139331]: https://github.com/home-assistant/core/pull/139331 +[#139332]: https://github.com/home-assistant/core/pull/139332 +[#139333]: https://github.com/home-assistant/core/pull/139333 +[#139336]: https://github.com/home-assistant/core/pull/139336 +[#139338]: https://github.com/home-assistant/core/pull/139338 +[#139339]: https://github.com/home-assistant/core/pull/139339 +[#139340]: https://github.com/home-assistant/core/pull/139340 +[#139342]: https://github.com/home-assistant/core/pull/139342 +[#139343]: https://github.com/home-assistant/core/pull/139343 +[#139344]: https://github.com/home-assistant/core/pull/139344 +[#139345]: https://github.com/home-assistant/core/pull/139345 +[#139346]: https://github.com/home-assistant/core/pull/139346 +[#139347]: https://github.com/home-assistant/core/pull/139347 +[#139349]: https://github.com/home-assistant/core/pull/139349 +[#139351]: https://github.com/home-assistant/core/pull/139351 +[#139353]: https://github.com/home-assistant/core/pull/139353 +[#139354]: https://github.com/home-assistant/core/pull/139354 +[#139355]: https://github.com/home-assistant/core/pull/139355 +[#139356]: https://github.com/home-assistant/core/pull/139356 +[#139358]: https://github.com/home-assistant/core/pull/139358 +[#139361]: https://github.com/home-assistant/core/pull/139361 +[#139362]: https://github.com/home-assistant/core/pull/139362 +[#139363]: https://github.com/home-assistant/core/pull/139363 +[#139364]: https://github.com/home-assistant/core/pull/139364 +[#139365]: https://github.com/home-assistant/core/pull/139365 +[#139366]: https://github.com/home-assistant/core/pull/139366 +[#139368]: https://github.com/home-assistant/core/pull/139368 +[#139369]: https://github.com/home-assistant/core/pull/139369 +[#139370]: https://github.com/home-assistant/core/pull/139370 +[#139371]: https://github.com/home-assistant/core/pull/139371 +[#139373]: https://github.com/home-assistant/core/pull/139373 +[#139378]: https://github.com/home-assistant/core/pull/139378 +[#139380]: https://github.com/home-assistant/core/pull/139380 +[#139383]: https://github.com/home-assistant/core/pull/139383 +[#139387]: https://github.com/home-assistant/core/pull/139387 +[#139392]: https://github.com/home-assistant/core/pull/139392 +[#139409]: https://github.com/home-assistant/core/pull/139409 +[#139410]: https://github.com/home-assistant/core/pull/139410 +[#139418]: https://github.com/home-assistant/core/pull/139418 +[#139420]: https://github.com/home-assistant/core/pull/139420 +[#139421]: https://github.com/home-assistant/core/pull/139421 +[#139423]: https://github.com/home-assistant/core/pull/139423 +[#139426]: https://github.com/home-assistant/core/pull/139426 +[#139427]: https://github.com/home-assistant/core/pull/139427 +[#139428]: https://github.com/home-assistant/core/pull/139428 +[#139431]: https://github.com/home-assistant/core/pull/139431 +[#139437]: https://github.com/home-assistant/core/pull/139437 +[#139438]: https://github.com/home-assistant/core/pull/139438 +[#139445]: https://github.com/home-assistant/core/pull/139445 +[#139447]: https://github.com/home-assistant/core/pull/139447 +[#139454]: https://github.com/home-assistant/core/pull/139454 +[#139456]: https://github.com/home-assistant/core/pull/139456 +[#139458]: https://github.com/home-assistant/core/pull/139458 +[#139460]: https://github.com/home-assistant/core/pull/139460 +[#139468]: https://github.com/home-assistant/core/pull/139468 +[#139469]: https://github.com/home-assistant/core/pull/139469 +[#139470]: https://github.com/home-assistant/core/pull/139470 +[#139473]: https://github.com/home-assistant/core/pull/139473 +[#139474]: https://github.com/home-assistant/core/pull/139474 +[#139478]: https://github.com/home-assistant/core/pull/139478 +[#139483]: https://github.com/home-assistant/core/pull/139483 +[#139491]: https://github.com/home-assistant/core/pull/139491 +[#139505]: https://github.com/home-assistant/core/pull/139505 +[#139508]: https://github.com/home-assistant/core/pull/139508 +[#139516]: https://github.com/home-assistant/core/pull/139516 +[#139518]: https://github.com/home-assistant/core/pull/139518 +[#139519]: https://github.com/home-assistant/core/pull/139519 +[#139522]: https://github.com/home-assistant/core/pull/139522 +[#139526]: https://github.com/home-assistant/core/pull/139526 +[#139531]: https://github.com/home-assistant/core/pull/139531 +[#139539]: https://github.com/home-assistant/core/pull/139539 +[#139541]: https://github.com/home-assistant/core/pull/139541 +[#139544]: https://github.com/home-assistant/core/pull/139544 +[#139546]: https://github.com/home-assistant/core/pull/139546 +[#139547]: https://github.com/home-assistant/core/pull/139547 +[#139548]: https://github.com/home-assistant/core/pull/139548 +[#139550]: https://github.com/home-assistant/core/pull/139550 +[#139564]: https://github.com/home-assistant/core/pull/139564 +[#139565]: https://github.com/home-assistant/core/pull/139565 +[#139567]: https://github.com/home-assistant/core/pull/139567 +[#139569]: https://github.com/home-assistant/core/pull/139569 +[#139571]: https://github.com/home-assistant/core/pull/139571 +[#139576]: https://github.com/home-assistant/core/pull/139576 +[#139577]: https://github.com/home-assistant/core/pull/139577 +[#139579]: https://github.com/home-assistant/core/pull/139579 +[#139582]: https://github.com/home-assistant/core/pull/139582 +[#139584]: https://github.com/home-assistant/core/pull/139584 +[#139585]: https://github.com/home-assistant/core/pull/139585 +[#139586]: https://github.com/home-assistant/core/pull/139586 +[#139598]: https://github.com/home-assistant/core/pull/139598 +[#139600]: https://github.com/home-assistant/core/pull/139600 +[#139601]: https://github.com/home-assistant/core/pull/139601 +[#139603]: https://github.com/home-assistant/core/pull/139603 +[#139609]: https://github.com/home-assistant/core/pull/139609 +[#139613]: https://github.com/home-assistant/core/pull/139613 +[#139626]: https://github.com/home-assistant/core/pull/139626 +[#139627]: https://github.com/home-assistant/core/pull/139627 +[#139639]: https://github.com/home-assistant/core/pull/139639 +[#139652]: https://github.com/home-assistant/core/pull/139652 +[#139679]: https://github.com/home-assistant/core/pull/139679 +[#139680]: https://github.com/home-assistant/core/pull/139680 +[#139681]: https://github.com/home-assistant/core/pull/139681 +[#139700]: https://github.com/home-assistant/core/pull/139700 +[#139704]: https://github.com/home-assistant/core/pull/139704 +[#139711]: https://github.com/home-assistant/core/pull/139711 +[#139712]: https://github.com/home-assistant/core/pull/139712 +[#139714]: https://github.com/home-assistant/core/pull/139714 +[#139727]: https://github.com/home-assistant/core/pull/139727 +[#139728]: https://github.com/home-assistant/core/pull/139728 +[#139740]: https://github.com/home-assistant/core/pull/139740 +[#139750]: https://github.com/home-assistant/core/pull/139750 +[#139751]: https://github.com/home-assistant/core/pull/139751 +[#139757]: https://github.com/home-assistant/core/pull/139757 +[#139758]: https://github.com/home-assistant/core/pull/139758 +[#139760]: https://github.com/home-assistant/core/pull/139760 +[#139772]: https://github.com/home-assistant/core/pull/139772 +[#139786]: https://github.com/home-assistant/core/pull/139786 +[#139788]: https://github.com/home-assistant/core/pull/139788 +[#139816]: https://github.com/home-assistant/core/pull/139816 +[#139829]: https://github.com/home-assistant/core/pull/139829 +[#139840]: https://github.com/home-assistant/core/pull/139840 +[#139841]: https://github.com/home-assistant/core/pull/139841 +[#139846]: https://github.com/home-assistant/core/pull/139846 +[#139851]: https://github.com/home-assistant/core/pull/139851 +[#139860]: https://github.com/home-assistant/core/pull/139860 +[@10100011]: https://github.com/10100011 +[@Bre77]: https://github.com/Bre77 +[@CFenner]: https://github.com/CFenner +[@CloCkWeRX]: https://github.com/CloCkWeRX +[@CodingSquirrel]: https://github.com/CodingSquirrel +[@CrEaK]: https://github.com/CrEaK +[@DCSBL]: https://github.com/DCSBL +[@Diegorro98]: https://github.com/Diegorro98 +[@Ernst79]: https://github.com/Ernst79 +[@FredericMa]: https://github.com/FredericMa +[@Galorhallen]: https://github.com/Galorhallen +[@HA-Roberto]: https://github.com/HA-Roberto +[@IceBotYT]: https://github.com/IceBotYT +[@IvanLH]: https://github.com/IvanLH +[@Kane610]: https://github.com/Kane610 +[@LG-ThinQ-Integration]: https://github.com/LG-ThinQ-Integration +[@LaithBudairi]: https://github.com/LaithBudairi +[@Lash-L]: https://github.com/Lash-L +[@MaestroOnICe]: https://github.com/MaestroOnICe +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@Martreides]: https://github.com/Martreides +[@MindFreeze]: https://github.com/MindFreeze +[@MisterCommand]: https://github.com/MisterCommand +[@Moustachauve]: https://github.com/Moustachauve +[@MrConorAE]: https://github.com/MrConorAE +[@NoRi2909]: https://github.com/NoRi2909 +[@PeteRager]: https://github.com/PeteRager +[@RJPoelstra]: https://github.com/RJPoelstra +[@RenierM26]: https://github.com/RenierM26 +[@RunC0deRun]: https://github.com/RunC0deRun +[@SLaks]: https://github.com/SLaks +[@Samywamy10]: https://github.com/Samywamy10 +[@Shulyaka]: https://github.com/Shulyaka +[@Shutgun]: https://github.com/Shutgun +[@Sibgatulin]: https://github.com/Sibgatulin +[@Spcemarine]: https://github.com/Spcemarine +[@StaleLoafOfBread]: https://github.com/StaleLoafOfBread +[@SteveDiks]: https://github.com/SteveDiks +[@Taraman17]: https://github.com/Taraman17 +[@TheJulianJES]: https://github.com/TheJulianJES +[@TomBrien]: https://github.com/TomBrien +[@VandeurenGlenn]: https://github.com/VandeurenGlenn +[@Xitee1]: https://github.com/Xitee1 +[@ZephireNZ]: https://github.com/ZephireNZ +[@abmantis]: https://github.com/abmantis +[@albertogeniola]: https://github.com/albertogeniola +[@alengwenus]: https://github.com/alengwenus +[@allenporter]: https://github.com/allenporter +[@andrew-codechimp]: https://github.com/andrew-codechimp +[@andrewsayre]: https://github.com/andrewsayre +[@antlarr]: https://github.com/antlarr +[@arturpragacz]: https://github.com/arturpragacz +[@ashionky]: https://github.com/ashionky +[@autinerd]: https://github.com/autinerd +[@awahlig]: https://github.com/awahlig +[@balazs92117]: https://github.com/balazs92117 +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@benbridts]: https://github.com/benbridts +[@bieniu]: https://github.com/bieniu +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@brondum]: https://github.com/brondum +[@cameronr]: https://github.com/cameronr +[@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 +[@codesalatdev]: https://github.com/codesalatdev +[@crug80]: https://github.com/crug80 +[@cs12ag]: https://github.com/cs12ag +[@dan-r]: https://github.com/dan-r +[@danbishop]: https://github.com/danbishop +[@davidrapan]: https://github.com/davidrapan +[@dgomes]: https://github.com/dgomes +[@edenhaus]: https://github.com/edenhaus +[@elmurato]: https://github.com/elmurato +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@erwindouna]: https://github.com/erwindouna +[@farmio]: https://github.com/farmio +[@filipagh]: https://github.com/filipagh +[@frenck]: https://github.com/frenck +[@fwestenberg]: https://github.com/fwestenberg +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@gjong]: https://github.com/gjong +[@gwww]: https://github.com/gwww +[@illia-piskurov]: https://github.com/illia-piskurov +[@iprak]: https://github.com/iprak +[@jaminh]: https://github.com/jaminh +[@javers99]: https://github.com/javers99 +[@jbouwh]: https://github.com/jbouwh +[@jdelaney72]: https://github.com/jdelaney72 +[@jeeftor]: https://github.com/jeeftor +[@jgrande]: https://github.com/jgrande +[@jgus]: https://github.com/jgus +[@joostlek]: https://github.com/joostlek +[@jpbede]: https://github.com/jpbede +[@jpelgrom]: https://github.com/jpelgrom +[@jrieger]: https://github.com/jrieger +[@jschlyter]: https://github.com/jschlyter +[@kbickar]: https://github.com/kbickar +[@kiranbhakre]: https://github.com/kiranbhakre +[@laiho-vogels]: https://github.com/laiho-vogels +[@lanthaler]: https://github.com/lanthaler +[@lboue]: https://github.com/lboue +[@lellky]: https://github.com/lellky +[@ludeeus]: https://github.com/ludeeus +[@maghiel]: https://github.com/maghiel +[@marcelveldt]: https://github.com/marcelveldt +[@maruel]: https://github.com/maruel +[@matrixd2]: https://github.com/matrixd2 +[@mckbrmn]: https://github.com/mckbrmn +[@mdz]: https://github.com/mdz +[@mib1185]: https://github.com/mib1185 +[@migrzyb]: https://github.com/migrzyb +[@mikey0000]: https://github.com/mikey0000 +[@milanmeu]: https://github.com/milanmeu +[@mj23000]: https://github.com/mj23000 +[@moritzthecat]: https://github.com/moritzthecat +[@mtielen]: https://github.com/mtielen +[@natekspencer]: https://github.com/natekspencer +[@nivstein]: https://github.com/nivstein +[@noahhusby]: https://github.com/noahhusby +[@ozonejunkieau]: https://github.com/ozonejunkieau +[@parkerbxyz]: https://github.com/parkerbxyz +[@peteS-UK]: https://github.com/peteS-UK +[@pglab-electronics]: https://github.com/pglab-electronics +[@piitaya]: https://github.com/piitaya +[@piotrbulinski]: https://github.com/piotrbulinski +[@pleasantone]: https://github.com/pleasantone +[@postlund]: https://github.com/postlund +[@proohit]: https://github.com/proohit +[@pssc]: https://github.com/pssc +[@puddly]: https://github.com/puddly +[@regevbr]: https://github.com/regevbr +[@rikroe]: https://github.com/rikroe +[@rrooggiieerr]: https://github.com/rrooggiieerr +[@sdb9696]: https://github.com/sdb9696 +[@skobow]: https://github.com/skobow +[@sstallion]: https://github.com/sstallion +[@starkillerOG]: https://github.com/starkillerOG +[@stephan48]: https://github.com/stephan48 +[@stevenh]: https://github.com/stevenh +[@stevesinchak]: https://github.com/stevesinchak +[@synesthesiam]: https://github.com/synesthesiam +[@tdfountain]: https://github.com/tdfountain +[@teynar]: https://github.com/teynar +[@thecode]: https://github.com/thecode +[@thomasddn]: https://github.com/thomasddn +[@tl-sl]: https://github.com/tl-sl +[@tr4nt0r]: https://github.com/tr4nt0r +[@tronikos]: https://github.com/tronikos +[@w1ll1am23]: https://github.com/w1ll1am23 +[@wjtje]: https://github.com/wjtje +[@zackslash]: https://github.com/zackslash +[@zweckj]: https://github.com/zweckj +[@zxdavb]: https://github.com/zxdavb diff --git a/source/dashboards/features.markdown b/source/dashboards/features.markdown index b784d1fadf1..d52bcddae8e 100644 --- a/source/dashboards/features.markdown +++ b/source/dashboards/features.markdown @@ -164,7 +164,7 @@ preset_modes: ## Counter actions -Widget that displays buttons to increment, decrement and reset a [counter](/integrations/counter). +Widget that displays buttons to increment, decrement, and reset a [counter](/integrations/counter).

Screenshot of the tile card with counter actions feature diff --git a/source/getting-started/onboarding.markdown b/source/getting-started/onboarding.markdown index ea89826e8b2..15fba1c3dad 100644 --- a/source/getting-started/onboarding.markdown +++ b/source/getting-started/onboarding.markdown @@ -21,7 +21,7 @@ After Home Assistant has been [installed](/installation/) on your device, there ![Home Assistant preparation](/images/getting-started/onboarding_preparing_02.png) - Enter a name, username, and password. - Make sure the username is lowercase and contains no whitespace. - - {% icon "mdi:info" %} **Info**: The **Name** is the name of the person the is shown in the UI. The username is used for login. + - {% icon "mdi:info" %} **Info**: The **Name** is the name of the person that is shown in the UI. The username is used for login. ![Set your username and password.](/images/getting-started/onboarding_username.png) - Store the name, username, and password somewhere safe. There is no way to recover the owner credentials. diff --git a/source/images/blog/2025-02-apollo/art.jpg b/source/images/blog/2025-02-apollo/art.jpg new file mode 100644 index 00000000000..fcfd0408d8b Binary files /dev/null and b/source/images/blog/2025-02-apollo/art.jpg differ diff --git a/source/images/blog/2025-02-apollo/multisensor.jpg b/source/images/blog/2025-02-apollo/multisensor.jpg new file mode 100644 index 00000000000..aa2fe0d6249 Binary files /dev/null and b/source/images/blog/2025-02-apollo/multisensor.jpg differ diff --git a/source/images/blog/2025-03-music-assistant/art.jpg b/source/images/blog/2025-03-music-assistant/art.jpg new file mode 100644 index 00000000000..57cdbf5b43e Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/art.jpg differ diff --git a/source/images/blog/2025-03-music-assistant/audio_path.png b/source/images/blog/2025-03-music-assistant/audio_path.png new file mode 100644 index 00000000000..ed92474c79b Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/audio_path.png differ diff --git a/source/images/blog/2025-03-music-assistant/audiobooks.png b/source/images/blog/2025-03-music-assistant/audiobooks.png new file mode 100644 index 00000000000..0dd206490cb Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/audiobooks.png differ diff --git a/source/images/blog/2025-03-music-assistant/continue.png b/source/images/blog/2025-03-music-assistant/continue.png new file mode 100644 index 00000000000..99ea4c93152 Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/continue.png differ diff --git a/source/images/blog/2025-03-music-assistant/eq.png b/source/images/blog/2025-03-music-assistant/eq.png new file mode 100644 index 00000000000..b3f18093fa1 Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/eq.png differ diff --git a/source/images/blog/2025-03-music-assistant/spotify_connect.jpg b/source/images/blog/2025-03-music-assistant/spotify_connect.jpg new file mode 100644 index 00000000000..728e04089bf Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/spotify_connect.jpg differ diff --git a/source/images/blog/2025-03-music-assistant/voice_ma.jpg b/source/images/blog/2025-03-music-assistant/voice_ma.jpg new file mode 100644 index 00000000000..61bd18106cb Binary files /dev/null and b/source/images/blog/2025-03-music-assistant/voice_ma.jpg differ diff --git a/source/images/blog/2025-03/card-editor-improvements.png b/source/images/blog/2025-03/card-editor-improvements.png new file mode 100644 index 00000000000..06871a9d5a4 Binary files /dev/null and b/source/images/blog/2025-03/card-editor-improvements.png differ diff --git a/source/images/blog/2025-03/dashboard-view-header.png b/source/images/blog/2025-03/dashboard-view-header.png new file mode 100644 index 00000000000..eca145b3a90 Binary files /dev/null and b/source/images/blog/2025-03/dashboard-view-header.png differ diff --git a/source/images/blog/2025-03/graph-legend.gif b/source/images/blog/2025-03/graph-legend.gif new file mode 100644 index 00000000000..1486ab90457 Binary files /dev/null and b/source/images/blog/2025-03/graph-legend.gif differ diff --git a/source/images/blog/2025-03/map-marker-clustering.gif b/source/images/blog/2025-03/map-marker-clustering.gif new file mode 100644 index 00000000000..8db8b741266 Binary files /dev/null and b/source/images/blog/2025-03/map-marker-clustering.gif differ diff --git a/source/images/blog/2025-03/social.jpg b/source/images/blog/2025-03/social.jpg new file mode 100644 index 00000000000..0ac04407788 Binary files /dev/null and b/source/images/blog/2025-03/social.jpg differ diff --git a/source/images/blog/2025-03/tile-card-clear-interactions.png b/source/images/blog/2025-03/tile-card-clear-interactions.png new file mode 100644 index 00000000000..24274eeffad Binary files /dev/null and b/source/images/blog/2025-03/tile-card-clear-interactions.png differ diff --git a/source/images/blog/2025-03/tile-card-counter-actions.png b/source/images/blog/2025-03/tile-card-counter-actions.png new file mode 100644 index 00000000000..2c3273174ea Binary files /dev/null and b/source/images/blog/2025-03/tile-card-counter-actions.png differ diff --git a/source/images/blog/2025-03/tile-card-inline-features.png b/source/images/blog/2025-03/tile-card-inline-features.png new file mode 100644 index 00000000000..589b76c047c Binary files /dev/null and b/source/images/blog/2025-03/tile-card-inline-features.png differ diff --git a/source/images/blog/2025-03/tile-card-interactions.gif b/source/images/blog/2025-03/tile-card-interactions.gif new file mode 100644 index 00000000000..ba31351dcca Binary files /dev/null and b/source/images/blog/2025-03/tile-card-interactions.gif differ diff --git a/source/images/blog/2025-03/tile-card-switch-toggle.png b/source/images/blog/2025-03/tile-card-switch-toggle.png new file mode 100644 index 00000000000..380d913ad0f Binary files /dev/null and b/source/images/blog/2025-03/tile-card-switch-toggle.png differ diff --git a/source/images/dashboards/energy/sankey.png b/source/images/dashboards/energy/sankey.png new file mode 100644 index 00000000000..d6d43f81bae Binary files /dev/null and b/source/images/dashboards/energy/sankey.png differ diff --git a/source/images/dashboards/tile_card.png b/source/images/dashboards/tile_card.png deleted file mode 100644 index 3657c2c1686..00000000000 Binary files a/source/images/dashboards/tile_card.png and /dev/null differ diff --git a/source/images/dashboards/tile_card_tap_action.webp b/source/images/dashboards/tile_card_tap_action.webp new file mode 100644 index 00000000000..5f494708616 Binary files /dev/null and b/source/images/dashboards/tile_card_tap_action.webp differ diff --git a/source/images/docs/developer-tools/Assist.png b/source/images/docs/developer-tools/Assist.png index 61bd212c468..8533ae3ad71 100644 Binary files a/source/images/docs/developer-tools/Assist.png and b/source/images/docs/developer-tools/Assist.png differ diff --git a/source/images/docs/developer-tools/adjust-statistics.png b/source/images/docs/developer-tools/adjust-statistics.png new file mode 100644 index 00000000000..8473ab053e5 Binary files /dev/null and b/source/images/docs/developer-tools/adjust-statistics.png differ diff --git a/source/images/docs/developer-tools/statistics_issue.png b/source/images/docs/developer-tools/statistics_issue.png index 653c14a7a6d..34f46d85266 100644 Binary files a/source/images/docs/developer-tools/statistics_issue.png and b/source/images/docs/developer-tools/statistics_issue.png differ diff --git a/source/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset.png b/source/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset.png new file mode 100644 index 00000000000..65685329bbd Binary files /dev/null and b/source/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset.png differ diff --git a/source/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset_step_change.png b/source/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset_step_change.png new file mode 100644 index 00000000000..7f882f11c76 Binary files /dev/null and b/source/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset_step_change.png differ