From 60584572536d630881e58422ed098a9ab687fbf9 Mon Sep 17 00:00:00 2001 From: Raphael Hehl <7577984+RaHehl@users.noreply.github.com> Date: Wed, 27 Nov 2024 21:03:05 +0100 Subject: [PATCH 001/123] add examples for UniFi Protect integration events (#36029) Co-authored-by: J. Nick Koston --- source/_integrations/unifiprotect.markdown | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown index eb581ff9f8e..79c111b6ea0 100644 --- a/source/_integrations/unifiprotect.markdown +++ b/source/_integrations/unifiprotect.markdown @@ -274,6 +274,32 @@ Two URLs for proxy API endpoints: The easiest way to find the `nvr_id`, `camera_id`, `start`, and `end` times is by viewing one of the videos from UniFi Protect in the Media browser. If you open the video in a new browser tab, you will see all these values in the URL. The `start` time is the last_changed timestamp of the event when the sensor started detecting motion. The `end` time is the last_changed timestamp of the event when the sensor stopped detecting motion. Similarly, to see the `event_id` of the image, go to {% my developer_states title="**Developer Tools** > **States**" %} and find the event when the sensor started detecting motion. +### Example Notification Automation with Video + +```yaml +alias: "Security: Camera Motion Notification" +description: "Sends a notification with video upon motion detection." +triggers: + - entity_id: + - binary_sensor.g5_bullet_motion # Replace with your camera entity + trigger: state + from: "on" + to: "off" +actions: + - data: + message: "Motion detected at Camera XXX" + data: + image: >- + {% raw %}/api/unifiprotect/thumbnail/{{ config_entry_id(trigger.entity_id) }}/{{ trigger.from_state.attributes.event_id }}{% endraw %} + video: >- + {% raw %}/api/unifiprotect/video/{{ config_entry_id(trigger.entity_id) }}/{{ trigger.from_state.attributes.event_id }}{% endraw %} + action: notify.mobile_app_your_device # Replace with your notification target +mode: single +max_exceeded: silent +``` + +Waiting for the motion sensor to change from `on` to `off` before sending the notification is essential. Waiting ensures that the event has ended and the video is accessible; otherwise, you may get an error instead of the video link. + ## Event Entities Support The UniFi Protect integration provides support for various event types triggered by connected devices. Below are the descriptions for each supported event type: @@ -286,6 +312,29 @@ The UniFi Protect integration provides support for various event types triggered - **event_id**: A unique ID that identifies the doorbell event. - **Description**: This event is triggered when someone rings the doorbell. It provides an `event_id`, which can be used to fetch related media, such as a thumbnail of the event. For instance, you can use `event.g4_doorbell_pro_doorbell` to get the thumbnail image when a ring occurs. +#### Example G4 Doorbell Ring Triggered Automation + +```yaml +alias: G4 Doorbell Ring Triggered Automation +description: Automation that triggers when the G4 Doorbell Pro rings +triggers: + - event_type: state_changed + event_data: + entity_id: event.g4_doorbell_pro_poe_doorbell # Replace with your doorbell entity + trigger: event +conditions: + - condition: template + value_template: | + {% raw %}{{ 'ring' in trigger.event.data.new_state.attributes.event_types }}{% endraw %} +actions: + - data: + message: Someone is at the door! + title: Doorbell Notification + action: notify.mobile_app_your_device # Replace with your notification target +``` + +The condition is required to prevent the notification from being triggered by events of type 'unknown', for example, during a restart. + ### NFC Card Scanned Event - **Event Name**: NFC @@ -295,6 +344,38 @@ The UniFi Protect integration provides support for various event types triggered - **nfc_id**: The ID of the scanned NFC card. - **Description**: This event is triggered when an NFC card is scanned at a compatible device (e.g., a smart doorbell). It contains information such as the `nfc_id` of the scanned card. +#### Example G4 Doorbell NFC Scanned Automation + +```yaml +alias: G4 Doorbell NFC Scanned Automation +description: >- + Automation that triggers when a specific NFC card is scanned on the G4 + Doorbell Pro +triggers: + - event_type: state_changed + event_data: + entity_id: event.g4_doorbell_pro_poe_nfc # Replace with your doorbell entity + trigger: event +conditions: + - condition: template + value_template: > + {% raw %}{{ + trigger.event.data.new_state is not none and + trigger.event.data.new_state.attributes.event_type == 'scanned' and + trigger.event.data.new_state.attributes.nfc_id in ['ABCDEF1234', 'OTHER_ALLOWED_ID'] + }}{% endraw %} +actions: + - data: + message: >- + {% raw %}The NFC card with ID {{ trigger.event.data.new_state.attributes.nfc_id }} has been scanned at the doorbell.{% endraw %} + title: NFC Scan Notification + action: notify.mobile_app_your_device # Replace with your notification target +``` + +**Warning:** + +When processing NFC scans, always validate the scanned ID. Unknown NFC cards also trigger the scan event. Additionally, this event was developed using third-party cards, as the developer did not have access to official UniFi cards at the time. With third-party cards, the scan relies on the card's serial number. While this approach is not uncommon, it is essential to note that the card's serial number is generally not considered a secure identifier and can be duplicated relatively easily. + ### Fingerprint Identified Event - **Event Name**: Fingerprint @@ -304,6 +385,36 @@ The UniFi Protect integration provides support for various event types triggered - **ulp_id**: The fingerprint ID used to identify the person. If no fingerprint match is found, the `ulp_id` will be empty and the `event_type` will be `not_identified`. - **Description**: This event is triggered when a fingerprint is scanned by a compatible device. If the fingerprint is recognized, it provides a `ulp_id`, which represents the fingerprint ID. If the fingerprint is not recognized, the `event_type` will be set to `not_identified`, and no `ulp_id` will be provided. +#### Example G4 Doorbell Fingerprint Identified Automation + +```yaml +alias: G4 Doorbell Fingerprint Identified Automation +description: Automation that triggers when a fingerprint is successfully identified on the G4 Doorbell Pro +trigger: + - platform: event + event_type: state_changed + event_data: + entity_id: event.g4_doorbell_pro_poe_fingerprint # Replace with your doorbell entity +condition: + - condition: template + value_template: > + {% raw %}{{ + trigger.event.data.new_state is not none and + trigger.event.data.new_state.attributes.event_type == 'identified' and + (trigger.event.data.new_state.attributes.ulp_id|default('')) != '' and + trigger.event.data.new_state.attributes.ulp_id in ['ALLOWED_ID1', 'ALLOWED_ID2'] + }}{% endraw %} +action: + - service: notify.mobile_app_your_device # Replace with your notification target + data: + {% raw %}message: "Fingerprint identified with ID: {{ trigger.event.data.new_state.attributes.ulp_id }}"{% endraw %} + title: "Fingerprint Scan Notification" +``` + +**Warning:** + +Similar to NFC, an event is triggered when a fingerprint is recognized and not recognized. However, unlike NFC, at the time of implementation, no fingerprint ID is included in the event if the fingerprint is unknown. + ## Troubleshooting ### Delay in video feed From d2c7b06881f124550a000f4df5b6e4f99e724b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Thu, 28 Nov 2024 08:28:36 +0100 Subject: [PATCH 002/123] Add select entity to Home Connect (#35398) --- source/_integrations/home_connect.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index 0d4775f43c8..b2a2be307f0 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -6,6 +6,7 @@ ha_category: - Hub - Light - Number + - Select - Sensor - Switch - Time @@ -20,6 +21,7 @@ ha_platforms: - binary_sensor - light - number + - select - sensor - switch - time @@ -31,8 +33,10 @@ The Home Connect integration allows users to integrate their home appliances sup 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, switches for each of the individual programs will be added. Note that program options cannot be configured currently. -- If the device has programs, a timestamp sensor for remaining time and a numeric sensor for the progress percentage. +- If the device has programs: + - Switches for each of the individual programs will be added. Note that program options cannot be configured currently. + - 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 From 36fd5a06516b32b7bdd98365560e166b06a7b60e Mon Sep 17 00:00:00 2001 From: Lutz Date: Thu, 28 Nov 2024 08:49:01 +0100 Subject: [PATCH 003/123] Doc update for new endpoint in unifi protect (#35629) Co-authored-by: J. Nick Koston --- source/_integrations/unifiprotect.markdown | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown index 79c111b6ea0..f6d04e2d0f8 100644 --- a/source/_integrations/unifiprotect.markdown +++ b/source/_integrations/unifiprotect.markdown @@ -260,19 +260,23 @@ The {% term integrations %} provides two proxy views to proxy media content from These URLs work great when trying to send notifications. Home Assistant will automatically sign the URLs and make them safe for external consumption if used in an {% term automation %} or [notify action](/integrations/notify/). -Two URLs for proxy API endpoints: +Three URLs for proxy API endpoints: -`/api/unifiprotect/thumbnail/{nvr_id}/{event_id}:` +`/api/unifiprotect/thumbnail/{nvr_id}/{event_id}` - Proxies a JPEG event thumbnail from UniFi Protect. -`/api/unifiprotect/video/{nvr_id}/{camera_id}/{start}/{end}`: +`/api/unifiprotect/video/{nvr_id}/{camera_id}/{start}/{end}` - Proxies a MP4 video clip from UniFi Protect for a specific camera. Start and end must be in [ISO 8601 format](https://www.iso.org/iso-8601-date-and-time-format.html). +`/api/unifiprotect/video/{nvr_id}/{event_id}` + +- Proxies a MP4 video clip from UniFi Protect for a specific event. To get the video, the event needs to be finished. If it's still ongoing, use the camera endpoint defined above. + `nvr_id` can either be the UniFi Protect ID of your NVR or the config entry ID for your UniFi Protect {% term integrations %}. `camera_id` can either be the UniFi Protect ID of your camera or an entity ID of any {% term entity %} provided by the UniFi Protect {% term integrations %} that can be reversed to a UniFi Protect camera (i.e., an entity ID of a detected object sensor). -The easiest way to find the `nvr_id`, `camera_id`, `start`, and `end` times is by viewing one of the videos from UniFi Protect in the Media browser. If you open the video in a new browser tab, you will see all these values in the URL. The `start` time is the last_changed timestamp of the event when the sensor started detecting motion. The `end` time is the last_changed timestamp of the event when the sensor stopped detecting motion. Similarly, to see the `event_id` of the image, go to {% my developer_states title="**Developer Tools** > **States**" %} and find the event when the sensor started detecting motion. +The easiest way to find the `nvr_id`, `camera_id`, `start`, and `end` times is by viewing one of the videos from UniFi Protect in the Media browser. If you open the video in a new browser tab, you will see all these values in the URL. The `start` time is close to the last_changed timestamp of the event when the sensor started detecting motion. The `end` time is close to the last_changed timestamp of the event when the sensor stopped detecting motion. Similarly, to see the `event_id` of the image, go to {% my developer_states title="**Developer Tools** > **States**" %} and find the event when the sensor started detecting motion. ### Example Notification Automation with Video From 0fa6437bc7d53b7ceb86567a8bb9110ffe90dcfe Mon Sep 17 00:00:00 2001 From: Duco Sebel <74970928+DCSBL@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:31:42 +0100 Subject: [PATCH 004/123] Include correct guide for custom polling in HomeWizard (#36039) --- source/_integrations/homewizard.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/homewizard.markdown b/source/_integrations/homewizard.markdown index 36b8d14991f..118d6219f96 100644 --- a/source/_integrations/homewizard.markdown +++ b/source/_integrations/homewizard.markdown @@ -114,7 +114,7 @@ If you know the energy characteristics of your washing machine, you can create a The integration is {% term polling %} new data every 5 seconds. There is no limitation on the number or frequency of requests that can be made to the device. -{% include integrations/remove_device_service.md %} +{% include common-tasks/define_custom_polling.md %} ## Known limitations From 7fe1aadcd4cfc17e9a71d2c88305edf84d6c73b0 Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 28 Nov 2024 18:19:35 +0800 Subject: [PATCH 005/123] Add docs for Music Assistant integration (#35494) * Add actions * Update domain * Typos and code rabbit suggestions * tiny tweaks * Change tables to lists * tweak * Fix typo * Code rabbit tweaks * More code rabbit suggestions * Typo * Add two new actions * Change get_queue attribute * Remove whitespace * Update source/_integrations/music_assistant.markdown Co-authored-by: Marcel van der Veldt * Update source/_integrations/music_assistant.markdown Co-authored-by: Marcel van der Veldt * Update source/_integrations/music_assistant.markdown Co-authored-by: Marcel van der Veldt --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: Franck Nijhof Co-authored-by: Marcel van der Veldt --- source/_integrations/music_assistant.markdown | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 source/_integrations/music_assistant.markdown diff --git a/source/_integrations/music_assistant.markdown b/source/_integrations/music_assistant.markdown new file mode 100644 index 00000000000..63adcdf32c7 --- /dev/null +++ b/source/_integrations/music_assistant.markdown @@ -0,0 +1,127 @@ +--- +title: Music Assistant +description: Instructions on how to integrate Music Assistant into Home Assistant. +ha_category: + - Media player +ha_release: 2024.12 +ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: + - '@music_assistant' +ha_domain: music_assistant +ha_platforms: + - media_player +ha_zeroconf: true +ha_integration_type: integration +--- + +The **Music Assistant**(MA) {% term integrations %} allows you to connect Home Assistant to a [Music Assistant Server](https://music-assistant.io/). Once configured, all [MA Players](https://music-assistant.io/player-support/) show up as Home Assistant [media player entities](/integrations/media_player/). Media players will allow you to control media playback and see the currently playing item. + +There is currently support for the following Home Assistant Platforms: + +- [Media player](#media-player) + +All of the Home Assistant [Media Player Control Actions](https://www.home-assistant.io/integrations/media_player/#media-control-actions) are supported. + +{% include integrations/config_flow.md %} + +### Manual configuration + +Under normal circumstances, Home Assistant automatically discovers your running Music Assistant Server. If something special about the HA or MA setup (for example, the MA server is running as a remote Docker container) or discovery is not working, you can manually specify the URL to your Music Assistant server. + +## Media player + +The Music Assistant media player creates media player entities for all players available in MA including those imported from Home Assistant. This is needed to provide the full functionality Music Assistant has to offer. These entities will display media information, playback progress, and playback controls. + +### Action `media_player.play_media` + +Play media hosted on a Music Assistant server on a Music Assistant player. The action configuration is as described in the [media player documentation](https://www.home-assistant.io/integrations/media_player/#action-media_playerplay_media) + +The `media_content_id` payload can be any of the following: + +- The name of a track, artist or album. (for example, "Queen") +- A track or album combined with the artist name (for example, "Queen - Innuendo") +- A streaming provider URI (for example, `spotify://artist/12345`) + +#### Examples + +Play Adele's album 25 + +```yaml +entity_id: media_player.music_assistant_player +media_content_type: MUSIC +media_content_id: 'Adele - 25' +``` + +Play all tracks from Stevie Wonder in random order + +```yaml +entity_id: media_player.music_assistant_player +media_content_type: MUSIC +media_content_id: 'Stevie Wonder' +``` + +Play the playlist The Best of Disco + +```yaml +entity_id: media_player.music_assistant_player +media_content_type: PLAYLIST +media_content_id: 'The Best of Disco' +``` + +## Additional actions + +### Action `music_assistant.play_media` + +Play media on a Music Assistant player with more fine-grained control options. + +- **Data attribute**: `media_id` + - **Optional**: No. + - **Description**: URI or name of the item to be played. Specify a list if it is desired to play/enqueue multiple items. + - **Example**: `spotify://playlist/aabbccddeeff` +- **Data attribute**: `media_type` + - **Optional**: Yes. + - **Description**: The type of content to play. Select from artist, album, track, playlist or radio. Will be auto-determined if omitted. + - **Example**: `playlist` +- **Data attribute**: `artist` + - **Optional**: Yes. + - **Description**: When specifying a track or album in the Media ID field, you can optionally restrict results by this artist name. + - **Example**: `Queen` +- **Data attribute**: `album` + - **Optional**: Yes. + - **Description**: When specifying a track in the Media ID field, you can optionally restrict results by this album name. + - **Example**: `News of the world` +- **Data attribute**: `enqueue` + - **Optional**: Yes. + - **Description**: If the content should be played now or be added to the queue. Options are: + - play: Play now + - replace: Replace the existing queue and play now + - next: Add to the current queue after the currently playing item + - replace_next: Replace the current queue after the currently playing item + - add: Add to the end of the queue + - **Example**: `replace` +- **Data attribute**: `radio_mode` + - **Optional**: Yes. + - **Description**: Enable radio mode to auto-generate a playlist based on the selection. + - **Example**: `true` + +### Action `music_assistant.play_announcement` + +Play announcement on a Music Assistant player with more fine-grained control options. + +- **Data attribute**: `url` + - **Optional**: No. + - **Description**: URL to the notification sound. + - **Example**: `https://someremotesite.com/doorbell.mp3` +- **Data attribute**: `use_pre_announce` + - **Optional**: Yes. + - **Description**: Use pre-announcement sound. Omit to use the player default. + - **Example**: `true` +- **Data attribute**: `announce_volume` + - **Optional**: Yes. + - **Description**: Use a forced volume level for the announcement. Omit to use the player default. + - **Example**: `75` + +## Notes + +- Any Home Assistant players added to Music Assistant will appear duplicated as the MA version of the player is created. The original HA player can be hidden if desired. From 526971398fabe440da65c0173c61ea1f06c2bbce Mon Sep 17 00:00:00 2001 From: Wendelin <12148533+wendevlin@users.noreply.github.com> Date: Thu, 28 Nov 2024 16:57:55 +0100 Subject: [PATCH 006/123] Add bronze to IQS section and sync naming with ha frontend (#36038) --- source/_includes/asides/component_navigation.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index 784c053fb1c..316971e2dc9 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -58,11 +58,13 @@ {%- if page.ha_quality_scale %}
- {% if page.ha_quality_scale == "silver" %}🥈 This is a great integration!
{%- endif -%} - {% if page.ha_quality_scale == "gold" %}🥇 This is a solid integration!
{%- endif -%} - {% if page.ha_quality_scale == "platinum" %}🏆 Best of the best!
{%- endif -%} - {% if page.ha_quality_scale == "internal" %}🏠 Under core!
{%- endif -%} - It scores {{page.ha_quality_scale}} on our quality scale + {% if page.ha_quality_scale == "bronze" %}🥉 Bronze quality
{%- endif -%} + {% if page.ha_quality_scale == "silver" %}🥈 Silver quality
{%- endif -%} + {% if page.ha_quality_scale == "gold" %}🥇 Gold quality
{%- endif -%} + {% if page.ha_quality_scale == "platinum" %}🏆 Platinum quality
{%- endif -%} + {% if page.ha_quality_scale == "internal" %}🏠 Internal integration
{%- endif -%} + {% if page.ha_quality_scale == "legacy" %}💾 Legacy integration
{%- endif -%} + {% if page.ha_quality_scale == "custom" %}📦 Custom integration
{%- endif -%}
{%- endif -%} From 8c28fde4fd4c440289f496f23e174f02905b9dea Mon Sep 17 00:00:00 2001 From: Duco Sebel <74970928+DCSBL@users.noreply.github.com> Date: Thu, 28 Nov 2024 17:01:57 +0100 Subject: [PATCH 007/123] Update removal instructions for HomeWizard (#36041) --- source/_integrations/homewizard.markdown | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_integrations/homewizard.markdown b/source/_integrations/homewizard.markdown index 118d6219f96..187ef1a3703 100644 --- a/source/_integrations/homewizard.markdown +++ b/source/_integrations/homewizard.markdown @@ -98,10 +98,6 @@ The HomeWizard Energy devices are designed to work with the HomeWizard Energy ap Cloud communication is restored when the switch is turned on again. Cloud communications are also restored after a factory reset, or when the device is put in pairing mode. -{% include integrations/remove_device_service.md %} - -After deleting the integration, go to the HomeWizard Energy app and disable the local API if no other integrations are using it. - ## Examples ### Send a notification when your washing machine is done @@ -136,3 +132,11 @@ It may happen that you can't find your devices or they won't show up in the inte - Make sure you have updated the device to the latest firmware. Follow this guide to learn how to update your device: [How do I check if I have the latest software on my HomeWizard product?](https://helpdesk.homewizard.com/en/articles/9167578-how-do-i-check-if-i-have-the-latest-software-on-my-homewizard-product) - Make sure you have enabled the local API in device settings via the HomeWizard Energy app. - Make sure both Home Assistant and the device are on the same network. + +## Remove integration + +This integration follows standard integration removal. + +{% include integrations/remove_device_service.md %} + +After deleting the integration, go to the HomeWizard Energy app and disable the local API if no other integrations are using it. From bb8f8dd862c5840659701a1b79b63cb685d5acf9 Mon Sep 17 00:00:00 2001 From: Richard Kroegel <42204099+rikroe@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:01:47 +0100 Subject: [PATCH 008/123] Add documention for BMW captcha during config flow (#36032) Co-authored-by: Franck Nijhof --- source/_integrations/bmw_connected_drive.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_integrations/bmw_connected_drive.markdown b/source/_integrations/bmw_connected_drive.markdown index 5ab08d0bd65..921500be0ec 100644 --- a/source/_integrations/bmw_connected_drive.markdown +++ b/source/_integrations/bmw_connected_drive.markdown @@ -60,6 +60,15 @@ This integration provides the following platforms: Enable the `BMW Connected Drive` integration via **Settings** -> **Devices & Services**. +{% important %} +The `North America` and `Rest of world` regions require a captcha challenge to be solved, i.e. you need to verify that you are a human. +After entering your login data, a second step will ask for a `Captcha token` and provide you with a link to a website. +Please open this link, solve the "are you a human?" challenge and press `Submit`. +Copy the resulting token into Home Assistant and continue. + +No data of your Home Assistant instance is shared with any third party during this step. +{% endimportant %} + {% note %} For `china`, it is mandatory to prefix your username/phone number with `86`, i.e. `8612345678`. {% endnote %} From a4923de0ea2f080f26c041acb08d8d59787e1d76 Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Fri, 29 Nov 2024 21:32:23 -0800 Subject: [PATCH 009/123] Support media source in image upload (#36065) --- source/_integrations/image_upload.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_integrations/image_upload.markdown b/source/_integrations/image_upload.markdown index 7bb4d212467..89f71e13258 100644 --- a/source/_integrations/image_upload.markdown +++ b/source/_integrations/image_upload.markdown @@ -2,6 +2,7 @@ title: Image upload description: The image upload integration handle image assets in Home Assistant. ha_category: + - Media source - Other ha_release: 0.115 ha_codeowners: @@ -14,6 +15,8 @@ ha_integration_type: system The **Image upload** {% term integration %} allows Home Assistant to handle image assets in Home Assistant, for example, the profile photos of your systems account. +Uploaded images are also viewable in the media browser. + ## Configuration This integration is by default enabled, unless you've disabled or removed the From 989c324ea5970f138b2b1cc4c87ca95fe91fc7ed Mon Sep 17 00:00:00 2001 From: Andy <4983703+krauseerl@users.noreply.github.com> Date: Sat, 30 Nov 2024 20:34:26 +0100 Subject: [PATCH 010/123] Add support for linked doorbell sensor to HomeKit Bridge locks (#36068) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Klaas Schoute Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: Åke Strandberg Co-authored-by: J. Nick Koston --- source/_integrations/homekit.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index 815550f059c..0d8c72b7bf3 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -160,7 +160,7 @@ homekit: required: false type: string linked_doorbell_sensor: - description: The `entity_id` of a `binary_sensor` or `event` entity to use as the doorbell sensor of the camera accessory to enable doorbell notifications. + description: The `entity_id` of a `binary_sensor` or `event` entity to use as the doorbell sensor of a `lock` or `camera` accessory to enable doorbell notifications. required: false type: string linked_humidity_sensor: @@ -421,7 +421,7 @@ The following integrations are currently supported: | fan | Fan | All fans that support `speed` and `speed_list` through value mapping: `speed_list` is assumed to contain values in ascending order. The numeric ranges of HomeKit map to a corresponding entry of `speed_list`. The first entry of `speed_list` should be equivalent to `off` to match HomeKit's concept of fan speeds. (Example: `speed_list` = [`off`, `low`, `high`]; `off` -> `<= 33`; `low` -> between `33` and `66`; `high` -> `> 66`) | | humidifier | HumidifierDehumidifier | Humidifier and Dehumidifier devices. | | light | Light | Support for `on / off`, `brightness` and `rgb_color`. | -| lock | DoorLock | Support for `lock / unlock`. | +| lock | DoorLock | Support for `lock / unlock`. A doorbell event / sensor can be linked with `linked_doorbell_sensor`. | | media_player | MediaPlayer | Represented as a series of switches which control `on / off`, `play / pause`, `play / stop`, or `mute` depending on `supported_features` of entity and the `mode` list specified in `entity_config`. | | media_player | TelevisionMediaPlayer | All media players that have `tv` as their `device_class`. Represented as Television and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. | | media_player | ReceiverMediaPlayer | All media players that have `receiver` as their `device_class`. Represented as Receiver and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. | From fe3a55b815b40337741fa7f4d70b03736c694844 Mon Sep 17 00:00:00 2001 From: "Glenn Vandeuren (aka Iondependent)" Date: Sun, 1 Dec 2024 12:24:37 +0100 Subject: [PATCH 011/123] Update niko_home_control.markdown (#35305) --- .../_integrations/niko_home_control.markdown | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/source/_integrations/niko_home_control.markdown b/source/_integrations/niko_home_control.markdown index 7d70318d816..f3b9cd7fbf6 100644 --- a/source/_integrations/niko_home_control.markdown +++ b/source/_integrations/niko_home_control.markdown @@ -1,6 +1,7 @@ --- title: Niko Home Control description: Instructions on how to integrate Niko Home Control lights into Home Assistant. +ha_config_flow: true ha_category: - Light ha_iot_class: Local Polling @@ -16,21 +17,4 @@ related: The `niko_home_control` {% term integration %} allows you to integrate your [Niko Home Control](https://www.niko.eu/enus/products/niko-home-control) into Home Assistant. -## Configuration - -To enable this lights, add the following lines to your {% term "`configuration.yaml`" %} file. -{% include integrations/restart_ha_after_config_inclusion.md %} - -```yaml -# Example configuration.yaml entry -light: - - platform: niko_home_control - host: IP_ADDRESS -``` - -{% configuration %} -host: - description: The IP address of the Niko Home light. - required: false - type: string -{% endconfiguration %} +{% include integrations/config_flow.md %} From 534d3008ffd20d5f071c288ecc0bbfeec01272d5 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 2 Dec 2024 14:09:58 +0100 Subject: [PATCH 012/123] Remove Spotify sensors (#36099) --- source/_integrations/spotify.markdown | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/source/_integrations/spotify.markdown b/source/_integrations/spotify.markdown index af686b8ea09..73d0e20c6ac 100644 --- a/source/_integrations/spotify.markdown +++ b/source/_integrations/spotify.markdown @@ -15,7 +15,6 @@ ha_zeroconf: true ha_platforms: - diagnostics - media_player - - sensor ha_integration_type: service --- @@ -154,19 +153,3 @@ The `media_content_id` value can be obtained from the Spotify desktop app by cli ## Unsupported devices - **Sonos**: Although Sonos is a Spotify Connect device, it is not supported by the official Spotify API. - -## Sensors - -Spotify provides sensors that display information about the song that is currently being played. The following sensors are available: - -- **Song acousticness**: Indicates how much the sound is free from electronic modification. 100% indicates it not electronically modified. -- **Song danceability**. In percent. Describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. The higher the value, the more danceable. -- **Song energy**. In percent. A measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy. A higher number means more energetic. -- **Song instrumentalness**: In percent. Describes whether a track contains no vocals. “Ooh” and “aah” sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly “vocal”. The higher the value the more instrumental the song is. -- **Song key**: The estimated overall key of the track. If no key was detected, the value is unknown. For example, C sharp or E flat. -- **Song liveness**: In percent. Describes the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live. -- **Song mode**: The modality (major or minor) of a song. -- **Song speechiness**: In percent. Describes the presence of spoken words in a song. The more exclusively speech-like the recording (for example, talk show, audio book, poetry), the higher the value. -- **Song tempo**: The speed of the piece of music that is currently playing, in beats per minute (bpm). -- **Song time signature**: The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). For example: 4/4, 6/8. -- **Song valence**. In percent. Tracks with high valence sound more positive (happy, cheerful, euphoric), while tracks with low valence sound more negative (sad, depressed, angry). \ No newline at end of file From e19a69f703d6c2bd268b5b7870c6b2cd3ad016a4 Mon Sep 17 00:00:00 2001 From: Jan-Philipp Benecke Date: Tue, 3 Dec 2024 07:37:03 +0100 Subject: [PATCH 013/123] Add new shortcut for Assist dialog (#36107) * Add new shortcut for Assist dialog * Explain assist * tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_docs/tools/quick-bar.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/_docs/tools/quick-bar.markdown b/source/_docs/tools/quick-bar.markdown index df86c08417d..79f52c37dfc 100644 --- a/source/_docs/tools/quick-bar.markdown +++ b/source/_docs/tools/quick-bar.markdown @@ -21,6 +21,7 @@ Type these from anywhere in the application to launch the dialog. | Entity Filter | `e` | Type `>` at start of input to switch to command palette. | Command Palette | `c` | Remove `>` from start of input to switch to entity filter. | Create [`my`](/integrations/my) link | `m` | Open a new tab to create a my link to the page you are on. +| Assist | `a` | Open the Home Assistant Assist dialog. {% important %} The application must have focus for the hotkey to register. If the dialog doesn't launch, try clicking into an empty part of the main content area of Home Assistant and type it again. @@ -66,6 +67,15 @@ Type | Available | Create [`my`](/integrations/my) links from any supported page in the user interface, when invoked on a supported page it will open a new tab that will allow you to share the link in different formats. +## Assist + +*Hotkey: `a`* + +Opens the Assist dialog to interact with Home Assistant using your voice or by text. +This feature is only available if you have set up a voice assistant. + +Learn more about [voice assistants](/voice_control). + ## Disabling shortcuts You can enable or disable all of Home Assistant's keyboard shortcuts by going to your User Profile and clicking the "Keyboard Shortcuts" toggle button. From 9ce6167471ff13ab4a8c1beadf8860ba4c11af12 Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Tue, 3 Dec 2024 07:41:29 +0100 Subject: [PATCH 014/123] Add descriptions for device settings in IronOS integration (#36071) * Add descriptions for device settings in IronOS integration * corrections * tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/iron_os.markdown | 35 ++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/source/_integrations/iron_os.markdown b/source/_integrations/iron_os.markdown index 86d3c097335..c70b1659b43 100644 --- a/source/_integrations/iron_os.markdown +++ b/source/_integrations/iron_os.markdown @@ -49,4 +49,37 @@ The **IronOS** {% term integration %} seamlessly connects Home Assistant with PI ## Update -- **Firmware:** The update entity indicates if the firmware is up-to-date or if there is a newer IronOS version available for your device. For more information on how to update your device, please refer to the [IronOS documentation](https://ralim.github.io/IronOS/). \ No newline at end of file +- **Firmware:** The update entity indicates if the firmware is up-to-date or if there is a newer IronOS version available for your device. For more information on how to update your device, please refer to the [IronOS documentation](https://ralim.github.io/IronOS/). + +## Device settings and configuration + +The following controls allow you to customize the settings and options for your soldering device. Some controls are deactivated by default, as they are either advanced settings, less critical, or usually do not require adjustment. + +### Basic settings + +- **Boost temperature:** Sets the temperature for boost mode, which temporarily overrides the soldering temperature when the front button is held down. +- **Sleep temperature:** The temperature the device drops to after a specified period of inactivity (no movement or button presses). +- **Sleep timeout:** The duration of inactivity required before the device enters sleep mode and drops to the sleep temperature. + +- **Long-press temperature step:** The temperature adjustment increment when holding down a button. Defaults to 10°. +- **Short-press temperature step:** The temperature adjustment increment when briefly pressing a button. Defaults to 1°. +- **Motion sensitivity:** Controls how sensitive the device is to movement. Higher values increase sensitivity (for example, 0 = motion detection is off). +- **Hall effect sensitivity:** Configures the sensitivity of the hall effect sensor (if present) for detecting a magnet to activate sleep mode. +- **Display brightness:** Adjusts the brightness of the soldering iron's display. + +### Power management + +- **Keep-awake pulse duration:** Specifies the duration of the power pulse to keep connected power banks awake. Shorter durations minimize power waste and unnecessary heating. +- **Keep-awake pulse delay:** Adjusts the interval between power pulses. Longer delays reduce unwanted heating, but must be short enough to prevent the power bank from shutting off. +- **Keep-awake pulse intensity:** Enables and sets the wattage of the power pulse. The power pulse briefly activates the heater to draw sufficient power, preventing connected power banks from entering sleep mode. +- **Min. voltage per cell:** Sets the minimum voltage per battery cell before shutdown. This value is multiplied by the cell count (for example, 3S: 3–3.7V, 4–6S: 2.4–3.7V). +- **Power Delivery timeout:** Defines how long the firmware will attempt to negotiate USB-PD before switching to Quick Charge. Lower values are recommended for faster PD negotiation. +- **Power limit:** Sets a custom wattage cap for the device to maintain the **average** power below this value. Note: Peak power cannot be controlled. When using USB-PD, the limit will be the lower of this setting and the power supply's advertised wattage. +- **Quick Charge voltage:** Adjusts the maximum voltage for Quick Charge negotiation. Does not affect USB-PD. Ensure the setting aligns with the current rating of your power supply for safety. + +### Advanced settings + +These settings are intended for technically experienced users and require careful consideration before changes. + +- **Voltage divider:** Fine-tunes the measured voltage to account for variations in the voltage sense resistors between units. +- **Calibration offset:** Adjusts the calibration of the thermocouple measurements, which determine the temperature displayed for the tip. From 71d9ee3068e94ef2a4840dabbdc0e9c9a1fe3fc9 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Tue, 3 Dec 2024 10:50:18 +0100 Subject: [PATCH 015/123] Rename 'Reolink IP NVR/camera' to 'Reolink' (#36118) --- source/_integrations/reolink.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index a1769f86b37..47c7e70d1f8 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -1,5 +1,5 @@ --- -title: Reolink IP NVR/camera +title: Reolink description: Instructions on how to integrate Reolink devices (NVR/cameras) into Home Assistant. ha_category: - Doorbell From 9bb982791a10e78605a131f7355b71783839b43a Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 4 Dec 2024 00:36:01 +0100 Subject: [PATCH 016/123] Add Powerfox integrations docs (#35997) --- source/_integrations/powerfox.markdown | 76 ++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 source/_integrations/powerfox.markdown diff --git a/source/_integrations/powerfox.markdown b/source/_integrations/powerfox.markdown new file mode 100644 index 00000000000..58e7674deb7 --- /dev/null +++ b/source/_integrations/powerfox.markdown @@ -0,0 +1,76 @@ +--- +title: Powerfox +description: Instructions on how to integrate Powerfox within Home Assistant. +ha_category: + - Energy + - Sensor +ha_release: 2025.1 +ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@klaasnicolaas' +ha_domain: powerfox +ha_platforms: + - sensor +ha_integration_type: integration +--- + +The **Powerfox** {% term integration %} allows you to gather data from your [Poweropti](https://shop.powerfox.energy/collections/frontpage) devices, by using their cloud API and fetch the data in Home Assistant. + +[Powerfox](https://www.powerfox.energy/) is a German company that provides smart meters (Poweropti) for reading electricity, water, gas, and heat. They have their own cloud platform where you can monitor the usage of your devices and get insights into your energy consumption. + +{% include integrations/config_flow.md %} + +{% configuration_basic %} +Email: + description: The email address of your Powerfox account. +Password: + description: The password of your Powerfox account. +{% endconfiguration_basic %} + +## Poweropti devices + +Not all Poweropti devices are supported currently. Check the list below to see if your device is working with this integration. Create a [feature request](/help/) if your device is not supported yet. + +| Device | Type | Supported | +| --------------------- | ----------- | ---------- | +| PA 201901 / PA 201902 | Power meter | Yes | +| PB 202001 | Power meter | Not tested | +| WA 201902 | Water meter | Yes | +| Powerfox FLOW | Gas meter | No | +| HA 201902 | Heat meter | No | + +## Data updates + +The integration will poll the Powerfox API every 5 minutes to update the data in Home Assistant. + +## Sensors + +The Powerfox platform mainly provides sensors that you can use in your [energy dashboard](/energy). + +## Power meter + +It will create the following sensors: + +- **Power (W)**: Active power that is measured. +- **Energy usage (kWh)**: How much energy is used since the installation. +- **Energy usage - low tariff (kWh)**: Energy usage on the low tariff. +- **Energy usage - high tariff (kWh)**: Energy usage on the high tariff. +- **Energy returned (kWh)**: Energy returned to the grid. + +{% note %} +The energy tariff sensors are only available if your Poweropti device supports it. +{% endnote %} + +## Water meter + +It will create the following sensors: + +- **Cold water (m³)**: How much cold water is used. +- **Warm water (m³)**: How much warm water is used. + +## Remove integration + +This integration follows standard integration removal, no extra steps are required. + +{% include integrations/remove_device_service.md %} From 185d31b5457d189b9dc55b66017dd3862a21679b Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Wed, 4 Dec 2024 16:37:31 +0100 Subject: [PATCH 017/123] Fix codeowner in Music Assistant (#36152) --- CODEOWNERS | 1 + source/_integrations/music_assistant.markdown | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index fa637d18601..34d22c20d53 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -541,6 +541,7 @@ source/_integrations/motioneye.markdown @dermotduffy source/_integrations/mqtt.markdown @emontnemery @jbouwh @bdraco source/_integrations/msteams.markdown @peroyvind source/_integrations/mullvad.markdown @meichthys +source/_integrations/music_assistant.markdown @music-assistant source/_integrations/mutesync.markdown @currentoor source/_integrations/my.markdown @home-assistant/core source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer diff --git a/source/_integrations/music_assistant.markdown b/source/_integrations/music_assistant.markdown index 63adcdf32c7..969e26de824 100644 --- a/source/_integrations/music_assistant.markdown +++ b/source/_integrations/music_assistant.markdown @@ -7,7 +7,7 @@ ha_release: 2024.12 ha_iot_class: Local Push ha_config_flow: true ha_codeowners: - - '@music_assistant' + - '@music-assistant' ha_domain: music_assistant ha_platforms: - media_player From 33c01d72d551e39b113c04ef1eeb7ebbc6ed521e Mon Sep 17 00:00:00 2001 From: G Johansson Date: Fri, 6 Dec 2024 21:54:10 +0100 Subject: [PATCH 018/123] Remove simulated integration (#36109) --- source/_integrations/simulated.markdown | 109 ------------------------ source/_redirects | 1 + 2 files changed, 1 insertion(+), 109 deletions(-) delete mode 100644 source/_integrations/simulated.markdown diff --git a/source/_integrations/simulated.markdown b/source/_integrations/simulated.markdown deleted file mode 100644 index 38de30ef4f3..00000000000 --- a/source/_integrations/simulated.markdown +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: Simulated -description: Integration for simulating a numerical sensor. -ha_category: - - Sensor - - Utility -ha_iot_class: Local Polling -ha_release: 0.65 -ha_quality_scale: internal -ha_domain: simulated -ha_platforms: - - sensor -ha_integration_type: integration ---- - -{% warning %} -The `simulated` integration has been deprecated and will be removed in 2025.1 -{% endwarning %} - -The `simulated` sensor platform provides a simulated sensor that generates a time-varying signal `V(t)` given by the [function](https://en.wikipedia.org/wiki/Sine_wave): - -```text -V(t) = M + A sin((2 pi (t - t_0) / w) + P) + N(s) -``` - -where: - -- **M** = the [mean](https://en.wikipedia.org/wiki/Mean) value of the sensor -- **A** = the [amplitude](https://en.wikipedia.org/wiki/Amplitude) of the periodic contribution -- **t** = the time when a value is generated -- **t_0** = the time when the sensor is started -- **w** = the time [period](https://en.wikipedia.org/wiki/Periodic_function) in seconds for a single complete cycle of the periodic contribution -- **P** = the [phase](https://en.wikipedia.org/wiki/Phase_(waves)) offset to add to the periodic contribution, in units of degrees -- **N(s)** = the random [Gaussian noise](https://en.wikipedia.org/wiki/Gaussian_noise) with spread **s** - -The output will be limited to 3 decimals. - -## Configuration - -To add a simulated sensor to your installation, add the following to your {% term "`configuration.yaml`" %} file: - -```yaml -sensor: - - platform: simulated -``` - -{% configuration %} -name: - description: The name of the sensor. - required: false - default: simulated - type: string -unit: - description: The unit to apply. - required: false - default: value - type: string -amplitude: - description: The amplitude of periodic contribution. - required: false - default: 1 - type: float -mean: - description: The mean level of the sensor. - required: false - default: 0 - type: float -period: - description: The time in seconds for one complete oscillation of the periodic contribution. - required: false - default: 0 - type: integer -phase: - description: The phase offset (in degrees) to apply to the periodic component. - required: false - default: 0 - type: float -seed: - description: The [seed](https://docs.python.org/3.6/library/random.html#random.seed) value for the random noise component. - required: false - default: 999 - type: integer -spread: - description: The spread is the range of the randomly distributed values about their mean. This is sometimes referred to as the Full Width at Half Maximum ([FWHM](https://en.wikipedia.org/wiki/Full_width_at_half_maximum)) of the random distribution. - required: false - default: None - type: float -relative_to_epoch: - description: Whether to simulate from epoch time (00:00:00, 1970-01-01), or relative to when the sensor was started. - required: false - default: true - type: boolean -{% endconfiguration %} - -## Example - -To give an example of simulating real world data, a simulated relative humidity sensor (in %) can be added using the following configuration: - -```yaml -sensor: - - platform: simulated - name: "simulated relative humidity" - unit: "%" - amplitude: 0 # Turns off the periodic contribution - mean: 50 - spread: 10 - seed: 999 - relative_to_epoch: false -``` diff --git a/source/_redirects b/source/_redirects index 446b9c72b6c..4236b2d82a1 100644 --- a/source/_redirects +++ b/source/_redirects @@ -612,6 +612,7 @@ layout: null /integrations/shiftr /more-info/removed-integration 301 /integrations/sht31 /more-info/removed-integration 301 /integrations/simple_alarm /more-info/removed-integration 301 +/integrations/simulated /more-info/removed-integration 301 /integrations/smarthab /more-info/removed-integration 301 /integrations/sochain /more-info/removed-integration 301 /integrations/socialblade /more-info/removed-integration 301 From 126f004c316952f5d7d259096429d1e9923dafe5 Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Fri, 6 Dec 2024 22:59:01 +0100 Subject: [PATCH 019/123] Fix typo in Habitica docs (#36123) * Fix typo in Habitica docs * fix --- source/_integrations/habitica.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown index ef05d587f8d..e99d13b64df 100644 --- a/source/_integrations/habitica.markdown +++ b/source/_integrations/habitica.markdown @@ -87,8 +87,8 @@ Verify SSL certificate: - **Mana**: Displays the current mana points of your character (for example, "61 MP"). - **Max. mana**: Indicates the maximum mana points your character can have at the current level (for example, "70 MP"). - **Next level**: Indicates the remaining experience points needed to reach the next level (for example, "440 XP"). -- **Ha Dispbits**: Shows the number of habits being tracked (for example, "4 tasks"). -- **Rewards**:lays the rewards that can be redeemed (for example, "1 task") +- **Habits**: Shows the number of habits being tracked (for example, "4 tasks"). +- **Rewards**: Displays the rewards that can be redeemed (for example, "1 task") - **Gems**: Shows the total number of gems currently owned by your Habitica character, used for purchasing items and customizations. - **Mystic hourglasses**: Displays the number of mystic hourglasses earned as a subscriber, which can be redeemed for exclusive items from past events. - **Strength, intelligence, constitution, perception**: Display your character's attribute points (stats). The sensors' attributes provide a breakdown of contributions from level, battle gear, class equip bonus, allocation, and buffs. From a92924c30112c1b34fe83950dbaabb077e8f3e09 Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Sat, 7 Dec 2024 08:11:22 +1000 Subject: [PATCH 020/123] Remove default OAuth implementation and add Pay Per Use to Tesla Fleet (#36184) --- source/_integrations/tesla_fleet.markdown | 26 +++++++++++++---------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/source/_integrations/tesla_fleet.markdown b/source/_integrations/tesla_fleet.markdown index 3c5a1c507c6..65f08a5816b 100644 --- a/source/_integrations/tesla_fleet.markdown +++ b/source/_integrations/tesla_fleet.markdown @@ -37,30 +37,34 @@ ha_quality_scale: gold ha_integration_type: integration --- -The Tesla Fleet API {% term integration %} exposes various sensors from Tesla vehicles and energy sites. +The Tesla Fleet API {% term integration %} exposes various sensors from Tesla vehicles and energy sites using the [Tesla Fleet API](https://developer.tesla.com/). ## Prerequisites -You must have a [Tesla](https://tesla.com) account and a Tesla vehicle, PowerWall, Solar, or Wall Connector, and must not have disabled the [My Home Assistant](/integrations/my/) integration. +You must have a [Tesla](https://tesla.com) account, and a [Developer Application](https://developer.tesla.com/en_AU/dashboard). -{% details "Use a custom OAuth application" %} +### Developer Application -The integration has a built-in OAuth application that will be suitable for most users. However, you can [create your own application](https://developer.tesla.com/docs/fleet-api/getting-started/what-is-fleet-api#step-2-create-an-application) for the Tesla Fleet API and configure it as an [application credential](https://my.home-assistant.io/redirect/application_credentials). +You must [create your own application](https://developer.tesla.com/docs/fleet-api/getting-started/what-is-fleet-api#step-2-create-an-application) for the Tesla Fleet API and configure it as an [application credential](https://my.home-assistant.io/redirect/application_credentials). When creating the application, you must set the redirect URL to `https://my.home-assistant.io/redirect/oauth`, but the other URLs can be set as desired. You must also complete both [step 3](https://developer.tesla.com/docs/fleet-api/getting-started/what-is-fleet-api#step-3-generate-a-public-private-key-pair) and [step 4](https://developer.tesla.com/docs/fleet-api/getting-started/what-is-fleet-api#step-4-call-the-register-endpoint) before the application will be able to make API calls. -You will be prompted to pick your custom application credential when creating a Tesla Fleet config entry. - -{% enddetails %} - {% include integrations/config_flow.md %} ## Scopes -When connecting your Tesla account to Home Assistant, you **must** select the `Vehicle Information` or `Energy Product Information` scope. It is recommended you select all scopes for full functionality. +When connecting your Tesla account to Home Assistant, you **must** select the `Vehicle Information` or `Energy Product Information` scope. It is recommended you select all scopes for full functionality. The `Vehicle Location` scope was added in Home Assistant 2024.1, so any authorizations performed on previous releases that want this scope will need to be [modified](https://accounts.tesla.com/en_au/account-settings/security?tab=tpty-apps). -## Rate limits +## Pay per use + +Previously, Tesla restricted this integration to a very modest rate limit. However, from January 2025, accounts in eligible countries will be charged for every API call. Here's what you need to know: -Tesla restricts open-source integrations to the ["Discovery" plan](https://developer.tesla.com/docs/fleet-api/getting-started/subscription-plans) which only allows for 200 vehicle data requests per day. The integration will initially poll every 90 seconds, making vehicle data requests only when the vehicle is awake, and then dynamically slow down polling based on how many vehicle data requests have been made in the last 24 hours. +- Tesla provides a $10 credit per developer account per calandar month +- Every vehicle coordinator refresh, vehicle command, and wake up has a cost +- This credit only allows for a maximum of 5000 coordinator refreshes +- Energy product APIs are free to use at this time +- To go beyond the free credit, you must provide payment details to Tesla + +For more details please see [developer.tesla.com](https://developer.tesla.com). ## Command signing From 42dd608f8547bab25993d3aefb63998a79065d74 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 9 Dec 2024 08:30:22 +0100 Subject: [PATCH 021/123] Remove Stookalert integration (#36238) --- source/_integrations/stookalert.markdown | 22 ---------------------- source/_redirects | 1 + 2 files changed, 1 insertion(+), 22 deletions(-) delete mode 100644 source/_integrations/stookalert.markdown diff --git a/source/_integrations/stookalert.markdown b/source/_integrations/stookalert.markdown deleted file mode 100644 index 661a28ed48a..00000000000 --- a/source/_integrations/stookalert.markdown +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: RIVM Stookalert -description: Instructions on how to use Stookalert data within Home Assistant -ha_category: - - Binary sensor - - Environment -ha_release: 0.104 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@fwestenberg' - - '@frenck' -ha_domain: stookalert -ha_config_flow: true -ha_platforms: - - binary_sensor - - diagnostics -ha_integration_type: service ---- - -The Stookalert integration queries the [RIVM Stookalert](https://www.rivm.nl/stookalert) API for unfavorable weather conditions or poor air quality. With a Stookalert, the RIVM calls on people not to burn wood. This can prevent health problems in people in the area. - -{% include integrations/config_flow.md %} diff --git a/source/_redirects b/source/_redirects index 4236b2d82a1..c7e9dc81ba7 100644 --- a/source/_redirects +++ b/source/_redirects @@ -620,6 +620,7 @@ layout: null /integrations/spider /more-info/removed-integration 301 /integrations/spotcrime /more-info/removed-integration 301 /integrations/srp_energy /more-info/removed-integration 301 +/integrations/stookalert /more-info/removed-integration 301 /integrations/synology /more-info/removed-integration 301 /integrations/sytadin /more-info/removed-integration 301 /integrations/tahoma /more-info/removed-integration 301 From 1f1f68f6f6951c635103f17d60328b628aff1fd5 Mon Sep 17 00:00:00 2001 From: David Rapan Date: Mon, 9 Dec 2024 17:11:23 +0100 Subject: [PATCH 022/123] Mention power and energy consumption in docs (#36241) --- source/_integrations/starlink.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/starlink.markdown b/source/_integrations/starlink.markdown index a6a1319420b..e4bd7d0b9f0 100644 --- a/source/_integrations/starlink.markdown +++ b/source/_integrations/starlink.markdown @@ -42,6 +42,8 @@ The Starlink integration allows you to integrate your [Starlink](https://www.sta - Uplink throughput - The amount of data being uploaded through Starlink - Downlink throughput - The amount of data being downloaded through Starlink - Last boot time - The time Starlink was last turned on +- Power - Last measured power [W] +- Energy - Measured energy consumption since reboot [kWh] ### Binary sensor From d172380052148817d91e3f9ea02775a7d5e2c0c1 Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Mon, 9 Dec 2024 23:34:24 +0100 Subject: [PATCH 023/123] Add binary sensors to IronOS integration (#36070) Co-authored-by: Franck Nijhof --- source/_integrations/iron_os.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/iron_os.markdown b/source/_integrations/iron_os.markdown index c70b1659b43..449a13b685d 100644 --- a/source/_integrations/iron_os.markdown +++ b/source/_integrations/iron_os.markdown @@ -5,6 +5,7 @@ ha_category: - Number - Sensor - Update + - Binary sensor ha_iot_class: Local Polling ha_release: 2024.8 ha_config_flow: true @@ -16,6 +17,7 @@ ha_platforms: - number - sensor - update + - binary_sensor --- The **IronOS** {% term integration %} seamlessly connects Home Assistant with PINE64's Pinecil V2 soldering irons, allowing for remote monitoring and control. This integration provides real-time updates on temperature, power, and various other settings and diagnostic information. @@ -30,6 +32,10 @@ The **IronOS** {% term integration %} seamlessly connects Home Assistant with PI - **Setpoint temperature:** Allows to set the desired target temperature for the soldering iron tip. +## Binary sensors + +- **Soldering tip:** Indicates whether a soldering tip is currently connected to the device. + ## Sensors - **Tip temperature:** Monitors the current temperature of the soldering iron tip. From a86f084ee1f473ef415a0cd0c577479b98ad6056 Mon Sep 17 00:00:00 2001 From: dotvav Date: Mon, 9 Dec 2024 23:35:00 +0100 Subject: [PATCH 024/123] Add combustion power documentation on the Palazzetti integration (#36043) --- source/_integrations/palazzetti.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/_integrations/palazzetti.markdown b/source/_integrations/palazzetti.markdown index e84b4cf6a0a..c9851ee13fb 100644 --- a/source/_integrations/palazzetti.markdown +++ b/source/_integrations/palazzetti.markdown @@ -37,10 +37,14 @@ This integration supports the following actions (see [Climate](/integrations/cli - `off` to turn the stove off - [`set_fan_mode`](/integrations/climate/#action-climateset_fan_mode) - `Silent` let the stove run in silent mode - - `1`, `2`, `3`, `4`, `5` increasing fan speeds + - `1` to `5` increasing fan speeds - `High` the highest available fan speed - `Auto` let the stove set the optimal fan speed +## Numbers + +The Palazzetti integration offers control over the combustion power of the stove on a scale from `1` to `5`. + ## Sensors The Palazzetti integration offers the following sensors, for the products that provide them: @@ -53,4 +57,4 @@ The Palazzetti integration offers the following sensors, for the products that p - Hydro temperature 1 (°C) - Hydro temperature 2 (°C) - Pellet quantity (kg) -- Pellet level (cm) \ No newline at end of file +- Pellet level (cm) From e232742dbebabae75a9bd4b79a5b89dab058b615 Mon Sep 17 00:00:00 2001 From: Jan-Philipp Benecke Date: Mon, 9 Dec 2024 23:35:46 +0100 Subject: [PATCH 025/123] Add new shortcut for device filter (#36106) --- source/_docs/tools/quick-bar.markdown | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/source/_docs/tools/quick-bar.markdown b/source/_docs/tools/quick-bar.markdown index 79f52c37dfc..ec7dceb3024 100644 --- a/source/_docs/tools/quick-bar.markdown +++ b/source/_docs/tools/quick-bar.markdown @@ -18,8 +18,9 @@ Type these from anywhere in the application to launch the dialog. | Mode | Hotkey | Switch Modes | ------------- | ------------- | ------------- | -| Entity Filter | `e` | Type `>` at start of input to switch to command palette. +| Entity Filter | `e` | Type `>` at start of input to switch to command palette. Type `#` at start of input to switch to device filter. | Command Palette | `c` | Remove `>` from start of input to switch to entity filter. +| Device Filter | `d` | Remove `#` from start of input to switch to entity filter. | Create [`my`](/integrations/my) link | `m` | Open a new tab to create a my link to the page you are on. | Assist | `a` | Open the Home Assistant Assist dialog. @@ -42,6 +43,17 @@ Once launched, start typing your entity id (or ["bits and pieces" of your entity This is helpful when, say, you are in the middle of writing an automation and need some quick insight about an entity but don't want to navigate away to Developer Tools. +## Device filter + +*Hotkey: `d`* + +Similar to {% my entities title="Settings -> Devices & Services -> Devices" %}, but accessible from anywhere in the frontend. + +Once launched, start typing your device name to get back a filtered list of your devices. Clicking on a device (or hitting `enter` when the desired device is highlighted) will open the selected device detail page. + +This is helpful when you need to quickly access a device's detail page without navigating your way through the menu. + + ## Command palette *Hotkey: `c`* From e30455e62d752d9c87bac648fd434316e4c79054 Mon Sep 17 00:00:00 2001 From: David Rapan Date: Tue, 10 Dec 2024 09:31:42 +0100 Subject: [PATCH 026/123] Mention upload and download usage in docs (#36258) --- source/_integrations/starlink.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/starlink.markdown b/source/_integrations/starlink.markdown index e4bd7d0b9f0..5d9e7762437 100644 --- a/source/_integrations/starlink.markdown +++ b/source/_integrations/starlink.markdown @@ -42,6 +42,8 @@ The Starlink integration allows you to integrate your [Starlink](https://www.sta - Uplink throughput - The amount of data being uploaded through Starlink - Downlink throughput - The amount of data being downloaded through Starlink - Last boot time - The time Starlink was last turned on +- Upload - Total number of bytes uploaded from the user terminal since reboot +- Download - Total number of bytes downloaded to the user terminal since reboot - Power - Last measured power [W] - Energy - Measured energy consumption since reboot [kWh] From db7097a4b510f7042fced98f83c843807f477f1d Mon Sep 17 00:00:00 2001 From: Guido Schmitz Date: Tue, 10 Dec 2024 11:28:19 +0100 Subject: [PATCH 027/123] Remove hint about mydevolo URL (#36269) --- source/_integrations/devolo_home_control.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_integrations/devolo_home_control.markdown b/source/_integrations/devolo_home_control.markdown index 7f15a6ada03..d7559b6e678 100755 --- a/source/_integrations/devolo_home_control.markdown +++ b/source/_integrations/devolo_home_control.markdown @@ -34,8 +34,6 @@ devolo Home Control is a Z-Wave ecosystem with a Z-Wave to IP gateway in the cen {% include integrations/config_flow.md %} -Please do not change the URL provided in the advanced mode unless you know what you are doing. - ## Switches The integration provides support for the following Z-Wave devices: From 026689f328a42e0c87d51f789baa08b615d3ff7f Mon Sep 17 00:00:00 2001 From: farmio Date: Wed, 11 Dec 2024 17:13:37 +0100 Subject: [PATCH 028/123] Add new supported KNX DPT --- source/_integrations/knx.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index c9c1c5fe687..42081d3eea0 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -2016,6 +2016,10 @@ device_class: | 16.000 | string | 14 | ASCII | | | 16.001 | latin_1 | 14 | ISO 8859-1 / Latin-1 | | | 17.001 | scene_number | 1 | 1 ... 64 | | +| 29 | 8byte_signed | 8 | ±9223372036854775807 | | +| 29.010 | active_energy_8byte | 8 | ±9223372036854775807 | Wh | +| 29.011 | apparant_energy_8byte | 8 | ±9223372036854775807 | VAh | +| 29.012 | reactive_energy_8byte | 8 | ±9223372036854775807 | VARh | ### More examples @@ -2295,7 +2299,7 @@ address_day_night: required: false type: [string, list] address_air_pressure: - description: KNX address reading current air pressure. *DPT 9.006* + description: KNX address reading current air pressure. *DPT 9.006 or 14.058* required: false type: [string, list] address_humidity: From 2714d1679c6c174fd3b901af1f282c56095141fa Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Wed, 11 Dec 2024 19:01:33 +0100 Subject: [PATCH 029/123] Add support for Dutch locale on Alexa smart home (#36296) --- source/_integrations/alexa.smart_home.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index f44104a2190..42d6787b4cc 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -323,7 +323,7 @@ alexa: type: map keys: locale: - description: The locale of your Alexa devices. Supported locales are `de-DE`, `en-AU`, `en-CA`, `en-GB`, `en-IN`, `en-US`, `es-ES`, `es-MX`, `fr-CA`, `fr-FR`, `it-IT`, `ja-JP`. See [Alexa Locale](#alexa-locale) for additional information. + description: The locale of your Alexa devices. Supported locales are `de-DE`, `en-AU`, `en-CA`, `en-GB`, `en-IN`, `en-US`, `es-ES`, `es-MX`, `es-US`, `fr-CA`, `fr-FR`, `hi-IN`, `it-IT`, `ja-JP`, `nl-NL` and `pt-BR`. See [Alexa Locale](#alexa-locale) for additional information. required: false type: string default: en-US @@ -416,6 +416,7 @@ The supported locales are: - `hi-IN` - `it-IT` - `ja-JP` +- `nl-NL` - `pt-BR` See [List of Capability Interfaces and Supported Locales][alexa-supported-locales]. From 4c5d3355db0a9cab46485019b3c1084cfdb708e8 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Thu, 12 Dec 2024 20:05:08 +0100 Subject: [PATCH 030/123] Merge current into next for nordpool (#36300) --- source/_integrations/nordpool.markdown | 120 +++++++++++++++++-------- 1 file changed, 84 insertions(+), 36 deletions(-) diff --git a/source/_integrations/nordpool.markdown b/source/_integrations/nordpool.markdown index 101096ab665..48df43c51fd 100644 --- a/source/_integrations/nordpool.markdown +++ b/source/_integrations/nordpool.markdown @@ -12,23 +12,19 @@ ha_codeowners: - '@gjohansson-ST' ha_domain: nordpool ha_platforms: + - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: hub --- The **Nord Pool** {% term integration %} integrates [Nord Pool Group](https://www.nordpoolgroup.com/) energy prices into Home Assistant. The {% term integration %} provides the public market prices displayed on the [Nord Pool Auction page](https://data.nordpoolgroup.com/auction/day-ahead/prices). +Most European energy is traded via the Nord Pool Group marketplace. If your energy provider doesn't have a dedicated Home Assistant integration and you have a spot-price-based contract, you can use the **Nord Pool** {% term integration %}. This integration provides spot prices for your selected market, which you can, as an example, use in a {% term template %} to calculate prices for your [energy dashboard](#energy-dashboard). + {% include integrations/config_flow.md %} -{% tip %} -Only a single configuration entry is supported. Use the reconfigure option from the configuration entry if needed to modify the settings. - -EUR is the base currency for market prices. If you choose another currency, you can find the conversion rate in the `Exchange rate` sensor. -All prices are displayed as `selected_currency/kWh`. -{% endtip %} - {% configuration_basic %} Areas: description: Select one or multiple market areas to create sensors for. @@ -36,60 +32,112 @@ Currency: description: Currency to display prices in. EUR is the base currency in Nord Pool prices. {% endconfiguration_basic %} +{% tip %} +Only a single integration entry is supported. To modify the settings, you can use the reconfigure option from the integration entry. + +EUR is the base currency for market prices. If you choose another currency, you can find the conversion rate in the `Exchange rate` sensor. +All prices are displayed as `[Currency]/kWh`. +{% endtip %} + +## Data fetching and limitations + +Data is polled from the **Nord Pool** API on an hourly basis, exactly on the hour, to ensure the price sensors are displaying the correct price. + +If polling cannot happen because of no connectivity or a malfunctioning API, there is no retry; the next periodic update will try again. + ## Sensors -Each market area will create a device which has the following sensors: +The integration will create entities showing today's energy prices for the configured market area. Only the base energy price is shown. VAT and other additional costs are not included. ### Main sensors -- Current price for the selected area -- Previous price for the selected area -- Next price for the selected area +| Sensor | Type | Description | +| ------------------------- | ----------------- | --------------------------------------------------------------------------------- | +| Current price | [Currency]/kWh | The current (hourly) energy price. | +| Previous price | [Currency]/kWh | The price of the previous hour. | +| Next price | [Currency]/kWh | The price of the next hour. | +| Daily average | [Currency]/kWh | The average of today's energy prices. | -These sensors can be used to calculate your current energy cost, or to help decide whether to charge the battery now or in an hour, etc. +### Peak & off-peak sensors -### Block price sensors +Additional sensors are provided for peak and off-peak blocks. -- Block average -- Block minimum -- Block maximum -- Block start time -- Block end time +- Peak refers to the price of the period from 8am to 8pm. +- Off-peak 1 refers to the price of the time period from midnight to 8am. +- Off-peak 2 refers to the average price of the time period from 8pm to midnight. + +

+ Time blocks +

+ +| Sensor | Type | Description | +| ------------------------------- | ----------------- | --------------------------------------------------------------------------------- | +| [peak/off-peak] highest price | [Currency]/kWh | The hightest hourly price during the given timeframe. | +| [peak/off-peak] lowest price | [Currency]/kWh | The lowest hourly price during the given timeframe. | +| [peak/off-peak] average | [Currency]/kWh | The average price of the given timeframe. | +| [peak/off-peak] time from | Datetime | The start date/time of the given timeframe. | +| [peak/off-peak] time until | Datetime | The end date/time of the given timeframe. | -These sensors show the minimum/maximum and average during certain blocks of the day. More known as off-peak (typically lower price) or peak hours (typically higher price). The block price sensors are not enabled by default. -### Daily average - -- Daily average - -The daily average sensor is not enabled by default. - ### Diagnostic sensors -- Last updated - indicates when the market price was last updated. -- Currency - The selected currency. -- Exchange rate - EUR is the base currency so will show the exchange rate used on the market place. +| Sensor | Type | Description | +| ------------------------- | ----------------- | --------------------------------------------------------------------------------- | +| Currency | [Currency] | The configured currency. | +| Exchange rate | Integer | The exchange rate between the configure currency and Euro's. | +| Last updated | Datetime | The time when the market prices were last updated. | -The `Exchange rate` sensor is not enabled by default. +## Examples -## Example +A template sensor to add VAT and fixed cost is useful to get the actual energy cost in the energy dashboard. -A simple template sensor to add VAT and a fixed cost from an `input_number` entity +### UI Template + +Create a helper using the UI. + +1. Go to {% my integrations title="**Settings** > **Devices & Services**" %} and at the top, choose the **Helpers** tab. +2. In the bottom right corner, select **Create helper**. +3. Select **Template** and **Template a sensor**. +4. Enter the fields as shown below. + +The template below takes the current price attributes, adds 0.1293 EUR as fixed costs and adds 21% VAT. + +

+ Screenshot: Create template sensor +

+ +### YAML Template + +A template sensor to add VAT and a fixed cost from an helper entity `input_number.add_fixed_cost`. {% raw %} ```yaml template: - sensor: - - name: "Full SE3 current price" - unit_of_measurement: "SEK/kWh" + - name: "Nordpool" + unit_of_measurement: "EUR/kWh" state_class: measurement state: > - {% set cost = states('sensor.nord pool_se3_current_price') | float(0) %} + # create a variable with the current price + {% set cost = states('sensor.nord_pool_nl_current_price') | float(0) %} + # create a variable with the additional fixed cost {% set add_cost = states('input_number.add_fixed_cost') | float(0) %} - # Add fixed cost to the spot price and add VAT (25%) + # Add cost and additional fixed cost. Add VAT (25%) by multiplying with 1.25 and round to 2 digits: {{ ((cost + add_cost) * 1.25) | round(2, default=0) }} ``` {% endraw %} + +### Energy Dashboard + +To use the Nordpool integration in the **Energy** dashboard, when configuring grid consumption and production, use the **Use an entity with current price** option. + +

+ Screenshot: Create template sensor +

+ +## Remove the integration + +{% include integrations/remove_device_service.md %} From 23701cef8749a706e18189912ae3410a289424a7 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Thu, 12 Dec 2024 21:06:20 +0100 Subject: [PATCH 031/123] Add data update retries to nordpool (#36318) --- source/_integrations/nordpool.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/nordpool.markdown b/source/_integrations/nordpool.markdown index 48df43c51fd..aed449a442c 100644 --- a/source/_integrations/nordpool.markdown +++ b/source/_integrations/nordpool.markdown @@ -43,7 +43,7 @@ All prices are displayed as `[Currency]/kWh`. Data is polled from the **Nord Pool** API on an hourly basis, exactly on the hour, to ensure the price sensors are displaying the correct price. -If polling cannot happen because of no connectivity or a malfunctioning API, there is no retry; the next periodic update will try again. +If polling cannot happen because of no connectivity or a malfunctioning API, there will be three retries before finally giving up. ## Sensors From 7d1b234f192eda64c6cb442dc62672c32245ebe4 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 13 Dec 2024 01:26:35 +0000 Subject: [PATCH 032/123] Improve Powerfox documentation --- source/_integrations/powerfox.markdown | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/source/_integrations/powerfox.markdown b/source/_integrations/powerfox.markdown index 58e7674deb7..d253c3bea88 100644 --- a/source/_integrations/powerfox.markdown +++ b/source/_integrations/powerfox.markdown @@ -21,6 +21,8 @@ The **Powerfox** {% term integration %} allows you to gather data from your [Pow {% include integrations/config_flow.md %} +### Configuration parameters + {% configuration_basic %} Email: description: The email address of your Powerfox account. @@ -42,13 +44,18 @@ Not all Poweropti devices are supported currently. Check the list below to see i ## Data updates -The integration will poll the Powerfox API every 5 minutes to update the data in Home Assistant. +The integration will update its information by polling Powerfox every +minute. This ensures the data in Home Assistant is up to date. -## Sensors +## Actions + +This integration does not provide additional actions. + +## Supported functionality The Powerfox platform mainly provides sensors that you can use in your [energy dashboard](/energy). -## Power meter +### Power meter It will create the following sensors: @@ -62,15 +69,19 @@ It will create the following sensors: The energy tariff sensors are only available if your Poweropti device supports it. {% endnote %} -## Water meter +### Water meter It will create the following sensors: - **Cold water (m³)**: How much cold water is used. - **Warm water (m³)**: How much warm water is used. +## Troubleshooting + +There are no commonly known issues with this integration. + ## Remove integration -This integration follows standard integration removal, no extra steps are required. +This integration follows standard integration removal. No extra steps are required. {% include integrations/remove_device_service.md %} From ea0a2804cf7ab94ddbf2ac40c8ef82fb409aa0aa Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 13 Dec 2024 09:34:21 +0100 Subject: [PATCH 033/123] Add mWh as unit of measurement (#36310) --- source/_integrations/number.markdown | 4 ++-- source/_integrations/sensor.markdown | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown index eac4a902ba6..6f3536c59a5 100644 --- a/source/_integrations/number.markdown +++ b/source/_integrations/number.markdown @@ -51,8 +51,8 @@ The following device classes are supported for numbers: - **data_rate**: Data rate in bit/s, kbit/s, Mbit/s, Gbit/s, B/s, kB/s, MB/s, GB/s, KiB/s, MiB/s, or GiB/s - **data_size**: Data size in bit, kbit, Mbit, Gbit, B, kB, MB, GB, TB, PB, EB, ZB, YB, KiB, MiB, GiB, TiB, PiB, EiB, ZiB, or YiB - **distance**: Generic distance in km, m, cm, mm, mi, yd, or in -- **energy**: Energy in Wh, kWh, MWh, GWh, TWh, MJ, or GJ -- **energy_storage**: Stored energy in Wh, kWh, MWh, GWh, TWh, MJ, or GJ +- **energy**: Energy in J, kJ, MJ, GJ, mWh, Wh, kWh, MWh, GWh, TWh, cal, kcal, Mcal, or Gcal +- **energy_storage**: Stored energy in J, kJ, MJ, GJ, mWh, Wh, kWh, MWh, GWh, TWh, cal, kcal, Mcal, or Gcal - **frequency**: Frequency in Hz, kHz, MHz, or GHz - **gas**: Gasvolume in m³, ft³, or CCF - **humidity**: Percentage of humidity in the air diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index c258a25ea35..22e8568bfca 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -62,8 +62,8 @@ The following device classes are supported for sensors: - **date**: Date string (ISO 8601) - **distance**: Generic distance in km, m, cm, mm, mi, nmi, yd, or in - **duration**: Duration in d, h, min, s, or ms -- **energy**: Energy in J, kJ, MJ, GJ, Wh, kWh, MWh, cal, kcal, Mcal, or Gcal -- **energy_storage**: Stored energy in J, kJ, MJ, GJ, Wh, kWh, MWh, cal, kcal, Mcal, or Gcal +- **energy**: Energy in J, kJ, MJ, GJ, mWh, Wh, kWh, MWh, GWh, TWh, cal, kcal, Mcal, or Gcal +- **energy_storage**: Stored energy in J, kJ, MJ, GJ, mWh, Wh, kWh, MWh, GWh, TWh, cal, kcal, Mcal, or Gcal - **enum**: Has a limited set of (non-numeric) states - **frequency**: Frequency in Hz, kHz, MHz, or GHz - **gas**: Gasvolume in m³, ft³ or CCF From 8372a0fb7c7f1b656017e5ee48aded9c2fc7d793 Mon Sep 17 00:00:00 2001 From: dontinelli <73341522+dontinelli@users.noreply.github.com> Date: Fri, 13 Dec 2024 15:40:15 +0100 Subject: [PATCH 034/123] Add documentation for slide_local (#36230) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker Co-authored-by: Franck Nijhof --- source/_integrations/slide_local.markdown | 69 ++++++++++++++++++ .../integrations/slide_local/slide-bottom.png | Bin 0 -> 80473 bytes 2 files changed, 69 insertions(+) create mode 100644 source/_integrations/slide_local.markdown create mode 100644 source/images/integrations/slide_local/slide-bottom.png diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown new file mode 100644 index 00000000000..90783cc79ed --- /dev/null +++ b/source/_integrations/slide_local.markdown @@ -0,0 +1,69 @@ +--- +title: Slide Local +description: Instructions on how to integrate the Innovation in Motion Slide covers with Home Assistant. +ha_category: + - Cover +ha_iot_class: Local Polling +ha_release: 2025.1.0 +ha_config_flow: true +ha_codeowners: + - '@dontinelli' +ha_domain: slide_local +ha_platforms: + - cover +ha_integration_type: integration +ha_zeroconf: true +--- + +The Slide Local {% term integration %} allows you to integrate your [Slide](https://slide.store/) devices in Home Assistant using the local API. + +## Supported devices + +The integration should work with all Slide covers (API version 1 and 2). + +## Prerequisites + +Before you can use the integration, you have to make sure the slide is configured for the local API. By default, the Slide connects to the cloud API, but it is possible to use the local API, too (only one of them can be active). To switch between the cloud and local API, do the following: + + Press the reset button 2x + +LED flashes 5x fast: cloud API disabled, local API enabled +LED flashes 2x slow: local API disabled, cloud API enabled + +![screenshot slide bottom](/images/integrations/slide_local/slide_bottom.png) + +{% include integrations/config_flow.md %} + +To setup the integration you need the following information: + +{% configuration_basic %} +hostname: + description: Hostname or IP of the slide device. + required: true + type: string +password: + description: The device code of your Slide (inside of your Slide or in the box, 8 characters). Only required for API 1, with API 2 you can fill in anything here. + required: true + type: string +{% endconfiguration_basic %} + +## Supported functionality + +### Cover + +Your slide device will appear as cover. + +## Data updates + +The integration fetches data from the device every 15 seconds. + +## Known limitations + +The integration only provides connection with Slide devices via the local API. For connecting via the cloud API, please use the [Slide](./slide) integration. + + +## Remove integration + +This integration can be removed by following these steps: + +{% include integrations/remove_device_service.md %} diff --git a/source/images/integrations/slide_local/slide-bottom.png b/source/images/integrations/slide_local/slide-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..770060aabcdd866eebbfaaa52b7850db0a3c485d GIT binary patch literal 80473 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 Date: Fri, 13 Dec 2024 21:06:09 +0100 Subject: [PATCH 035/123] Add beolink_join action source_id parameter to Bang & Olufsen (#36174) * Update action description * Update action description * Add supported platform table Add action usage example --- source/_integrations/bang_olufsen.markdown | 31 +++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/source/_integrations/bang_olufsen.markdown b/source/_integrations/bang_olufsen.markdown index dc1148d6b98..1466b1f0225 100644 --- a/source/_integrations/bang_olufsen.markdown +++ b/source/_integrations/bang_olufsen.markdown @@ -259,9 +259,34 @@ The Bang & Olufsen integration additionally supports different custom actions Join a Beolink experience. -| Action data attribute | Optional | Description | -| --------------------- | -------- | ------------------------------------- | -| `beolink_jid` | yes | Manually specify Beolink JID to join. | +| Action data attribute | Optional | Description | +| --------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `beolink_jid` | yes | Manually specify Beolink JID to join. | +| `source_id` | yes | Specify which source to join, behavior varies between hardware platforms. Source names prefaced by a platform name can only be used when connecting to that platform. For example "ASE Beoradio" can only be used when joining an ASE device, while ”ASE / Mozart Deezer” can be used with ASE or Mozart devices. A defined Beolink JID is required. | + +A limited selection of `source_id`'s are available. The below table shows which `source_id` can be joined on which hardware platform: + +| Hardware platform | Compatible source_ids | +| ----------------------- | ------------------------------------------ | +| ASE | `beoradio` | +| ASE and Mozart | `deezer`, `spotify` | +| Mozart | `tidal` | +| Beolink Converter NL/ML | `radio`, `tp1`, `tp2`, `cd`, `aux_a`, `ph` | + +Trying to join an invalid source will result in either a Home Assistant error or an audible error indication from your device. + +##### Action usage example + +Join the `radio` source on a Beolink Converter NL/ML: + +```yaml +action: bang_olufsen.beolink_join +target: + entity_id: media_player.beosound_balance_12345678 +data: + beolink_jid: 1111.2222222.33333333@products.bang-olufsen.com + source_id: radio +``` #### `bang_olufsen.beolink_expand` From d764f134068b640d8529ac75b2f15266bfd62830 Mon Sep 17 00:00:00 2001 From: Sid <27780930+autinerd@users.noreply.github.com> Date: Fri, 13 Dec 2024 22:31:52 +0100 Subject: [PATCH 036/123] Add eheimdigital integration (#35034) Co-authored-by: Joost Lekkerkerker --- source/_integrations/eheimdigital.markdown | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 source/_integrations/eheimdigital.markdown diff --git a/source/_integrations/eheimdigital.markdown b/source/_integrations/eheimdigital.markdown new file mode 100644 index 00000000000..bb08c9d5b4c --- /dev/null +++ b/source/_integrations/eheimdigital.markdown @@ -0,0 +1,45 @@ +--- +title: EHEIM Digital +description: Instructions on how to set up EHEIM Digital with Home Assistant. +ha_category: + - Light +ha_release: 2025.1 +ha_iot_class: Local Polling +ha_config_flow: true +ha_codeowners: + - '@autinerd' +ha_domain: eheimdigital +ha_integration_type: hub +ha_platforms: + - light +--- + +The **EHEIM Digital** {% term integration %} allows you to control your [EHEIM Digital](https://eheim.com/en_GB/aquatics/eheim-digital/) smart aquarium devices from Home Assistant. + +{% include integrations/config_flow.md %} + +{% configuration_basic %} +Host: + description: "The IP address or hostname of your EHEIM Digital main device. Defaults to `eheimdigital.local`, an IP address should only be necessary if the hostname doesn't work." + required: true + type: string +{% endconfiguration_basic %} + +## Supported devices and entities + +Currently, the following devices and entities are supported: + +### [EHEIM classicLEDcontrol+e](https://eheim.com/en_GB/aquatics/technology/lighting-control/classicledcontrol-e/classicledcontrol-e) + +#### Lights + +- **Brightness**: Controlling the brightness of both light channels +- **Daycycle mode effect**: Automatically controls the brightness based on the daytime as configured on the device + +Support for additional EHEIM Digital devices and entities will be added in future updates. + +## Remove integration + +This integration follows standard integration removal, no extra steps are required. + +{% include common-tasks/remove_device_service.md %} From 8ce9818e68eb811a49b79dc333413c0046bf9350 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Sat, 14 Dec 2024 11:55:10 +0100 Subject: [PATCH 037/123] Fix remove device include (#36348) --- source/_integrations/eheimdigital.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/eheimdigital.markdown b/source/_integrations/eheimdigital.markdown index bb08c9d5b4c..d25ef224a97 100644 --- a/source/_integrations/eheimdigital.markdown +++ b/source/_integrations/eheimdigital.markdown @@ -42,4 +42,4 @@ Support for additional EHEIM Digital devices and entities will be added in futur This integration follows standard integration removal, no extra steps are required. -{% include common-tasks/remove_device_service.md %} +{% include integrations/remove_device_service.md %} From e61dc1bd0cf42c20b04f347c82c71e7411584c8c Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Sat, 14 Dec 2024 11:57:14 +0100 Subject: [PATCH 038/123] Fix Slide release (#36347) --- source/_integrations/slide_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index 90783cc79ed..4383d8d7a02 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -4,7 +4,7 @@ description: Instructions on how to integrate the Innovation in Motion Slide cov ha_category: - Cover ha_iot_class: Local Polling -ha_release: 2025.1.0 +ha_release: 2025.1 ha_config_flow: true ha_codeowners: - '@dontinelli' From d233ac4fc1076b279fd93332cc4deb0af0d5ba84 Mon Sep 17 00:00:00 2001 From: dontinelli <73341522+dontinelli@users.noreply.github.com> Date: Sun, 15 Dec 2024 12:10:00 +0100 Subject: [PATCH 039/123] Add documentation of button for slide_local (#36341) --- source/_integrations/slide_local.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index 4383d8d7a02..ab8b12ffa9c 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -53,6 +53,10 @@ password: Your slide device will appear as cover. +### Button + +You can start the calibration sequence for your slide by pushing on the Calibration button. + ## Data updates The integration fetches data from the device every 15 seconds. From 52da55ce677243d920550060d5d52683c0942845 Mon Sep 17 00:00:00 2001 From: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:56:27 -0600 Subject: [PATCH 040/123] Fix bmw_connected_drive missing end tag (#36383) --- source/_integrations/bmw_connected_drive.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/bmw_connected_drive.markdown b/source/_integrations/bmw_connected_drive.markdown index 5be8b79f4ec..d9455794649 100644 --- a/source/_integrations/bmw_connected_drive.markdown +++ b/source/_integrations/bmw_connected_drive.markdown @@ -117,6 +117,7 @@ This {% term integration %} provides the following {% term platforms %}: {% warning %} Every platform except **binary sensors** and **sensors** can change the state of your vehicle. Once you change the state in Home Assistant, a command is sent to your car. +{% endwarning %}   From 6ce83ee0b7cf7d01654dfe5da13af3dfb959b134 Mon Sep 17 00:00:00 2001 From: Simon Zumbrunnen <7323997+simon-zumbrunnen@users.noreply.github.com> Date: Mon, 16 Dec 2024 17:27:28 +0100 Subject: [PATCH 041/123] Added section for "media player volume slider" feature (#36211) Co-authored-by: Simon Zumbrunnen --- source/dashboards/features.markdown | 21 ++++++++++++++++++ .../features/media_player_volume_slider.png | Bin 0 -> 13445 bytes 2 files changed, 21 insertions(+) create mode 100644 source/images/dashboards/features/media_player_volume_slider.png diff --git a/source/dashboards/features.markdown b/source/dashboards/features.markdown index 093d3393e88..a94b16e5ca8 100644 --- a/source/dashboards/features.markdown +++ b/source/dashboards/features.markdown @@ -470,6 +470,27 @@ type: type: string {% endconfiguration %} +## Media player volume slider + +Widget that displays a slider to control the volume for a [media player](/integrations/media_player). + +

+ Screenshot of the tile card with media player volume slider feature + Screenshot of the tile card with media player volume slider feature +

+ +```yaml +features: + - type: "media-player-volume-slider" +``` + +{% configuration features %} +type: + required: true + description: "`media-player-volume-slider`" + type: string +{% endconfiguration %} + ## Numeric input Widget that displays a slider or buttons to set the value for a [number](/integrations/number) or [input number](/integrations/input_number). diff --git a/source/images/dashboards/features/media_player_volume_slider.png b/source/images/dashboards/features/media_player_volume_slider.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ce8f91cc4fdcd1a75de194d5895172bb8b090b GIT binary patch literal 13445 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%0A$|}T`5`Z{+-PNhjhYq-cxdPOl~P`E(4(-{ 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 literal 0 HcmV?d00001 From 120b9257577726cfc5066c5a1989c7e991433481 Mon Sep 17 00:00:00 2001 From: DominikBitzer Date: Mon, 16 Dec 2024 17:28:29 +0100 Subject: [PATCH 042/123] =?UTF-8?q?Update=20statistics-graph.markdown=20ac?= =?UTF-8?q?cording=20to=20new=20y-axis=20limits=20funct=E2=80=A6=20(#35952?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_dashboards/statistics-graph.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown index 52a69b301be..2a24180ab68 100644 --- a/source/_dashboards/statistics-graph.markdown +++ b/source/_dashboards/statistics-graph.markdown @@ -74,6 +74,19 @@ logarithmic_scale: description: If true, numerical values on the Y-axis will be displayed with a logarithmic scale. type: boolean default: false +min_y_axis: + required: false + description: Lower bound for the Y-axis range. + type: float +max_y_axis: + required: false + description: Upper bound for the Y-axis range. + type: float +fit_y_data: + required: false + description: If true, configured Y-axis bounds would automatically extend (but not shrink) to fit the data. + type: boolean + default: false {% endconfiguration %} ### Options for entities From 41def9158cfc597918e44c6bbe7daf313efd0cf2 Mon Sep 17 00:00:00 2001 From: "Steven B." <51370195+sdb9696@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:29:27 +0000 Subject: [PATCH 043/123] Update ring docs for camera live view (#36011) --- source/_integrations/ring.markdown | 42 ++++++++++++++++++------------ 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown index d9d265dd9ab..84a978fdc41 100644 --- a/source/_integrations/ring.markdown +++ b/source/_integrations/ring.markdown @@ -41,15 +41,13 @@ There is currently support for the following device types within Home Assistant: - [Camera](#camera) - [Saving the videos captured by your Ring Door Bell](#saving-the-videos-captured-by-your-ring-door-bell) - [Event](#event) + - [Realtime event stability](#realtime-event-stability) - [Sensor](#sensor) - [Siren](#siren) - [Switch](#switch) - [Light](#light) - [Number](#number) -{% note %} -This integration does NOT allow for live viewing of your Ring camera within Home Assistant. -{% endnote %} {% include integrations/config_flow.md %} @@ -65,22 +63,26 @@ Once you have enabled the [Ring integration](/integrations/ring), you can start ## Camera -{% important %} -Please note that downloading and playing Ring video will require a Ring Protect plan. -{% endimportant %} +Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform. +Currently, it supports doorbells and stickup cameras. +Two camera entities are provided: `live_view` and `last_recording`. +`last_recording` is disabled by default. -Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform. Currently, it supports doorbell and stickup cameras. +{% important %} +Please note that downloading and playing Ring video from the `last_recording` camera will require a Ring Protect plan. +{% endimportant %} ### Saving the videos captured by your Ring Door Bell -You can save locally the latest video captured by your Ring Door Bell using the [downloader](/integrations/downloader) along with either an [automation](/integrations/automation) or [python_script](/integrations/python_script). First, enable the [downloader](/integrations/downloader) integration in your configuration by adding the following to your `configuration.yaml`. +You can save locally the latest video captured by your Ring Door Bell using the [downloader](/integrations/downloader) along with either an [automation](/integrations/automation) or [python_script](/integrations/python_script). +First, enable the [downloader](/integrations/downloader) integration in your configuration by adding the following to your `configuration.yaml`. ```yaml downloader: download_dir: downloads ``` -Then you can use the following automation, with the entities from your system, which will save the video file under `/downloads///`: +Then you can use the following automation, with the entities from your system, which will save the video file under `/downloads//.mp4`: {% raw %} @@ -89,14 +91,20 @@ automation: alias: "Save the video when the doorbell is pushed" triggers: - trigger: state - entity_id: binary_sensor.front_doorbell_ding - to: "on" + entity_id: event.front_doorbell_ding + from: null actions: + - delay: + hours: 0 + minutes: 5 + seconds: 0 + milliseconds: 0 - action: downloader.download_file data: - url: "{{ state_attr('camera.front_door', 'video_url') }}" - subdir: "{{state_attr('camera.front_door', 'friendly_name')}}" - filename: "{{state_attr('camera.front_door', 'friendly_name')}}" + overwrite: true + url: "{{ state_attr('camera.front_door_last_recording', 'video_url') }}" + subdir: "{{state_attr('camera.front_door_last_recording', 'friendly_name')}}" + filename: "{{state_attr('camera.front_door_last_recording', 'friendly_name')}}.mp4" ``` {% endraw %} @@ -106,8 +114,8 @@ You may consider some modifications in the subdirectory and the filename to suit {% raw %} ```yaml data: - url: "{{ state_attr('camera.front_door', 'video_url') }}" - subdir: "{{ state_attr('camera.front_door', 'friendly_name') }}/{{ now().strftime('%Y.%m') }}" + url: "{{ state_attr('camera.front_door_last_recording', 'video_url') }}" + subdir: "{{ state_attr('camera.front_door_last_recording', 'friendly_name') }}/{{ now().strftime('%Y.%m') }}" filename: "{{ now().strftime('%Y-%m-%d-at-%H-%M-%S') }}.mp4" ``` {% endraw %} @@ -125,7 +133,7 @@ You can then use the following `python_script` to save the video file: ```python # obtain ring doorbell camera object # replace the camera.front_door by your camera entity -ring_cam = hass.states.get("camera.front_door") +ring_cam = hass.states.get("camera.front_door_last_recording") subdir_name = f"ring_{ring_cam.attributes.get('friendly_name')}" From 5f2cf52aded5277f40404fc4008f5c3cbef27d62 Mon Sep 17 00:00:00 2001 From: OzGav Date: Tue, 17 Dec 2024 04:30:59 +1200 Subject: [PATCH 044/123] Re-add transfer queue action plus minor edits (#36054) --- source/_integrations/music_assistant.markdown | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/source/_integrations/music_assistant.markdown b/source/_integrations/music_assistant.markdown index 969e26de824..1e17e065662 100644 --- a/source/_integrations/music_assistant.markdown +++ b/source/_integrations/music_assistant.markdown @@ -15,7 +15,7 @@ ha_zeroconf: true ha_integration_type: integration --- -The **Music Assistant**(MA) {% term integrations %} allows you to connect Home Assistant to a [Music Assistant Server](https://music-assistant.io/). Once configured, all [MA Players](https://music-assistant.io/player-support/) show up as Home Assistant [media player entities](/integrations/media_player/). Media players will allow you to control media playback and see the currently playing item. +The **Music Assistant** (MA) {% term integration %} allows you to connect Home Assistant to a [Music Assistant Server](https://music-assistant.io/). Once configured, all [MA Players](https://music-assistant.io/player-support/) show up as Home Assistant [media player entities](/integrations/media_player/). Media players will allow you to control media playback and see the currently playing item. There is currently support for the following Home Assistant Platforms: @@ -27,11 +27,11 @@ All of the Home Assistant [Media Player Control Actions](https://www.home-assist ### Manual configuration -Under normal circumstances, Home Assistant automatically discovers your running Music Assistant Server. If something special about the HA or MA setup (for example, the MA server is running as a remote Docker container) or discovery is not working, you can manually specify the URL to your Music Assistant server. +Under normal circumstances, Home Assistant automatically discovers your running Music Assistant Server. If there is something special about the HA or MA setup (for example, the MA server is running as a remote Docker container) or discovery is not working, you can manually specify the URL to your Music Assistant server. If the Music Assistant Server is not installed then follow these [installation instructions](https://music-assistant.io/installation/). ## Media player -The Music Assistant media player creates media player entities for all players available in MA including those imported from Home Assistant. This is needed to provide the full functionality Music Assistant has to offer. These entities will display media information, playback progress, and playback controls. +The Music Assistant integration creates media player entities for all players available in MA including those imported from Home Assistant. This is needed to provide the full functionality Music Assistant has to offer. These entities will display media information, playback progress, and playback controls. ### Action `media_player.play_media` @@ -85,11 +85,11 @@ Play media on a Music Assistant player with more fine-grained control options. - **Example**: `playlist` - **Data attribute**: `artist` - **Optional**: Yes. - - **Description**: When specifying a track or album in the Media ID field, you can optionally restrict results by this artist name. + - **Description**: When specifying a track or album by name in the Media ID field, you can optionally restrict results by this artist name. - **Example**: `Queen` - **Data attribute**: `album` - **Optional**: Yes. - - **Description**: When specifying a track in the Media ID field, you can optionally restrict results by this album name. + - **Description**: When specifying a track by name in the Media ID field, you can optionally restrict results by this album name. - **Example**: `News of the world` - **Data attribute**: `enqueue` - **Optional**: Yes. @@ -122,6 +122,19 @@ Play announcement on a Music Assistant player with more fine-grained control opt - **Description**: Use a forced volume level for the announcement. Omit to use the player default. - **Example**: `75` +### Action `music_assistant.transfer_queue` + +Transfer the player's queue to another player. + +- **Data attribute**: `source_player` + - **Optional**: Yes. + - **Description**: The source media player which has the queue to be transferred. When omitted, the first playing player will be used. + - **Example**: `media_player.kitchen_speaker` +- **Data attribute**: `auto_play` + - **Optional**: Yes. + - **Description**: Start playing the queue on the target player. Omit to use the default behavior. + - **Example**: `true` + ## Notes - Any Home Assistant players added to Music Assistant will appear duplicated as the MA version of the player is created. The original HA player can be hidden if desired. From 002f2d1dae4075a416b2d456a6fe5b014866a906 Mon Sep 17 00:00:00 2001 From: Dan Raper Date: Mon, 16 Dec 2024 18:15:27 +0000 Subject: [PATCH 045/123] Add docs for Ohme integration (#36216) --- source/_integrations/ohme.markdown | 79 ++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 source/_integrations/ohme.markdown diff --git a/source/_integrations/ohme.markdown b/source/_integrations/ohme.markdown new file mode 100644 index 00000000000..d9b92107c3b --- /dev/null +++ b/source/_integrations/ohme.markdown @@ -0,0 +1,79 @@ +--- +title: Ohme +description: Instructions to configure the Ohme integration into Home Assistant. +ha_category: + - Sensor + - Car +ha_release: 2025.1 +ha_iot_class: Cloud Polling +ha_codeowners: + - '@dan-r' +ha_config_flow: true +ha_domain: ohme +ha_platforms: + - sensor + - button +--- + +The **Ohme** {% term integration %} allows you to connect your [Ohme](https://ohme-ev.com/) EV charger to Home Assistant. + + +## Prerequisites + +- Ah Ohme account. If you signed up to Ohme with a third party account like Google, you will need to [reset your password](https://api.ohme.io/fleet/index.html#/authentication/forgotten-password) before configuring this integration. + + +## Supported devices + +The following devices are known to be supported by the integration: +- Ohme Home Pro +- Ohme Home +- Ohme Go +- Ohme ePod + + +{% include integrations/config_flow.md %} +{% configuration_basic %} +Email: + description: "Email to log in to your Ohme account." +Password: + description: "Password to log in to your Ohme account." +{% endconfiguration_basic %} + + +## Supported functionality + +### Entities + +The Ohme integration provides the following entities. + +#### Buttons + +- **Approve charge** + - **Description**: If sensor **Status** is `Pending approval`, this will approve the charge. + - **Available for devices**: all + +#### Sensors + +- **Status** + - **Description**: Current status of the charger. Possible states: `Unplugged`, `Pending approval`, `Plugged in`, `Charging`. + - **Available for devices**: all +- **Power** + - **Description**: Power draw from the charger in kW. + - **Available for devices**: all +- **Current** + - **Description**: Current draw from the charger in amperes. + - **Available for devices**: all +- **Energy** + - **Description**: Energy consumption of the charger in kWh. + - **Available for devices**: all +- **CT current** + - **Description**: If a current transformer (CT) was installed with your charger, this will show the current used by your whole home. + - **Available for devices**: Home Pro, ePod + + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %} From 5e4c4f38a73a43f8de194a6788db0707a232e9bf Mon Sep 17 00:00:00 2001 From: Assaf Inbal Date: Mon, 16 Dec 2024 20:18:03 +0200 Subject: [PATCH 046/123] Add Ituran integration (#35365) --- source/_integrations/ituran.markdown | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 source/_integrations/ituran.markdown diff --git a/source/_integrations/ituran.markdown b/source/_integrations/ituran.markdown new file mode 100644 index 00000000000..1548f7d691a --- /dev/null +++ b/source/_integrations/ituran.markdown @@ -0,0 +1,52 @@ +--- +title: Ituran +description: Instructions on how to add Ituran to Home Assistant. +ha_category: + - Car + - Device Tracker + - Presence detection +ha_release: '2025.1' +ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@shmuelzon' +ha_domain: ituran +ha_platforms: + - device_tracker +ha_integration_type: integration +--- + +The **Ituran** {% term integration %} allows you to retrieve information from your Ituran-equipped vehicle using the [Ituran APP service](https://www.ituran.co.il/ituranfront/comfort-services-2/ituran-app-comfort). It pulls information from the Ituran web service regarding the vehicle's location. + +## Prerequisites + +You must have an Ituran account for use with the Ituran APP ([Android](https://play.google.com/store/apps/details?id=com.ituran.forall)/[iOS](https://apps.apple.com/app/id1227756834)). All devices that work with the app, should work with this integration as well. + +{% include integrations/config_flow.md %} + +{% configuration_basic %} +ID or passport number: + description: Your government ID or passport number used to sign-up with Ituran. +Mobile phone number: + description: The mobile phone number used to sign-up with Ituran. A one-time-password will be sent to this number. +{% endconfiguration_basic %} + +## Data updates + +The information is pulled every 5 minutes from the Ituran web service; however, the data is updated at intervals determined by Ituran based on whether the vehicle is stationary or not. + +## Supported functionality + +### Device tracker + +The Ituran {% term integration %} will track the location of each vehicle registered to your account. + +## Known limitations + +- While this integration is configured with your account, you won't be able to use the official app, as only one connection at a time is supported + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %} From b6c0290394b4a3ac951b5c112078488543990624 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Mon, 16 Dec 2024 19:27:17 +0100 Subject: [PATCH 047/123] Remove invalid config params for Slide local integration (#36386) --- source/_integrations/slide_local.markdown | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index ab8b12ffa9c..2a34ff4e41b 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -39,12 +39,8 @@ To setup the integration you need the following information: {% configuration_basic %} hostname: description: Hostname or IP of the slide device. - required: true - type: string password: description: The device code of your Slide (inside of your Slide or in the box, 8 characters). Only required for API 1, with API 2 you can fill in anything here. - required: true - type: string {% endconfiguration_basic %} ## Supported functionality From 31facf3e5fdda80b4671090e3b55a34579210dfb Mon Sep 17 00:00:00 2001 From: dontinelli <73341522+dontinelli@users.noreply.github.com> Date: Mon, 16 Dec 2024 19:37:40 +0100 Subject: [PATCH 048/123] Add documentation of configuration for slide_local (#36342) Co-authored-by: Franck Nijhof Co-authored-by: Klaas Schoute --- source/_integrations/slide_local.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index 2a34ff4e41b..7ee17662660 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -43,6 +43,13 @@ password: description: The device code of your Slide (inside of your Slide or in the box, 8 characters). Only required for API 1, with API 2 you can fill in anything here. {% endconfiguration_basic %} +{% include integrations/option_flow.md %} + +{% configuration_basic %} +Invert position: + description: Check the box, if your cover uses inverted positions for open and closed. +{% endconfiguration_basic %} + ## Supported functionality ### Cover From e841165f98083bbdbc165e62a29785b6e9c2214f Mon Sep 17 00:00:00 2001 From: dontinelli <73341522+dontinelli@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:53:30 +0100 Subject: [PATCH 049/123] Add documentation for Touch&Go functionality for slide_local (#36388) --- source/_integrations/slide_local.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index 7ee17662660..4991004a751 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -60,6 +60,10 @@ Your slide device will appear as cover. You can start the calibration sequence for your slide by pushing on the Calibration button. +### Switch + +You can enable/disable the Touch&Go functionality (open/close cover by a short pull on the cover) by using the TouchGo switch. + ## Data updates The integration fetches data from the device every 15 seconds. From 1db3f2722b2aed0ad94b420a3e17fbf8ce06a17d Mon Sep 17 00:00:00 2001 From: DrBlokmeister <57352628+DrBlokmeister@users.noreply.github.com> Date: Tue, 17 Dec 2024 17:49:05 +0100 Subject: [PATCH 050/123] Add download path transmission.markdown (#35474) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/transmission.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown index 55b97be7c90..2f3208d2543 100644 --- a/source/_integrations/transmission.markdown +++ b/source/_integrations/transmission.markdown @@ -54,7 +54,7 @@ Possible events are: - `transmission_started_torrent` - `transmission_removed_torrent` -Inside of the event, there is the name of the torrent that is started or completed, as it is seen in the Transmission User Interface. +Inside the event, there is the name of the torrent that is started or completed and the path where the files are downloaded, as seen in the Transmission User Interface. Example of an automation that notifies on successful download and removes the torrent from the client: @@ -69,7 +69,7 @@ Example of an automation that notifies on successful download and removes the to - action: notify.telegram_notifier data: title: "Torrent completed!" - message: "{{trigger.event.data.name}}" + message: "{{trigger.event.data.name}} downloaded to {{trigger.event.data.download_path}}" - action: transmission.remove_torrent data: entry_id: eeb52bc78e11d813a1e6bc68c8ff93c8 @@ -90,6 +90,7 @@ Adds a new torrent to download. It can either be a URL (HTTP, HTTPS or FTP), mag | ---------------------- | -------- | ------------------------ | | `entry_id` | no | The integration entry_id | | `torrent` | no | Torrent to download | +| `download_path` | yes | Absolute path to the download directory. If not specified, the Transmission's default directory will be used. | ### Action `remove_torrent` From bedc26f5293c5d688d19a850632824643f3b4aa3 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Tue, 17 Dec 2024 21:58:39 +0100 Subject: [PATCH 051/123] Add configure categories in options flow for holiday (#35493) --- source/_integrations/holiday.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/holiday.markdown b/source/_integrations/holiday.markdown index 5744366345c..824648b469d 100644 --- a/source/_integrations/holiday.markdown +++ b/source/_integrations/holiday.markdown @@ -21,6 +21,8 @@ It uses the Python module [holidays](https://pypi.org/project/holidays/) to inco A calendar entity has a state and attributes that represent the next upcoming event (only). A calendar trigger is a much more flexible way to power automations with fewer limitations than using the entity state. +Some countries provides additional categories to be configured besides the public holidays. See the details for each country in the [holidays](https://pypi.org/project/holidays/) library. If the country does not support additional categories, the option to configure categories will not be displayed. + {% include integrations/config_flow.md %} ## Holiday calendar automations From 6d397f823004a9b515a046c3ad1a08feb67bb768 Mon Sep 17 00:00:00 2001 From: Arie Catsman <120491684+catsmanac@users.noreply.github.com> Date: Wed, 18 Dec 2024 08:48:54 +0100 Subject: [PATCH 052/123] add documentation for enphase envoy ACB Battery support. (#35912) --- source/_integrations/enphase_envoy.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/enphase_envoy.markdown b/source/_integrations/enphase_envoy.markdown index f6cf96847ee..40740524122 100644 --- a/source/_integrations/enphase_envoy.markdown +++ b/source/_integrations/enphase_envoy.markdown @@ -132,6 +132,11 @@ For Enphase Ensemble systems with the Enpower/IQ System Controller and Encharge/ - Metering status for storage CT (aggregate and phase) - Count of meter status flags active storage CT (aggregate and phase) +For system with both older type ACB batteries and Encharge/IQ Batteries: + +- Sensors for ACB Battery State of Charge in %, battery state (charging, idle, discharging), current available energy in Wh and current power flow in W. +- Sensors for aggregated ACB and Encharge battery status for current State of Charge in %, current available energy in Wh and total battery capacity in Wh. + *: The load shedding and on/off-grid functions are only available with the Enpower/IQ System Controller installed. In battery installations without load-shedding and off-grid functionality, used in many EU countries, these sensors and switches are not available. **: When used with Enpower/IQ System Controller, the entities to charge from the grid, battery storage mode, and reserve battery level are connected to the Enpower device with the Enpower serial number in their entity and unique IDs. When no Enpower is installed, these are connected to the Envoy itself and the Envoy serial number is used in the IDs. From d3cb1fe2fa0cfd8030c39d9bd44e50a30beb4f7e Mon Sep 17 00:00:00 2001 From: Assaf Inbal Date: Wed, 18 Dec 2024 10:41:07 +0200 Subject: [PATCH 053/123] Added new Ituran sensors (#36391) --- source/_integrations/ituran.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/_integrations/ituran.markdown b/source/_integrations/ituran.markdown index 1548f7d691a..10dd69f8590 100644 --- a/source/_integrations/ituran.markdown +++ b/source/_integrations/ituran.markdown @@ -13,6 +13,7 @@ ha_codeowners: ha_domain: ituran ha_platforms: - device_tracker + - sensor ha_integration_type: integration --- @@ -41,9 +42,22 @@ The information is pulled every 5 minutes from the Ituran web service; however, The Ituran {% term integration %} will track the location of each vehicle registered to your account. +### Sensor + +The Ituran {% term integration %} also exposes the following sensor for each registered vehicle: + +- **Address** - The address that corresponds with the vehicle's location, as determined by Ituran +- **Battery voltage** - The measured voltage (V) of the car battery. If not supported by the installation, the value will be set to `-1` +- **Heading** - The direction (0-359°) that the vehicle is pointing to +- **Last update from vehicle** - The time from when the vehicle last published its information to the Ituran cloud +- **Mileage** - The distance (km) the vehicle has traveled +- **Speed** - The current speed (km/h) of the vehicle + ## Known limitations - While this integration is configured with your account, you won't be able to use the official app, as only one connection at a time is supported +- The vehicle's heading value is unreliable when it's not in motion +- The mileage value is not read from the vehicle's odometer but is calculated from GPS, which may result in slight variations from the actual odometer reading ## Removing the integration From 6efa7b3577561405ec9efb1c333c69509065b5af Mon Sep 17 00:00:00 2001 From: Cyrill Raccaud Date: Wed, 18 Dec 2024 09:58:28 +0100 Subject: [PATCH 054/123] Add Cookidoo integration (#35558) Co-authored-by: Franck Nijhof --- source/_integrations/cookidoo.markdown | 75 ++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 source/_integrations/cookidoo.markdown diff --git a/source/_integrations/cookidoo.markdown b/source/_integrations/cookidoo.markdown new file mode 100644 index 00000000000..720a73745a7 --- /dev/null +++ b/source/_integrations/cookidoo.markdown @@ -0,0 +1,75 @@ +--- +title: Cookidoo +description: Instructions on how to integrate the Cookidoo todo list with Home Assistant. +ha_category: + - To-do list +ha_iot_class: Cloud Polling +ha_release: 2025.1 +ha_config_flow: true +ha_codeowners: + - '@miaucl' +ha_domain: cookidoo +ha_integration_type: service +ha_platforms: + - todo +related: + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /dashboards/todo-list/ + title: To-do list card + - url: https://cookidoo.international/ + title: Cookidoo the official Thermomix recipe platform + - url: https://www.vorwerk.com/ + title: Vorwerk GmbH +--- + +The **Cookidoo** {% term integration %} allows you to interact with your shopping lists of [Cookidoo the official Thermomix recipe platform](https://cookidoo.international/) within Home Assistant. + +{% configuration_basic %} +Email: + description: "Enter the email address associated with your Cookidoo." +Password: + description: "Enter the password for your Cookidoo account." +Localization: + description: "Select the language and country for your Cookidoo account (e.g., English - United States)." +{% endconfiguration_basic %} + +{% include integrations/config_flow.md %} + +## To-do lists + +This integration provides two non-sortable to-do lists: + +1. **Shopping list** + - Contains ingredients from recipes + - Items can only be `checked` + - Items cannot be `created`, `deleted`, or `renamed` + +2. **Additional purchases** + - Contains user-added items to purchase + - Items can be `created`, `deleted`, and `updated` + - Items do not have a `description` field + +For example, if you add a pasta recipe, ingredients like "500g pasta" and "2 tomatoes" will appear in your "Shopping list". You can check these items off as you shop, but you cannot modify the label. + +In contrast, in your "Additional purchases" list, you can freely add items like "Kitchen towels" or "Dish soap", and modify or remove them as needed. + +## Known Limitations + +{% important %} +As Cookidoo cannot share shopping lists between accounts and everybody interacting with it uses the same credentials, make sure you protect your credentials accordingly. All users of your Home Assistant instance will have access to the same Cookidoo account. +{% endimportant %} + +The Home Assistant to-do list interface allows both renaming items and changing their state. However, for the "Shopping list", only state changes (checking/unchecking items) are supported. Any attempts to rename items will not be saved. + +## Data updates + +The Cookidoo integration fetches data from the device every 90 seconds by default. + +## Remove integration + +This integration follows standard integration removal, no extra steps are required. + +{% include integrations/remove_device_service.md %} From 57953455f82d15fe24363ff8a662ac84298bfd34 Mon Sep 17 00:00:00 2001 From: dotvav Date: Wed, 18 Dec 2024 10:19:06 +0100 Subject: [PATCH 055/123] Add palazzetti status sensor (#35927) * Add palazzetti status sensor --- source/_integrations/palazzetti.markdown | 45 ++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/source/_integrations/palazzetti.markdown b/source/_integrations/palazzetti.markdown index a91900395cf..019f3a21bca 100644 --- a/source/_integrations/palazzetti.markdown +++ b/source/_integrations/palazzetti.markdown @@ -51,6 +51,44 @@ The Palazzetti integration offers control over the combustion power of the stove The Palazzetti integration offers the following sensors, for the products that provide them: +State sensors: + +- Status (current operational state) can take the following values: + - `off`: Off + - `off_timer`: Timer-regulated switch off + - `test_fire`: Ignition test + - `heatup`: Pellet feed + - `fueling`: Ignition + - `ign_test`: Fuel check + - `burning`: Operating + - `burning_mod`: Operating - Modulating + - `unknown`: Unknown + - `cool_fluid`: Stand-by + - `fire_stop`: Switch off + - `clean_fire`: Burn pot cleaning + - `cool`: Cooling in progress + - `cleanup`: Final cleaning + - `ecomode`: Ecomode + - `chimney_alarm`: Chimney alarm + - `grate_error`: Grate error + - `pellet_water_error`: Pellet probe or return water error + - `t05_error`: T05 error disconnected or faulty probe + - `hatch_door_open`: Feed hatch or door open + - `pressure_error`: Safety pressure switch error + - `main_probe_failure`: Main probe failure + - `flue_probe_failure`: Flue gas probe failure + - `exhaust_temp_high`: Too high exhaust gas temperature + - `pellet_finished`: Pellets finished or ignition failed + - `firewood_finished`: Firewood finished + - `cooling`: Cooling + - `general_error`: General error + - `door_open`: Door open + - `temp_too_high`: Temperature too high + - `cleaning_warning`: Cleaning warning + - `fuel_error`: Fuel error + +Temperature sensors: + - Outlet air temperature (°C) - Wood combustion temperature (°C) - Room temperature (°C) @@ -58,5 +96,8 @@ The Palazzetti integration offers the following sensors, for the products that p - Tank water temperature (°C) - Hydro temperature 1 (°C) - Hydro temperature 2 (°C) -- Pellet quantity (kg) -- Pellet level (cm) + +Fuel Sensors: + +- Pellet quantity (kg - cumulative quantity consumed) +- Pellet level (cm - current level) \ No newline at end of file From b877b9db5f3f0023db2f6b7b7561da331f768575 Mon Sep 17 00:00:00 2001 From: greyeee <62752780+greyeee@users.noreply.github.com> Date: Wed, 18 Dec 2024 20:19:55 +0800 Subject: [PATCH 056/123] Update switchbot_cloud.markdown (#36374) --- source/_integrations/switchbot_cloud.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/switchbot_cloud.markdown b/source/_integrations/switchbot_cloud.markdown index 6ed774ad077..2a5375aa95d 100644 --- a/source/_integrations/switchbot_cloud.markdown +++ b/source/_integrations/switchbot_cloud.markdown @@ -52,6 +52,8 @@ Please note, device names configured in the SwitchBot app are transferred into H - Outdoor Meter - Vacuum K10+, K10+ pro, S1, S1 Plus - Hub 2 +- Relay Switch 1 +- Relay Switch 1PM ## Important considerations From e712a867bda14fbf68ee24aabe053ffcb58d7fc2 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Wed, 18 Dec 2024 14:02:58 +0100 Subject: [PATCH 057/123] Get price for date action in Nord Pool (#35682) * Fix rebase * Restore example * startup * Add note * Mod trigger template * Add screenshot * Fix --- source/_integrations/nordpool.markdown | 105 ++++++++++++++++++ .../nordpool_tomorrow_lowest_price.png | Bin 0 -> 38699 bytes 2 files changed, 105 insertions(+) create mode 100644 source/images/integrations/nordpool/nordpool_tomorrow_lowest_price.png diff --git a/source/_integrations/nordpool.markdown b/source/_integrations/nordpool.markdown index b0e4013f321..d8319dc06a6 100644 --- a/source/_integrations/nordpool.markdown +++ b/source/_integrations/nordpool.markdown @@ -96,6 +96,52 @@ The block price sensors are not enabled by default. | Exchange rate | Integer | The exchange rate between the configure currency and Euro's. | | Last updated | Datetime | The time when the market prices were last updated. | +## Actions + +### Get price for date + +The integration entities provide price information only for the current date. Use the "Get price for date" action to retrieve pricing information for any date within the last two months or for tomorrow. + +The areas and currency parameters are optional. If omitted, the values configured in the integration will be used. + +See [examples](#examples) how to use in a trigger template sensor. + +{% configuration_basic %} +Nord Pool configuration entry: + description: Select the Nord Pool configuration entry to target. +Date: + description: Pick the date to fetch prices for (see note about possible dates below). +Areas: + description: Select one market area to create output for. If omitted it will use the areas from the configuration entry. +Currency: + description: Currency to display prices in. EUR is the base currency in Nord Pool prices. If omitted it will use the currency from the configuration entry. +{% endconfiguration_basic %} + +{% note %} + +The public API only allows us to see past pricing information for up to 2 months. + +Tomorrow's prices are typically released around 13:00 CET, and trying to get them before that time will generate an error that needs to be considered in such a case. + +{% endnote %} + +#### Example action with data + +{% raw %} + +```yaml +action: nordpool.get_prices_for_date +data: + config_entry: 1234567890a + date: "2024-11-10" + areas: + - SE3 + - SE4 + currency: SEK +``` + +{% endraw %} + ## Examples A template sensor to add VAT and fixed cost is useful to get the actual energy cost in the energy dashboard. @@ -138,6 +184,65 @@ template: {% endraw %} +### Tomorrow's lowest price + +Using a trigger template, you can create a template sensor to calculate tomorrow's lowest price which also puts the list of all prices in the attributes of the sensor. All prices are returned in [Currency]/MWh. + +{% note %} +You need to replace the `config_entry` with your own Nord Pool config entry id. + +Below example will convert the action call response to kWh prices in the selected currency and add all prices for tomorrow as a list in an attribute. +{% endnote %} + +{% raw %} + +```yaml +template: + - trigger: + - trigger: time_pattern + minutes: /10 + - trigger: homeassistant + event: start + action: + - action: nordpool.get_prices_for_date + data: + config_entry: 01JEDAR1YEHJ6DZ376MP24MRDG + date: "{{ now().date() + timedelta(days=1) }}" + areas: SE3 + currency: SEK + response_variable: tomorrow_price + sensor: + - name: Tomorrow lowest price + unique_id: se3_tomorrow_low_price + state: > + {% if not tomorrow_price %} + unavailable + {% else %} + {% set data = namespace(prices=[]) %} + {% for state in tomorrow_price['SE3'] %} + {% set data.prices = data.prices + [(state.price / 1000)] %} + {% endfor %} + {{min(data.prices)}} + {% endif %} + attributes: + data: > + {% if not tomorrow_price %} + [] + {% else %} + {% set data = namespace(prices=[]) %} + {% for state in tomorrow_price['SE3'] %} + {% set data.prices = data.prices + [{'start':state.start, 'end':state.end, 'price': state.price/1000}] %} + {% endfor %} + {{data.prices}} + {% endif %} +``` + +{% endraw %} + +

+ Screenshot: Trigger template: Tomorrow lowest price +

+ ### Energy Dashboard To use the Nordpool integration in the **Energy** dashboard, when configuring grid consumption and production, use the **Use an entity with current price** option. diff --git a/source/images/integrations/nordpool/nordpool_tomorrow_lowest_price.png b/source/images/integrations/nordpool/nordpool_tomorrow_lowest_price.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce64f3fe3ab65968c0420c759123f08270977ec GIT binary patch literal 38699 zcmd42byOYE*CqHMBxsNT!CeCc4er6+HMlzjcMa}Ag9i=n?ykYz-QAt3M}FPkH`6nJ z_N-18>siUY=T@Dw_ddIVWu-;l!(qdLK%neUlf1K@Rec9Ze=ACi9L(RtN0~A;(2Q!I1U* z$j}qPK-Xvt(h*YO*RXeZYf!GM^0E6^{Ubaa^}%|>Y#b|*H|@i~&Gy6gu-6Ow#R&V( zaI+mWNH~y>d{C$w)EBcos4oCH8}n0PHk+33jba8gjdu;-pQ!IyStKADfuohdgJh6g z^$f0(`pe-uZKwG)>_NG0$<*+bdrt0-4|X4(S#}7-mGhA%jyZ(Yb#474f2ZZW||HH`^vY_%pDl zKrg_>?I#nrhQBFtYh12~Fn`e-P>6)!n`^3}0r>#(KSy%ke)~e(y;DV&k=^V$gT7OZ zCZxyJBMD;4u8&6XV-dposT22ph(MjTf2UWV2K(; zebDZ*dtS=hq&8FciPG_jyniCu(T%z(_$B?>%J_a_!j_YFMTex+o$@D7cF<^TMulr& z6^3+w(5qL){*W=$gXUBRcPj?Yf%UK!FM4jcWkO zV1sKAAWZuHQgn?O5zTjn=);@t(>iY-Ee1;O$2^pxkQfBJ{X&vH%tM9zP47J99Uq%0 z_>;Id;^VqVAKFp-M4#89LCQp7L>S6SFReR)vvdd;j3|C#wkE_4CIvhDabGhbz5#S~~Jn}&GKs*}|S=AM<8(3yHD|QGu9mWh|al|$6QZLV< z;%Zt?Lnx~IJ*Nl#*zdzZGBcDwQ8x_7DXXr#83;1B{q+SGk})&d-TTTmnO!Da@<5b zN8S^D7F^E46c=!i)1Sn~3$>M{#g6F7QW%xAf2STq%de8TWrE&-R4gKsnJ|iD0)3Br z)CtPoV zWxRTEhVJ}UD|}`n@67yGpb6teG6OXX1`&!5GMzp+N-R-~k~|j05fu@2xXmd)<}^u^ zv?7Q_5b2hd9JMmoE{HnlThK!=MbJ@KZx_#pU;{o|!n>$UQAl~7{KTr@s!013`?yIl zSBYuD-?VD&7u^NK3BqwA9B-&)WBwiUNaz&I{v6LY}jL8)t6`|vT^^$wp?ipqZ zmVbCAoy}MrP^weZMYsi;MLcqT|JE&8%SXu~8dLovSMr^2qp3$A-02Hm5_hdM>dS%K~-D@ghx?@^8x?JeN-zX87tzV3q zO){>QS*frSJFHLMQ>AmB_;p)vn|2$^D34ZdMmV7~x%gYbL$g(~RcTs8TA^0vGEK91 zbCxR}O_<@|^-5c{LRDxrR<#omtjP6<50UCT1y++&a@Ln32M-6KR}z;u2P>mq)@>{> zjC~BM`lC8FE6A)>tYHi(rgc-NVY(wGOJmDf{#g>j1h`M3C}sxMXy#vfP4eUl<35CMCtu2yRM1uk-gBMU$ZajZn$>WmZA|e_-K~< zWkGk^=(>HehpWA*&%O1|1HRyGFL9?{vrwo|X-@u@;9z}xb$qL;ToIeHnleuDuv&9@ zO}TW1mf4cdl3|v0XYHq|{OWpRiQ22mRNZfeZc7m+z2$@D3wlo7_|;C8BNe4pt%u$m zb)2HOHEdOpL}6#RBzOwU+wmlSqYqS9RS#}QgSXJu6gMYVFZGJHW@F3Ed(vNd; zK;eYsRPUDRRvVZjlGJMy`3+Z7`it?~ohFKQrZzht#(XHM50=aZ}B zBpoJxF5Q_Qy*%4Ikm-0lcr6wyUsjG<@H~w?AzP_hMV>!C6Td7ykJLFXS{(Bnhk|xM zE^TYxtXy=gStxVpR(EZ@E8S8Jf;PF@bdCGtxzr$ULXbFZJV!!&oTmnn#`m*@ z?4o)0$fhp0sgtE$d{r)oUzC z9I|ZnMO*}3HpmC13Ryjh`U>jguw?7KD#y0Bl2 zL_Fdgl;)(@hka9JoXCzjZt!**la>M+C7itGNtPz$@V>I@PM|85{C_FQyNbg9e6&rjD}S%{h% z9ZOuC^&~wMm56bgSW8dwoS(3m)^Jfg*)7nY)R&03BB0}1cKYg=xnr>1-}`w&{WvYj ze*b6dC56JE!ull^{kpP6B;9qm?ol5^pQzdw>|t#g+5>pnLuIZ)gT4{F1C-q|>< zad$NTd{Dm`#K+|Rb3b)F^MrSdCqnR!$HD{cX7^ZsZDU6UO@_yj)p*CT@lNW%^Fz`cXjU>}0;x+Ee#oy_fg##pEb;a^X(?x#DF6y%a&~=x*?;G`?lG z1-kSCxW^UFr&lenIENeUPGXjMALuVg_Vn*48fB!?J9$?QMh;FAU^jhzv>_1wM6h6i z9_yh&u8bf_XRB;!<#Z%yxJ;f2M8ebbvU>z}*+qyyelM2{+@~koA3@NL5IXO#u<}8I z6A(c+P`kHhoesM+tTxAr=)_z&7CTh|8G+cx!2BuS@7`X<=o@;ml3^x&;UD9{e>OG2!bb_U7Egs#3Cq0@k*M zger7U5|CtsrK|1g+bPTlgbpLO=*_#^uf9wYS<=<|v^ZIu>F7UxPWKEq7Ez|@} zErF;4L*x1Kg`Mm5H2=#l|25Emdn(x(+6q`(0z2CC{MWMlXXpR^<@#;~^R=2AEEZhVHZC`5@(azejO*yXGZLgRb?0xpnUYWSyFk=m$^eTjQqMO;RQ@a z<;}b~-BTyB`)ND0udXO*v~Y&iQp0$Kp@hQ?=|J21>k;XpDv%(WSa;7{F1GuP(>*?_ zwV$^n=1L`tA50hj1>Lrl(*x(FhZ2W{9Gc4<9NUwth(j@1ZgS~>lEYG~17?E>8NlaA z?2W=#`#_qGvfAE!v%GMV;*a%juCaPhqem?${EINFoafxKAqy5ttpDZ$L+BkLG6O9X z4q_URgiHnw1CGrm3*_$os{G5j1^uku2)E@2w%V1(>VLBm^6uBO=V?f94RJdx4?L`0 z@q8Egp8;U;gHlIwE38}Yga<0i+q(WmA;W@b)!xfR7?S+;*qD%p@DOMg^ zheN^T{uK30vf0rfJ><*%OzY-R?aH(|Ux#Bix{5)aaJM!W^n{?i7>3vP{GHpoo%F$j z($*3z**(@}X8~Xcl>vCReME-SF!WJ_)9s60!Kj9N<2kl>TM2p3=K`NF=(K1? zxGus{Jg(;)Gc{pw8b516r9e0z6xW8ZZhYMqzO$UK`eabBi9e%2^c@;K;qfB=h600JZJ6hwpCX+SKlJ10fd-akhZ#*5iZo}v>8U{~0~kRd zzL@uL+?^h`^Zr6xavEzT8vD`GpK7M~RjC7H9{v5xm`1oJa4rcTy&jSq;&z1`cSrfH>bE{}I~aEbp^O)QV|8F?I_-d`4fb63#H82p zwm+Peb4!mQmm0v3NgLsPX}Ua|Qz&V^Ru8}Mf4bd>oPVB>=9Id{VX;W0FW`R$X4JRZ z?st{sg$v@x2d?GN!1uUpvT5$;{kI;Op@M80PD>7qo{zWA=bsdEHxKd^DCWP|O($|q8)bOz4C;XuCpC)w^6U#wJ8G+3r25 zB4;C@$*T3q5yI& z0!ZAX=F>&Ny%>rww|6%r4>zqZsg6y)&0d}pdq4G$!pZb9m$MyG@l&BlTc z_k-HcnIVUZb|Xq3mBL``ko#1$J#s=`o^DnWBxvge_b2nS28@Oh8L&rq&$|*2D@S9C-9G&uEZf!kw}|o_1~#yxay3^PZkw?oBYK z)M&eG#hov^o%HYJrPHo>y)*|9*t9_a`Lj{4*hWohd-K{%-T-rs`UE-}&{f5%SbCoaMNrilnfz=pz5u}JUc9@6=<86ekwuuerW zfQP2Q<5IqC+@hyP;@gzyJ6e{gH{sgtI(KHQ2gggtQX7TAgnU+(SkWKqL3GJuM1QUq z=H|jch8r3A>9NTViHD6Yca}Md0;9-4hEX{71UE~DTdOTZ9%YvLYZCUfj693yZZbf5!IPlr&7XIR* z?SAIJjIoKh{_uTLPNch>bj)QZHNmL^mcrzIHd1mhGMxA_%_~bJa@c$z_b;*FUjz zFFW3QyIGO((Ig_^GPuEgptgGGp9dPxKI*zn zZLjNB#zs$gOd_wQYKKsyU;oKb&BCzZ$&=(eXje2YROLu$H*nnFf1p6n5-P)< zxn(=0S^dTx5E@roPM`n0^jTd0`PM_fS>1sfDzyFT49E>oesB)q@UTw8vMIzsdPw(c zhb`?7jFaRy?2SJPL8tCH2wYEPx66Gz@p_4w6&27UdBcod$9c=h)}8Vv!@!1b@7yqt zW>NZRp?0R}7gO-n>eSTwK*!ZrZU&v>$OZ;u?=Dx7BxozPMcGY%&i5oS1>ST6co^#Z z9h|F?@9B6x{dsQr^3e#!8x-KZ5{&BUhw1$@*5+=Hs&Q5Xl79s|4lx2|d~n+ZyxTD7E2_wa0r(De_RwC)uVUmA0$D zTyHy|oQ5n(?RJLI-M8L~Rj|o^e1O~4TrJJ39SI5y))W>x{=x1lgu`kT%QVbJqIIH! zM=yKX^h%yl0@4l$Q6q5p6@Dy5qq*2X)qnWaui|X1ZBq#r#O7Am}Z8$`r`iF+oVLv-09M*tbM=l;f zcahh(OTUKQ8P#>F-^XOYP$#OIM`m_P#fFjky+NJ8{OCFwAst_#S}c%)y59_>rTs3} zgD3q9h7ZZmQJlwh0tCNn?Z<>LU}--KYgpON)h{}(csSu{p7LZ0Lua>NbyEf?DHmPp z>anV|qj$Nrt1=RCyWiSq{uRQ5EAXl?oV7E21A*YPFwxq)bsUtkZ{L-c(~%=8lb#RhaUnQ~{(^_rKOW(N|SFBUf~B#F8^^?E+hO&>(8 z*rC`tY+fBLu;PDI=-{{$ODkWtT(+!Tink_?fh8e#@mq)2hfHL?*sKI<-gbAagH{=B z_Q_1CHa==9zwXb=>2KEW-)%J_${=9;@RJyVx=nRj-m|*U6PBjP)0fcM(A6k=A>6*0 z5j&iH^pVDH?7x~76{ZL=MM7O*$VtZdwvHu3kj&a2S|4QZ``Ku5eeKxyrkm7iXx7ZN zOqZB9cjzj5HbHwro|R%PcrB4rbVba<|EJ!dAk)dbSmu4B@!oV^9yWWVQ=pd$5d@FKbaXQUN`w6j2B^^fSiayhnwqG14lF zY_isQDV=d`r|v+mT3fyK7-Bu?jyQp$u8aDc%zB{BB}YW}M_^R-M+`-Q*R5J3T{28Y z>#cNyj4>39-3+0Ed_!183W{j#Ab1&m-{`AnZDRLk?d`Q78i$kxM2>&$=^03qb_ zr19o-1M$w4mc#gX*baNZk@OjlYzuggW6=MT><;_aAebPdf$Qn@*!7XXLN0psPJew}I${)h;Bevp4)?!nN51^rpDo)-<~6PY zwTrf)7OhX$-~5fgwE-N1mdSWHHrcA-Q?b(E;9$(v!3+Sx4&`@kwVc=9n$DK}t}+?R z95wyy0}MVE5lXxorS7Z;2Yo9>hDWU@94BuEsPEKxeF?IkS*@38FtnV1a{)QipY|+> zBqFLnsqiC5DwxLljQjEBvp{klRmBi%{{H&*`wW0IQNlVY(%p#xs+_C=0K$rg)z%aRiSD4PJhj`MolAgHk25_h>A6WIa?LQsNCBRw)0cTEnvgyL+{uWClj$+7ZyD7TXSN#_L;~&Py)|Urfm;1durDy<7H=o%<c zhyQ-Fw=Z#Ma z6Xa#UUONdG&D}3873v6juM#-TT;A^m(|xOv1Q1{j+*myyCIlgnjb~(@r%E)xiNNtb zUB)ODsmeJnyBHtc#ash-uA-sL$vv=A6VYw!-Jx5>waY)VB6&E{L~hrC*N~ZC4HIvA zO$4_D=F&ay^L2jEHtZ4~-RY+Qe2+`Y?Rw6bf*HEaB@2cPAWm+sNAr2CUXKp|r<~el zP}j5X{zF!P*lzD=35mdf<~i-{QBl0+W7DFz2;rYcXw*jni;F^kZ~Y4 z&@vefMMdCo4s`g#=Kz|E*p?R%yMZ#@&dWI<^g?c}Yj1w}VOav#yBUIP%aFiOI_sGlu5kLy5&jL8NPQv(Gp?MRS=4*d4Mex!;OUlvhie(|3^_Hqt3Tv|V zZwBLR|3H~Q&{4`Yys1^nmHq!r%p-)JPyS_*0MHn zx_{`YFnz*tSl?xB%uM2`U}qt2D+0-gG5lhRD6Nkc!G}h~8xi-y-h8Gcu5y?|VyDMf z$!Hl_vxACf`*s(Bs7@4Xj|uyDvA!~3?0XXs)hpI64P2lb&Pr`KI;IZ+zx>8?!{h#P zOeRfN8X!Em*&0P(UG^xsOhB^FZ|IKE=#19R={EPoPI^S%bz8zv1|@VX^6C0xL@s0z zzCj*hovQG4u}Kx@0jqITt_c{WG4AvrX_yW8!OfZ&FjsDHILNiaC(n*SX?f&==i!H) zA;L7C3E-XPcE9*LPXsr8)s3MY>$Kvb!Wm%ij_$DXKe{~vUH&YBGO>LmwDlRG+#ZT#eGIYscV3YwmrE!c2d8S2B=hle{d4-#55X)PObpK2E#q- zoqzK|Nn=4?CcwgkSU~Nr*|w?pB*?Z9Yd22ZUK;!wB*WZY4x^S`&0?-7I#`xA9h}WM zYR3V5*FoK62S)e*)o1IO-1c9=q$2$Ew&$sRuMoWWw;zo$UnvyFW%Ae>{^Yrweilv zzk82OI-~8?oU4nD_YP_XSr-$<^##T*Fp~GVPOFmS1-RZrMk-BpU|%E#ML`6usI0J$ z58@dd^AAqPL>Rr5?O$k%Jzj<0C|ao5F9Yi+Ke`Dmk`Umm@IE>a7Jact?QAz*WafDS zGlKi;qe5X2D{@Ci6u^T;cQz8~_-3KI{y^xqN)vBnBIVp^s|!O~RY%&L(PMb8BMrYn z-X_IE?WDDScm)(~fuJIgjS~Z14>2s%&0p%$rp$p9&0EQ3+mR4X*Q4Mc{aUreV}DN= z_(Q+zNc$*x_q9V4(1hV;G_*5A9q^HpSr+=4C_4Mj{)PA<0va~ShJ#Xm1PW$6sti}T ztXkQ;KbelzFO`a5H4g#xc&#LG*4PvFM)zrd`+;(M6*9=i{d@ICybit4^{C7uM5;7w z!79kD+d~py`v3%JDR6nK6R0UlRWvkI)2U zA~p)LA&8(TV#}^W;FCM}sZ7GRrHX}S{|3FfW9@RN>;$O)4c9EVz3Q6NWdgXp*$AA* zzx8z3F(qosx-8-wZr4K{@aX9LmufLTuK$`cE~dv3OCR0~&mE$&$+{G4wcF z5+zyIREFZ|WH7B80rA>rJdjVFJU{~OUA$WP^vw6S{)641GW$?GcObXtP^mb6s4Pj{ z(xG%?kt5<7bk$<ioJNZSDQkQGC zK2#SLE+iGNZZZ@diopHUXWGx9|8T%Ck3N|VISdwubGBcy8Ot9WHE$wW4VYLn5_+Q{ z%p6mrCt6QeG$+-?Ax`e^PJbnNxbMp9G~G^5>vDA0j5}_MpaY0~$+Ri$>KtYhr)n&} z8PfQ3A^xn-;N$))-36%r%E1S!M5lnPmXFd7l9OR2?Vi~o&sP2G9nHW12Cf-($dpsU zpqwB^?Q%V#Y!pg3S;@zSXwbkCEL>7F#P}aMlBX<{lVQTP@UC5um8UZL>NYGKH8MRy zktiW|hh1GHvM>a#moOuJ0CAymaY%Y{2E_F%pYb6kj=E;|A)cnwJtyR55|j#_J|iEZ zB>q6+?Ulv^jaq3DhUY_XT7iSi$f6-3`7tKIa`W~ERzHo960=k;OL(vEt-s7N z=KF07w$%WXU>w-heLbxXtPhJy|8##e3`kQ=Vs(wUA$uMxNLE#(4%tboncvp+33N0m zA~stPB-jWDR-eh6*u#ea{6#y=^B$P81xZx3grMD4H57WaxdIyvo4n1)ZHESK`Wjc_ zrQr(X1qQAPR_tkIJ6j{mE4WtzFfk_(CS!Asn#6zo4B4MBvHQVmKcNN&7+<%+06>0J zsP)vm!7F?F3D5)450q|0uY^QH5a4pOElTDwulzua7~nZ#8HWt78Os(0;12b-%EeNz z+>SIDAP=NI6}|shj}XB0HrKyZv%I!lqDUc)pn#L&GyQKqX@~(-u1q>DSZoX&)Q{vQ z2V>cQC7^M`XgZ$le&(nTo+d!(xM9%xVQ4h!WP2hB(o30BngI}VVul%*eNwYvb+_Kh znwREUz;)X8W=#itiveWS6l(ct9pmoi@WgO-@nkF1y4Hl_7^C!sd5>#g-%p4U@~scJ zp|W-;VemJJ`5X}IB}!WE&A8c8>4o2?yPpT+&+|C!EBaoJUIU~?44l>pydKK~&Q1W- zH)#)aQ?k-p-Ig3?`srF9GtYnuTpP}|E;{E=BwK@gdzrklS>Me&p!S(+aLmn$gthg# z*rNXd&##G>XYeDjzqw^}WWr*VX-pU{JEPWqg0?4Ct0y2L7!JmNcGa>1MCu%~se%ra zkQoiT@W}!t2}G__zI?UHT(A~-4fN&I>TPo_cgF-8oK9#LEGomn?F~SLCjxhOB-6Om zgu^h2^3pvUcsQ*V+4cY+^Tm8x65sPy*9Cy98(Z`KU>1f4#qtzOv7k&tF;(-4j#H7A zZU$dj$@8fbPV!;X7_0S?q8;;+JF~#|{9J^$|DgQzsP;33W|Ct3lVdR@tK^;XI|3C= zp0IG-w3kx~56AQK^lbNfTU(7z%XJ-|$Kjjv&Qh0isiGm*1(m23y*tl}GuC|EiELJU zH7Qa@UVCYaFBNyJb1seN=e65P*~(Mr=b|)tSBtq{+3TCG9M5$Qf6=ur5Oa2?vA=jz z$>+$|J7bY~$Qh8F0!<*ZlO?4`fZy3A-0^tbu0aDrt-zt-CafJSCKQ@SI5x9lKC8(n zADAEkl``w{XhCISIE7sS5MN2aBxxzbpsndg2t%i&meslfqE^4V9t-<-!8vx4&@ z3-YXWLdf}8K#1+%P3z4Jj=0UPo`r&noU6}fO0k^>mLz`0o)pyj0}b;mTLyZP^)DB< zM_YM`j3>O7l~ga9`XNau-9<89(aa2QpF8PX&X<$4w^HJj&V6q6hZ-j<9LY>;ds!Gy z!~c#qSdl5M-wfYN^W5*N+;MG(6rf#{B5>q3(5OBXN~)g6q^uN#Jl-aY#-vgYh?O@; zMPg+f>4~>`HJY944G}h@+8N@>y~qf}l(v1S`&7Xhg#Q#pB(Uy9X_wA*IVv#T;^Fqn zDQEQ~;{e)ebu|ls!6FhUjPg!I&c2;=uVbqmy>4F1X)%gaQiWVelts}n7)fy6J|yOg zd``PwkXYJB*K5B2TOQqZqDs%mXQoJ-$9*=%Ahhx&H*Bz%W4Yv}`K*_V8UI30oIt=v zZ)1RwH8+vQ@Ey=^8pF5 z&jYH*^ERsq)9!Bc4KE7|g}3?kgR0Cj1ttgq!uPi-j$Qv`P`$tUk+PTw%$2!f)O4eY ze1dEi-t(dT{rR~+gShJT)yW;*!m0U?s70|}a&K7Ib2-WY@4RwoeN@4~+56fnLnS?3 ze``ZHr9#=?zV`c*VoMwgR*l79EM{fF@Sc4vlmKW<>L7rb3BaQxFOQeLwcPJh@6A^i z3Vw1v*Y$+R8mls$Kr=HG1E(|$p21g#43M5z=>$mR_G2uV-u5tA2>U-p|IlS6tRpMy zGN$hvOc$vgk3YEV{th&|1ppZ}8RG|=YDx?NE(=f)e4s8u3crnMXZjG`s&E6qq&wvt zt%3Y+2nDgoz7xKpxc_b8=Cr`pIezC%FM20+a8%U^>7`-T*lyO{;tP1EOK& zS@-0=yg8J5jfI*dvMS4K!Hd;|3h5_Na)hXg|0lyG0i{$nX(erH>9u$g1JyDk2&8WN zS}nzyfC?ynu~6CYZ(~8AKBA%UN&M^Xn+gMk*3{EY+39uTkRYIz5<{Bw17*Jrnes1C zlqvsOkL>^37zKq=js!$7dVh7$tmH@$B!BUc`>W7a6|K~Wzj zLRL&Hrp3Dr&1mTgNd{2N-1wuB(mMY;1+LjUmbl}bd@u?{Fr6&O(PI48z#5jPabOc=RY_A4^|=lYfUWwc|*Wp zAsZ%z>_6xL8Gt14)?@Sk)YT9$Btc=5FnR?jv|z0jV>z?B{WZvFVE9686aOE)!Ux7H zO+w~=ujBp%#w$XrG{0Uy)q4X$)o>1-e)k$>8#Hj~5$klJ=#%2PD!+*`cisfn{fTOe5x;)1M)1TfFIA5s+)z|}62_wPFUvSk(5w|^N;IkS zLD6O$)@0%?gw2!)d{k^kb`y5hn)!NZgU*|_3-TT-d(y^skbAKmvlMC~U6cM2@0rJVi&kdX9J;O{w8pVM5^%71xK>y#Kn| z@~Fpx*961!HR^3Mcl+uTCxnbtLr4;xcj#tFfqCz{4gAjwGjA{{ny&%J?C$lR(SflD z=ktGNnB%CkAu4)#0rW6Kpa6rhzSK}|&fUe%AfUba7mxFU#dgDi*iWw}CIHvbZVe_R z0Ilu;urX!6%Cy3MPyTK@**aUR+4WT)1&k_&XY1YPQ!3hG#p>1epC7$m9<)uTi+<&j zSr0fG$|cNI8k=jj+^)l8F&TvoC9}%B)U5!jrr%V5!@+wTmOj8$l66}SHLWWy1Xelj zR$iVd2s|#MCjp7DX36neH{zl*QsZ&Mf%1{d#a~wca93vY>B+is{a!e$Dqz?LPXM?o za5)Cd4&QPl~QQ0N~Lo^=hf zMI@qDE<&E4ulugwytDEH78Q+T=Gs{>USlYUSz_7s;PV}z0cK05a@?79TNB@Ep|0^a z8Uxr4Xx;yQ1j1MWRFOSviWp}aK;>*zd0h5&^UL&nX|LfRbk6g?dulxKmC#n^StEsO z@V%3w_+U@n(GsSI1)Je6r#zTI7n#tg(+>Gt4-9ex&PZPF4@$3G0T;(O;9+Ur4wMuE z^j~hU)j}z{)@1Cf=nG)!7yv|PgAwkVSJ4>|F`y#)+?X1_$cRf|_H6D(i@4ifFS+|Cj} zg$r2&Q1s7ImsLMT{xP;Sc;5~O-%QF~iH)?+0~Cg%Ec*j)n;xfl{16Q%h%4~R)E}(O z>n!FkpC3-ldAiOt+uQ0+uu|V~KvRxbpv4k798DJ|gKcXe{+*pSK>XUBUJ~^qqQMRy zpaf;5{*YWR2NXyT40mu3E&H_b#Afnj!2O&5E6%y0%CqvrN(D((xpB(5HbZT!g2V>mFG#_K{#4 z)bG?)%q~PO%_bhShu)w+{6jFufJVP>MuaB zxbu#=U4tgyZ=hQQnkSowHX=>Gtwm`Zx!ZW+Y`+R3BK^#*7v@znSXkOZ6^Lsa^!(1< zx$Y(j25CNs(*Yn<^Vfj6L?$`)6Bp*(S+m(fO|fLs7qNp5r@D-lR`Wvg+YN#hg?WF8 z1Uc>wC%s-gCp2MP_ui$Gmq^lUIT$GMA(%Rjv(BBj#FwtJAa}WX;oG092R$m{xFZ{_ zJ>H{(yw|h()fA!MO_my}udjFcp`LV;oI@dL))i6s2!tMZmE<2#S>T5eD2&P3di zIq5f-VMpj|J0hVuU>Co_^t=)1q=fJjFCD-#N?^fDzdV0=zG)o2niqb; z^w*F63)n>y07CmwkE#Lb&RD^J`#j1L`_4|7Y^+458O|+SBJ_mT;eE(SGkJ$!6&{Cu z6mT7BE`5C@kCI&TImxxUX>cn>`GcJ)!u(0S|1!b{mxY~G+H3YDu4PO#bGZKa#)|S3lFKeKa zJC|V+K5Av1QvOl<)#exd{>1y_<4n*4;zq~C)3e9QnxJLp=xBd?j?qsJ$Su8(S57OE z`!1xZKQmK0+Cg>8A%krg+v~U4Hz$k2Ef1@e^)`52BtfZehKLgL*zPr7YPlB?wZBQ& zJ-~gt8IKStdu~6mp?9lHDjSunu1?3awi zpI(9H{~^0lDpQ#bGjAQLM0neatg-Xl;&u%EXZYhVe82w^Ox_%?=KW-w;GBc|n2fR- z#Ea;?V`GZQD8fei$`b(G8{y3agA!0(lCGl=4QZ7y!PR|r!`UL1tl8{W$IwanbEnle@0B|f$ z0=fGaj4bq$B&SU_Z*9PFNkiv-=Hawmy>`iWA80t_wnb!a(w5aeM@#Uh~w zP|grFaDS@2-WNXuYZWC1#n_xsASz5a5jV0KT3PXrmry~@We5Pb$f@uJn z!x-8c_m8RwgOQ@#ZL!VkNf|@=)Wh4d#bOL@PuK3$!S;kffJQTidAyV3+!hYUCIf1A z1&`CLZeV|f;o$iessri}?>-jr!0hX=Z}EJpuzjHMo%z7J(;R?ya8LOC-t{Lk=wChq zZIGWpSGaq_7lZN{u%4R9>XOU&-a%hfn!lcWJh&}|-R?*0IC*yuF}BsM?^}5LyIqD} zToTHM)~6%ua{x0AhG8)o08P3EL)Y0d-G*-wV;yoLcw}G$=V5s-zU|{#@8EcjM2_Rp z{CJ@X-QRnlkC{iKRv`#x%rRK58OsuZx5@;J;Bf9ZV0-KK0b7{w9RZLL84dc7O{WUtuz%MsyGn%j zfDI6+Q$mV zkEa4h-55~xg7#rB?uuvtV@besoaJ}Bx!4(@qofYcTMR~}7{D@4`Avej4}Pj(Z@IZK z1#m)}A=I(H>idM~P#y0wzF_-SVfy4N8Q zj{)GGy7ygrod-RPBxI#NmP%BN&NJ9b0Q8`Dal62F3&0?r8I{(FtL1T}^n}Z9n=N6M z{x1i?`9Kr6%euW#dQl7`BdcJOeijC;@E*UqUSDh;=;^%At$~^yhRN_1K&-hX8Qq~6 zgQLF%;JfyLK51BE!s%KJ(lLpK$PfV=?Dhy3)CEl4&(kL+#yP;bwh3I}2|&9Y)^Ou1 zpj!K%KPa*U&*jy#H01}0*)E`CzKf^)R zdM%k)bW7|vz*^LX8ux((#C0G+FqCdg&!!8@iyBeu_Ig(gKth^+hmL!@S`_{ok4;G6 z{Z0wCV!WykaoK#S^7d7Iz+K0uQl0Zrcf$7SZA2y4{Zt)3V+PS<{8U~55Wjz3bLJR=odtX+wTLItF#tm(RjSUWu zdtKA{0JZCOA7Jh&xC7CK&t+752T$qz;323!@P;-V<+o=*3xv`@?e$!t+qr(TX=6whyAVQ z1zx^sAT?YQ1GNKO%(H88+e5F%4hE(CZW=@)tZ{eI!qBxi&%*uKI{v#&-B zW}8U7k7XH$ogJ`Vn`Z#9?miGS4$V@&lVUNOq|_3o|D1OU7%ZfLmM9KV59X-$W+aE_ zSvN)n0H4jDOgjOY7O%AgsCQuDeZJP34nXT^TKclaBWa%}@?;Vq-n`qL+nD60X}Q)1 zfm3Sza3Hh#Ne@6T zXeTw>1xL!nOP2%n4o>_+N<9qZkgKBI=xDhn!f(9+w)EsmCerf{a~#mT-=V(;u&HSz zgttpTj1^nb5nzjM^ps;DCJ*3iK*`tvo_Mfke|fyv0*o*->(6JAUNBknA_N|aC(!S) zv(G4NfaZ*;Dj>-C4-fy5%TmOecq8zM7(>IxXLJyL09+qxFXJ1XPD;4Hxjt%pT*Xn< zg6la<2H;<2^m=~mGY;naJ>kM}F~oFLf65ynopW>Sy4J+_({xZ#XyLOq)DM?Md)SdoQ5X(pDF8y9RMRCPMHz zjM(-1Fu$23z_2b>62WKvt9RC;>?&?AMl4XU3X=m)a#3T+R`@+Han(XTkfae*DG*b_ zue)9D{ucgmQOfWUrl+$WT_cTBdoxM^aZKS1T!V@wF1G&~0^G3!2E?B~PW07%4+iEgJa%@cgms zQPgLkqB>*?K%ZVt$jnqB=KZ<$0^q=zzQta#UD0O}DyM)_AS^)F??BrY@U`uU2B08i zk!>bhw*)u3vN2-3K_9{p5Dx@>zX}hz*%G=hqZVTt^z|asg9186B-Oc93HWaX#I@Q0 zm{9BMoiHRDyNu>3y2A90tO6uJC15S{c6po!81{fBxueD!6oHOG=!cAi zFbKXo5=wLTh5SBXIX3}qOF7|92HOwjxo*+Jd*C*R><`h19Kq^q+& z$c%SwIQ0>*32bso%;doLifna@`XW*QSGiZyVe8AYdSHfcF2XjxuM52|T-w^ffWrwj z=E;Go$W`~gbhJV|3i)HE{T0YFH2tyciwcOq}d zRXQ3<8Z@quTA-g>KzOUgXe(rMp~Gi`zBbr1avY*W z58&~Xd4Iz#agvJ9(i3(E6^k;kcvs1++r{g;Q*dC)po^p;0$M*~ zmw^}PYMtTJyL!83xdZmkd|~D^LPwM-PvNh?V`lPMLM^)i8Mo{0!+~Vt1S%i0J}l}= zYs`gB+C(#a7jKE=zE0%%S`P?^wvh+MicNH-?y!}I6MTQu!x2O+RGE^1U7cX~NTKB(*kz0rpqz@!=dEN_Cw!`Ofw$$>O91y_hRh0M z=b$I==pyG$Cm890!DvHx;>^06R3sx!UD9F~$#+ULVUoO5$E4{u`s=Zpla*Fmhyw&U z{?rA8?QtDlhrr`fzvy08oA?#+!R>G=>BsB0uy&A>I|Kh$YwsOT_5c6>9~>NebL_)0 zj*-3h$Ou`f6yn&5j3hh9-eikxDaovivbTgtD6(e~qO9uoc&hj3^Ll?ipYP}Qz5Fh} z|8nU<;W_TN`|WzWJ%p;>>3C)qdRMjn^0&I(_4OBE=*JsShArPE+v8V5NNhe)6_dns z&~;;6td*FLce!&-*!K~n3hNJZZjRCz*590wB7M+Z_b%xx-cIxrckr!?p3f@%J<#pX z?)Uh8f++pKtLo6!THEfE?@=T+EeGUPG_#TsXL^BJBn^Y961GIOClX`5?LA(i`U6Eh z`3t0U&5apyWkm zmO-i{{ShlIex-X2@~qR5hti%!X5C088JIo$iK)lefJhHIO_UX)pgN2w#0znYDCF3_ zB@+qbVIWXzvXp^66Fsq@TBINU<>4!_-r<5#y?2mD6~%i$i)S5P+9lUG7Kx1Z?h z)aj^!#D5Fyi0Gak+dmVLA2bo22)!UW1+1tOfW_eKD*OlM&ecJkfqTg(-IpGrj#dky zNc1?Yj-2H$O;<~N0qqhy_#~rOr+0O~Gs!K;{pcT{y984{TuL=H*O1{{XMN%tuQv3< z?MO17x9+Aoejzh|@^RgD9|xeT)!}+VI5sz%2TI}o9_%&ispF!Xn?Gp!4t3v6w;0W)o|nc@qzBUBE-aGNiXFJ zW>l6_J(s4Bu=S$W%b`9MT+ziTQ&xQ5FqjnW_H?x-qal~i!=k{+L;p?+SwyZJb(^|g z?}t0noOV6&F?Dx|gvH-*8EdB@udln#P zvV#dOwVXPF%#a00)Lvh7y3Xj6!hdmAYRtWD0IVBuPpLzELOYkQNL)3;N^&YTg5lL; zeWbAS65R_B`HdY5t!B$AZ97qSm=CWjp1MMA)dM*|$2^9rKfNK}NJYY7fS&iY-7rG& zNmyz}?wi3D(mOsiuO%&1-XM%g{d@n_1z`U=r`jJ#7d19KnE?3@QNA{$Oo`7D*+;3A z_mWLrsxQc40K9Fy2;)!rC{Nxy238w;;-gJ76G6w{$E}u(W7;^oDX$Ox2m;f{GJq-R zodxEy73Ra~q|PjZQ2&>XYbmbM_$!p8!K|B5ZhSPcO<%ORBHuUo3_>VB z6xlDkZ?#}Xtzak8NC0C}a=YEhcmZ=;rhUB1+PWA? zL#>^}5t|4l2PQc^K$gtq>s|0VG!DZRqLg1g2D=Ucq^M4%jy4juk@dz_8xh@D`W~FZxraiFfW>AfLId4PrOR75eK{iJ&Rb4h$;aLbzS2% z`T4yHniX=?5c*7y?cwh7wI3$Qx+1!}53^5phL`)@z?kHH7IueTF__s;4!t}&2tc4~ z0bitVi_-KU;EYowbbNh%_t4|iYC=PgmNG1ELMF|ldqpj`H{N+p*}o}EfY+{EG}i*V z!!Q`!A5oUx*niRbGZ3n5cgCrQAG^iF!J^~LYVNH>rQJTX{|9CsFBPu9`Hl#d?lQXo z3YEB`o~N2ENN#$C-Gw;O0ceCq!ugll*A~G}$|>-d4e+6BhgFUd#6OL^d4c$A+{*Hh4%$h~q)Y#%@){MhyE;&+~}tMQ2y zZuqY^*aG8HL>iN8PPCq%iWyZH@}EPYEYAYZ?HxhroK^?JGGA2TKu;e$LLP6eqw3YJ z9>t2^B{t7kX1eZp8Mzyw9I9vi`lcIirEe$>7_VzGpE$w2nBlXrGVlRz{08$ZB?sHA zygRj_wRf7mGx-d*blg=2zjW4NCF-|twciVQ{jxg0<%l;`=OM|GD^K#EMXeKf{}xPA z&s8H&P9nr%^c*s<@QD7Ofq)Y4aEQpi)qFSa{Kde1ed($c11IeQp0_V*!Dpx$?MWbO ziScrfLwR?w(x)q#f-Y!Dy^w5yJAK33Q-Q5U?W&de`O`N%#uL2Z)8v*e6`VdYrotcx z`rLDc>dp2{tSw@R8($b5o*0rY+)v6HMXNll{$*2dxxo7oF<57o>a#$N7iU5#v__bO zt(weGQg+3r@9HWIM?~RN4R_`PD?x7t1lB?8f~rctugyQwHeK682~Vy1p!wHW;tIvV zyjPQxgxM_X(?`cDK}Q%Y3q8pe)pf!Q{f?iKo(pF|+yw{XaAmkH9HldX?@t*?okKez={k-+%G1c&uC2r_*4)MDa^Xq;x!E<1KS zJvCJ3Ay{D;aXQ32O@Omq2ho^t>bc&*tKT~iC5|W6Md4PZecSV$7Y}EB7ZaMe`tK#y ztRr5WYq-tEeDz)35&;3-mQGsD3lOJtSH~wfY;wv;QISp_CAy6-&F^k)&PX{ zl-PwK*)-K-AQ`0~6M+p018>jb4~wtkD7A`))T>2!gWR+WN@(hLYiaTPKW!RBJf^*B z6V6@=?k=R-V5gb^GWO=k#_&>*Lf(;Skn{hD)EYHW zb$VtqyhIf?SGhjZ`DLuePRC`sp(fGM*@C{ftW%);XUXT$(zuM7N-ITa)U)QxRoAX6 zTL+q5<7v}XY~h}0G237r2fwVk8nfbKw-Fq`wW`)rF76wE|7HcoRl1-4mng|59bjvzNUTv`w&RC8am&x?rquQjXc8VoS0|fmX_V$;QPBl2~ z6NK#Q7$;&^UVD6abPS-0K9H{x1~HGarpVCv%o36#-_GHMx~M_&Q0Ym5|B$w4(-YkD zIh4_~{yl`HovZN{F`8ybf%%McJn9j|ulZX}Y>ort^V)rPeZKJLnjkc;A!~uaE8ex` z@dP1H7b`hSA{OV8NBa~ndNVIqw@mrCDMr?PNiYu@jfIhhv{tK8#fR$bs39Ul=Xy5{ zGdtdd;i=;-MCouH@nrQdeeGB~v%pd$yA@AKSBeQZ=?(N!BUuQ@_@o&49VuxkiE&A5 z{MP!?D=`0{)APdomWJ~!^>s19p_wrEoJCr?m>XnhPD?|Bvl2&sz<7|#PI^05N>ZQi z%_bf5mYW@2`427X*2cclm2Q=FI^1Ro@w2MFLD(-^)F`CO;a7NdN_UV_#=~=^P6|<1 zo`!uSY+*L%$v)US9DOY1^tOX9#)5>gA4Gbbt0bpUmgjHU-jkyzEv7LXDdIrVm2DQ~ z-4?oI{0no%(u9ztG7aq5`cB2<-D!px_;U2?SP}i&d*)NNv3>bFKO!gk@X0 zFHdx8)lU#gygWfc*Y=9@k`#6?3)A!HV4;5^lW9JFqY?;Ck;T9Ftix%w3=eZ; zna8WwqHK8vO&%?@V zcyr9;u#{Lll+_Cs*hYrIvENWk)tUKfF~j+TN3T-OF{Nj|mONPxP+`k3Xk217WD*gw z*aAP;zrz}^#PGm-!5-!Cr&Jy|fKc`s$l>w7Z~=eh;GdagbvwAGZ-My)0v{~ViEKisKS)I=r1-jQ!FSBsP0 zw_gHk{^EUNneZAMIo2KTrTehL=L)%eig_`&7O-))>?swd>r?0JP5ewiDThiVW^zrm zBfdqyo|A+cLM-j7o0sHty}TBi_MBG+t|yB>qTBX^s%{m~BTp4Cn5c|UOnY=vcuhHE z3gEGoc&7_qG*$7pWKaB=dQc7YQ1mgVq3NdSYyU@DAkV?MCq*q(93 zAeIUiwwDQUY&|_Red?r$kL6V@X`eq`PDTxl%L;z_AM~AS(5b#Nu1@S4G!bqqt;2Q_ zUAzXiHKVHqH$Aiq3W(%P8z5IPXvw6+X^AfQJ@~>CK+TCz>Y#eR8QbazSS-`Czixd20SZA`x~XQ62UP&?O4AYEzxeOLV&Z0PZUOBk|VGWJu#ThI)8* z-58O8lk5e;J=RuCW7|Fa zQ&BhfJJL)<*rdcmWwh>*lRhiBt_be9!@VeD1_N1emX03vrusDa)!vcv5rN}WbdeGN zRBaVLaMz_m z*Ig#C{#>OG$<7e6&darCS-lk|c4T-5s)BgIEYgze(Lu6+zyt5ur}Gs^#l?6@doX#u z-$(#v3uN-W><7-Rx0T>v9*s|Kon~XekF8NaO&7`Vo>_O}NoF)Za{-uV7*c%K?+P1_ ziepnE9$K{qH+w02Vt#H;)j{Op;jTTu)XV&-hTfa*Iway?OjDnS2BrbhmjDwxPn_Nd z$oLW|ZYc8}dG9Nz9&%_4!Mol75*LN@n*)xWTraELo7Nu&E<27T0Ijg@W^P4}lL&zc z7XeFlBxAIAYqqr&WTUN{e7=r$!R$rUmHU zwyzaWFr%O??(qUA2)1{GeuQhk1u-^^q)@IlqS?7`VXahixZUwgns`ZYxOzpD#!XN+ z2lCnUUb-v!vAM=8Ta0X zXFfcFLspNG@3M@`43Nl2{kiQxtX=eUpKdV85VhtoU<6XgFHUv4m#_zZH5p)=`kD=2 zr|QZQ&9gYOz!F}G#EctR3G8~KfFEZe{Ql?frxx`YPI-RX`Q2~!0BbbR;JN6{(a!wb zSNn<=RvV>%E&O69HAWwyRuBa({}%kGTE1Vdw7fzAtEfaY-_pj%SolvQDeXo}6e%=) z@!$v-1>vNyLvPorEqSE5$qEvQ>9A@p_|fyGi%ZR5&C96KINE)xR%_-W5;>G&lZOQb zP5A357dckEcEWch=jd?nS&nXI)(a_GsJI!TptleB_cal7t4_6yN1rjaD#SXV&?-VR zaQkubJCn(Zg~GD)No-mMR2*R)0BXC<4}3(^<@hIMdg+2YBv&EHSDD$=`8z z46!5;(*j_VG_V1%bQn#e``GbHDP~S>YO#|_FKb%VU~46h!e}5e|J(BUtJZR8ywRx7 zTLBqLq}(&FrEs|ka9@20fHAg3jG%jmIWH9vUPQUVd{uyCteWAUuk9E<+~wo6_T3)I zvboaY6eB9UeobsRr9lR5OpCE#2A@i;gK9V{$>Geztl7pFDM{4K;Cjj`tw5~G;T;?4 zKTNtEgs3C;E>-_|nMNTfdACk4hdiy z;#ZPEYsV)up1Im}xv5(72iWAKff|K1L(q-3`X;CB^QRf?_oZ%yK;5^xtM6xjtdHsN z8Rg}E{W_vaHC~#&nGq5F6tFN*$z$yZ#RW0{QODUPzyB10bGx4ZO$0W*l(n=*>VijN z@G|KFd&Fg;!-XKf8BpCgz_m1%*`=cQvV!$#8^Mu1J^HoCW7WIK&5fUd8tezg?Ztjg z!h}LKG1tr2{7O?AYA#IhLk=Y>)b18DYu6l-R1aErkJjAeBw(Yr4kEKfotkY?9Zs%c zxBK3Kcc%fD`?4bgJ_h6CtHDF`gr_5M6qIiDtVjG)6&mE@P@CmXDn~h#2eLSj1JpS3 zHzo*YwN1{!OhmJT+{*e?k=c}doL3k+>UijZ;_H*cZ|Hnp{D>h;$V{CIAaF0F(c&#g z@q6q{`+Rg8DDOACtaER3;V@ie>Un#_*vB5sd%%T%UX5oY&pE+TPfIsDGz2O9F;U;M zzkHT(quSwzt1+9Q$(LSO8=Kw~6lS+-fA+wtIT|uw^LkNUm(+{{_bDWkZP%zT&qC7P z*fPXOCYBlJ8YpzB>={>^Iw!`X!6p>{C+sGR|BRt=MuWt`+fFM22eF-#f(NwfQ`A(D zHZ=4H+K?psR2$kO_K01%L-A6ZAbJsM6GX!nOv*imQ7uj+WlU6WaJL8w9=WjI-SY{; zk4jLS4(AZMZN$gE-#+=w?c=2@66_xzR*`qi^?O#*HQWkBGi1J>2i6LT4kNS~V;&+}AY-=TB@2SLj;UMu# zPxnx#ekHI?%?OhgmJu5Ca8*ZNTk2^gBsD!M*q6S@DAXlzM-h69`tA~7od;sCFb@H{6ZI=I+$Fy0)OX?4n#tQMVw|>lhjPyQpui=H* zZu{~QA9w0Gx|^!#LJ*mH{I+9Te1SAplw&i{ylBsp_bm}{Cj<9+XTeL;fOAJYSsPFy zUd#52Wq+>?TAh%KtPR?7grsOZeu}#o-AkY6dRBX$I2) zUjFu)Q-eC>GjgB$j0Pp9RPiwvd`yO$(iJgx(}XJ@g~BhBf(vrwoER_}aiUad@*+Zf zX`TrTQrN`SyiOaWfcV=7x}kE1A7(*t@b-)t-rzCrC1-K(S#iA&Oh$e!uMkdV#GjqO z^?X~Xpo6^R4>u6%;PCNzO|;`j)|w-Gay{U898jdb{uA0Z~tNVmSKvEJ}@4o{@M)w|HZIa_xN9(1OP$) zB>GEoNTa9w-0a$)-@Jai~weF4TTQsx&m4$5ot1N8#D+{B53t%RjOw;oT z-)A=O_WLWIDy$vY4}psbvJLV2SNM{{eC9zM?t%)h?$UImqD*g1n0)Ns8y#w}x!tKU zyC>?}>v50k8Mzk&o^L3$>>SMVAgz&PSSFZhqmZ3OWm@@U(*nEiGN|EPE{+nKt+`9f znSsKwd8*^f`~E6S*7iu1`^D))hi-Rj1d7Vz1G?e-8Wv4q+jXZ!`X|P=7e~jFEQDd- z_k?>jaCDdrUUiACg~@0$?g_6gQmB3g|JV(n1ev1H$>=j_lQFsRr4hz z|N2Eq&N;fZENf7qHE$;FkJ~!XT!C)~X$mrBU`*vW*RQ;*D@{;Kya)H5L8@tU3d)%szVeH9<|}_NK4{=s3<85-UrtTE})&i@nVfO#t-;Nnf)KBA9Wx zu3F^C{g$GR&aYsX&=Eb^%$4kLDiyta-vnei3r{&ld^;y&bxvtD$JNm6ri2^GB7HjF z=^E$$+1tEBKLX{1v%QLU1s|OlbbX|KYfy00;ZKVRFEp8@Fk#343~F@HhwzO{4^IcR zE1}?K6ZWIIMDYhX#(@w2eyW-VoDmceZ?=d~V)=IyWIsK!)T)>yA$vyORp*j4(`9(6 z>e`u2F~_Jny6?DYuo`dbPf}38A-{gOQI!sQKm`+`$yUDsgf|_qH!{eyixWW3Z`?L_ z07d}}K8d*lT1*+3;{m2BG(i_N3Ia+N4-K+YM2)_)Rv$AP^7{lRl9GKFS9{(5i6{f1 zh%J-OK}_8X8aprR;=ygJGys;iA8%i7e2xAHEW*=^6p1gN2-_@7-reaXdI_OsaZ~34 z$1h$Mu%>JN24T6KPH*m)=JXlAavjiIt4U?tmG|F9NPWU=6(kRX#cdgz8vg_D6o5W- z?9Ku@$8sILF;T@?W)o=?&Cyzn@N`i*-ju{T-2xIS{bS5MEqZYd7ctm7@f>K$+{*qW zhbuV@(bh!jJ_4$u(ll(LJc}N^B59pY632!qjvrCjOL2v**?UcXGMxAU@u{HGNn#Zw zT`LZw<;f>YX=`*s{jw{QAc}nOy1|>47?Kzs);U?DWR*%*oEd ztjRP~*a0DqDjBLR=5`y*UNja0$>?;Gl6kQqUlt_#AsNE%{gqul_q- z^}Wml;778~#*X(>_j$tSs5Dd#<_Lgyd&T|+a0)7jV3#g0f!y5tdupJq`8oeDAUYAj z{yO#SL($tHOn6-^Kk>`Ba+Gb)moO}jdwTqJca*Bh*4}1ec@IU`Hx*l@JiD{o|KYeX zh&(CTN>HmTNq*r4E*P+<3l8SHQF!XPQT+g(n_L(1Z$&-!h&NM2djp=l^Vf=qlhm=h zOrxrh5~D?8nZ?!KeBrw#{}~q+0(B%qLJS{l>qULeHRr!0v{hfBMG<#VbO}Dh*eXdt zsX5ai9cDpybzY=1+>00Sf&qd@ic()1R7;4ntt_7lryAhk3^wjq3N|STI*F73zkWyXj(%HB zVJ}>v97z0O^Bjby$?@pgrA3s#c3l6H z7KuTF#B>)|J^r7S5C>dvFX>$Q_|zYcS8{wQV~D!%I^0|v!Hy?%B_$moX}p1X(kuU| zw3hp^rKEvU2-euYI*VZqVZO+*U-5))kF1?w%StX^44Vj8?yJw7X{@a}DQ6)18x*dh zK!$Vg{T)yvF9G`PJfo&knLck%WoaqY|7rmZ#`ww_+owwF`SE7O13AwkDbNH#mCjE! zDKoYG-0=;|3_IJk=ZiN~Un_$CXa=`lO2tjo&3f@eE(m}OHmceG4Iuc>hI1Z4SX48p z|B86<`W4!PGFJ3c<^(`>p9X5G1YKeCPy32^QkhHtOdM1N`X6ERUBA`$E!#k-I_f0r z%Ij-L+&keu1!lvSpoQ9H1lVx5$LQ#LHvJuDl<;NG0~{;OqW4~*mh$Uw5HnC3TT2y} zL_!zL`sknTTRJ0lbF!x0X2zM21IbU1Ce1ziMl7E55`t?X=S|l1fzJn*&_XrZ8n>p< zK%hX>;JqsnGSP(VdFM_^+SMzINqCg8RV{>nhRY&NldPe$)i>8$WKM&@zfEy4Wp|&j z|4m_$NLY_{mJ&xwoJDCCXEM=a;%NL|17eoR|HU8IZLV+re{kIb4YKx}-9gKr!+1C! z?w-CmNWn9?hs71wCzybW&KK{8nV*9H{yAnjam3dBPZHBA?20~V0IK}#9Qi`4#!Vr& z=tC0T+Q0m^83u!o0s9-J6hBHz*5ap4 zxR)Xh!`y{0BOP1F%MzM;MT0?Z`Ew!vAQ_xl^xR^a;>5hu&Xi^}Q9BEdGe%jP?pcDW zlbY^ly1-+MgEr4zJegk9a5ljuP_R>l=AD*^;d!)e^TEC=EPP5P%eqOo~_&alqA1`ly+=zG}gx4TD^N``9NhSYVl#mOvK1a=qT1K_a*VH%-)-ruICZ= zs6_brxLu&}Dm{racDcGiYW}+v_4`9BzO>=mMiDj<@16rF^Vf`-oj;>dky zlkSKyL6XS19B8W7UL~$4Yu<+-?5tByZVwQih4GmU={A*Y686#G6*?(8#+UdQV>AoJ zSg_pb{x$}=wQ>IMp8~h1*xpl%fv3Tgh#XlERRsS=m0!RxMEq~2TvSc!JzBaMM5JV_ z+t~cljl0L+zl`7Rgo}NRVmOaf=8H8MZSfuWwyY&r+yuG@@?JL_Y<#|?7Qw7L696qv z7(_8-qVZZ%WY)141tbw81QF*YboI26dQ|mfDdYh>B4qKzE}dr``k%#LQyGwC<<0(1 z{P}@_MTeYLDM=K6sz@%Mx$NxozmD7;xd&BB9pKB6LWwRt$(UJv1at^=4Vk4;c@xM^dxTl~OgZSmhy|=b4?|i~FgQ%X^SjYP zCoNAhT0|E`Jp3C9$(}Q}+d8;Ad7dpeBR~g5T&4_m^^{yC>hT9d^$$6JvHlkYrtES? zYI|6xs3)5!xw6J0lfpOApFl$<+~?o}C(rd;aIfuOJlx4)v7MQa2ga&{io%AvfpHna zzYS12LB(LX`1ZRi1AuS-!j~9Ny&hCL>`*gQnvsWXzI{1w!+x_>?rlmZGH zkTUTIFJ>1c$)30ZAT?|kuk%CG?Hhh8*-mWqN6e>!3j98)YHb^9?y1$ZIcG1i;BUVc z^YjDl0&BW3ha}cc{^XQ5*^)ZLFdMVv_ygT}wjJa%c%v>#7BG73PeX^zIp9VhOV0Q z_zJeX#N-5y)+&Hy%7L$Yx7f55OjYk{>e4_5%^zm+Vew>Wpg6Wj+?vJOT#j>AGMiM0 z5?`KgG+WaXtTM`f{#`&w6#pCND23mMu@|1E?xTf+=d_u$GpvEC3db+ZOtPA4a6iSr zM|LXrk*l>uC{f5WY;K^7ugD*VeD@qr%W5aKKTV%`-aBUCjeYKUawpoL)5It_jvP#2 zs7}$g*gt9BR7hI!99?>GI=nGMB{h-OAq-H5PNW(iO*L;(_SxA1P<(=P0TpX*8NikBu&dMlk}2x>_|Xe2M?$Lw8eC})AAPF4oh z*?vwf8@a%?@&8_16%SG|{hCzD^mn1jYlppWr%kv4%!!1e?d4D-%puJr@J$z=Q61Wm z-l+$X+l$jshT$StT~o}P>xKn*jo>Zpur^XCac9f2bV2Q{QLdaxW5Uf>JKD>M*8!UO zzU=PrUm}mITXF0QCJt&O_+QRKAUlONA8Yrt`lG3+E?oHmpjLNJ-uc!11ya&OwmZ|F zpXtPU+Tl&?t+#v(wrUR_pXi>^*0~%+y%{P1FcS?m`u5fUMQq!*>(9{eS znsBL zkazyq1q}tnWFHvZQS;Y)s6z+Rg`VJrj58G88PbI@n({fwmy#21t-T0yY2-TvCI?S} zN#ZjytIU?*xPu)Kbe|CHXK(h?CY@F!NyJCQ35GQ_Nzw&wmWi|)-2Kqy@o+XI-5s*1 zw!eV}&1I+-raNY-$Yu?+b9+QnHM`S`pz$v408og1L$9OR8$81vtIzLA=>E=~tB<0| zIA{5&(en&f?tYuP8fNt`H6xG~CZ-eeBueR=zTc2qwT3e|A!&z(U|1(zJui7locT>I zf$-xg40x6$xOZ>ZLu9I0rNquamk0LXc1PDOHF~}uWT`LZk)8H8O@anFEYeN-A$^QxAu7Q!JP{Hp^A3n8H!reWm!Q9QAg>T$(nIAZK*fLwKPtJ9%j zyCY?*(VKVQWvd`X!z(8FevypmZk##6tb|9X!`e zTF@0uUK$_i&Nch*OWo&vacGf-N$+OH2YaC4!3qb_c(v<2R6=@_xL9&d6-x$`aQYvC z_Jg7#)#J0A#Ir|Ee!-wMuqp2S7X#kGe((UP@`I}BcNFB`8^qJZPN&b0Zp#C&of))O zj0zEVPW@GC`rN<{19&oIhmj~LfmNmHf-E^j97Vkb2uX zGKiW)Mmz>%Vcv#mfqOzPLGZ$oqq3-?gpc%|_6+KeL+_Rf2|p3!yMMLRd@9@|r?UNBy~#K{I7K&> z^qjtyiI`}*&xF)Dgs1>v5f7iQ0L9zB-O8w1GYLsy(?Q|7l6PX?M0BrTO5wRbVE}L4 z<679Sw^ts_b{zV&dZhHAnQ`;mrt*(N)u#7@_p^UbpCKYbw?8tc$XrO{sBzW+q8_~?Z!1E&yKEZMd|5h!U}u&9xdX2EAW*1;WH zikT6m^4?_8o)H`&o*S4`Ri2i{h%X#cJ=KFdXete6B54kmL2!{xa)aot1i&))h}j_P z?Zq?q*-zjV=FS|YqPM@h{JQ_yS+Q77Nk@YfA~lmSS(SJnJ6gLp!u*_H+9$!8V`CH? zN|Wca#JDa6G7`xqHyMKAiI+70-Zr=<93FlH6##nj_QtuUKYv_N$hPw6$Y34^NBNYr zmg!fC2REt^JU;!F;!a|t%*+c^9pR*V5)}doNwDG@zZQ=x zlHU!i1%G_urUB_hV8qqoYyZoL%NFf?^>`NKac={lBURsMJK@+hZD}Xy74~Z2cj_Yb z>PTCyb@7}6_rP}{B^%$bNHQ~L4nz$z*VC#5IqEeyT&K03Zyyd5<;3}=-lj&(fpx6a z(`d8bBuUD1=aJCAF#&Uv)LcG#}I1jcgdw0Xc!30v}##|P$DOwXzRo{X6fZ9(3+ zvaN{%bimXupt2ax%WY65Um1 z__F;4NGIBw{gjY0n!M|HzJhBmvSVA|ZO%$UcbFBqews=p&rut%gy7Zs*=qw<;6wwS z81dwX3w91J%36W<|6Vil_?upxPs6HMAV-dqp64>vf)Dl?We$&u8@+`Ac>JhfUv;^` zZ!Loax&1rlhuz~PWJz6x##sp-Wg=hNvL4mymySR9>&Kaf3i0;bU$0{A8c>s8sI^sR zo-lt*cdD-L2 zrp>Q}OFk)PZ|VB*M6p1F$kfeUP~}pF_2suMtZ~k7KSe+1mxUv7wa?%3^P=hA7RaGv3iF?*Z=@y2d1Gs@FaNVpWCiITzgD~_f1*Kb z5buFLxCFILBJusuHgGTKFI%s0RR{dIIlqggx@#c#K#kI1a&&;J5xD%9Exh?fw2ykW z*wD!Y4?r=6B@1huIGi*>jhC)(J#Oxq#4{S#QVL$}qYUoou~*P#xg?G+ueG%S;LP!z zYU@a~$Wu7eLyWY^KAga?&hbqO0hSG=Ir(E~{Ubo896CP%o%din8z3-RkA%W@0{;7V@6$X|jl85GsRheJ`ThXsD{fw@v=nGQd#I+|CSdzL zNfQ=D7Tx@Hd-Vr6Pf61b?E5Og%6`hd#Y_Unc9Wfa4S0=~6m-1y`uAE6&$?-&E>koS z9b&Z$)NP(=+-JqlrR`Bw1}AV7#;V~2VzNyEHhF7jL94f$8(Ov^1`2N)S0HIF)8g3Z zsf<-TG#FJ%z+KS)_09=`0vw;Kd*Xg`_7*)kjA<~_E~Vi z-2y2xkW=mRhkYb~DmY*><)=IH0u0b#nE&%%PBOkNdPQ;r!jA0`YNGASyROVnt30yY z0Wneuz{M@VYadR8egVfaOoIuAE$Vjx$-EfqBd)O47@PAIgfV7-i#!c_1!h2z?=)a+ ztUxr8hs07BNR-=92r&RC?IpN8O>QU@fnQ!~;K00-h}(UZt!DBm{COwfp(NmPn;F3tF7W?PVQvRgm1xv1BFr`MRq}BAm+-dv5vFLTG$(G!>zxLUV9>`49i5Uni@bqjs6}uQIwy*duoN`9*T%00>sIj znSajue}3vEww-_XmnV{BO$!o}@@$VBK&a=PCpBeDu~$9wvD=OEua5Bhq%Kc-!4C!K z`^z9nz7CESSTH_;N`E})74?FEF6|gBHyZ=>Jq$jVAd#lVthp)reZlLN*A;A=Ok49|6I5FX)5Pz@P1F;SHrW8mF}l@-a=rW6TM@?7>1kNS(Cw*R2F-U z&NZofJO@9KtGl+s;DyN-sm0x_sv^MdAbvfG@FusQ+GzK*ds-2V%9_j~6qrOv9}1uegf6r}crCP7~I#Ad2>4U<@!>I9Mrs z*z-KxV}gJQPdpA(N=0sdD&z>4#<$d&=EB|EA=JdPl0yf>C&n9Ztxmsi`xwq~3@Yx@ zpW}T9dwCs{MoH+0xX4J8?Ytgdd`Z){jB6TqL70hwaNFed{tgefgWJa68!iQs^#4Sr zM@_4gQ1wrnuAkJhZUmU$F|Pz|xY3jDz_NA*XXtYG4qLMlz)*#FDB}J;RGp*pBe@BXgHZ7Od&v-6!+mLl8#8v&R-YSGrZEF*D38$sH z1)ku;k%oh->!&Y9dMF4R5v=@P?$jk`VZ!~k;yQQ#+JvB-jVCaq$E9B`OTtMLU>^~M zXd8b0MtpaJ^XpuK0U%_`&Qy9!mn4tPr+gZ)v!>kuAKZdC7I~`yl1twk%0{o}6j*PI zHcWWr0Wszc0oTqlHl5LyR$u~eh0MqXniEJhJcIQYmP=&*ftkz7!SRF{{;Q4 zGk_hn`qIfI@Zwg-&pMYez6r3nm{K%iMtoENy%#GAceXa=$XE0$e!JG3K*wuwQa7%< z*uBY&1y$sJ9sE&^;3Qw%9ta81p9;8R+PI|jZa>`nrxrT<4w`EwzY?lH>qWFo@IdVK z*>57{KOQ}_WOPE9A@NU~97O}%;HHwl>`Ip)*Z&b%LR?P!ohEQ$Nsab+g{HwB;yLB5 z%I%#WKPv$~-q&UNGXpC0lp-cjT~^9-f$sb3t3eS4d9NHxg**-%)_kMxN}xop?%PZhc-yGP0F}bv7C`RIJBYOQ!EDLA}AjfpC7== z6vyUlgQH)YK#RUb+>nRfJ|}^gO&jbn=&<>uL2`apCy`CSp=;rS!#zCo(?G2c(dGdc z$V-l{UD&CqEogw{a|3!2x`!_mb8Q1$AsT=6QLAWj`20icyQla;uuAe@W1UuE3*33X zN6OC{%M1j@(BMpAb~qcQ0;cbTz+JoR0dy#WfX~fkwx!upt>{DoGY$%B`NwG6F?Ycd zJew7!mEgJ1=`71<%oJXcy}VScjLgYX2A#u#+e;HX9t4j+mjKXWA)_b{Z1+fp6Z0>7 zhQ_JBznf2zHbuzqnr-qF^uWi)02x?bUQQbu19(3liu0ZyLX=tAZI#%is_5pt1+{vNbs37uPM4=I4{bQV+FEv&|L-$3e7Pf-7| zlU5K`D%#xP{I=wCh9@J#WS@Xa2?cSCdMpkcN3+jWem}0r1{C9wr68xa){OGOi^gj; zd~aLCzF})}BXq4sx?vYM$OiZDG-I9fs(%mOw^{6>h?u`nB>PmAk;+G0*yN}oWsM-S z?~(INaDV_)XG9lL7rI=Y<#7W_h90D8a_+O?`83YI#}X53;~TQ5V03)|&IrU)91mH( ze}LJf@m5g~II8)d@~IQZr?^x3RGqA+D8^U5Y3g!&6_lp%#tD_DiIE!BIKEF~g1oeu z^9?0$@L;<9pZOyds|*m_UlR?yW48DyvN%mkj_so%5R<3 z>u#|b@OPSIUx^#n$*PHdm|O#T6k=%9u*XCp8zdJ9+P<0+g-9V`B_c#2fm+hAXHRo~ zr5cvzwuH--?uO4VFOhw7erY;vek4|r>o1@>nEC&&lKLHRs-zYah6L0UdR2abbdFh= z0FY85tmxz?L}RVNNZfQQss^T6kcBW)z_AV71&U=CI%4AYeu{00yFjSin_O_AYH^^G zFDzB6ykR$Er#c2CBtq>C%$kz8*!Wr>RKP1m#fDgfF?USi8_rU)$_Ovkaj`vo19FJp zq*L|ylNaINL49AuF|i7Jc&8`zmr~tXTev6Kxc*En|G^}QzaKe5>RgFXL*tHZK^^!_ zu=g50pGNhLAeY;b^8g%ivFU-=K2F6M1pHu0Iphu~EI=Q>$pl|HjF%yiZ`yX`B3iF6 zgFEP3%!hb2L)48CRcX#3*OBrHG0nNwFj!gmj*$^)|7A(AzItxZ8%~xNJq&zKL0LnJdL>M-1XXSz!WsN%mAeV7jh3!IED(c#3U!{-SZd!O_ha=y5EF**$@zX2C0_t zt~2%o=l4~$saNgT;$-pVIScQ%el#d>3>1D5O4H_m>j?EsF_Hd^Cq5sV1tgc^O$NKO zk6p7XNWhUYZ`B2v^kV5nwEZ*mj;%q3$r*+_ET0A9*ZjEk`g-~l-~T?9xDmgLHhz6X zENvt{SgxRk+pLqzN7!0Xk#uSl)tKj*o0}U7pTCBMbX5ioSkv7_UNdYFGZL7#UGJ>+ z+9=Hvvo61hPS!tNDX3FpdSN5)lEs91ScK{ovGU6+H)6g2+vmpr=jT3d`W9P1qwdG$ zzJE#_8pA*ujed^TobI#|ppOjNBm7_dr5Y^`9Pilw)as=Svvm%F^4s}riEcNLG4k0A z_oHHyLp|dJ?NS3IKbin)bXh3%78!Uq(X)_=BwB-w zd6)Z#XZ;V9{7mC}L4&E}V%xbJlr&zoP)+-lE4jhHz?yKWt$@gu2T^9ZOMel3zx!{@ zUy|b-V_|47-NOTqwkn_gOY5-e|HwqAlYy+C89JJ`tt&y83 z54p#*nIS@VF=fEP>zH~6UVQaV!yE}I{NB`TJz-;yK>{YbR`vEq+KsV?32e0CR~JBn zA|=nmPzE@0AJkRbufVjA_pozqxN*aDJ0&>;@vKSX$M`4Gl`+9tG|t=wPg%g=+7Jt? zcml+Ow|<7OC*~Kh9CYEa?4>H+YsOf|Wi#=P=m1durXfYFOdR#R;2RPoRKnF4dZSx` zw52?9whr8tm&;G&RNc~1d?W;=+Oc4G$v8U1LksJjKmnYezkrHPl}aiQ*blMvuK5Z%kTxTq0 zl{}x%)j5>}t&j5F0gpJ0eW~u8RI1S<9pvCcV0Be|1gFC%fBQ1qYMr8y+e=PJWagVJ zW|mALLDm*>K3_!{y=a%A7T~Fc-4i3#qL;+i3KV+Jr&*AVhT%B8milPQiZ{(OEuJ}Z z5y7?Pt z`zB{;jU<76{>w08Dm|rTjFnujsVX>^F1#}|mJ3q^)?YNUvCo07T!AuW;p9JW$7UIE zApwh!{6-vzElIk$T2Afdh7=D`$b2U!jcZN*^|%^Ch8C72denGZJo6<-10wp~2`Js| zYSvUn+<*g>m?qJ$A9Nk1OHhMS3GTz&`GI~GmklG@fa-n4rZ0jThV*Q>K^@nPavs4p zPH;p=n|?KD{!9;t#k~}+t`)On4Q5YM&irven{phnbo0Ip&n^AZvAv`C@pG2Cp*rT~ z#8_Rylj{|?v{7ZclTf@=5Fbx_>EQ5&9Sp`N1>nY)H<8bKc`Ag`MFv@)q)Ks-aA2|Q z;arcmpVS=wmIi6~uWeUt5N7oF(`ycgWT7StA7Z_RP^>;nPVMz^VV)W$eP2> NX&Iia)UXNte*lW`aX0_~ literal 0 HcmV?d00001 From 28b611fc210986fe017266b0b9687cb79306abb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Wed, 18 Dec 2024 14:41:12 +0100 Subject: [PATCH 058/123] Program switches are now deprecated (#36073) --- source/_integrations/home_connect.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index 5964b8e5d8b..54f380b9e66 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -35,7 +35,6 @@ The integration will add one Home Assistant device for each connected home appli - A power switch - If the device has programs: - - Switches for each of the individual programs will be added. Note that program options cannot be configured currently. - 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: From 0eb91de167326da779fa17875e010237b8f64767 Mon Sep 17 00:00:00 2001 From: Josef Zweck Date: Wed, 18 Dec 2024 15:53:00 +0100 Subject: [PATCH 059/123] Mark acaia platinum (#36413) --- source/_integrations/acaia.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/acaia.markdown b/source/_integrations/acaia.markdown index c9aea0d6b65..1ea74fc2461 100644 --- a/source/_integrations/acaia.markdown +++ b/source/_integrations/acaia.markdown @@ -18,6 +18,7 @@ ha_bluetooth: true ha_codeowners: - '@zweckj' ha_integration_type: device +ha_quality_scale: platinum --- The **Acaia** {% term integration %} allows you to control [Acaia](https://acaia.co/) scales through Home Assistant. From d370c8e5a9fdf0c3c0e0d5fb753457d9fec93ed9 Mon Sep 17 00:00:00 2001 From: Josef Zweck Date: Wed, 18 Dec 2024 15:53:18 +0100 Subject: [PATCH 060/123] Update quality scale for lamarzocco (#36412) --- source/_integrations/lamarzocco.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/lamarzocco.markdown b/source/_integrations/lamarzocco.markdown index 0902dd1fa8b..c0008b43788 100644 --- a/source/_integrations/lamarzocco.markdown +++ b/source/_integrations/lamarzocco.markdown @@ -28,6 +28,7 @@ ha_dhcp: true ha_codeowners: - '@zweckj' ha_integration_type: device +ha_quality_scale: platinum --- This integration interacts with [La Marzocco](https://lamarzocco.com/it/en/) coffee machines through calls to the La Marzocco cloud API. Optionally, local API calls, which include a WebSocket connection for (near) real-time updates and a Bluetooth connection, can be utilized for local connections. From e757b70ccabff4af74be4a31295c2cd34bba95fc Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 18 Dec 2024 18:50:03 +0100 Subject: [PATCH 061/123] Add mW as unit of measurement of power --- source/_integrations/number.markdown | 2 +- source/_integrations/sensor.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown index 6f3536c59a5..ee39325cb0f 100644 --- a/source/_integrations/number.markdown +++ b/source/_integrations/number.markdown @@ -69,7 +69,7 @@ The following device classes are supported for numbers: - **pm10**: Concentration of particulate matter less than 10 micrometers in µg/m³ - **pm25**: Concentration of particulate matter less than 2.5 micrometers in µg/m³ - **power_factor**: Power factor(unitless), unit may be `None` or % -- **power**: Power in W, kW, MW, GW or TW +- **power**: Power in mW, W, kW, MW, GW or TW - **precipitation**: Accumulated precipitation in cm, in or mm - **precipitation_intensity**: Precipitation intensity in in/d, in/h, mm/d, or mm/h - **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg, or psi diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 22e8568bfca..194b8ef07e2 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -81,7 +81,7 @@ The following device classes are supported for sensors: - **pm25**: Concentration of particulate matter less than 2.5 micrometers in µg/m³ - **pm10**: Concentration of particulate matter less than 10 micrometers in µg/m³ - **power_factor**: Power factor (unitless), unit may be `None` or % -- **power**: Power in W, kW, MW, GW or TW +- **power**: Power in mW, W, kW, MW, GW or TW - **precipitation**: Accumulated precipitation in cm, in or mm - **precipitation_intensity**: Precipitation intensity in in/d, in/h, mm/d or mm/h - **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg or psi From 693e44a6bc6e921fa8656462ff3543b4a0289eac Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 18 Dec 2024 19:15:00 +0100 Subject: [PATCH 062/123] Add Peblar Rocksolid EV Chargers integration (#36417) --- source/_integrations/peblar.markdown | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 source/_integrations/peblar.markdown diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown new file mode 100644 index 00000000000..c6d4931bb55 --- /dev/null +++ b/source/_integrations/peblar.markdown @@ -0,0 +1,31 @@ +--- +title: Peblar +description: Instructions on how to integrate Peblar Rocksolid EV Charger with Home Assistant. +ha_category: + - Car + - Energy +ha_release: 2025.1 +ha_iot_class: Local Polling +ha_config_flow: true +ha_codeowners: + - '@frenck' +ha_domain: peblar +ha_platforms: + - sensor +ha_integration_type: device +--- + +The Peblar {% term integration %} integrates your [Peblar Rocksolid EV Charger] +with Home Assistant. This integration allows you to monitor the charging status +of your Peblar charger. + +[Peblar Rocksolid EV Charger]: https://peblar.com/ + +{% include integrations/config_flow.md %} + +## Removing the integration + +This integration follows standard integration removal. No extra steps are +required. + +{% include integrations/remove_device_service.md %} From 3179550c3aac23052c17cb1703758b39363690fb Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Wed, 18 Dec 2024 19:33:03 +0100 Subject: [PATCH 063/123] Add documentation for IronOS select platform (#36156) --- source/_integrations/iron_os.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/_integrations/iron_os.markdown b/source/_integrations/iron_os.markdown index 0fcd59a6f42..f7e9818dc1e 100644 --- a/source/_integrations/iron_os.markdown +++ b/source/_integrations/iron_os.markdown @@ -6,6 +6,7 @@ ha_category: - Sensor - Update - Binary sensor + - Select ha_iot_class: Local Polling ha_release: 2024.8 ha_config_flow: true @@ -18,6 +19,7 @@ ha_platforms: - sensor - update - binary_sensor + - select --- The **IronOS** {% term integration %} seamlessly connects Home Assistant with PINE64's Pinecil V2 soldering irons, allowing for remote monitoring and control. This integration provides real-time updates on temperature, power, and various other settings and diagnostic information. @@ -85,12 +87,23 @@ The following controls allow you to customize the settings and options for your - **Motion sensitivity:** Controls how sensitive the device is to movement. Higher values increase sensitivity (for example, 0 = motion detection is off). - **Hall effect sensitivity:** Configures the sensitivity of the hall effect sensor (if present) for detecting a magnet to activate sleep mode. - **Display brightness:** Adjusts the brightness of the soldering iron's display. +- **Button locking mode:** Configures whether buttons can be locked to prevent accidental presses, with options for disabled, full locking, or boost only. +- **Display orientation mode:** Sets the display orientation with options for left-handed, right-handed, or automatic adjustment. +- **Startup behavior:** Defines the mode the device enters on power-up: disabled, sleeping mode, idle mode (heat-off until moved), or soldering mode. + +### User interface settings + +- **Scrolling speed:** Adjusts the speed of the description text scrolling in the menu, with options for slow or fast. +- **Temperature display unit:** Sets the unit for displaying temperature as Celsius (C°) or Fahrenheit (F°). +- **Animation speed:** Adjusts the pace of icon animations in the menu, with options for off, slow, medium, or fast. +- **Boot logo duration:** Sets the duration for the boot logo, with options for off, 1–5 seconds, or loop. ### Power management - **Keep-awake pulse duration:** Specifies the duration of the power pulse to keep connected power banks awake. Shorter durations minimize power waste and unnecessary heating. - **Keep-awake pulse delay:** Adjusts the interval between power pulses. Longer delays reduce unwanted heating, but must be short enough to prevent the power bank from shutting off. - **Keep-awake pulse intensity:** Enables and sets the wattage of the power pulse. The power pulse briefly activates the heater to draw sufficient power, preventing connected power banks from entering sleep mode. +- **Power source:** Sets the power source type, with options for an external power supply or 3S to 6S battery configurations. - **Min. voltage per cell:** Sets the minimum voltage per battery cell before shutdown. This value is multiplied by the cell count (for example, 3S: 3–3.7V, 4–6S: 2.4–3.7V). - **Power Delivery timeout:** Defines how long the firmware will attempt to negotiate USB-PD before switching to Quick Charge. Lower values are recommended for faster PD negotiation. - **Power limit:** Sets a custom wattage cap for the device to maintain the **average** power below this value. Note: Peak power cannot be controlled. When using USB-PD, the limit will be the lower of this setting and the power supply's advertised wattage. From aafedb1fc9e3f5fdbda4a67a1df72db360d869a5 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Wed, 18 Dec 2024 22:26:41 +0100 Subject: [PATCH 064/123] Reolink quality scale platinum (#36422) --- source/_integrations/reolink.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index 6c57f21e9b9..f1c5a7f4979 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -26,6 +26,7 @@ ha_platforms: - update ha_integration_type: integration ha_dhcp: true +ha_quality_scale: platinum related: - docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera title: Controlling the camera from the dashboard From 0476fd93a20dadb461973922086648829e626925 Mon Sep 17 00:00:00 2001 From: Simon Lamon <32477463+silamon@users.noreply.github.com> Date: Thu, 19 Dec 2024 15:42:55 +0100 Subject: [PATCH 065/123] Introduce a target picker for the logbook card (#36411) * Logbook card update * Additional information for target selector. --- source/_dashboards/logbook.markdown | 37 ++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/source/_dashboards/logbook.markdown b/source/_dashboards/logbook.markdown index 8f86938ebd3..e344a6ac3ca 100644 --- a/source/_dashboards/logbook.markdown +++ b/source/_dashboards/logbook.markdown @@ -2,7 +2,7 @@ type: card title: "Logbook card" sidebar_label: Logbook -description: "The logbook card displays entries from the logbook for specific entities." +description: "The logbook card displays entries from the logbook for specific entities, devices, areas, and/or labels." related: - docs: /integrations/frontend/ title: Themes @@ -10,7 +10,7 @@ related: title: Dashboard cards --- -The logbook card displays entries from the logbook for specific entities. +The logbook card displays entries from the logbook for specific entities, devices, areas, and/or labels.

Screenshot of the logbook card @@ -22,8 +22,8 @@ The logbook card displays entries from the logbook for specific entities. ## Card settings {% configuration_basic %} -Entities: - description: The entities whose logbook entries will show in the card. +Target: + description: The entities, devices, areas and labels whose logbook entries will show in the card. See [target selector](/docs/blueprint/selectors/#target-selector) for more information. Title: description: The title that shows on the top of the card. Hours to show: @@ -41,10 +41,10 @@ type: required: true description: "`logbook`" type: string -entities: +target: required: true - description: The entities that will show in the card. - type: list + description: The target to use for the card. + type: map title: required: false description: Title of the card. @@ -64,9 +64,24 @@ theme: ```yaml type: logbook -entities: - - fan.ceiling_fan - - fan.living_room_fan - - light.ceiling_lights +target: + entity_id: + - fan.ceiling_fan + - fan.living_room_fan + - light.ceiling_lights hours_to_show: 24 ``` + +```yaml +type: logbook +target: + area_id: living_room + device_id: + - ff22a1889a6149c5ab6327a8236ae704 + - 52c050ca1a744e238ad94d170651f96b + entity_id: + - light.hallway + - light.landing + label_id: + - lights +``` From 18547b19a4b79f6bc2e2cde7eb4ec7b518fefdc3 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Fri, 20 Dec 2024 10:13:32 +0100 Subject: [PATCH 066/123] Add lowest/highest price to Nord Pool (#36437) --- source/_integrations/nordpool.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/nordpool.markdown b/source/_integrations/nordpool.markdown index d8319dc06a6..968ea517cd4 100644 --- a/source/_integrations/nordpool.markdown +++ b/source/_integrations/nordpool.markdown @@ -65,6 +65,8 @@ The integration will create entities showing today's energy prices for the confi | Previous price | [Currency]/kWh | The price of the previous hour. | | Next price | [Currency]/kWh | The price of the next hour. | | Daily average | [Currency]/kWh | The average of today's energy prices. | +| Lowest price | [Currency]/kWh | Today's lowest price (start and end time are provided in state attributes) | +| Highest price | [Currency]/kWh | Today's highest price (start and end time are provided in state attributes) | ### Peak & off-peak sensors From 0618232a0a2dbdb5bc7034d17a900145fa4ec501 Mon Sep 17 00:00:00 2001 From: Josef Zweck Date: Fri, 20 Dec 2024 18:13:51 +0100 Subject: [PATCH 067/123] Add brew by weight documentation to lamarzocco (#36290) * add brew by weight * add binary sensor * remove numbers --- source/_integrations/lamarzocco.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/lamarzocco.markdown b/source/_integrations/lamarzocco.markdown index c0008b43788..15169b00d82 100644 --- a/source/_integrations/lamarzocco.markdown +++ b/source/_integrations/lamarzocco.markdown @@ -87,7 +87,6 @@ Use Bluetooth: | **Preinfusion time** | Duration of preinfusion | `Linea Micra`, `Linea Mini`, `GS3 AV` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | `GS3` has this multiple times, one for each physical key (1-4), and the entities are disabled by default | | **Smart standby time** | Time until the machine will automatically stand by (if enabled) | `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | - | - ## Switches | Switch name | Description | Available for machines | Controllable through | @@ -103,6 +102,7 @@ Use Bluetooth: | **Water tank empty** | Indicates whether the water tank needs a refill. | `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} {% icon "material-symbols:wifi" title="Local connection" %} | - | | **Brewing active** | Is on if you are in the process of making coffee. | `all` | {% icon "material-symbols:wifi" title="Local connection" %} | Only available when the `Host` was set during component configuration. | | **Backflush enabled** | Is on if you started the backflushing process. | `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} {% icon "material-symbols:wifi" title="Local connection" %} | - | +| **Connectivity** | Whether the LM Acaia scale is currently connected to the machine. | `Linea Mini` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | Only available if you have the Acaia LM scale and configured it with your machine. | ## Sensors @@ -113,6 +113,7 @@ Use Bluetooth: | **Total coffees made** | Counter for total coffees made| `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | - | | **Total flushes made** | Counter for total flushes done | `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %}| - | | **Shot timer** | Time the current brew is running | `all` | {% icon "material-symbols:wifi" title="Local connection" %} | Only available when the `Host` was set during component configuration. | +| **Battery** | Battery level of the LM Acaia scale | `Linea Mini` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | Only available if you have the Acaia LM scale and configured it with your machine. | ## Updates From b64908b8672976b3f704ddc623d2f279c28e65b9 Mon Sep 17 00:00:00 2001 From: mvn23 Date: Fri, 20 Dec 2024 18:27:27 +0100 Subject: [PATCH 068/123] Document opentherm_gw "cancel room setpoint override" button (#36121) --- source/_integrations/opentherm_gw.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown index edfa553cf45..ac49b485a8f 100644 --- a/source/_integrations/opentherm_gw.markdown +++ b/source/_integrations/opentherm_gw.markdown @@ -73,6 +73,14 @@ Floor Temperature: ### Button +The integration adds the following buttons to your Home Assistant instance: + +#### Cancel Room Setpoint Override + +Pressing this button, which can be found on the `OpenTherm Thermostat` device, cancels an active room setpoint override. Note that it does not change the target temperature, it only returns control to the thermostat. + +#### Restart + The restart button on the `OpenTherm Gateway` device can be used to restart the OpenTherm Gateway. ### Select From 8e6c94ea520131f83ed6a13fb6eb892a908f59f9 Mon Sep 17 00:00:00 2001 From: mkmer Date: Fri, 20 Dec 2024 12:28:41 -0500 Subject: [PATCH 069/123] Add humidifier to honeywell.markdown (#36158) * Update honeywell.markdown Add humidifier based on PR * Update honeywell.markdown Use AI version of doc Fix typo * Update honeywell.markdown Touchup spacing Remove supported model section --- source/_integrations/honeywell.markdown | 39 ++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/source/_integrations/honeywell.markdown b/source/_integrations/honeywell.markdown index 425a0607073..3b6f9e9d1b0 100644 --- a/source/_integrations/honeywell.markdown +++ b/source/_integrations/honeywell.markdown @@ -27,6 +27,7 @@ If your system is compatible with this integration, then you will be able access - [Climate](#climate) - [Sensor](#sensor) - [Switch](#switch) +- [Humidifier](#humidifier) {% include integrations/config_flow.md %} @@ -48,7 +49,7 @@ Other devices like Security systems are not currently supported by this integrat The climate platform integrates Honeywell US-based thermostats into Home Assistant, allowing control of the thermostat through the user interface. The current inside temperature, operating mode, and fan state are also displayed on the thermostat card. -All [climate actions](/integrations/climate) are supported except set_swing_mode. +All [climate actions](/integrations/climate) are supported except `set_swing_mode`. Due to the instability of the Honeywell total connect system, actions within automations should repeat until success similar to the following example: @@ -98,3 +99,39 @@ This integration will add a switch for the following: |Switch|Value| --- | --- |Emergency Heat | Activates second stage heat source as primary heat| + +## Humidifier + +If the discovered device supports humidity control, the integration will add a humidifier and/or dehumidifier for each device. + +### Available Actions + +| Action | Description | +|--------|-------------| +| `humidifier.set_humidity` | Set target humidity level | +| `humidifier.turn_on` | Enable humidity control | +| `humidifier.turn_off` | Disable humidity control | +| `humidifier.toggle` | Toggle humidity control | + +For more details, see the [humidifier](/integrations/humidifier) integration documentation. + +### Configuration Example + +```yaml +# Example configuration.yaml entry +automation: + - alias: "Maintain Comfortable Humidity" + trigger: + - platform: numeric_state + entity_id: sensor.indoor_humidity + below: 30 # Trigger when humidity drops below 30% + action: + - service: humidifier.turn_on + target: + entity_id: humidifier.living_room + - service: humidifier.set_humidity + target: + entity_id: humidifier.living_room + data: + humidity: 35 # Set target humidity to 35% (recommended for comfort) +``` From 4db3365a47c5480c8d043e789f1e2de40af6d52e Mon Sep 17 00:00:00 2001 From: Andre Lengwenus Date: Fri, 20 Dec 2024 18:34:57 +0100 Subject: [PATCH 070/123] Add docs for switch to device_id for LCN actions (#35600) * Add docs for switch to device_id for LCN actions * Fix nipick comments * Remove addres_to_device_id action --- source/_integrations/lcn.markdown | 103 +++++++++++++++--------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/source/_integrations/lcn.markdown b/source/_integrations/lcn.markdown index 9f288022cc2..8814c6d968c 100644 --- a/source/_integrations/lcn.markdown +++ b/source/_integrations/lcn.markdown @@ -106,10 +106,10 @@ To delete multiple devices at once, enable selection mode. Select the desired e ### Configuring entities -Entities configured for all devices are listed on the **Entities** tab. +Entities configured for all devices are listed on the **Entities** tab. To view entities for a specific device (module or group), in the **Modules / Groups** tab, select the device entry. - - **Result**: The **Entities** tab opens, showing entities of the selected device. + - **Result**: The **Entities** tab opens, showing entities of the selected device. - To apply custom filters, enable the filter option. ![Create module/group dialog](/images/integrations/lcn/lcn_entities_page.png) @@ -128,13 +128,13 @@ To view entities for a specific device (module or group), in the **Modules / Gro #### Deleting entities To delete a single entity, select the trash can icon next to it. -- **Result**: This removes the entity from the list and from Home Assistant. +- **Result**: This removes the entity from the list and from Home Assistant. To delete multiple entities, enable selection mode, select the desired entries, and select **Delete Selected** in the upper right. #### Displaying entity properties -Once an entity is created, you can view and configure its properties. +Once an entity is created, you can view and configure its properties. Select the entity in the entity list. - This opens the Home Assistant dialog for entity properties, allowing you to configure the entity as you would from the general Home Assistant entity configuration panel. @@ -431,13 +431,15 @@ For an explanation of the attributes refer to the corresponding [events](#events In order to directly interact with the LCN system, and invoke commands which are not covered by the implemented platforms, the following actions can be used. Refer to the [Performing actions](/docs/scripts/service-calls) page for examples on how to use them. +When actions are linked to a particular device, the device is identified by its `device_id`. This `device_id` is a unique identifier supplied by Home Assistant. + ### Action: `output_abs` Set absolute brightness of output port in percent. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | --------------------------------- | --------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `output` | No | Output port of module | [OUTPUT_PORT](#ports) | | `brightness` | Yes | Absolute brightness in percent | 0..100 | | `transition` | Yes | Transition (ramp) time in seconds | 0..486 | @@ -447,7 +449,7 @@ Example: ```yaml action: lcn.output_abs data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 output: output1 brightness: 100 transition: 0 @@ -457,9 +459,9 @@ data: Set relative brightness of output port in percent. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | --------------------------------- | --------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `output` | No | Output port of module | [OUTPUT_PORT](#ports) | | `brightness` | Yes | Relative brightness in percent | -100..100 | | `transition` | Yes | Transition (ramp) time in seconds | 0..486 | @@ -469,7 +471,7 @@ Example: ```yaml action: lcn.output_rel data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 output: output1 brightness: 30 ``` @@ -478,9 +480,9 @@ data: Toggle output port. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | --------------------------------- | --------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `output` | No | Output port of module | [OUTPUT_PORT](#ports) | | `transition` | Yes | Transition (ramp) time in seconds | 0..486 | @@ -489,7 +491,7 @@ Example: ```yaml action: lcn.output_toggle data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 output: output1 transition: 0 ``` @@ -501,17 +503,17 @@ Each character represents the state change of a relay (1=on, 0=off, t=toggle, -= Example states: `t---001-` -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | ------ | -| `address` | No | [LCN address](#lcn-addresses) | -| `state` | No | Relay states as string | +| `device_id` | No | Home Assistant device id || +| `state` | No | Relay states as string || Example: ```yaml action: lcn.relays data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 state: t---001- ``` @@ -519,9 +521,9 @@ data: Set the LED status. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | -------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `state` | No | LED state as string | [LED_STATE](#states) | Example: @@ -529,7 +531,7 @@ Example: ```yaml action: lcn.led data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 led: led6 state: blink ``` @@ -540,9 +542,9 @@ Set the absolute value of a variable or setpoint. If `value` is not defined, it is assumed to be 0. If `unit_of_measurement` is not defined, it is assumed to be `native`. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | ------------------------------------------------------------------ | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `variable` | No | Variable name | [VARIABLE](#variables-and-units), [SETPOINT](#variables-and-units) | | `value` | Yes | Variable value | _any positive number_ | | `unit_of_measurement` | Yes | Variable unit | [VAR_UNIT](#variables-and-units) | @@ -552,7 +554,7 @@ Example: ```yaml action: lcn.var_abs data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 variable: var1 value: 75 unit_of_measurement: % @@ -569,9 +571,9 @@ Set the relative value of a variable or setpoint. If `value` is not defined, it is assumed to be 0. If `unit_of_measurement` is not defined, it is assumed to be `native`. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | ----------------------------------------------------------------------------------------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `variable` | No | Variable name | [VARIABLE](#variables-and-units), [SETPOINT](#variables-and-units), [THRESHOLD](#variables-and-units) | | `value` | Yes | Variable value | _any positive or negative number_ | | `unit_of_measurement` | Yes | Variable unit | [VAR_UNIT](#variables-and-units) | @@ -581,7 +583,7 @@ Example: ```yaml action: lcn.var_rel data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 variable: var1 value: 10 unit_of_measurement: % @@ -596,9 +598,9 @@ Otherwise the module might show unexpected behavior or return error messages. Reset value of variable or setpoint. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | ------------------------------------------------------------------ | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `variable` | No | Variable name | [VARIABLE](#variables-and-units), [SETPOINT](#variables-and-units) | Example: @@ -606,7 +608,7 @@ Example: ```yaml action: lcn.var_reset data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 variable: var1 ``` @@ -620,9 +622,9 @@ Otherwise the module might show unexpected behavior or return error messages. Locks a regulator setpoint. If `state` is not defined, it is assumed to be `False`. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | -------------------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `setpoint` | No | Setpoint name | [SETPOINT](#variables-and-units) | | `state` | Yes | Lock state | true, false | @@ -631,7 +633,7 @@ Example: ```yaml action: lcn.lock_regulator data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 setpoint: r1varsetpoint state: true ``` @@ -644,9 +646,9 @@ If `state` is not defined, it is assumed to be `hit`. The command allows the sending of keys immediately or deferred. For a deferred sending the attributes `time` and `time_unit` have to be specified. For deferred sending, the only key state allowed is `hit`. If `time_unit` is not defined, it is assumed to be `seconds`. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | --------------------------------- | -| `address` | No | [LCN address](#lcn-addresses) | +| `device_id` | No | Home Assistant device id || | `keys` | No | Keys string | | `state` | Yes | Keys state | [KEY_STATE](#states) | | `time` | Yes | Deferred time | 0.. | @@ -658,7 +660,7 @@ Send keys immediately: ```yaml action: lcn.send_keys data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 keys: a1a5d8 state: hit ``` @@ -667,7 +669,7 @@ Send keys deferred: ```yaml action: lcn.send_keys data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 keys: a1a5d8 time: 5 time_unit: s @@ -681,10 +683,10 @@ The key lock states are defined as a string with eight characters. Each characte The command allows the locking of keys for a specified time period. For a time period, the attributes `time` and `time_unit` have to be specified. For a time period, only table `a` is allowed. If `time_unit` is not defined, it is assumed to be `seconds`. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | --------------------------------- | -| `address` | No | [LCN address](#lcn-addresses) | -| `table` | Yes | Table with keys to lock | +| `device_id` | No | Home Assistant device id || +| `table` | Yes | Table with keys to lock || | `state` | No | Key lock states as string | [KEY_STATE](#states) | | `time` | Yes | Time period to lock | 0.. | | `time_unit` | Yes | Time unit | [TIME_UNIT](#variables-and-units) | @@ -695,7 +697,7 @@ Lock keys forever: ```yaml action: lcn.lock_keys data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 table: a state: 1---t0-- ``` @@ -704,7 +706,7 @@ Lock keys for a specified time period: ```yaml action: lcn.lock_keys data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 state: 1---t0-- time: 10 time_unit: s @@ -716,19 +718,18 @@ Send dynamic text to LCN-GTxD displays. The displays support four rows for text messages. Each row can be set independently and can store up to 60 characters (encoded in UTF-8). - -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ---------------------------------- | ------ | -| `address` | No | [LCN address](#lcn-addresses) | -| `row` | No | Text row 1..4 | -| `text` | No | Text to send for the specified row | +| `device_id` | No | Home Assistant device id || +| `row` | No | Text row 1-4 || +| `text` | No | Text to send for the specified row || Example: ```yaml action: lcn.dyn_text data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 row: 1 text: "text in row 1" ``` @@ -737,17 +738,17 @@ data: Send arbitrary PCK command. Only the command part of the PCK command has to be specified in the `pck` string. -| Data attribute | Optional | Description | Values | +| Data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------------------------- | ------ | -| `address` | No | [LCN address](#lcn-addresses) | -| `pck` | No | PCK command | +| `device_id` | No | Home Assistant device id || +| `pck` | No | PCK command || Example: ```yaml action: lcn.pck data: - address: myhome.0.7 + device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 pck: PIN4 ``` From 8242e008ea7f0fecf16b0ffc8974a32bc85b832c Mon Sep 17 00:00:00 2001 From: greyeee <62752780+greyeee@users.noreply.github.com> Date: Sat, 21 Dec 2024 07:49:44 +0800 Subject: [PATCH 071/123] Update switchbot (#36375) --- source/_integrations/switchbot.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown index 9e6f2e2aa00..551628195ef 100644 --- a/source/_integrations/switchbot.markdown +++ b/source/_integrations/switchbot.markdown @@ -66,6 +66,8 @@ Some SwitchBot devices need to be configured within the app before being control - [Lock Pro (WoLockPro)](https://www.switch-bot.com/pages/switchbot-lock-pro) - [Blind Tilt (WoBlindTilt)](https://switch-bot.com/pages/switchbot-blind-tilt) - [Hub 2 (WoHub2)](https://switch-bot.com/pages/switchbot-hub-2) (currently only supports retrieving sensor data, does not yet support device control) +- [Relay Switch 1](https://www.switch-bot.com/products/switchbot-relay-switch-1) +- [Relay Switch 1PM](https://www.switch-bot.com/products/switchbot-relay-switch-1pm) ## SwitchBot Entity @@ -78,11 +80,11 @@ There are three attributes available on the SwitchBot entity to give you more in - `Retry count`: How many times to retry sending commands to your SwitchBot devices. -## SwitchBot Lock / SwitchBot Lock Pro +## SwitchBot Lock / SwitchBot Lock Pro / Relay Switch 1 / Relay Switch 1PM The integration currently only uses the primary lock state; in dual lock mode, not all things might work properly. -A SwitchBot lock can be set up in Home Assistant in two different ways. You can enter the key id and encryption key yourself, or Home Assistant can import them from your SwitchBot account. +A SwitchBot lock and relay switch can be set up in Home Assistant in two different ways. You can enter the key id and encryption key yourself, or Home Assistant can import them from your SwitchBot account. ### SwitchBot account (recommended) From 9feb0b5330a226b5abf9c4f529bc4b7ae00f7a92 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 21 Dec 2024 13:37:54 +0100 Subject: [PATCH 072/123] Add update platform to Peblar Rocksolid EV Chargers integration (#36458) * Add update platform to Peblar Rocksolid EV Chargers integration * Remove unrelated change --- source/_integrations/peblar.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown index c6d4931bb55..11e3c29b1da 100644 --- a/source/_integrations/peblar.markdown +++ b/source/_integrations/peblar.markdown @@ -12,6 +12,7 @@ ha_codeowners: ha_domain: peblar ha_platforms: - sensor + - update ha_integration_type: device --- From 08e83605d43b42972e74c943db0df8abc7dd3864 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 21 Dec 2024 16:15:28 +0100 Subject: [PATCH 073/123] Add select platform to Peblar Rocksolid EV Chargers integration (#36462) --- source/_integrations/peblar.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown index 11e3c29b1da..cd3d011ef17 100644 --- a/source/_integrations/peblar.markdown +++ b/source/_integrations/peblar.markdown @@ -11,6 +11,7 @@ ha_codeowners: - '@frenck' ha_domain: peblar ha_platforms: + - select - sensor - update ha_integration_type: device From 2422aa8c815ce96d41f006f3a22457c3b8e9dc76 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 21 Dec 2024 16:16:48 +0100 Subject: [PATCH 074/123] Document configuration parameters for Peblar Rocksolid EV Chargers (#36459) --- source/_integrations/peblar.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown index cd3d011ef17..d61b8306991 100644 --- a/source/_integrations/peblar.markdown +++ b/source/_integrations/peblar.markdown @@ -25,6 +25,15 @@ of your Peblar charger. {% include integrations/config_flow.md %} +### Configuration parameters + +{% configuration_basic %} +Host: + description: The hostname or IP address of your Peblar charger on your home network. +Password: + description: The password as used to log in to the Peblar device' local web interface. +{% endconfiguration_basic %} + ## Removing the integration This integration follows standard integration removal. No extra steps are From dceff4208cfff3145c1a0b2de050b664670ae288 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Sun, 22 Dec 2024 18:45:59 +0100 Subject: [PATCH 075/123] Add fields for Weheat compressor, energy output (#35525) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: jesperraemaekers <146726232+jesperraemaekers@users.noreply.github.com> --- source/_integrations/weheat.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_integrations/weheat.markdown b/source/_integrations/weheat.markdown index 4c572b97362..91e5256fae4 100644 --- a/source/_integrations/weheat.markdown +++ b/source/_integrations/weheat.markdown @@ -45,6 +45,9 @@ The Weheat integration provides the following sensors: - **Current room temperature**: Current room temperature in °C - **Room temperature setpoint**: Setpoint for the room temperature in °C - **Electricity used**: Total electricity used in kWh +- **Energy output**: Total output generated in kWh - **State**: The current heat pump state - **DHW top temperature**: The domestic hot water temperature in the top of the vessel in °C (optional) - **DHW bottom temperature"**: The domestic hot water temperature in the bottom of the vessel in °C (optional) +- **Compressor RPM**: The rpm of the compressor fan. +- **Compressor percentage**: The percentage of the compressor fan. Can exceed 100% for some models. From 2ac765215481b40d1c08e294597914a6c806ae91 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 22 Dec 2024 19:21:59 +0100 Subject: [PATCH 076/123] Extend Peblar Rocksolid EV Chargers documentation (#36482) --- source/_integrations/peblar.markdown | 347 ++++++++++++++++++++++++++- 1 file changed, 345 insertions(+), 2 deletions(-) diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown index d61b8306991..ab011b3ecbe 100644 --- a/source/_integrations/peblar.markdown +++ b/source/_integrations/peblar.markdown @@ -15,11 +15,15 @@ ha_platforms: - sensor - update ha_integration_type: device +ha_zeroconf: true +ha_quality_scale: bronze --- The Peblar {% term integration %} integrates your [Peblar Rocksolid EV Charger] -with Home Assistant. This integration allows you to monitor the charging status -of your Peblar charger. +with Home Assistant. Allowing you to monitor the charging status and energy +consumption of your electric vehicle connected to the Peblar charger, while +also providing the ability to add the charger to your Home Assistant +energy dashboard. [Peblar Rocksolid EV Charger]: https://peblar.com/ @@ -34,6 +38,345 @@ Password: description: The password as used to log in to the Peblar device' local web interface. {% endconfiguration_basic %} +The above configuration can also be adjusted later via +{% my integrations title="**Settings** > **Devices & services**" %}, +click {% icon "mdi:dots-vertical" %} and select **Reconfigure**. + +## Use cases + +This integration provides all the information about your rock-solid EV charger +from Peblar. There are multiple use cases for this integration, such as: + +- Monitoring the charging status of your electric vehicle. +- Adding the charger to your Home Assistant energy dashboard, allowing you to + monitor the energy consumption of your electric vehicle as part of your home + energy usage. +- Creating automations, for example: + - To notify you when the charging of your electric vehicle is complete. + - Turn off solar-only charging when the expected solar production is not + sufficient today. + - Notify when the charger has detected an error or has raised a warning. +- See updates in Home Assistant when there are updates available for your + Peblar charger. + +## Supported functionality + +The Peblar integration provides a whole lot of functionality to Home Assistant. +All of them are provided as entities in Home Assistant. Below is an overview of +the entities provided by this integration. + +### Binary sensors + +The binary sensors provided are used to indicate the health status of the +charger. The following binary sensors are available: + +- **Active error**: Indicates if the charger has detected an error. If this + sensor is on ({% term state %}: `on`) an error has been detected, otherwise, it is off + ({% term state %}: `off`). +- **Active warning**: Indicates if the charger has raised a warning. If this +- sensor is on ({% term state %}: `on`) a warning has been raised, otherwise, it is off + ({% term state %}: `off`). + +If any of these binary sensors are on, you should check the charger's local +web interface for more information about the error or warning. + +{% important %} +These binary sensors are disabled by default. If you want to use them, you need +to enable first. See the [enabling or disabling entities](/common-tasks/general/#enabling-or-disabling-entities) +documentation for information on how to do this. +{% endimportant %} + +### Buttons + +The buttons provided by this integration can be used to trigger an action on +the charger. The following buttons are available: + +- **Identify**: This button can be used to identify the charger. This can be + useful if you have multiple chargers and want to identify which one is which. + Once pressed, the LED on the charger will start blinking for a few seconds. +- **Restart**: This button can be used to restart the charger. This can be + useful if the charger is not responding as expected. + +{% important %} +These buttons are disabled by default. If you want to use them, you need +to enable first. See the [enabling or disabling entities](/common-tasks/general/#enabling-or-disabling-entities) +documentation for information on how to do this. +{% endimportant %} + +### Numbers + +This integration provides a singles number entity: **Charge limit**. + +Using this entity, you can set the maximum current the charger can provide to +your electric vehicle. The value of this entity is in amperes (A). + +The minimum value for this entity is 6A, and the maximum value is depending on +your charger's configuration. The value can be set in increments of 1A. + +### Selects + +This integration provides a single select entity: **Smart charging**. + +It reflects the same smart charging state as is shown on the charger's local +web interface, and allows you to control the charging behavior of the charger. + +The following options are available: + +- **Default** ({% term state %}: `default`): The charger will charge the electric vehicle + as soon as it is connected. +- **Fast solar** ({% term state %}: `fast_solar`): The charger will fast charge the + electric vehicle with the overproduction of solar energy, but will also use + grid power if the solar production is not sufficient. +- **Smart solar** ({% term state %}: `smart_solar`): The charger will charge the electric + vehicle with the overproduction of solar energy, but will also use grid power + if the solar production is not sufficient. +- **Pure solar** ({% term state %}: `solar_only`): The charger will only charge the + electric vehicle with the overproduction of solar energy. +- **Scheduled** ({% term state %}: `scheduled`): The charger will charge the electric + vehicle according to the schedule configured on the charger. + +### Sensors + +The Peblar integration provides a lot of sensors to Home Assistant. + +{% tip %} +The ability to add your charger to the Home Assistant energy dashboard is +arguably the most useful feature of this integration. It is therefore +recommended to add your Peblar charger to the Home Assistant energy dashboard, +by adding the **Lifetime energy** sensor to the energy dashboard configuration +as a device. +{% endtip %} + +- **Current**: The current current (in amperes) the charger is consuming to + charge your electric vehicle. This is a combined value for all your phases. + Additionally, three additionally sensors are available, if your charging is + using multiple phases: + - **Current Phase 1**\*\*: The current current (in amperes) the charger is + consuming on phase 1. + - **Current Phase 2**\*\*: The current current (in amperes) the charger is + consuming on phase 2. + - **Current Phase 3**\*\*: The current current (in amperes) the charger is + consuming on phase 3. +- **Lifetime energy**: The total energy (in kilowatt-hours) consumed by the + charger since it was installed. **This is the recommended sensor to use in the + Home Assistant energy dashboard.** +- **Limit source**: The source/origin of the current charging limit that is + in effect. The source can be one of the following: + - _Charging cable_ ({% term state %}: `charging_cable`): The current limit is + the maximum current the charging cable handle. + - _Current limiter_ ({% term state %}: `current_limiter`): The current limit is + set by the current limiter. + - _Dynamic load balancing_ ({% term state %}: `dynamic_load_balancing`): The current + limit is set by the dynamic load balancing feature. + - _External power limit_ ({% term state %}: `external_power_limit`): The current + limit is set by an external power limiter. + - _Group load balancing_ ({% term state %}: `group_load_balancing`): The current + limit is set by the group load balancing feature, which is a feature that + allows multiple chargers to share the available power. + - _Hardware limitation_ ({% term state %}: `hardware_limitation`): The current limit + is limited by the hardware of the charger that can't provide more current. + - _High temperature_ ({% term state %}: `high_temperature`): The current limit is + limited due to high temperatures. + - _Household power limit_ ({% term state %}: `household_power_limit`): The current + limit is set by the household power limit feature, which is a feature that + allows the charger to limit the current to prevent overloading the household + power. + - _Installer limitation_ ({% term state %}: `installer_limitation`): The current + limit is set by the installer, for example, to prevent overloading the fuse + of the house. + - _Local Modbus API_ ({% term state %}: `local_modbus_api`): The current limit is + set by software using the local Modbus API. + - _Local REST API_ ({% term state %}: `local_rest_api`): The current limit is set + by software using the local REST API. Home Assistant uses this API to set + the current limit, so if you see this state, it means the current limit is + likely set through Home Assistant. + - _OCPP smart charging_ ({% term state %}: `ocpp_smart_charging`): The current limit + is set by the OCPP smart charging feature. + - _Overcurrent protection_ ({% term state %}: `overcurrent_protection`): The current + limit is limited due to overcurrent protection. + - _Phase imbalance_ ({% term state %}: `phase_imbalance`): The current limit is + limited due to phase imbalance in the electrical installation. + - _Power factor_ ({% term state %}: `power_factor`): The current limit is limited + due to a low power factor in the electrical installation. + - _Solar charging_ ({% term state %}: `solar_charging`): The current limit is set + by the solar charging feature of the charger. This means the charger is + awaiting an overproduction of solar energy to start charging. +- **Power**: The current power (in Watts) the charger is consuming to charge + your electric vehicle. This is a combined value for all your phases. + Additionally, three additionally sensors are available, if your charging is + using multiple phases: + - **Power Phase 1**\*\*: The current power (in Watts) the charger is consuming + on phase 1. + - **Power Phase 2**\*\*: The current power (in Watts) the charger is consuming + on phase 2. + - **Power Phase 3**\*\*: The current power (in Watts) the charger is consuming + on phase 3. +- **Session energy**: The total energy (in kilowatt-hours) consumed by the + charger during the current charging session. This sensor is reset when a + new charging session starts. While you could, it is **not** recommended to + use this sensor in the Home Assistant energy dashboard. Use the **Lifetime + energy** sensor instead. +- **State**: The current state of the charger. The state can be one of the + following: + - _Charging_ ({% term state %}: `charging`): The charger is currently charging the + electric vehicle. + - _Error_ ({% term state %}: `error`): The charger has detected an error and is + currently not charging the electric vehicle. + - _Fault_ ({% term state %}: `fault`): The charger has detected a fault and is + currently not charging the electric vehicle. + - _No EV connected_ ({% term state %}: `no_ev_connected`): The charger is currently not + connected to an electric vehicle. + - _Suspended_ ({% term state %}: `suspended`): The charger is currently not charging + the electric vehicle, but is ready to start charging when needed. + - _Invalid_ ({% term state %}: `invalid`): The charger is in an invalid state. +- **Uptime**\*\*: The total time the charger has been running since the last + restart. This sensor is reset when the charger is restarted. +- **Voltage**: The current voltage (in volts) the charger is using to charge. + Only available if your charger is connected to a single-phase power source. +- **Voltage Phase 1**\*\*: The current voltage (in volts) on phase 1. Only + available if your charger is connected to at least a two-phase power source. +- **Voltage Phase 2**\*\*: The current voltage (in volts) on phase 2. Only + available if your charger is connected to at least a two-phase power source. +- **Voltage Phase 3**\*\*: The current voltage (in volts) on phase 3. + Only available if your charger is connected to a three-phase power source. + +{% important %} +The sensors marked with \*\* are disabled by default. If you want to use them, +you need to enable first. See the [enabling or disabling entities](/common-tasks/general/#enabling-or-disabling-entities) +documentation for information on how to do this. +{% endimportant %} + +### Switches + +This integration provides a single switch entity: **Force single phase**. + +This switch can be used to force the charger to use a single phase for charging +your electric vehicle. This can be useful if you want to limit your current +draw from the charger to a single phase, for example, to prevent overloading +your electrical installation. + +Note that this switch is only available if your charger is connected to multiple +phases. If your charger is connected to a single-phase power source, this switch +will not be created. + +### Updates + +The Peblar integration provides two update entities for the Pebler charger: + +- **Firmware**: Indicates if there is a firmware update available for the + charger. The firmware can be thought of as the operating system of the charger. +- **Customization**: Indicates if there is a customization update available for + the charger. The customization can be thought as the user interface of the + charger that you see when you log in to the charger's local web interface. + +Software updates cannot be installed through Home Assistant. You need to log in +to the charger's local web interface to install the updates. + +## Data updates + +This integration is a local polling integration, meaning it will check for +changes to all the entities by frequently polling the Peblar charger on your +home network. + +There are three different polling frequencies used by this integration: + +- **every 10 seconds**: For all sensors and binary sensors, ensuring you + have the latest insights into your electric vehicle's charging status. +- **every 5 minutes**: It will check for configuration changes to the charger, + this affects all configuration entities, like the smart charging mode and + the current limit. +- **every 2 hours**: It will check for updates to the charger itself, ensuring + you are aware of any updates available for your Peblar charger. + +While this integration uses local polling, configuration changes made to the +Peblar charger from Home Assistant will be reflected in the charger almost +instantly. + +## Actions + +This integration does not provide additional actions. All actions available +for this integration are provided by their respective entities. + +## Examples + +The following examples show how to use the Peblar integration in Home +Assistant automations. These examples are just a starting point, and you can +use them as inspiration to create your own automations. + +Feel free to contribute more examples to this documentation ❤️. + +### Notify when there is an software update available + +The following example sends a notification to your mobile device when there is +a software update available for your Peblar charger. + +```yaml +automation: + - alias: "Peblar software update available" + triggers: + - trigger: state + entity_id: sensor.peblar_firmware + from: "off" + to: "on" + + actions: + - action: notify.mobile_app_your_device + data: + title: "Peblar charger update available!" + message: > + There is a software update available for your Peblar charger. + Please log in to the charger's local web interface to install the + update. +``` + +### Notify when an issue is detected + +The following example automation will send out a notification when the charger +detects an error or raises a warning. + +```yaml +automation: + - alias: "Peblar software update available" + triggers: + - trigger: state + entity_id: + - binary_sensor.peblar_active_error + - binary_sensor.peblar_active_warning + from: "off" + to: "on" + - trigger: state + entity_id: sensor.peblar_state + to: + - "error" + - "fault" + + actions: + - action: notify.mobile_app_your_device + data: + title: "Peblar charger issue detected!" + message: > + An issue with your Peblar charger has been detected. Please check + the charger's local web interface for more information. +``` + +## Known limitations + +Not all functionality of the Peblar charger is available through this +integration. The following limitations are known: + +- The Peblar APIs currently aren't communicating the charger is awaiting + authentication (for example, using an RFID card) before it can start + charging. As a result, you will see an suspended charging status in Home + Assistant, while the charger is awaiting authentication. +- Home Assistant uses and manages the charger's REST API. This means that + the use of this integration will enable the REST API on the charger + automatically. It is possible to use the REST API directly in parallel + with this integration. + +## Troubleshooting + +There are no commonly known issues with this integration. + ## Removing the integration This integration follows standard integration removal. No extra steps are From c5bc9ef62d2539fd04fce632618ec5778779a54e Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 22 Dec 2024 20:11:05 +0100 Subject: [PATCH 077/123] Add supported Peblar Rocksolid EV Chargers documentation (#36487) --- source/_integrations/peblar.markdown | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown index ab011b3ecbe..0ef650f7e64 100644 --- a/source/_integrations/peblar.markdown +++ b/source/_integrations/peblar.markdown @@ -27,6 +27,14 @@ energy dashboard. [Peblar Rocksolid EV Charger]: https://peblar.com/ +## Supported devices + +The following rocksolid Pebler EV chargers are supported by this integration: + +- Peblar Home +- Peblar Home Plus +- Peblar Business + {% include integrations/config_flow.md %} ### Configuration parameters @@ -372,6 +380,9 @@ integration. The following limitations are known: the use of this integration will enable the REST API on the charger automatically. It is possible to use the REST API directly in parallel with this integration. +- Peblar is also sold as white-label products, like the [CoolBlue BlueBuilt](https://www.coolblue.nl/en/charging-stations/our-charging-stations). + This integration is tested with the Peblar branded products, and it is unknown + if it works with white-label products. ## Troubleshooting From 442a7b7fabc08d33bfe0a5d8ca90f23412473fc6 Mon Sep 17 00:00:00 2001 From: Raphael Hehl <7577984+RaHehl@users.noreply.github.com> Date: Sun, 22 Dec 2024 20:25:39 +0100 Subject: [PATCH 078/123] unifiprotect: Add documentation for get_user_keyring_info action (#36485) Co-authored-by: J. Nick Koston --- source/_integrations/unifiprotect.markdown | 44 ++++++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown index f5d55f5d14b..a14e64da762 100644 --- a/source/_integrations/unifiprotect.markdown +++ b/source/_integrations/unifiprotect.markdown @@ -256,6 +256,40 @@ Use to remove a privacy zone from a camera. | `device_id` | No | Camera you want to remove privacy zone from. | | `name` | No | The name of the zone to remove. | +### Action unifiprotect.get_user_keyring_info + +| Data attribute | Optional | Description | +| -------------- | -------- | ----------------------------------------------------------------------------------------------------------- | +| `device_id` | No | Any device from the UniFi Protect instance you want to retrieve keyring information for. | + +#### Example Usage + +```yaml +service: unifiprotect.get_user_keyring_info +data: + device_id: your_device_id_here +``` + +The response will include a list of users with their full names, statuses, and associated keys (fingerprint or NFC). + +#### Example Response + +```yaml +users: + - full_name: User One + user_status: ACTIVE + ulp_id: d23e27e0-a32a-41e5-9424-be646330c2d5 + keys: [] + - full_name: User Two + user_status: ACTIVE + ulp_id: a243ffdb-3ab2-4186-b2fe-0b53ccb29f24 + keys: + - key_type: nfc + nfc_id: ABCDEF12 + - key_type: fingerprint + fingerprint_id: "1" +``` + ## Views The {% term integrations %} provides two proxy views to proxy media content from your Home Assistant instance so you can access thumbnails and video clips from within the context of Home Assistant without having to expose your UniFi Protect NVR Console. As with the media identifiers, all IDs are UniFi Protect IDs as they may not map to specific Home Assistant entities depending on how you have configured your {% term integrations %}. @@ -380,9 +414,11 @@ actions: action: notify.mobile_app_your_device # Replace with your notification target ``` +You can obtain the `nfc_id` using the [Action unifiprotect.get_user_keyring_info](#action-unifiprotectget_user_keyring_info). + **Warning:** -When processing NFC scans, always validate the scanned ID. Unknown NFC cards also trigger the scan event. Additionally, this event was developed using third-party cards, as the developer did not have access to official UniFi cards at the time. With third-party cards, the scan relies on the card's serial number. While this approach is not uncommon, it is essential to note that the card's serial number is generally not considered a secure identifier and can be duplicated relatively easily. +When processing NFC scans, always validate the scanned ID. Unknown NFC cards also trigger the scan event. Additionally, this event was developed using third-party cards, as the developer did not have access to official UniFi cards at the time. With third-party cards, the scan relies on the card's serial number. While this approach is not uncommon, it is essential to note that the card's serial number is generally not considered a secure identifier and can be duplicated relatively easily. When the device becomes unavailable and becomes available again in Home Assistant, repeated event processing can occur. The state change is not an issue with the integration but should be considered, mainly if the device is used for actions such as unlocking doors. ### Fingerprint Identified Event @@ -391,7 +427,9 @@ When processing NFC scans, always validate the scanned ID. Unknown NFC cards als - **event_type**: Either `identified` or `not_identified` - **event_id**: A unique ID that identifies the fingerprint event. - **ulp_id**: The ID used to identify the person. If no fingerprint match is found, the `ulp_id` will be empty and the `event_type` will be `not_identified`. -- **Description**: This event is triggered when a fingerprint is scanned by a compatible device. If the fingerprint is recognized, it provides a `ulp_id`, which represents the a internal user ID. If the fingerprint is not recognized, the `event_type` will be set to `not_identified`, and no `ulp_id` will be provided. +- **Description**: This event is triggered when a fingerprint is scanned by a compatible device. If the fingerprint is recognized, it provides a `ulp_id`, which represents the internal user ID. If the fingerprint is not recognized, the `event_type` will be set to `not_identified`, and no `ulp_id` will be provided. + +You can obtain the `ulp_id` using the [Action unifiprotect.get_user_keyring_info](#action-unifiprotectget_user_keyring_info). #### Example G4 Doorbell Fingerprint Identified Automation @@ -423,7 +461,7 @@ action: **Warning:** -Similar to NFC, an event is triggered when a fingerprint is recognized and not recognized. However, unlike NFC, at the time of implementation, no fingerprint ID is included in the event if the fingerprint is unknown. +Similar to NFC, an event is triggered when a fingerprint is recognized and not recognized. However, unlike NFC, at the time of implementation, no fingerprint ID is included in the event if the fingerprint is unknown. When the device becomes unavailable and becomes available again in Home Assistant, repeated event processing can occur. The state change is not an issue with the integration but should be considered, mainly if the device is used for actions such as unlocking doors. #### Example G4 Doorbell Fingerprint Identified Automation From 39c556cb31d085e5c9a69ac0f7fa3bfb0a0f5532 Mon Sep 17 00:00:00 2001 From: "Glenn Vandeuren (aka Iondependent)" Date: Sun, 22 Dec 2024 20:36:57 +0100 Subject: [PATCH 079/123] Add cover platform and change iot class for niko_home_control (#36476) --- source/_integrations/niko_home_control.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_integrations/niko_home_control.markdown b/source/_integrations/niko_home_control.markdown index b7672d48476..89a2c938e2c 100644 --- a/source/_integrations/niko_home_control.markdown +++ b/source/_integrations/niko_home_control.markdown @@ -1,14 +1,18 @@ --- title: Niko Home Control description: Instructions on how to integrate Niko Home Control lights into Home Assistant. +ha_codeowners: + - '@VandeurenGlenn' ha_config_flow: true ha_category: - Light -ha_iot_class: Local Polling + - Cover +ha_iot_class: Local Push ha_release: 0.82 ha_domain: niko_home_control ha_platforms: - light + - cover ha_integration_type: integration related: - docs: /docs/configuration/ From 9a9ed0171713dbdc2bd5af30deae6ce317489edd Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Sun, 22 Dec 2024 11:38:46 -0800 Subject: [PATCH 080/123] Update map.markdown (#36465) --- source/_dashboards/map.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/_dashboards/map.markdown b/source/_dashboards/map.markdown index eadd522b5a6..f1bb649f315 100644 --- a/source/_dashboards/map.markdown +++ b/source/_dashboards/map.markdown @@ -125,7 +125,7 @@ name: label_mode: required: false default: name - description: When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon. + description: When set to `icon`, renders the entity's icon in the marker instead of text. When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon. type: string focus: required: false @@ -143,6 +143,11 @@ source: required: true description: Name of a geolocation source, or `all`. type: string +label_mode: + required: false + default: name + description: When set to `icon`, renders the geolocation entity's icon in the marker instead of text. When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. + type: string focus: required: false default: true From 8384911a4770f6d4b75098b5fe62b4d15d1e1dbf Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Sun, 22 Dec 2024 20:39:24 +0100 Subject: [PATCH 081/123] Add Indoor Unit states (#36479) --- source/_integrations/weheat.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/weheat.markdown b/source/_integrations/weheat.markdown index 91e5256fae4..4d383d6666d 100644 --- a/source/_integrations/weheat.markdown +++ b/source/_integrations/weheat.markdown @@ -51,3 +51,11 @@ The Weheat integration provides the following sensors: - **DHW bottom temperature"**: The domestic hot water temperature in the bottom of the vessel in °C (optional) - **Compressor RPM**: The rpm of the compressor fan. - **Compressor percentage**: The percentage of the compressor fan. Can exceed 100% for some models. + +Depending on the model/installation, states for the Indoor Unit states are available: + +- **Indoor unit water pump** +- **Indoor unit auxiliary water pump** +- **Indoor unit DHW valve or water pump** +- **Indoor unit gas boiler heating allowed** - Note: This may be True even when no gas boiler is installed or active at this time. +- **Indoor unit electric heater** From d662cd652bbff718ce7155f4a600a497277dc726 Mon Sep 17 00:00:00 2001 From: "Steven B." <51370195+sdb9696@users.noreply.github.com> Date: Sun, 22 Dec 2024 19:44:07 +0000 Subject: [PATCH 082/123] Add tplink cameras to the docs (#36016) Co-authored-by: Teemu R. Co-authored-by: Franck Nijhof --- source/_integrations/tplink.markdown | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index 7dd35bdeea7..84756d2190e 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -4,6 +4,7 @@ description: Instructions on integrating TP-Link Smart Home Devices to Home Assi ha_category: - Binary sensor - Button + - Camera - Climate - Fan - Hub @@ -24,6 +25,7 @@ ha_domain: tplink ha_platforms: - binary_sensor - button + - camera - climate - diagnostics - fan @@ -53,14 +55,19 @@ See [Supported Devices in python-kasa](https://python-kasa.readthedocs.io/en/sta Devices not listed below may work but if you encounter issues submit a bug report to [python-kasa](https://github.com/python-kasa/python-kasa). {% note %} -The hub attached Tapo buttons S200B and S200D do not currently support alerting when the button is pressed. +The hub attached Tapo buttons S200B and S200D, which do not currently support alerting when the button is pressed. +{% endnote %} + +{% note %} +Some firmware versions of Tapo Cameras will not authenticate unless you enable **Tapo Lab** > **Third-Party Compatibility** in the native Tapo app. +Alternatively, you can factory reset and then prevent the device from accessing the internet. {% endnote %} ### Supported Kasa devices - **Plugs**: EP10, EP25[^1], HS100[^2], HS103, HS105, HS110, KP100, KP105, KP115, KP125, KP125M[^1], KP401 - **Power Strips**: EP40, EP40M[^1], HS107, HS300, KP200, KP303, KP400 -- **Wall Switches**: ES20M, HS200[^2], HS210, HS220[^2], KP405, KS200M, KS205[^1], KS220, KS220M, KS225[^1], KS230, KS240[^1] +- **Wall Switches**: ES20M, HS200[^2], HS210, HS220[^2], KP405, KS200, KS200M, KS205[^1], KS220, KS220M, KS225[^1], KS230, KS240[^1] - **Bulbs**: KL110, KL120, KL125, KL130, KL135, KL50, KL60, LB110 - **Light Strips**: KL400L5, KL420L5, KL430 - **Hubs**: KH100[^1] @@ -69,23 +76,28 @@ The hub attached Tapo buttons S200B and S200D do not currently support alerting ### Supported Tapo[^1] devices - **Plugs**: P100, P110, P110M, P115, P125M, P135, TP15 -- **Power Strips**: P300, P304M, TP25 +- **Power Strips**: P210M, P300, P304M, P306, TP25 - **Wall Switches**: S500D, S505, S505D - **Bulbs**: L510B, L510E, L530E, L630 - **Light Strips**: L900-10, L900-5, L920-5, L930-5 -- **Cameras**: C210, TC65 +- **Cameras**: C100, C210, C225, C325WB, C520WS, TC65, TC70 - **Hubs**: H100, H200 - **Hub-Connected Devices[^3]**: S200B, S200D, T100, T110, T300, T310, T315 - -[^1]: Requires authentication -[^2]: Newer versions require authentication +[^1]: Model requires authentication +[^2]: Newer versions require authentication [^3]: Devices may work across TAPO/KASA branded hubs ## Unavailable entities Some entities might be showing as Unavailable if they have been removed from the integration. +## Cameras + +Only Tapo cameras are currently supported. +In order for live view to work, you will need to enable your camera account in the Tapo App > **Advanced Settings** > **Camera Account**. +If you do not want to do this, keep **Live view** unchecked when adding the device. + ### Total consumption This entity is only reported by older kasa devices. From a01bd15c01fe6c369d35f8f206c05ea7c17e93a5 Mon Sep 17 00:00:00 2001 From: Guido Schmitz Date: Sun, 22 Dec 2024 20:46:25 +0100 Subject: [PATCH 083/123] Add installation parameters to devolo Home Control (#36273) Co-authored-by: Franck Nijhof --- source/_integrations/devolo_home_control.markdown | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/_integrations/devolo_home_control.markdown b/source/_integrations/devolo_home_control.markdown index 7588b7735ad..19936d6c57e 100755 --- a/source/_integrations/devolo_home_control.markdown +++ b/source/_integrations/devolo_home_control.markdown @@ -33,7 +33,17 @@ ha_integration_type: hub {% include integrations/config_flow.md %} -Please do not change the URL provided in the advanced mode unless you know what you are doing. +{% configuration_basic %} +Email / mydevolo ID: + description: "Email address you used to register the central unit at mydevolo." +Password: + description: "Password of your mydevolo account." +{% endconfiguration_basic %} + +{% note %} +Your mydevolo account is only used to acquire local credentials. Afterward, communication is completely local as long as the gateway is within the same network. +{% endnote %} + ## Supported devices and functions From da894567212a77dd30197fdb96d0125feb1283fa Mon Sep 17 00:00:00 2001 From: adam-the-hero <132444842+adam-the-hero@users.noreply.github.com> Date: Sun, 22 Dec 2024 20:48:10 +0100 Subject: [PATCH 084/123] Add watergate documentation (#35535) --- source/_integrations/watergate.markdown | 107 ++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 source/_integrations/watergate.markdown diff --git a/source/_integrations/watergate.markdown b/source/_integrations/watergate.markdown new file mode 100644 index 00000000000..3283539fccd --- /dev/null +++ b/source/_integrations/watergate.markdown @@ -0,0 +1,107 @@ +--- +title: Watergate +description: Instructions on how to integrate Watergate with Home Assistant. +ha_category: + - Sensor + - Valve + - Water management +ha_release: '2025.1' +ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: + - '@adam-the-hero' +ha_domain: watergate +ha_platforms: + - valve + - sensor +--- + +The **Watergate** integration integrates your Watergate Devices (currently Sonic Wi-Fi) with your Home Assistant. +With this integration, you are able to: + +- Control your valve +- Monitor live telemetry (water flow, water pressure, water temperature) +- Monitor water usage + +## Prerequisites + +- You need to have a Sonic device. +- The Local API feature must be enabled in the Watergate application. + +## Supported devices + +The following devices are known to be supported by the integration: + +- Watergate Sonic Wi-Fi + +## Unsupported devices + +The following devices are not supported by the integration: + +- Watergate Sonic Pro + +## Supported functionality + +### Entities + +The Watergate integration provides the following entities. + +#### Sensors + +- **Water meter volume** + - **Description**: Water volume used by this device for the entire lifetime of a Sonic device. + - **Remarks**: It can be used in the Energy Dashboard. + +- **Water flow rate** + - **Description**: The current flow rate of water through the device. + - **Remarks**: Useful for monitoring real-time water usage. + +- **Water pressure** + - **Description**: The current water pressure in the system. + - **Remarks**: Can be used to detect potential issues in the water supply. + +- **Water temperature** + - **Description**: The current temperature of the water. + - **Remarks**: Useful for monitoring and ensuring safe water temperatures. + +#### Valves + +- **Water valve state** + - **Description**: The current state of the water valve (open/closed). + - **Remarks**: It is automatically updated when the valve state is changed. + +## Data updates + +The Watergate integration fetches data from the Sonic device every 2 minutes. +Thanks to the webhook option, Sonic will provide live telemetry every second when water is flowing directly to Home Assistant. + +## Known limitations + +The integration does not provide the ability to set auto shut-off thresholds and does not report any events regarding automatically closed valves. + +{% include integrations/config_flow.md %} + +{% configuration_basic %} +IP address: + description: "The IP address of your Sonic device." +{% endconfiguration_basic %} + +## Removing the integration + +This integration follows standard integration removal procedures. No extra steps are required. + +{% include integrations/remove_device_service.md %} + +## Examples + +### Monitor water usage in the Energy Dashboard + +The water meter volume entity can be added to the Energy Dashboard, allowing you to monitor water usage. + +### Automation ideas + +- Turn off the water when no one is at home. +- Turn on the water when someone arrives home. +- Send a notification when the water is too hot. +- Send a notification when the water is too cold. +- Send a notification when water is flowing for too long. \ No newline at end of file From 9d1dd16efafc1559fb9df28997a6b8c80641bbe6 Mon Sep 17 00:00:00 2001 From: Noah Husby <32528627+noahhusby@users.noreply.github.com> Date: Sun, 22 Dec 2024 15:35:09 -0500 Subject: [PATCH 085/123] Add media browsing for Cambridge Audio (#35387) --- source/_integrations/cambridge_audio.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/cambridge_audio.markdown b/source/_integrations/cambridge_audio.markdown index a52567c4825..9894aa83eb7 100644 --- a/source/_integrations/cambridge_audio.markdown +++ b/source/_integrations/cambridge_audio.markdown @@ -104,6 +104,12 @@ data: media_content_type: "internet_radio" media_content_id: "https://example.com/internet-radio/station_abcd.mp3" ``` + +## Browsing media + +The Cambridge Audio integration allows you to browse saved presets from your dashboard. +All stored presets will be categorized into playlists, artists, and tracks. + ## Troubleshooting ### The buttons to skip, shuffle, and repeat the track are missing From 57b9537f2c90768d6c5070d28c9214662de0e016 Mon Sep 17 00:00:00 2001 From: Lucas Gasenzer Date: Sun, 22 Dec 2024 22:38:15 +0100 Subject: [PATCH 086/123] Add Water Leak Sensor to Supported devices (#36478) --- source/_integrations/switchbot.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown index 551628195ef..45c5e6c729f 100644 --- a/source/_integrations/switchbot.markdown +++ b/source/_integrations/switchbot.markdown @@ -68,6 +68,7 @@ Some SwitchBot devices need to be configured within the app before being control - [Hub 2 (WoHub2)](https://switch-bot.com/pages/switchbot-hub-2) (currently only supports retrieving sensor data, does not yet support device control) - [Relay Switch 1](https://www.switch-bot.com/products/switchbot-relay-switch-1) - [Relay Switch 1PM](https://www.switch-bot.com/products/switchbot-relay-switch-1pm) +- [Water Leak Detector](https://www.switch-bot.com/products/switchbot-water-leak-detector) ## SwitchBot Entity From 247093dce230ac0d56040f55335b0af84bb0c290 Mon Sep 17 00:00:00 2001 From: Markus Jacobsen Date: Mon, 23 Dec 2024 00:18:10 +0100 Subject: [PATCH 087/123] Add Bang & Olufsen custom action examples (#36404) --- source/_integrations/bang_olufsen.markdown | 155 +++++++++++++++++++-- 1 file changed, 144 insertions(+), 11 deletions(-) diff --git a/source/_integrations/bang_olufsen.markdown b/source/_integrations/bang_olufsen.markdown index c4246b84bd8..349bdb45072 100644 --- a/source/_integrations/bang_olufsen.markdown +++ b/source/_integrations/bang_olufsen.markdown @@ -287,7 +287,11 @@ data: ### Custom actions -The Bang & Olufsen integration additionally supports different custom actions +The Bang & Olufsen integration additionally supports different custom actions for Beolink. + +[Beolink](https://support.bang-olufsen.com/hc/en-us/articles/4411572883089-What-is-Beolink-Multiroom) is Bang & Olufsen's advanced multiroom audio solution. This integration supports Home Assistant's `media_player` grouping, but to fully benefit from Beolink, such as being able to join legacy devices not added in Home Assistant, custom actions have been defined. + +Attempting to execute an invalid Beolink action will result in either a Home Assistant error or an audible error indication from your device. #### `bang_olufsen.beolink_join` @@ -298,20 +302,37 @@ Join a Beolink experience. | `beolink_jid` | yes | Manually specify Beolink JID to join. | | `source_id` | yes | Specify which source to join, behavior varies between hardware platforms. Source names prefaced by a platform name can only be used when connecting to that platform. For example "ASE Beoradio" can only be used when joining an ASE device, while ”ASE / Mozart Deezer” can be used with ASE or Mozart devices. A defined Beolink JID is required. | -A limited selection of `source_id`'s are available. The below table shows which `source_id` can be joined on which hardware platform: +##### Join a currently active beolink experience or device playing compatible source -| Hardware platform | Compatible source_ids | -| ----------------------- | ------------------------------------------ | -| ASE | `beoradio` | -| ASE and Mozart | `deezer`, `spotify` | -| Mozart | `tidal` | -| Beolink Converter NL/ML | `radio`, `tp1`, `tp2`, `cd`, `aux_a`, `ph` | +```yaml +action: bang_olufsen.beolink_join +target: + entity_id: media_player.beosound_balance_12345678 +``` -Trying to join an invalid source will result in either a Home Assistant error or an audible error indication from your device. +Repeatedly calling this will cycle through available devices. -##### Action usage example +Will also be triggered by calling the `media_player.join` action with an empty list of `group_members`: -Join the `radio` source on a Beolink Converter NL/ML: +```yaml +action: media_player.join +target: + entity_id: media_player.beosound_balance_12345678 +data: + group_members: +``` + +##### Join a specific active beolink experience + +```yaml +action: bang_olufsen.beolink_join +target: + entity_id: media_player.beosound_balance_12345678 +data: + beolink_jid: 1111.2222222.33333333@products.bang-olufsen.com +``` + +##### Join the "radio" source on a Beolink Converter NL/ML ```yaml action: bang_olufsen.beolink_join @@ -322,6 +343,15 @@ data: source_id: radio ``` +A limited selection of `source_id`s are available. The below table shows which `source_id` can be joined on which hardware platform: + +| Hardware platform | Compatible source_ids | +| ----------------------- | ------------------------------------------ | +| ASE | `beoradio` | +| ASE and Mozart | `deezer`, `spotify` | +| Mozart | `tidal` | +| Beolink Converter NL/ML | `radio`, `tp1`, `tp2`, `cd`, `aux_a`, `ph` | + #### `bang_olufsen.beolink_expand` Expand current Beolink experience. @@ -331,6 +361,62 @@ Expand current Beolink experience. | `all_discovered` | yes | Expand Beolink experience to all discovered devices. | | `beolink_jids` | yes | Specify which Beolink JIDs will join current Beolink experience. | +##### Expand an active Beolink experience to all other devices discovered by the defined device + +```yaml +action: bang_olufsen.beolink_expand +target: + entity_id: media_player.beosound_balance_12345678 +data: + all_discovered: true +``` + +##### Expand an active Beolink experience to a specific device + +```yaml +action: bang_olufsen.beolink_expand +target: + entity_id: media_player.beosound_balance_12345678 +data: + beolink_jids: + - 1111.2222222.33333333@products.bang-olufsen.com +``` + +Will also be triggered by calling the `media_player.join` action, with the entity_id of a `media_player` entity from this integration in `group_members`: + +```yaml +action: media_player.join +target: + entity_id: media_player.beosound_balance_12345678 +data: + group_members: + - media_player.beosound_balance_33333333 +``` + +##### Expand an active Beolink experience to specific devices + +```yaml +action: bang_olufsen.beolink_expand +target: + entity_id: media_player.beosound_balance_12345678 +data: + beolink_jids: + - 1111.2222222.33333333@products.bang-olufsen.com + - 4444.5555555.66666666@products.bang-olufsen.com +``` + +Will also be triggered by calling the `media_player.join` action, with the entity_ids of `media_player` entities from this integration in `group_members`: + +```yaml +action: media_player.join +target: + entity_id: media_player.beosound_balance_12345678 +data: + group_members: + - media_player.beosound_balance_33333333 + - media_player.beosound_balance_66666666 +``` + #### `bang_olufsen.beolink_unexpand` Unexpand from current Beolink experience. @@ -339,14 +425,61 @@ Unexpand from current Beolink experience. | --------------------- | -------- | ---------------------------------------------------------------------- | | `beolink_jids` | no | Specify which Beolink JIDs will leave from current Beolink experience. | +##### Remove a device from an active Beolink experience + +```yaml +action: bang_olufsen.beolink_unexpand +target: + entity_id: media_player.beosound_balance_12345678 +data: + beolink_jids: + - 1111.2222222.33333333@products.bang-olufsen.com +``` + +##### Remove devices from an active Beolink experience + +```yaml +action: bang_olufsen.beolink_unexpand +target: + entity_id: media_player.beosound_balance_12345678 +data: + beolink_jids: + - 1111.2222222.33333333@products.bang-olufsen.com + - 4444.5555555.66666666@products.bang-olufsen.com +``` + #### `bang_olufsen.beolink_leave` Leave a Beolink experience. +##### Action usage example + +```yaml +action: bang_olufsen.beolink_leave +target: + entity_id: media_player.beosound_balance_12345678 +``` + +Same behavior as calling the `media_player.unjoin` action: + +```yaml +action: media_player.unjoin +target: + entity_id: media_player.beosound_balance_12345678 +``` + #### `bang_olufsen.beolink_allstandby` Set all connected Beolink devices to standby. +##### Action usage example + +```yaml +action: bang_olufsen.beolink_allstandby +target: + entity_id: media_player.beosound_balance_12345678 +``` + ## Automations WebSocket notifications received from the device are fired as events in Home Assistant. These can be received by listening to `bang_olufsen_websocket_event` event types, where `device_id` or `serial_number` can be used to differentiate devices. From 43e802beb90816b8742c70a84a5d9b1c3b60b5d4 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 23 Dec 2024 17:47:40 +0100 Subject: [PATCH 088/123] 2025.1: Beta release notes (#36513) --- CODEOWNERS | 19 +- _config.yml | 8 +- source/_integrations/aemet.markdown | 1 + source/_integrations/cambridge_audio.markdown | 1 + source/_integrations/cookidoo.markdown | 1 + source/_integrations/eastron.markdown | 1 + source/_integrations/easyenergy.markdown | 4 +- source/_integrations/eheimdigital.markdown | 2 + source/_integrations/energyzero.markdown | 2 +- source/_integrations/esphome.markdown | 1 + source/_integrations/fronius.markdown | 1 + source/_integrations/fyta.markdown | 2 + source/_integrations/go2rtc.markdown | 2 +- source/_integrations/govee_ble.markdown | 1 - source/_integrations/honeywell.markdown | 1 + .../husqvarna_automower.markdown | 1 + source/_integrations/idasen_desk.markdown | 2 +- source/_integrations/iotty.markdown | 1 - source/_integrations/iron_os.markdown | 8 +- source/_integrations/ituran.markdown | 2 +- source/_integrations/myuplink.markdown | 1 + .../_integrations/niko_home_control.markdown | 5 +- source/_integrations/nordpool.markdown | 1 + source/_integrations/ohme.markdown | 6 +- source/_integrations/onkyo.markdown | 2 + source/_integrations/palazzetti.markdown | 3 +- source/_integrations/peblar.markdown | 8 +- source/_integrations/pinecil.markdown | 4 + source/_integrations/powerfox.markdown | 3 + source/_integrations/renault.markdown | 1 + source/_integrations/russound_rio.markdown | 2 + source/_integrations/sabnzbd.markdown | 3 +- source/_integrations/slide_local.markdown | 6 +- source/_integrations/statistics.markdown | 1 + source/_integrations/suez_water.markdown | 1 + source/_integrations/tesla_fleet.markdown | 2 +- source/_integrations/tplink_tapo.markdown | 2 + source/_integrations/twentemilieu.markdown | 1 + source/_integrations/voip.markdown | 1 + source/_integrations/watergate.markdown | 6 +- source/_integrations/weheat.markdown | 1 + source/_integrations/withings.markdown | 1 + source/_integrations/wyoming.markdown | 1 + source/_integrations/zabbix.markdown | 2 + .../_posts/2025-01-03-release-20251.markdown | 675 ++++++ source/changelogs/core-2025.1.markdown | 1917 +++++++++++++++++ ...2-36f624b7-786f-486b-89a6-e86bc0a5f9fc.png | Bin 0 -> 69543 bytes source/images/blog/2025-01/social.jpg | Bin 0 -> 218432 bytes .../2025-01/temp-assist-expose-default.png | Bin 0 -> 29900 bytes .../2025-01/temp-backup-encryption-key.png | Bin 0 -> 77741 bytes .../temp-backup-home-assistant-cloud.png | Bin 0 -> 72440 bytes .../blog/2025-01/temp-backup-retention.png | Bin 0 -> 90677 bytes .../blog/2025-01/temp-backup-window.png | Bin 0 -> 60320 bytes .../2025-01/temp-new-automation-labels.png | Bin 0 -> 11255 bytes .../blog/2025-01/temp-sortable-devices.gif | Bin 0 -> 1214845 bytes .../images/blog/2025-01/temp-zoom-graphs.gif | Bin 0 -> 2523941 bytes 56 files changed, 2684 insertions(+), 33 deletions(-) create mode 100644 source/_posts/2025-01-03-release-20251.markdown create mode 100644 source/changelogs/core-2025.1.markdown create mode 100644 source/images/blog/2025-01/391675502-36f624b7-786f-486b-89a6-e86bc0a5f9fc.png create mode 100644 source/images/blog/2025-01/social.jpg create mode 100644 source/images/blog/2025-01/temp-assist-expose-default.png create mode 100644 source/images/blog/2025-01/temp-backup-encryption-key.png create mode 100644 source/images/blog/2025-01/temp-backup-home-assistant-cloud.png create mode 100644 source/images/blog/2025-01/temp-backup-retention.png create mode 100644 source/images/blog/2025-01/temp-backup-window.png create mode 100644 source/images/blog/2025-01/temp-new-automation-labels.png create mode 100644 source/images/blog/2025-01/temp-sortable-devices.gif create mode 100644 source/images/blog/2025-01/temp-zoom-graphs.gif diff --git a/CODEOWNERS b/CODEOWNERS index 0ae04f10b1c..dec4df0029b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -161,6 +161,7 @@ source/_integrations/config.markdown @home-assistant/core source/_integrations/configurator.markdown @home-assistant/core source/_integrations/control4.markdown @lawtancool source/_integrations/conversation.markdown @home-assistant/core @synesthesiam +source/_integrations/cookidoo.markdown @miaucl source/_integrations/coolmaster.markdown @OnFreund source/_integrations/counter.markdown @fabaff source/_integrations/cover.markdown @home-assistant/core @@ -223,6 +224,7 @@ source/_integrations/ecovacs.markdown @mib1185 @edenhaus @Augar source/_integrations/ecowitt.markdown @pvizeli source/_integrations/efergy.markdown @tkdrob source/_integrations/egardia.markdown @jeroenterheerdt +source/_integrations/eheimdigital.markdown @autinerd source/_integrations/electrasmart.markdown @jafar-atili source/_integrations/electric_kiwi.markdown @mikey0000 source/_integrations/elevenlabs.markdown @sorgfresser @@ -329,7 +331,7 @@ source/_integrations/google_photos.markdown @allenporter source/_integrations/google_sheets.markdown @tkdrob source/_integrations/google_tasks.markdown @allenporter source/_integrations/google_travel_time.markdown @eifinger -source/_integrations/govee_ble.markdown @bdraco @PierreAronnax +source/_integrations/govee_ble.markdown @bdraco source/_integrations/govee_light_local.markdown @Galorhallen source/_integrations/gpsd.markdown @fabaff @jrieger source/_integrations/gree.markdown @cmroche @@ -414,7 +416,7 @@ source/_integrations/intellifire.markdown @jeeftor source/_integrations/intesishome.markdown @jnimmo source/_integrations/ios.markdown @robbiet480 source/_integrations/iotawatt.markdown @gtdiehl @jyavenard -source/_integrations/iotty.markdown @pburgio @shapournemati-iotty +source/_integrations/iotty.markdown @shapournemati-iotty source/_integrations/iperf3.markdown @rohankapoorcom source/_integrations/ipma.markdown @dgomes source/_integrations/iqvia.markdown @bachya @@ -428,6 +430,7 @@ source/_integrations/israel_rail.markdown @shaiu source/_integrations/iss.markdown @DurgNomis-drol 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/jewish_calendar.markdown @tsvi @@ -571,6 +574,7 @@ source/_integrations/nfandroidtv.markdown @tkdrob source/_integrations/nibe_heatpump.markdown @elupus source/_integrations/nice_go.markdown @IceBotYT source/_integrations/nightscout.markdown @marciogranzotto +source/_integrations/niko_home_control.markdown @VandeurenGlenn source/_integrations/nilu.markdown @hfurubotten source/_integrations/nina.markdown @DeerMaximum source/_integrations/nissan_leaf.markdown @filcole @@ -595,13 +599,14 @@ source/_integrations/nzbget.markdown @chriscla source/_integrations/obihai.markdown @dshokouhi @ejpenney source/_integrations/octoprint.markdown @rfleming71 source/_integrations/ohmconnect.markdown @robbiet480 +source/_integrations/ohme.markdown @dan-r source/_integrations/ollama.markdown @synesthesiam source/_integrations/ombi.markdown @larssont source/_integrations/onboarding.markdown @home-assistant/core source/_integrations/oncue.markdown @bdraco @peterager source/_integrations/ondilo_ico.markdown @JeromeHXP source/_integrations/onewire.markdown @garbled1 @epenet -source/_integrations/onkyo.markdown @arturpragacz +source/_integrations/onkyo.markdown @arturpragacz @eclair4151 source/_integrations/onvif.markdown @hunterjm source/_integrations/open_meteo.markdown @frenck source/_integrations/openai_conversation.markdown @balloob @@ -627,6 +632,7 @@ source/_integrations/p1_monitor.markdown @klaasnicolaas source/_integrations/palazzetti.markdown @dotvav source/_integrations/panel_custom.markdown @home-assistant/frontend source/_integrations/pcs_lighting.markdown @gwww +source/_integrations/peblar.markdown @frenck source/_integrations/peco.markdown @IceBotYT source/_integrations/peco_opower.markdown @tronikos source/_integrations/pegel_online.markdown @mib1185 @@ -647,6 +653,7 @@ source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa source/_integrations/point.markdown @fredrike source/_integrations/poolsense.markdown @haemishkyd source/_integrations/portlandgeneral.markdown @tronikos +source/_integrations/powerfox.markdown @klaasnicolaas source/_integrations/powerwall.markdown @bdraco @jrester @daniel-simpson source/_integrations/private_ble_device.markdown @Jc2k source/_integrations/profiler.markdown @bdraco @@ -774,6 +781,7 @@ source/_integrations/skybell.markdown @tkdrob source/_integrations/slack.markdown @tkdrob @fletcherau source/_integrations/sleepiq.markdown @mfugate1 @kbickar source/_integrations/slide.markdown @ualex73 +source/_integrations/slide_local.markdown @dontinelli source/_integrations/slimproto.markdown @marcelveldt source/_integrations/sma.markdown @kellerza @rklomp source/_integrations/smappee.markdown @bsmappee @@ -809,11 +817,10 @@ source/_integrations/squeezebox.markdown @rajlaud @pssc @peteS-UK source/_integrations/srp_energy.markdown @briglx source/_integrations/starline.markdown @anonym-tsk source/_integrations/starlink.markdown @boswelja -source/_integrations/statistics.markdown @ThomDietrich +source/_integrations/statistics.markdown @ThomDietrich @gjohansson-ST source/_integrations/steam_online.markdown @tkdrob source/_integrations/steamist.markdown @bdraco source/_integrations/stiebel_eltron.markdown @fucm -source/_integrations/stookalert.markdown @fwestenberg @frenck source/_integrations/stookwijzer.markdown @fwestenberg source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter source/_integrations/stt.markdown @home-assistant/core @@ -940,6 +947,7 @@ source/_integrations/wake_word.markdown @home-assistant/core @synesthesiam source/_integrations/wallbox.markdown @hesselonline source/_integrations/waqi.markdown @joostlek source/_integrations/water_heater.markdown @home-assistant/core +source/_integrations/watergate.markdown @adam-the-hero source/_integrations/watson_tts.markdown @rutkai source/_integrations/watttime.markdown @bachya source/_integrations/waze_travel_time.markdown @eifinger @@ -988,6 +996,7 @@ source/_integrations/yi.markdown @bachya source/_integrations/yolink.markdown @matrixd2 source/_integrations/youless.markdown @gjong source/_integrations/youtube.markdown @joostlek +source/_integrations/zabbix.markdown @kruton source/_integrations/zamg.markdown @killer0071234 source/_integrations/zengge.markdown @emontnemery source/_integrations/zeroconf.markdown @bdraco diff --git a/_config.yml b/_config.yml index ed513ae0c89..8d30cf518f7 100644 --- a/_config.yml +++ b/_config.yml @@ -106,10 +106,10 @@ social: account: "https://fosstodon.org/@homeassistant" # Home Assistant release details -current_major_version: 2024 -current_minor_version: 12 -current_patch_version: 5 -date_released: 2024-12-20 +current_major_version: 2025 +current_minor_version: 1 +current_patch_version: 0 +date_released: 2025-01-03 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_integrations/aemet.markdown b/source/_integrations/aemet.markdown index 3dce3858432..7dfef36bb88 100644 --- a/source/_integrations/aemet.markdown +++ b/source/_integrations/aemet.markdown @@ -10,6 +10,7 @@ ha_config_flow: true ha_domain: aemet ha_platforms: - diagnostics + - image - sensor - weather ha_integration_type: integration diff --git a/source/_integrations/cambridge_audio.markdown b/source/_integrations/cambridge_audio.markdown index 9894aa83eb7..e6ada106d95 100644 --- a/source/_integrations/cambridge_audio.markdown +++ b/source/_integrations/cambridge_audio.markdown @@ -17,6 +17,7 @@ ha_codeowners: ha_config_flow: true ha_integration_type: device ha_zeroconf: true +ha_quality_scale: platinum --- The **Cambridge Audio** {% term integration %} allows you to control all receivers and streamers that support the [StreamMagic](https://www.cambridgeaudio.com/usa/en/products/streammagic) app. diff --git a/source/_integrations/cookidoo.markdown b/source/_integrations/cookidoo.markdown index 720a73745a7..1eb892719d0 100644 --- a/source/_integrations/cookidoo.markdown +++ b/source/_integrations/cookidoo.markdown @@ -23,6 +23,7 @@ related: title: Cookidoo the official Thermomix recipe platform - url: https://www.vorwerk.com/ title: Vorwerk GmbH +ha_quality_scale: silver --- The **Cookidoo** {% term integration %} allows you to interact with your shopping lists of [Cookidoo the official Thermomix recipe platform](https://cookidoo.international/) within Home Assistant. diff --git a/source/_integrations/eastron.markdown b/source/_integrations/eastron.markdown index 233d3baba7a..826ea9fd210 100644 --- a/source/_integrations/eastron.markdown +++ b/source/_integrations/eastron.markdown @@ -18,6 +18,7 @@ ha_platforms: - sensor - switch ha_iot_class: Local Polling +ha_dhcp: true ha_zeroconf: true --- diff --git a/source/_integrations/easyenergy.markdown b/source/_integrations/easyenergy.markdown index 6f9c111d98d..f7f9ab43472 100644 --- a/source/_integrations/easyenergy.markdown +++ b/source/_integrations/easyenergy.markdown @@ -13,7 +13,7 @@ ha_domain: easyenergy ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The **easyEnergy** {% term integration %} integrates the [easyEnergy](https://www.easyenergy.com) API platform with Home Assistant. @@ -228,4 +228,4 @@ template: This integration follows standard integration removal steps. If you also use the template sensors, you need to remove them manually. -{% include integrations/remove_device_service.md %} \ No newline at end of file +{% include integrations/remove_device_service.md %} diff --git a/source/_integrations/eheimdigital.markdown b/source/_integrations/eheimdigital.markdown index d25ef224a97..9bed232ff50 100644 --- a/source/_integrations/eheimdigital.markdown +++ b/source/_integrations/eheimdigital.markdown @@ -12,6 +12,8 @@ ha_domain: eheimdigital ha_integration_type: hub ha_platforms: - light +ha_quality_scale: bronze +ha_zeroconf: true --- The **EHEIM Digital** {% term integration %} allows you to control your [EHEIM Digital](https://eheim.com/en_GB/aquatics/eheim-digital/) smart aquarium devices from Home Assistant. diff --git a/source/_integrations/energyzero.markdown b/source/_integrations/energyzero.markdown index 457d389a488..bb7b9b5709f 100644 --- a/source/_integrations/energyzero.markdown +++ b/source/_integrations/energyzero.markdown @@ -12,7 +12,7 @@ ha_domain: energyzero ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The **EnergyZero** {% term integration %} integrates the [EnergyZero](https://www.energyzero.nl/) API platform with Home Assistant. diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown index a4caee5af55..0eef4080528 100644 --- a/source/_integrations/esphome.markdown +++ b/source/_integrations/esphome.markdown @@ -18,6 +18,7 @@ ha_domain: esphome ha_zeroconf: true ha_platforms: - alarm_control_panel + - assist_satellite - binary_sensor - button - camera diff --git a/source/_integrations/fronius.markdown b/source/_integrations/fronius.markdown index edd4aaf32a5..586a914e1f4 100644 --- a/source/_integrations/fronius.markdown +++ b/source/_integrations/fronius.markdown @@ -15,6 +15,7 @@ ha_platforms: - sensor ha_dhcp: true ha_integration_type: integration +ha_quality_scale: gold --- The Fronius integration polls a [Fronius](https://www.fronius.com/) solar inverter or datalogger for details of a Fronius SolarNet setup and integrate it in your Home Assistant installation. diff --git a/source/_integrations/fyta.markdown b/source/_integrations/fyta.markdown index aafecc51471..1772f39e6a2 100644 --- a/source/_integrations/fyta.markdown +++ b/source/_integrations/fyta.markdown @@ -13,6 +13,8 @@ ha_platforms: - diagnostics - sensor ha_integration_type: hub +ha_quality_scale: platinum +ha_dhcp: true --- The **FYTA** {% term integration %} uses the open API of [FYTA](https://www.fyta.de) to obtain the data from your plant sensors and integrate these into Home Assistant. diff --git a/source/_integrations/go2rtc.markdown b/source/_integrations/go2rtc.markdown index 6adfe996883..63eb269eb75 100644 --- a/source/_integrations/go2rtc.markdown +++ b/source/_integrations/go2rtc.markdown @@ -11,7 +11,7 @@ ha_domain: go2rtc ha_integration_type: system related: - docs: /installation/ -ha_quality_scale: legacy +ha_quality_scale: internal --- go2rtc is an open source project providing a camera streaming application that supports formats such as RTSP, WebRTC, HomeKit, FFmpeg, RTMP. The **go2rtc** {% term integration %} connects to a go2rtc instance and provides a WebRTC proxy for all your cameras. To learn more about go2rtc, refer to the [project's GitHub page](https://github.com/AlexxIT/go2rtc/). diff --git a/source/_integrations/govee_ble.markdown b/source/_integrations/govee_ble.markdown index 3b3d42b25ea..a020e2f3fe9 100644 --- a/source/_integrations/govee_ble.markdown +++ b/source/_integrations/govee_ble.markdown @@ -10,7 +10,6 @@ ha_release: 2022.8 ha_iot_class: Local Push ha_codeowners: - '@bdraco' - - '@PierreAronnax' ha_domain: govee_ble ha_config_flow: true ha_platforms: diff --git a/source/_integrations/honeywell.markdown b/source/_integrations/honeywell.markdown index 3b6f9e9d1b0..ed77ed07352 100644 --- a/source/_integrations/honeywell.markdown +++ b/source/_integrations/honeywell.markdown @@ -14,6 +14,7 @@ ha_domain: honeywell ha_platforms: - climate - diagnostics + - humidifier - sensor - switch ha_integration_type: integration diff --git a/source/_integrations/husqvarna_automower.markdown b/source/_integrations/husqvarna_automower.markdown index c6df677ca77..35f2baed41b 100644 --- a/source/_integrations/husqvarna_automower.markdown +++ b/source/_integrations/husqvarna_automower.markdown @@ -29,6 +29,7 @@ ha_platforms: - switch ha_integration_type: integration ha_domain: husqvarna_automower +ha_quality_scale: silver --- The Husqvarna Automower integration provides connectivity with Husqvarna Automowers lawn mowers through Husqvarna's cloud API. Only mowers with *Automower® Connect* or with the *Automower® Connect Module* are supported. diff --git a/source/_integrations/idasen_desk.markdown b/source/_integrations/idasen_desk.markdown index f31ab9e81bd..7339162e1e0 100644 --- a/source/_integrations/idasen_desk.markdown +++ b/source/_integrations/idasen_desk.markdown @@ -12,7 +12,7 @@ ha_platforms: - button - cover - sensor -ha_integration_type: integration +ha_integration_type: device ha_codeowners: - '@abmantis' --- diff --git a/source/_integrations/iotty.markdown b/source/_integrations/iotty.markdown index 52b85e19e19..d596ed9262e 100644 --- a/source/_integrations/iotty.markdown +++ b/source/_integrations/iotty.markdown @@ -8,7 +8,6 @@ ha_category: ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - - '@pburgio' - '@shapournemati-iotty' ha_domain: iotty ha_platforms: diff --git a/source/_integrations/iron_os.markdown b/source/_integrations/iron_os.markdown index f7f92087b88..5d07a6719c3 100644 --- a/source/_integrations/iron_os.markdown +++ b/source/_integrations/iron_os.markdown @@ -2,11 +2,11 @@ title: IronOS description: Instructions on how to integrate IronOS-based Pinecil V2 devices with Home Assistant. ha_category: + - Binary sensor - Number + - Select - Sensor - Update - - Binary sensor - - Select ha_iot_class: Local Polling ha_release: 2024.8 ha_config_flow: true @@ -15,11 +15,11 @@ ha_codeowners: ha_domain: iron_os ha_integration_type: integration ha_platforms: + - binary_sensor - number + - select - sensor - update - - binary_sensor - - select --- The **IronOS** {% term integration %} seamlessly connects Home Assistant with PINE64's Pinecil V2 soldering irons, allowing for remote monitoring and control. This integration provides real-time updates on temperature, power, and various other settings and diagnostic information. diff --git a/source/_integrations/ituran.markdown b/source/_integrations/ituran.markdown index 10dd69f8590..3d40966fd00 100644 --- a/source/_integrations/ituran.markdown +++ b/source/_integrations/ituran.markdown @@ -14,7 +14,7 @@ ha_domain: ituran ha_platforms: - device_tracker - sensor -ha_integration_type: integration +ha_integration_type: hub --- The **Ituran** {% term integration %} allows you to retrieve information from your Ituran-equipped vehicle using the [Ituran APP service](https://www.ituran.co.il/ituranfront/comfort-services-2/ituran-app-comfort). It pulls information from the Ituran web service regarding the vehicle's location. diff --git a/source/_integrations/myuplink.markdown b/source/_integrations/myuplink.markdown index b3121f46f4b..495f289d0aa 100644 --- a/source/_integrations/myuplink.markdown +++ b/source/_integrations/myuplink.markdown @@ -27,6 +27,7 @@ ha_integration_type: integration related: - url: https://myuplink.com/ title: myUplink web portal +ha_quality_scale: silver --- The **myUplink** {% term integration %} lets you get information about and control heat-pump devices supporting myUplink using the [official cloud API](https://dev.myuplink.com). diff --git a/source/_integrations/niko_home_control.markdown b/source/_integrations/niko_home_control.markdown index 89a2c938e2c..5da250fac47 100644 --- a/source/_integrations/niko_home_control.markdown +++ b/source/_integrations/niko_home_control.markdown @@ -5,19 +5,18 @@ ha_codeowners: - '@VandeurenGlenn' ha_config_flow: true ha_category: - - Light - Cover + - Light ha_iot_class: Local Push ha_release: 0.82 ha_domain: niko_home_control ha_platforms: - - light - cover + - light ha_integration_type: integration related: - docs: /docs/configuration/ title: Configuration file -ha_quality_scale: legacy --- The `niko_home_control` {% term integration %} allows you to integrate your [Niko Home Control](https://www.niko.eu/enus/products/niko-home-control) into Home Assistant. diff --git a/source/_integrations/nordpool.markdown b/source/_integrations/nordpool.markdown index 968ea517cd4..b7595e12dd9 100644 --- a/source/_integrations/nordpool.markdown +++ b/source/_integrations/nordpool.markdown @@ -15,6 +15,7 @@ ha_platforms: - diagnostics - sensor ha_integration_type: hub +ha_quality_scale: platinum --- The **Nord Pool** {% term integration %} integrates [Nord Pool Group](https://www.nordpoolgroup.com/) energy prices into Home Assistant. diff --git a/source/_integrations/ohme.markdown b/source/_integrations/ohme.markdown index d9b92107c3b..f07dba3a47b 100644 --- a/source/_integrations/ohme.markdown +++ b/source/_integrations/ohme.markdown @@ -2,8 +2,8 @@ title: Ohme description: Instructions to configure the Ohme integration into Home Assistant. ha_category: - - Sensor - Car + - Sensor ha_release: 2025.1 ha_iot_class: Cloud Polling ha_codeowners: @@ -11,8 +11,10 @@ ha_codeowners: ha_config_flow: true ha_domain: ohme ha_platforms: - - sensor - button + - sensor +ha_quality_scale: silver +ha_integration_type: device --- The **Ohme** {% term integration %} allows you to connect your [Ohme](https://ohme-ev.com/) EV charger to Home Assistant. diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown index 3d9cffd7e09..1c7109f7226 100644 --- a/source/_integrations/onkyo.markdown +++ b/source/_integrations/onkyo.markdown @@ -5,6 +5,7 @@ ha_category: - Media player ha_codeowners: - '@arturpragacz' + - '@eclair4151' ha_config_flow: true ha_domain: onkyo ha_integration_type: device @@ -12,6 +13,7 @@ ha_iot_class: Local Push ha_platforms: - media_player ha_release: 0.17 +ha_ssdp: true --- The `onkyo` {% term integration %} allows you to control [Onkyo](https://www.onkyo.com) and [Integra](http://www.integrahometheater.com) (from 2011 onward) and also [Pioneer](https://www.pioneerelectronics.com) (from 2016 onward) receivers using Home Assistant. diff --git a/source/_integrations/palazzetti.markdown b/source/_integrations/palazzetti.markdown index 019f3a21bca..f3b415d8493 100644 --- a/source/_integrations/palazzetti.markdown +++ b/source/_integrations/palazzetti.markdown @@ -12,6 +12,7 @@ ha_domain: palazzetti ha_platforms: - climate - diagnostics + - number - sensor ha_integration_type: device ha_dhcp: true @@ -100,4 +101,4 @@ Temperature sensors: Fuel Sensors: - Pellet quantity (kg - cumulative quantity consumed) -- Pellet level (cm - current level) \ No newline at end of file +- Pellet level (cm - current level) diff --git a/source/_integrations/peblar.markdown b/source/_integrations/peblar.markdown index 0ef650f7e64..37a88899adb 100644 --- a/source/_integrations/peblar.markdown +++ b/source/_integrations/peblar.markdown @@ -4,6 +4,7 @@ description: Instructions on how to integrate Peblar Rocksolid EV Charger with H ha_category: - Car - Energy + - Update ha_release: 2025.1 ha_iot_class: Local Polling ha_config_flow: true @@ -11,12 +12,17 @@ ha_codeowners: - '@frenck' ha_domain: peblar ha_platforms: + - binary_sensor + - button + - diagnostics + - number - select - sensor + - switch - update ha_integration_type: device ha_zeroconf: true -ha_quality_scale: bronze +ha_quality_scale: platinum --- The Peblar {% term integration %} integrates your [Peblar Rocksolid EV Charger] diff --git a/source/_integrations/pinecil.markdown b/source/_integrations/pinecil.markdown index abea23d09a1..b2fc10df268 100644 --- a/source/_integrations/pinecil.markdown +++ b/source/_integrations/pinecil.markdown @@ -2,7 +2,9 @@ title: Pinecil description: Connect and control your Pinecil devices using the IronOS integration ha_category: + - Binary sensor - Number + - Select - Sensor - Update ha_release: 2024.8 @@ -14,7 +16,9 @@ ha_codeowners: - '@tr4nt0r' ha_config_flow: true ha_platforms: + - binary_sensor - number + - select - sensor - update ha_iot_class: Local Polling diff --git a/source/_integrations/powerfox.markdown b/source/_integrations/powerfox.markdown index d253c3bea88..e4bbef3c4d8 100644 --- a/source/_integrations/powerfox.markdown +++ b/source/_integrations/powerfox.markdown @@ -11,8 +11,11 @@ ha_codeowners: - '@klaasnicolaas' ha_domain: powerfox ha_platforms: + - diagnostics - sensor ha_integration_type: integration +ha_quality_scale: silver +ha_zeroconf: true --- The **Powerfox** {% term integration %} allows you to gather data from your [Poweropti](https://shop.powerfox.energy/collections/frontpage) devices, by using their cloud API and fetch the data in Home Assistant. diff --git a/source/_integrations/renault.markdown b/source/_integrations/renault.markdown index 8767de587f8..fc6ca17872d 100644 --- a/source/_integrations/renault.markdown +++ b/source/_integrations/renault.markdown @@ -21,6 +21,7 @@ ha_platforms: - select - sensor ha_integration_type: hub +ha_quality_scale: silver --- The Renault integration offers integration with the **MyRenault** cloud service and provides sensors such as charger state and temperature. diff --git a/source/_integrations/russound_rio.markdown b/source/_integrations/russound_rio.markdown index 508206c3950..480c8757c0a 100644 --- a/source/_integrations/russound_rio.markdown +++ b/source/_integrations/russound_rio.markdown @@ -7,11 +7,13 @@ ha_release: 0.49 ha_iot_class: Local Push ha_domain: russound_rio ha_platforms: + - diagnostics - media_player ha_codeowners: - '@noahhusby' ha_config_flow: true ha_integration_type: integration +ha_quality_scale: silver --- The Russound RIO {% term integration %} allows you to control Russound devices that make use of the RIO protocol. diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown index 13e3f1273a8..108720d5301 100644 --- a/source/_integrations/sabnzbd.markdown +++ b/source/_integrations/sabnzbd.markdown @@ -17,6 +17,7 @@ ha_platforms: - number - sensor ha_integration_type: integration +ha_quality_scale: bronze --- The SABnzbd integration will allow you to monitor and control your downloads with [SABnzbd](https://sabnzbd.org) from within Home Assistant and setup automations based on the information. @@ -72,4 +73,4 @@ This integration will create a number entity to set the download queue speed lim This integration follows standard integration removal. No extra steps are required. -{% include integrations/remove_device_service.md %} \ No newline at end of file +{% include integrations/remove_device_service.md %} diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index 4991004a751..2958422c420 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -10,9 +10,13 @@ ha_codeowners: - '@dontinelli' ha_domain: slide_local ha_platforms: + - button - cover -ha_integration_type: integration + - diagnostics + - switch +ha_integration_type: device ha_zeroconf: true +ha_quality_scale: gold --- The Slide Local {% term integration %} allows you to integrate your [Slide](https://slide.store/) devices in Home Assistant using the local API. diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown index 421b506172c..cfe89d538ae 100644 --- a/source/_integrations/statistics.markdown +++ b/source/_integrations/statistics.markdown @@ -10,6 +10,7 @@ ha_release: '0.30' ha_quality_scale: internal ha_codeowners: - '@ThomDietrich' + - '@gjohansson-ST' ha_domain: statistics ha_config_flow: true ha_platforms: diff --git a/source/_integrations/suez_water.markdown b/source/_integrations/suez_water.markdown index 8dd751463fe..52b54a7765c 100644 --- a/source/_integrations/suez_water.markdown +++ b/source/_integrations/suez_water.markdown @@ -13,6 +13,7 @@ ha_domain: suez_water ha_platforms: - sensor ha_integration_type: integration +ha_quality_scale: bronze --- The **Suez Water** {% term integration %} fetches your water consumption data from the French water provider [Tout Sur Mon Eau](https://www.toutsurmoneau.fr) website. diff --git a/source/_integrations/tesla_fleet.markdown b/source/_integrations/tesla_fleet.markdown index d766b8fb811..2d0b57b11d1 100644 --- a/source/_integrations/tesla_fleet.markdown +++ b/source/_integrations/tesla_fleet.markdown @@ -18,7 +18,7 @@ ha_release: 2024.8 ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - - "@Bre77" + - '@Bre77' ha_domain: tesla_fleet ha_platforms: - binary_sensor diff --git a/source/_integrations/tplink_tapo.markdown b/source/_integrations/tplink_tapo.markdown index 3ee90a156dd..54b4fe6a931 100644 --- a/source/_integrations/tplink_tapo.markdown +++ b/source/_integrations/tplink_tapo.markdown @@ -4,6 +4,7 @@ description: Connect and control your Tapo devices using the TP-Link Smart Home ha_category: - Binary sensor - Button + - Camera - Climate - Fan - Hub @@ -26,6 +27,7 @@ ha_config_flow: true ha_platforms: - binary_sensor - button + - camera - climate - diagnostics - fan diff --git a/source/_integrations/twentemilieu.markdown b/source/_integrations/twentemilieu.markdown index 7f7ee6468db..033c98f2504 100644 --- a/source/_integrations/twentemilieu.markdown +++ b/source/_integrations/twentemilieu.markdown @@ -16,6 +16,7 @@ ha_platforms: - diagnostics - sensor ha_integration_type: service +ha_quality_scale: silver --- The Twente Milieu {% term integration %} enables you to monitor the upcoming diff --git a/source/_integrations/voip.markdown b/source/_integrations/voip.markdown index 2c4af8077ec..8dca402a195 100644 --- a/source/_integrations/voip.markdown +++ b/source/_integrations/voip.markdown @@ -12,6 +12,7 @@ ha_domain: voip ha_integration_type: integration ha_quality_scale: internal ha_platforms: + - assist_satellite - binary_sensor - select - switch diff --git a/source/_integrations/watergate.markdown b/source/_integrations/watergate.markdown index 3283539fccd..325640bb9c0 100644 --- a/source/_integrations/watergate.markdown +++ b/source/_integrations/watergate.markdown @@ -12,8 +12,10 @@ ha_codeowners: - '@adam-the-hero' ha_domain: watergate ha_platforms: - - valve - sensor + - valve +ha_quality_scale: bronze +ha_integration_type: integration --- The **Watergate** integration integrates your Watergate Devices (currently Sonic Wi-Fi) with your Home Assistant. @@ -104,4 +106,4 @@ The water meter volume entity can be added to the Energy Dashboard, allowing you - Turn on the water when someone arrives home. - Send a notification when the water is too hot. - Send a notification when the water is too cold. -- Send a notification when water is flowing for too long. \ No newline at end of file +- Send a notification when water is flowing for too long. diff --git a/source/_integrations/weheat.markdown b/source/_integrations/weheat.markdown index 4d383d6666d..ee72e25210d 100644 --- a/source/_integrations/weheat.markdown +++ b/source/_integrations/weheat.markdown @@ -12,6 +12,7 @@ ha_codeowners: - '@jesperraemaekers' ha_domain: weheat ha_platforms: + - binary_sensor - sensor ha_integration_type: integration --- diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown index 4233856ed3e..f585dbe67dc 100644 --- a/source/_integrations/withings.markdown +++ b/source/_integrations/withings.markdown @@ -16,6 +16,7 @@ ha_platforms: - diagnostics - sensor ha_integration_type: integration +ha_dhcp: true --- The **Withings** {% term integration %} consumes data from various health products produced by [Withings](https://www.withings.com). diff --git a/source/_integrations/wyoming.markdown b/source/_integrations/wyoming.markdown index 7550079d424..b33dcc331b2 100644 --- a/source/_integrations/wyoming.markdown +++ b/source/_integrations/wyoming.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: wyoming ha_integration_type: service ha_platforms: + - assist_satellite - binary_sensor - conversation - number diff --git a/source/_integrations/zabbix.markdown b/source/_integrations/zabbix.markdown index 2cd7e7e8c16..361d481c770 100644 --- a/source/_integrations/zabbix.markdown +++ b/source/_integrations/zabbix.markdown @@ -14,6 +14,8 @@ related: - docs: /docs/configuration/ title: Configuration file ha_quality_scale: legacy +ha_codeowners: + - '@kruton' --- The **Zabbix** {% term integration %} is the main {% term integration %} to connect to a [Zabbix](https://www.zabbix.com/) monitoring instance via the Zabbix API. diff --git a/source/_posts/2025-01-03-release-20251.markdown b/source/_posts/2025-01-03-release-20251.markdown new file mode 100644 index 00000000000..d09119af2c1 --- /dev/null +++ b/source/_posts/2025-01-03-release-20251.markdown @@ -0,0 +1,675 @@ +--- +layout: post +title: "2025.1: Beta release notes" +description: "Beta release notes for Home Assistant 2025.1" +date: 2024-12-23 00:00:00 +date_formatted: "January 3, 2025" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2025-01/social.jpg +--- + + + +{% note %} + +**Welcome to the beta release notes for Home Assistant 2025.1** 🎉 + +
+ +Please note that these release notes are a work in progress. 👷‍♀️ We will be +completing them over the next couple of days. Not all features might be final +yet, and some features _**may not** make it into the final release_. + +
+ +**Want to help test the beta?** Awesome! ❤️ We have documented how you +[can join our beta channel and install the beta here](/common-tasks/os/#running-a-beta-version). + +
+ +While running the beta, we highly recommend joining our _#beta_ channel on +the [Home Assistant Discord chat](/join-chat)! 💬 Most developers and beta +testers are in this channel during the beta period to share experiences, ideas, +and iterate over new features, fine-tuning them before the final release. +It's a really fun place to hang out. 😎 + +
+ +**Reporting issues**: As this is a beta test, you might encounter unexpected +behavior or issues. 🐞 We use the GitHub issue tracker to track beta issues. +You can find our issue trackers and the reported issues during beta here: + +
+ +- [Report(ed) beta **dashboards/UI/frontend** issues](https://github.com/home-assistant/frontend/milestone/127) +- [Report(ed) beta **integrations/automations/backend/core** issues](https://github.com/home-assistant/core/milestone/711) +- [Report(ed) beta **documentation** issues](https://github.com/home-assistant/home-assistant.io/milestone/134) + +🙏 When reporting issues, **make sure to mention the exact beta version you are +running** in the issue description. This will help us identify and track the +issue correctly. Read more about [reporting issues here](/help/reporting_issues/). + +
+ +Issues introduced in the beta are processed with priority. 🔝 + +{% endnote %} + +{% tip %} + +Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=qCd7RHprmc0) +3 January 2025, at 20:00 GMT / 12:00 PT / 21:00 CET! + +{% endtip %} + +Home Assistant 2025.1! 🥂 + +Enjoy the (beta) release! + +../Frenck + + + +- [Better backups!](#better-backups) + - [Automated backups 🤖](#automated-backups-) + - [Encrypted backups by default 🔒](#encrypted-backups-by-default-) + - [Home Assistant Cloud backups 😎](#home-assistant-cloud-backups-) + - [Backup locations are extendable by design 🧩](#backup-locations-are-extendable-by-design-) + - [Backup retention 🗑](#backup-retention-) + - [Setting up backups for the first time 🚀](#setting-up-backups-for-the-first-time-) +- [Month of "What the Heck?!"](#month-of-what-the-heck) + - [Setting category and labels when creating automations and scripts](#setting-category-and-labels-when-creating-automations-and-scripts) + - [Quickly navigate to a device](#quickly-navigate-to-a-device) +- [Zooom \& Pan for charts](#zooom--pan-for-charts) + - [Controlling the default exposure of new entities to Assist](#controlling-the-default-exposure-of-new-entities-to-assist) + - [Reordering individual devices on the energy dashboard](#reordering-individual-devices-on-the-energy-dashboard) + - [More "What the Heck?!" improvements](#more-what-the-heck-improvements) +- [Integrations](#integrations) + - [New integrations](#new-integrations) + - [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations) + - [Now available to set up from the UI](#now-available-to-set-up-from-the-ui) + - [Farewell to the following](#farewell-to-the-following) +- [Other noteworthy changes](#other-noteworthy-changes) +- [Dashboard background settings](#dashboard-background-settings) +- [Media player volume feature for Tile card](#media-player-volume-feature-for-tile-card) +- [Need help? Join the community!](#need-help-join-the-community) +- [Backward-incompatible changes](#backward-incompatible-changes) +- [All changes](#all-changes) + +## Better backups! + +This release brings big updates to the backup system in Home Assistant. We have +fully revamped the whole backup experience and added a lot of new features to +make it easier to use, but more importantly, it will provide you with a lot +more ease of mind when it comes to your backups. + +So, without further ado, let's dive into the new backup system! + +### Automated backups 🤖 + +Yes! You've read that title correctly! Home Assistant now has the ability to +automatically create backups for you on a configurable frequency! + +This is a major improvement for the backup system, as it will now ensure you +always have a recent backup available, without you having to worry about it. + +The new backup overview page shows you exactly when your last backup took place + +When you now navigate to your backups in the setting screen, you will be +greeted with a new overview page that shows you exactly when your last backup +took place, and when the next one is scheduled. Instant peace of mind! + +That said, if anything does go wrong while creating a backup, Home Assistant +will raise an issue in the repair center to ensure you are aware of it. + +### Encrypted backups by default 🔒 + +All backups are now encrypted by default. Previously, it was possible to +optionally set a password for your backups. However, this was not enforced and +could be skipped. + +As of this release, we've prioritized the security of your backups and have +replaced the optional password with a mandatory encryption key. This key is +required to restore your backups, and it is essential to keep it safe and +ensure your privacy is protected. + +The new backup overview page shows you exactly when your last backup took place + +The first time when you set up your backups, and encryption key will be +generated for you. Make sure to store this key in a safe place, as you will +need it to restore your backups. To make this easier, you can download the +encryption key as an emergency kit directly when you set up your backups, +but you can also download it at any time from the backup settings page. + +### Home Assistant Cloud backups 😎 + +Are you a Home Assistant Cloud by Nabu Casa subscriber? Then you're in for a +treat! You can now store your latest encrypted backup in your Home Assistant +Cloud account storage. + +**This feature is added to all existing and new Home Assistant Cloud +subscribers without any additional costs! 🎁** + +Home Assistant Cloud is now a backup target location, that is included with the Home Assistant Cloud subscription + +So not only, are your backups automatically created and encrypted, but also +automatically uploaded to an off-site location for you, ensuring you always +have a safe backup available. + +The backup can be downloaded from Home Assistant itself, but also from the +Home Assistant Cloud account page @ Nabu Casa in case you need it. + +### Backup locations are extendable by design 🧩 + +So, automated backup can be backed up to your local disk to Home Assistant +Cloud, but what if you want to store your backups somewhere else? + +As one expects from Home Assistant, we want to make everything as flexible as +possible without any vendor lock-in. Therefore, the backup system is designed +to be extendable, meaning integrations can now provide additional backup +locations. + +Right now, everything is brand new ✨ no integrations provide this yet, but +we are sure we see more integrations providing backup locations in the future. +For example, an integration could provide a backup location to store backups on +a NAS, Google Drive, Backblaze S2, or any other storage provider. + +Choice is an important aspect of Home Assistant, and this is how we have made +that aspect count for the backup system as well. + +### Backup retention 🗑 + +Our previous backup system would just make backups, which was good, but... +eventually you'd annoyingly run out of disk space. 😬 + +So! Backup retention is now a thing! You can now configure how many backups you +want to keep, and the system will automatically clean up old backups for you. + +You can now configure a retention policy for your backups, allowing Home Assistant to clean it up automatically + +### Setting up backups for the first time 🚀 + +When you navigate to the backup settings for the first time after upgrading +to this release, you will be greeted with a new setup wizard that will guide +you through the process of setting up your backups in the new system. + +The wizard will help you set up your encryption key, configure your backup +frequency, and set up your backup retention policy. And when it is ready, it +will immediately kick off your first backup! + +All set! One less thing to worry about 🎉 + +## Month of "What the Heck?!" + +We had the Month of "What the Heck?!" in December, and it was a blast! 🎉 +Thanks to all the contributors who participated in this event, raising all +your "What the Heck?!" moments with Home Assistant. + +All input from it is very valuable to us, and we are working on using it to +shape the future of Home Assistant, for example, by determining what areas +impact our roadmaps and priorities. + +Besides that, quite a bunch of shared "What the Heck?!" moments have been +addressed in this release already 🚀 + +While the month is over, the work is not! We expect to see many more results +from this month over the upcoming releases. + +### Setting category and labels when creating automations and scripts + +For the first WTH item that has been resolved, we have [@jpbede] to thank! +And this one, is one of the higher voted ones as well, so it is a good one! +Andrew Jackson wrote: + +[_**"WTH can you not add categories, labels etc when creating an automation"**_](https://community.home-assistant.io/t/wth-can-you-not-add-categories-labels-etc-when-creating-an-automation/802562) + +Yeah, that is a good WTH! Every time you create a new automation or script, +you probably want to organize it right away, and not having to go back to +the settings to do so. **FIXED**! 🎉 + +If you press the d on your keyboard, it will pop up the Quickbar for devices. + +When you create a new automation or script, and also when renaming it, +you can now set the category and labels right away! 🏷️ Nice! + +### Quickly navigate to a device + +You might be aware, that you can bring up our quick navigation bar anywhere in +Home Assistant, by pressing the `c` key on your keyboard to navigate to various +places and the `e` key to search and navigate to any entity. However... + +[_**"WTH is there no quick bar for devices?"**_](https://community.home-assistant.io/t/wth-is-there-no-quick-bar-for-devices/802310) + +Well, that is a good question that Andreas Brett raised! There is indeed no +such thing for devices. [@jpbede] to the rescue! As of this release, you +can navigate to any device using the quickbar by pressing the `d` key on your +keyboard. + +If you press the d on your keyboard, it will pop up the Quickbar for devices. + +## Zooom & Pan for charts + +KNXBroker raised the the following WTH topic: + +[_**"WTH lets upgrade History Graphs"**_](https://community.home-assistant.io/t/wth-lets-upgrade-history-graphs/802568) + +You are right! The history graphs in Home Assistant are a bit basic but +functional! Nevertheless, we can do better! 🚀 + +One of the bigger items in that WTH topic, was the ability to zoom and pan... +Well, thanks to [@MindFreeze], you can now zoom and pan in any graph in Home +Assistant! 📈 + +Zoom any graph in Home Assistant, by holding ctrl or command and scroll your mouse wheel! + +Hold control (or command on macOS) and scroll to zoom in and out using your +mouse. You can also click and drag to pan around the zoomed graph. + +Besides this change, [@MindFreeze] enabled small micro-animation for the +history graphs, making them look a bit more alive and less static. + +[@MindFreeze]: https://github.com/MindFreeze + +### Controlling the default exposure of new entities to Assist + +mathd made the following point in a Month of "What the Heck?!" topic: + +[_"WTH Are all new entities exposed to Assist by default?"_](https://community.home-assistant.io/t/wth-are-all-new-entities-exposed-to-assist-by-default/803889) + +We hear you! Thanks to [@jpbede], you can now control the default exposure of +new entities to Assist. You can now toggle this on or off in the Home Assistant +Voice Assistant settings. + +Zoom any graph in Home Assistant, by holding ctrl or command and scroll your mouse wheel! + +### Reordering individual devices on the energy dashboard + +[_**"WTH Is in Energy Dashboard the individual devices not able to reorder"**_](https://community.home-assistant.io/t/wth-is-in-energy-dashboard-the-individual-devices-not-able-to-reorder/805051) + +Thanks for that one yormedia! Honestly, this one has been raised in previous +editions of the Month of "What the Heck?!" a few times as well. Reason enough +for [@karwosts] to pick this up and make it happen! You can now reorder the +individual devices on the energy dashboard! 🔡 + +If you press the d on your keyboard, it will pop up the Quickbar for devices. + +### More "What the Heck?!" improvements + +There are many more smaller improvements originating from the Month of "What the +Heck?!" in this release. Here are some of the other noteworthy ones: + +[_**"WTH there is no hotkey for Assist"**_](https://community.home-assistant.io/t/wth-there-is-no-hotkey-for-assist/802403)** + +Well, thanks to [@jpbede] you can now press the `a` on your keyboard anywhere +in Home Assistant to summon Assist! 🎙️ Nice! + +[_**"WTH doesn't HA ask if I want to save automations?"**_](https://community.home-assistant.io/t/wth-doesnt-ha-ask-if-i-want-to-save-automations/804030) + +Whoa! That is a good one! Thanks to [@jpbede], Home Assistant will now ask you +if you want to save your automation before leaving the editor if there are +unsaved changes. 🤖 + +[_**"WTH Can't I filter labels within a table filter?"**_](https://community.home-assistant.io/t/wth-cant-i-filter-labels-within-a-table-filter/802529) + +Good question. If you have a lot of labels, scrolling through the list of labels +in the filter option, can be a bit cumbersome. Thanks to [@silamon], you can +now search and filter through the labels in the filter option! 🔎 + +[_**WTH sentence trigger doesn't contain any context**_](https://community.home-assistant.io/t/wth-sentence-trigger-doesnt-contain-any-context/802386) + +Great idea! Thanks to [@balloob], the full conversation input is now available +to sentence triggers! 🗣️ This was actually the first WTH item to be resolved +this edition! 😎 + +[@balloob]: https://github.com/balloob +[@silamon]: https://github.com/silamon +[@jpbede]: https://github.com/jpbede + +## 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: + +- **[Cookidoo]**, added by [@miaucl] + Interact with your shopping lists of [Cookidoo the official Thermomix recipe platform]. +- **[EHEIM Digital]**, added by [@autinerd] + Control with your [EHEIM Digital aquarium devices] from Home Assistant. +- **[Ituran]**, added by [@shmuelzon] + Retrieve and use information from your Ituran-equipped vehicle. +- **[Ohme]**, added by [@dan-r] + Get sensor information from your Ohme smart EV charger. +- **[Peblar]**, added by [@frenck] + Control and monitor charging sessions of your [Peblar EV Charger]. +- **[Powerfox]**, added by [@klaasnicolaas] + Gather data from your [Poweropti] devices reading electricity, water, gas, and heat. +- **[Slide Local]**, added by [@dontinelli] + Integrate your [Slide] cover device directly with Home Assistant using a local API. +- **[Watergate]**, added by [@adam-the-hero] + Integrate your Watergate Sonic Local with Home Assistant. + +[@adam-the-hero]: https://github.com/adam-the-hero +[@autinerd]: https://github.com/autinerd +[@dan-r]: https://github.com +[@dontinelli]: https://github.com/dontinelli +[@frenck]: https://github.com/frenck +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@miaucl]: https://github.com/miaucl +[@shmuelzon]: https://github.com/shmuelzon +[Cookidoo the official Thermomix recipe platform]: https://cookidoo.international/ +[Cookidoo]: /integrations/cookidoo +[EHEIM Digital aquarium devices]: https://eheim.com/en_GB/aquatics/eheim-digital/ +[EHEIM Digital]: /integrations/eheimdigital +[Ituran]: /integrations/ituran +[Ohme]: /integrations/ohme +[Peblar EV Charger]: https://www.peblar.com +[Peblar]: /integrations/peblar +[Powerfox]: /integrations/powerfox +[Poweropti]: https://shop.powerfox.energy/collections/frontpage +[Slide Local]: /integrations/slide_local +[Slide]: https://slide.store/ +[Watergate]: /integrations/watergate + +### 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: + +- Palazzetti power control ([@dotvav] - [#131833]) ([palazzetti docs]) (new-platform) +- Add Starlink consumption sensors ([@davidrapan] - [#132262]) ([starlink docs]) +- Add Starlink usage sensors ([@davidrapan] - [#132738]) ([starlink docs]) +- Add basic UniFi Protect AiPort support ([@RaHehl] - [#133523]) ([unifiprotect docs]) +- Add initial support for SwitchBot relay switch ([@greyeee] - [#130863]) ([switchbot docs]) +- Add additional Hitachi sensors to Overkiz ([@iMicknl] - [#133772]) ([overkiz docs]) +- Add binary states for Weheat indoor unit ([@barryvdh] - [#133811]) ([weheat docs]) (new-platform) +- Add get_user_keyring_info service to UniFi Protect integration ([@RaHehl] - [#133138]) ([unifiprotect docs]) +- Add media browsing to Cambridge Audio ([@noahhusby] - [#129106]) ([cambridge_audio docs]) +- Add pan/tilt features to tplink integration ([@sdb9696] - [#133829]) ([tplink docs]) +- Add Switchbot Water Leak Detector (BLE) ([@luc-ass] - [#133799]) ([switchbot docs]) +- Add actions with response values to Music Assistant ([@marcelveldt] - [#133521]) ([music_assistant docs]) + +{% details "Potential changes to process" icon="mdi:scale-balance" %} + +Processed up to _#132149. + +- The [Lorem ipsum] integration now supports slipsum! Thanks [@frenck]! + +[@frenck]: https://github.com/frenck +[Lorem ipsum]: /integrations/lorem_ipsum + +{% enddetails %} + +### Now available to set up from the UI + +While most {% term integrations %} can be set up directly from the Home Assistant +user interface, some were only available using YAML configuration. We keep moving +more integrations to the UI, making them more accessible for everyone +to set up and use. + +The following integration is now available via the Home Assistant UI: + +- **[Niko Home Control]**, done by [@VandeurenGlenn] + +[@VandeurenGlenn]: https://github.com/VandeurenGlenn +[Niko Home Control]: /integrations/niko_home_control + +### Farewell to the following + +The following {% term integrations %} are also no longer available as +of this release: + +- **DTE Energy Bridge** has been removed after deprecated. The integration + was no longer functional. +- **Simulated** has been previously deprecated and now removed. +- **Stookalert** has been removed. The upstream data is no longer updated. + The [Stookwijzer] integration is a good alternative to get the same information. + +[Stookwijzer]: /integrations/stookwijzer + +## Other noteworthy changes + +There are many more improvements in this release; here are some of the other +noteworthy changes this release: + +- When viewing data tables and using `ctrl+f` in your browser to search, the + search input will now be focused automatically. As native browser search + will not work on data tables. Thanks [@jpbede]! +- [@marcinbauer85] adjust the "Add card" dialog, to automatically focus on the + search field when you add a card and can start typing to search right + away! Nice touch! +- Images uploaded through Home Assistant (for exmaple, as background or as + an user profile picture), as now browsable in the media browser. Thanks + [@karwosts]! +- The unit of measurment is now shown next to the numeric slider in the + more-info dialog of number entities. Thanks [@abmantis]! +- Home Assistant now support `mWh` as a unit of measurement for energy sensors + and `mW` for electrical potential power sensors. Thanks [@agners]! +- [@wendevlin] added settings and category overflow actions to the automation + and script editor (the three dotted menu in the top right corner), making + it easier to access those straight from the editor. Nice! +- The [logbook card] can supports picking a target for things it should show + events for. This means, you can now pick based on entities, devices, areas, + floors, and labels! Thanks, [@silamon]! + +[@abmantis]: https://github.com/abmantis +[@agners]: https://github.com/agners +[@jpbede]: https://github.com/jpbede +[@karwosts]: https://github.com/karwosts +[@marcinbauer85]: https://github.com/marcinbauer85 +[@silamon]: https://github.com/silamon +[@wendevlin]: https://github.com/wendevlin +[logbook card]: /dashboards/logbook/ + +## Dashboard background settings + +A few releases ago, we made it easier to add a background image to your +dashboard. This release, [@silamon] takes it a step further by adding +a lot of settings to customize how the background image is displayed. + +This includes support for tiled backgrounds, transparency, size settings, +alignment, and allowing the background to scroll with the page or stay fixed. + +_**TODO**: Add screenshot_ + +Nice! Thanks, [@silamon]! + +[@silamon]: https://github.com/silamon + +## Media player volume feature for Tile card + +A super nice addition from [@simon-zumbrunnen]! The Tile card now supports a +media player volume slider feature. This feature allows you to control the +volume of a media player directly from the Tile card. Nice work Simon! + +The tile card with a media player entity, having the volume feature slider enabled + +[@simon-zumbrunnen]: https://github.com/simon-zumbrunnen + +## 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 "1-Wire" %} + +The unit of measurement has been removed from 1-Wire counters because +`count` is not a unit 😁 + +([@jrieger] - [#132076]) ([documentation](/integrations/onewire)) + +[@jrieger]: https://github.com/jrieger +[#132076]: https://github.com/home-assistant/core/pull/132076 + +{% enddetails %} + +{% details "Denon HEOS" %} + +Grouping a HEOS media player will now raise an exception if one of the members +is not a valid HEOS player. Previously unknown or invalid members would be +silently dropped. + +([@andrewsayre] - [#132213]) ([documentation](/integrations/heos)) + +[@andrewsayre]: https://github.com/andrewsayre +[#132213]: https://github.com/home-assistant/core/pull/132213 + +{% enddetails %} + +{% details "devolo Home Control" %} + +The integration with devolo Home Control has been updated to remove the option +to set the mydevolo URL. This option was used to set up the integration with +the devolo Home Control Cloud for development purposes only. This option is no +longer available. + +([@Shutgun] - [#132821]) ([documentation](/integrations/devolo_home_control)) + +[@Shutgun]: https://github.com/Shutgun +[#132821]: https://github.com/home-assistant/core/pull/132821 + +{% enddetails %} + +{% details "FXCOM RFXtrx" %} + +The unit of measurement has been removed from FXCOM RFXtrx counters because +`count` is not a unit 😁 + +([@jrieger] - [#133108]) ([documentation](/integrations/rfxtrx)) + +[@jrieger]: https://github.com/jrieger +[#133108]: https://github.com/home-assistant/core/pull/133108 + +{% enddetails %} + +{% details "HomeWizard Energy" %} + +The unit of measurement for the "Water usage" sensor has been updated from +`l/min` to `L/min`. This change standardizes the unit to improve consistency +across Home Assistant. + +Any automations, scripts, or templates that rely on the old unit may need to be +adjusted. Long-term statistics will remain intact, but repair issues will be +created to ensure the data is updated with the new unit. + +([@DCSBL] - [#132261]) ([documentation](/integrations/homewizard)) + +[@DCSBL]: https://github.com/DCSBL +[#132261]: https://github.com/home-assistant/core/pull/132261 + +{% enddetails %} + +{% details "LIFX" %} + +The options `color_temp` and `kelvin` are no longer valid arguments for LIFX +actions. Please use `color_temp_kelvin` instead. + +([@epenet] - [#132730]) ([documentation](/integrations/lifx)) + +[@epenet]: https://github.com/epenet +[#132730]: https://github.com/home-assistant/core/pull/132730 + +{% enddetails %} + +{% details "Tesla Fleet" %} + +The included OAuth application credentials have been removed, as Tesla no longer +supports Open Source application registrations, and is moving to a pay-per-use +model. + +Read more about this announcement in this [blog post](developer.tesla.com/docs/fleet-api/support/announcements#2024-11-27-pay-per-use-pricing). + +([@Bre77] - [#132431]) ([documentation](/integrations/tesla_fleet)) + +[@Bre77]: https://github.com/Bre77 +[#132431]: https://github.com/home-assistant/core/pull/132431 + +{% enddetails %} + +{% details "UniFi Network" %} + +The states of "Device State" sensors have been standardized to match +Home Assistant core rules and be translatable. This affects the following +UniFi sensor states: + +- `Connected`, which now became `connected` +- `Pending`, which now became `pending` +- `Firmware Mismatch`, which now became `firmware_mismatch` +- `Upgrading`, which now became `upgrading` +- `Provisioning`, which now became `provisioning` +- `Heartbeat Missed`, which now became `heartbeat_missed` +- `Adopting`, which now became `adopting` +- `Deleting`, which now became `deleting` +- `Inform Error`, which now became `inform_error` +- `Adoption Failed`, which now became `adoption_failed` +- `Isolated`, which now became `isolated` +- `Unknown`, which now became `unknown` + +If you used those states directly in your automations, scripts, or templates; +you will need to adjust those to match these changes. + +([@bieniu] - [#131921]) ([documentation](/integrations/unifi)) + +[@bieniu]: https://github.com/bieniu +[#131921]: https://github.com/home-assistant/core/pull/131921 + +{% enddetails %} + +{% details "Zabbix" %} + +The integration now uses the official Zabbix Python API. Because of this, the +minimum supported Zabbix version is now 5.0. This change drops support for +Zabbix 4 and before. + +([@kruton] - [#131674]) ([documentation](/integrations/zabbix)) + +[@kruton]: https://github.com/kruton +[#131674]: https://github.com/home-assistant/core/pull/131674 + +{% enddetails %} + +If you are a custom integration developer and want to learn about changes and +new features available for your integration: Be sure to follow our +[developer blog][devblog]. The following are the most notable for this release: + +- [Changed name of WaterHeaterEntityDescription](https://developers.home-assistant.io/blog/2024/12/13/water-heater-entity-description) +- [Climate entity now supports independent horizontal swing](https://developers.home-assistant.io/blog/2024/12/03/climate-horizontal-swing) +- [Moving to Pydantic v2](https://developers.home-assistant.io/blog/2024/12/21/moving-to-pydantic-v2) +- [New vacuum state property](https://developers.home-assistant.io/blog/2024/12/08/new-vacuum-state-property) +- [Use Kelvin as the preferred color temperature unit](https://developers.home-assistant.io/blog/2024/12/14/kelvin-preferred-color-temperature-unit) + +[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.1](/changelogs/core-2025.1) diff --git a/source/changelogs/core-2025.1.markdown b/source/changelogs/core-2025.1.markdown new file mode 100644 index 00000000000..89d8f6a22f9 --- /dev/null +++ b/source/changelogs/core-2025.1.markdown @@ -0,0 +1,1917 @@ +--- +title: Full changelog for Home Assistant Core 2025.1 +description: Detailed changelog for the Home Assistant Core 2025.1 release +replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$ +--- + +These are all the changes included in the Home Assistant Core 2025.1 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2024/01/03/release-20251/). + +- Bump version to 2025.1.0dev0 ([@cdce8p] - [#131751]) +- Remove unreachable code in Habitica ([@tr4nt0r] - [#131778]) +- Add translations for units of measurement to Habitica integration ([@tr4nt0r] - [#131761]) +- Add units of measurement to Bring integration ([@tr4nt0r] - [#131763]) +- Log warning if via_device reference not exists when creating or updating a device registry entry ([@jbouwh] - [#131746]) +- Enable strict typing for Schlage ([@dknowles2] - [#131734]) +- Store Schlage runtime data in entry.runtime_data ([@dknowles2] - [#131731]) +- Set parallel updates in IronOS integration ([@tr4nt0r] - [#131721]) +- Remove deprecated camera constants ([@edenhaus] - [#131796]) +- Remvove deprecated core constants ([@edenhaus] - [#131803]) +- Remove deprecated automation constants ([@edenhaus] - [#131792]) +- Remove deprecated binary sensor constants ([@edenhaus] - [#131793]) +- Remove deprecated device registry constants ([@edenhaus] - [#131802]) +- Remove deprecated alarm control panel constants ([@edenhaus] - [#131790]) +- Remove deprecated home assistant const constants ([@edenhaus] - [#131799]) +- Remove deprecated water heater constants ([@edenhaus] - [#131805]) +- Remove deprecated remote constants ([@edenhaus] - [#131809]) +- Remove deprecated cover constants ([@edenhaus] - [#131797]) +- Remove deprecated siren constants ([@edenhaus] - [#131807]) +- Remove deprecated number constants ([@edenhaus] - [#131810]) +- Remove deprecated lock constants ([@edenhaus] - [#131812]) +- Fix group flaky test ([@epenet] - [#131815]) +- Cleanup deprecated exception in websocket tests ([@epenet] - [#131808]) +- Rename constant in tests/components/recorder/test_migration_from_schema_32.py ([@emontnemery] - [#131819]) +- Delay "Split tests for full run" in CI ([@epenet] - [#131813]) +- Remove deprecated switch constants ([@edenhaus] - [#131806]) +- Use common string for items unit in Bring ([@tr4nt0r] - [#131834]) +- Add comments in homeassistant/components/recorder/migration.py ([@emontnemery] - [#131820]) +- Remove deprecated device tracker constants ([@edenhaus] - [#131846]) +- Add unit translations to Ista EcoTrend integration ([@tr4nt0r] - [#131768]) +- Remove deprecated fan constants ([@edenhaus] - [#131845]) +- Remove deprecated humidifier constants ([@edenhaus] - [#131844]) +- Deprecate dt_util.utc_to_timestamp ([@emontnemery] - [#131787]) +- Add config flow rules to quality_scale hassfest validation ([@epenet] - [#131791]) +- Remove unnecessary hass.data defaults from Rainbird ([@allenporter] - [#131858]) +- Add diagnostics rule to quality_scale hassfest validation ([@epenet] - [#131859]) +- Correction of prices update time in Tibber integration (with CLA now) ([@rd-blue] - [#131861]) +- Use ConfigEntry.runtime_data in Nest ([@allenporter] - [#131871]) +- Remove deprecated sensor constants ([@edenhaus] - [#131843]) +- Add data descriptions to Nice G.O. config flow ([@IceBotYT] - [#131865]) +- Add strict_typing rule to quality_scale hassfest validation ([@epenet] - [#131877]) +- Remove deprecated data entry flow constants ([@edenhaus] - [#131800]) +- Remove deprecated climate constants ([@edenhaus] - [#131798]) +- Refactor calendars in Habitica ([@tr4nt0r] - [#131020]) +- Add documentation URL to quality_scale hassfest validation ([@epenet] - [#131879]) +- Add unique_config_entry rule to quality_scale hassfest validation ([@epenet] - [#131878]) +- Ensure Schlage exceptions are translated ([@dknowles2] - [#131733]) +- Add discovery rule to quality_scale hassfest validation ([@epenet] - [#131890]) +- Add runtime_data rule to quality_scale hassfest validation ([@allenporter] - [#131857]) +- Bump pynecil to v1.0.1 ([@tr4nt0r] - [#131935]) +- Bump ruff to 0.8.1 ([@autinerd] - [#131927]) +- Use typed ConfigEntry in discovergy ([@epenet] - [#131891]) +- Add missing state_class in IronOS ([@tr4nt0r] - [#131928]) +- Use HomeAssistant error in the right cases ([@Diegorro98] - [#131923]) +- Make uploaded images browsable in media ([@karwosts] - [#131468]) +- Add config flow to NHC ([@VandeurenGlenn] - [#130554]) +- Improvements for bluetooth device for lamarzocco ([@zweckj] - [#131875]) +- Add support for `linked_doorbell_sensor` to HomeKit locks ([@krauseerl] - [#131660]) +- Make the full conversation input available to sentence triggers ([@balloob] - [#131982]) +- Match "delete" with "create" in the action descriptions ([@NoRi2909] - [#131989]) +- Add final translations to mqtt exceptions ([@jbouwh] - [#131933]) +- Reduce time syscalls needed to insert new statistics ([@bdraco] - [#131984]) +- Use typed ConfigEntry in lamarzocco ([@epenet] - [#131892]) +- Use typed ConfigEntry in tedee ([@epenet] - [#131893]) +- Use typed ConfigEntry in twentemilieu ([@epenet] - [#131894]) +- Cleanup pylint obsolete import checks ([@epenet] - [#131904]) +- Add exception translation for entity action not supported ([@jbouwh] - [#131956]) +- Improve renault config-flow translation strings ([@epenet] - [#131706]) +- Improve renault config flow tests ([@epenet] - [#131698]) +- Improve recorder migration logging ([@emontnemery] - [#132006]) +- Remove unnecessary assignment in Recorder._process_state_changed_event_into_session ([@emontnemery] - [#132011]) +- Clarify description of fan actions, fix typo ([@NoRi2909] - [#132023]) +- Set parallel updates for BMW entities ([@rikroe] - [#132019]) +- Fix description of 'clear_completed_items' to use "remove" ([@NoRi2909] - [#132014]) +- Add pre-commit VSCode task ([@dotvav] - [#131637]) +- Add additional data_descriptions for Fully Kiosk Browser fields ([@cgarwood] - [#131716]) +- Add reauthentication flow for Autarco integration ([@klaasnicolaas] - [#131816]) +- Change library to livisi ([@joostlek] - [#132001]) +- Improve service names and descriptions for 'remote_connect' and 'remote_disconnect' in Home Assistant Cloud ([@yazan-abdalrahman] - [#131993]) +- Bump cryptography to 44.0.0 and pyOpenSSL to 24.3.0 ([@bdraco] - [#132035]) +- Use typed config entry in rainbird ([@epenet] - [#132031]) +- Use typed config entry in imap ([@epenet] - [#132029]) +- Remove CONF_NAME from config entry in solarlog ([@dontinelli] - [#131738]) +- Use runtime data in HEOS ([@andrewsayre] - [#132030]) +- Set PARALLEL_UPDATES in renault and bump quality scale ([@epenet] - [#132047]) +- Bump webio_api to 0.1.11 ([@nasWebio] - [#131730]) +- Update livisi to 0.0.24 ([@cdce8p] - [#132058]) +- Add additional number entities to IronOS ([@tr4nt0r] - [#131943]) +- Bump zwave-js-server-python to 0.60.0 ([@MindFreeze] - [#132059]) +- Bump dawidd6/action-download-artifact from 6 to 7 (@dependabot - [#132040]) +- Reboot host to aiohasupervisor ([@mdegat01] - [#130391]) +- Update mypy-dev to 1.14.0a5 ([@cdce8p] - [#132063]) +- Change wording in config flow dialog for fyta ([@dontinelli] - [#132075]) +- Remove option to update settings using second config flow in Reolink ([@starkillerOG] - [#131695]) +- Ensure Schlage config entry uniqueness ([@dknowles2] - [#131732]) +- Record Plugwise Quality Scale ([@CoMPaTech] - [#131888]) +- Add Reolink quality scale yaml ([@starkillerOG] - [#131123]) +- Fix type hints in IronOS coordinators ([@tr4nt0r] - [#132107]) +- Cleanup dead code in renault coordinator ([@epenet] - [#132078]) +- Improve Renault reauth test ([@epenet] - [#132077]) +- Rename 'Reolink IP NVR/camera' to 'Reolink' ([@starkillerOG] - [#132113]) +- Add data description to Nord pool config flow ([@gjohansson-ST] - [#132115]) +- Drop operating mode property in sharkiq ([@gjohansson-ST] - [#132097]) +- Remove unneeded step from reauth in Reolink ([@starkillerOG] - [#132143]) +- Revert "bump hassil and intents" ([@epenet] - [#132138]) +- Move set_room_setpoint to opentherm_gw hub ([@mvn23] - [#132152]) +- Bump syrupy to 4.8.0 ([@epenet] - [#132134]) +- Plugwise fixes from quality review ([@CoMPaTech] - [#132158]) +- Bump renault-api to 0.2.8 ([@epenet] - [#132135]) +- Support Z-Wave JS abort S2 bootstrapping ([@MindFreeze] - [#132140]) +- Set PARALLEL_UPDATES for all BMW platforms ([@rikroe] - [#132088]) +- Improve Reolink config flow tests ([@starkillerOG] - [#131693]) +- Bump voip-utils ([@synesthesiam] - [#132110]) +- Cleanup dead code in renault ([@epenet] - [#132172]) +- Bump nettigo-air-monitor to version 4.0.0 ([@bieniu] - [#132106]) +- Reapply "bump hassil and intents" (#132138) ([@epenet] - [#132151]) +- Dump pip freeze in CI ([@epenet] - [#132173]) +- Use typed config entry in SABnzbd coordinator ([@jpbede] - [#132098]) +- Pass config entry directly to update coordinator in Sensibo ([@gjohansson-ST] - [#132114]) +- Fix check dirty in Prepare dependencies CI ([@epenet] - [#132180]) +- Add initial quality scale for TotalConnect ([@austinmroczek] - [#132012]) +- Refactor roomba to set vacuums in vacuum file ([@gjohansson-ST] - [#132102]) +- Add dhcp discovery for fyta ([@dontinelli] - [#132185]) +- Remove support for live recorder data migration of entity IDs ([@emontnemery] - [#131952]) +- Bump pytest to 8.3.4 ([@epenet] - [#132179]) +- Generic Thermostat Add Target Min Max to UI config ([@hughsaunders] - [#131168]) +- Fix mypy issue in airzone cloud ([@gjohansson-ST] - [#132208]) +- Update test_config_flow for solarlog ([@dontinelli] - [#132104]) +- Fix next mypy issue in airzone_cloud ([@gjohansson-ST] - [#132217]) +- Improve BMWDataUpdateCoordinator typing ([@rikroe] - [#132087]) +- Add powerfox integration ([@klaasnicolaas] - [#131640]) +- Add missing data description for solarlog ([@dontinelli] - [#131712]) +- Bump pynecil to v2.0.2 ([@tr4nt0r] - [#132221]) +- Plugwise quality docs benchmark data update and removal ([@CoMPaTech] - [#132082]) +- Suez water add quality_scale.yaml ([@jb101010-2] - [#131360]) +- Add quality scale for fyta ([@dontinelli] - [#131508]) +- Add quality scale for Mastodon ([@andrew-codechimp] - [#131357]) +- Add quality_scale.yaml for Google Photos integration ([@allenporter] - [#131329]) +- Add reauthentication flow for Powerfox integration ([@klaasnicolaas] - [#132225]) +- Bump onvif-zeep-async to 3.1.13 ([@jterrace] - [#132229]) +- Add diagnostics to Powerfox integration ([@klaasnicolaas] - [#132226]) +- Use typed config entry in fyta ([@epenet] - [#132248]) +- Use typed config entry in mastodon ([@epenet] - [#132249]) +- Fix Visual Studio Code tasks to use selected Python interpreter ([@masto] - [#132219]) +- Improve discovery rule in IQS validation ([@epenet] - [#132251]) +- Pass config entry to UpdateCoordinator in yale_smart_alarm ([@gjohansson-ST] - [#132205]) +- Catch exceptions on entry setup for Autarco integration ([@klaasnicolaas] - [#132227]) +- Fix sensibo test coverage to 100% ([@gjohansson-ST] - [#132202]) +- Improve tests of recorder util resolve_period ([@emontnemery] - [#132259]) +- Bump github/codeql-action from 3.27.5 to 3.27.6 (@dependabot - [#132237]) +- Add IronOS quality scale record ([@tr4nt0r] - [#131598]) +- Refactor Snapcast client and group classes to use a common base clase ([@mill1000] - [#124499]) +- Set new polling interval for Powerfox integration ([@klaasnicolaas] - [#132263]) +- Add ista EcoTrend quality scale record ([@tr4nt0r] - [#131580]) +- Record current IQS state for Cambridge Audio ([@noahhusby] - [#131080]) +- Add quality scale for Husqvarna Automower ([@Thomas55555] - [#131560]) +- Fix test_dump_log_object timeouts in the CI ([@bdraco] - [#132234]) +- Add Bring! quality scale record ([@tr4nt0r] - [#131584]) +- Check token scope earlier in Husqvarna Automower ([@Thomas55555] - [#132289]) +- Refactor template lock to only return LockState or None ([@gjohansson-ST] - [#132093]) +- Clean up common modules in Husqvarna Automower ([@Thomas55555] - [#132290]) +- Add support for onvif tplink person and vehicle events ([@jterrace] - [#130769]) +- Bump aiosomecomfort to 0.0.28 in Honeywell ([@mkmer] - [#132294]) +- Use config_entry.runtime_data in Honeywell ([@mkmer] - [#132297]) +- Set command_line quality scale to legacy ([@gjohansson-ST] - [#132306]) +- Fix runtime data in Cambridge Audio ([@noahhusby] - [#132285]) +- Add quality scale to Onkyo ([@arturpragacz] - [#131322]) +- Remove stale requirement for androidtv ([@tofuSCHNITZEL] - [#132319]) +- Revert "Pin rpds-py to 0.21.0 to fix CI" ([@epenet] - [#132331]) +- Bump pylamarzocco to 1.3.2 ([@zweckj] - [#132344]) +- Remove dead code in fritzbox_callmonitor ([@epenet] - [#132353]) +- Fix missing AV info in Onkyo ([@arturpragacz] - [#132328]) +- Use typed config entry in husqvarna_automower ([@epenet] - [#132346]) +- Remove deprecated supported features warning in FanEntity ([@epenet] - [#132369]) +- Remove deprecated supported features warning in `ClimateEntity` ([@gjohansson-ST] - [#132206]) +- Mark test-before-setup as exempt in mqtt ([@epenet] - [#132334]) +- Remove yaml import from feedreader integration ([@jbouwh] - [#132278]) +- Remove yaml import from incomfort integration after deprecation time ([@jbouwh] - [#132275]) +- Add data description for Onkyo config flow ([@arturpragacz] - [#132349]) +- Remove deprecated supported features warning in CoverEntity ([@epenet] - [#132367]) +- Avoid access to `self.context["source"]` in integration config flows ([@epenet] - [#132355]) +- Remove _enable_turn_on_off_backwards_compatibility A-F ([@gjohansson-ST] - [#132417]) +- Remove _enable_turn_on_off_backwards_compatibility G-M ([@gjohansson-ST] - [#132418]) +- Remove _enable_turn_on_off_backwards_compatibility N-S ([@gjohansson-ST] - [#132422]) +- Remove _enable_turn_on_off_backwards_compatibility T-Z ([@gjohansson-ST] - [#132423]) +- Remove yaml import from hive ([@epenet] - [#132354]) +- Remove deprecated integration dte_energy_bridge ([@jbouwh] - [#132276]) +- Update mypy-dev to 1.14.0a6 ([@cdce8p] - [#132440]) +- Bump actions/cache from 4.1.2 to 4.2.0 (@dependabot - [#132419]) +- Handle Z-Wave JS S2 inclusion via Inclusion Controller ([@MindFreeze] - [#132073]) +- Fix flaky CI from azure_event_hub ([@epenet] - [#132461]) +- Log warning on use of deprecated light constants ([@epenet] - [#132387]) +- Adjust scope of zha global quirks fixture ([@epenet] - [#132463]) +- Implement new state property for vacuum which is using an enum ([@gjohansson-ST] - [#126353]) +- Bump codecov/codecov-action from 5.0.7 to 5.1.1 (@dependabot - [#132455]) +- Set parallel updates in Bring integration ([@tr4nt0r] - [#132504]) +- Move light constants to separate module ([@epenet] - [#132473]) +- Add tests for media player support_* properties ([@epenet] - [#132458]) +- Remove deprecated supported features warning in LightEntity ([@epenet] - [#132371]) +- Add check for unique id mismatch in reauth of Bring integration ([@tr4nt0r] - [#132499]) +- Add more models to Tesla Fleet ([@Bre77] - [#132430]) +- Remove default OAuth implementation from Tesla Fleet ([@Bre77] - [#132431]) +- Bump actions/attest-build-provenance from 1.4.4 to 2.0.0 (@dependabot - [#132332]) +- Remove migration for tag ([@gjohansson-ST] - [#132200]) +- Small cleanup in sensibo ([@gjohansson-ST] - [#132118]) +- Cache AST module parsing in hassfest ([@epenet] - [#132244]) +- Remove not needed name from yale_smart_alarm ([@gjohansson-ST] - [#132204]) +- Improve recorder util resolve_period ([@emontnemery] - [#132264]) +- Remove support for live recorder data migration of event type IDs ([@emontnemery] - [#131826]) +- Remove native_unit_of_measurement from Onewire counters ([@jrieger] - [#132076]) +- Removes previously deprecated simulated integration ([@gjohansson-ST] - [#132111]) +- Add parallel-updates rule to quality_scale validation ([@epenet] - [#132041]) +- Use build in unit of measurement in HomeWizard 'Water usage' sensor ([@DCSBL] - [#132261]) +- Plugwise add missing translation ([@CoMPaTech] - [#132239]) +- Add exception handlers to Home Connect action calls ([@Diegorro98] - [#131895]) +- Update go2rtc-client to 0.1.2 ([@frenck] - [#132517]) +- Use device area/floor in intent_script ([@arturpragacz] - [#130644]) +- Set PARALLEL_UPDATES in Bring sensor platform ([@jpbede] - [#132538]) +- Bump pylamarzocco to 1.3.3 ([@zweckj] - [#132534]) +- Bump uiprotect to 6.7.0 ([@RaHehl] - [#132565]) +- Use runtime_data in Whirlpool ([@mkmer] - [#132613]) +- Add tests to Nord Pool ([@gjohansson-ST] - [#132468]) +- Plugwise Quality improvements ([@CoMPaTech] - [#132175]) +- Bump nsapi to 3.1.2 ([@hugoideler] - [#132596]) +- Bump homematicip from 1.1.3 to 1.1.5 ([@hahn-th] - [#132537]) +- Increase test coverage in apsystems coordinator ([@Thomas55555] - [#132631]) +- Bump actions/attest-build-provenance from 2.0.0 to 2.0.1 (@dependabot - [#132661]) +- Remove deprecated supported features warning in Camera ([@epenet] - [#132640]) +- Use ast_parse_module in parallel_updates IQS rule ([@epenet] - [#132646]) +- Remove Stookalert integration ([@frenck] - [#132569]) +- Remove not needed code check in yale_smart_alarm ([@gjohansson-ST] - [#132649]) +- Remove deprecated supported features warning in Remote ([@epenet] - [#132643]) +- Remove deprecated supported features warning in Humidifier ([@epenet] - [#132641]) +- Remove deprecated supported features warning in Lock ([@epenet] - [#132642]) +- Remove YAML support from vizio ([@epenet] - [#132351]) +- Remove deprecated supported features warning in AlarmControlPanel ([@epenet] - [#132665]) +- Remove deprecated supported features warning in Siren ([@epenet] - [#132666]) +- Remove deprecated supported features warning in Vacuum ([@epenet] - [#132670]) +- Remove deprecated supported features warning in WaterHeater ([@epenet] - [#132668]) +- Add tip connected detection to IronOS ([@tr4nt0r] - [#131946]) +- Remove deprecated supported features warning in Update ([@epenet] - [#132667]) +- Add slightly more detailed descriptions for Counter actions ([@NoRi2909] - [#132576]) +- Set quality scale to silver for Husqvarna Automower ([@Thomas55555] - [#132293]) +- Use ATTR_COLOR_TEMP_KELVIN in emulated_hue light ([@epenet] - [#132693]) +- Use ATTR_COLOR_TEMP_KELVIN in baf light ([@epenet] - [#132692]) +- Move SABnzbd action setup to async_setup ([@jpbede] - [#132629]) +- Add binary platform to IronOS ([@tr4nt0r] - [#132691]) +- Increase test coverage in yale_smart_alarm ([@gjohansson-ST] - [#132650]) +- Palazzetti power control ([@dotvav] - [#131833]) +- Fix reading of max mireds from Matter lights ([@epenet] - [#132710]) +- Change to module function in statistics ([@gjohansson-ST] - [#132648]) +- Set unique_id in myuplink config entry ([@astrandb] - [#132672]) +- Migrate opple lights to use Kelvin ([@epenet] - [#132697]) +- Use kelvin attributes in baf ([@epenet] - [#132725]) +- Add myself as code owner to statistics ([@gjohansson-ST] - [#132719]) +- Update pylint to 3.3.2 and astroid to 3.3.6 ([@cdce8p] - [#132718]) +- Add Starlink consumption sensors ([@davidrapan] - [#132262]) +- Migrate flux_led lights to use Kelvin ([@epenet] - [#132687]) +- Migrate switchbot lights to use Kelvin ([@epenet] - [#132695]) +- Bump uiprotect to 6.8.0 ([@RaHehl] - [#132735]) +- Use ATTR_COLOR_TEMP_KELVIN in alexa ([@epenet] - [#132733]) +- Improve Plugwise tests ([@CoMPaTech] - [#132677]) +- Plugwise improve exception translations ([@CoMPaTech] - [#132663]) +- Add Watergate Sonic Local Integration ([@adam-the-hero] - [#129686]) +- Remove YAML support from cert_expiry ([@epenet] - [#132350]) +- Improve name and description of Include list, fix `holidays` keyword name ([@NoRi2909] - [#132188]) +- Add Ituran integration ([@shmuelzon] - [#129067]) +- Add reconfigure flow to Cambridge Audio ([@noahhusby] - [#131091]) +- Fix `LazyState` compatibility with `State` `under_cached_property` change ([@bdraco] - [#132752]) +- Migrate deconz lights to use Kelvin ([@epenet] - [#132698]) +- Add quality scale to myUplink - reflect current state ([@astrandb] - [#131686]) +- Mark Cambridge Audio quality scale as platinum ([@noahhusby] - [#132762]) +- Add clearer descriptions to all Timer actions ([@NoRi2909] - [#132571]) +- Migrate limitlessled lights to use Kelvin ([@epenet] - [#132689]) +- Remove old compatibility code (and add new warning) in lifx ([@epenet] - [#132730]) +- Migrate smartthings lights to use Kelvin ([@epenet] - [#132699]) +- Migrate hive lights to use Kelvin ([@epenet] - [#132686]) +- Change BMW reauth/reconfigure to only allow password ([@rikroe] - [#132767]) +- Remove deprecated supported features warning in MediaPlayer ([@epenet] - [#132365]) +- Use local ATTR_KELVIN constant in yeelight ([@epenet] - [#132731]) +- Add missing `last_reported_timestamp` to `LazyState` ([@bdraco] - [#132761]) +- Remove legacy behavior from Teslemetry ([@Bre77] - [#132760]) +- Update demetriek to v1.0.0 ([@frenck] - [#132765]) +- Improve description of 'vapid_email' field ([@NoRi2909] - [#131349]) +- Use consistent UI name for system_log.clear action ([@NoRi2909] - [#132083]) +- Migrate osramlightify lights to use Kelvin ([@epenet] - [#132688]) +- Migrate matter lights to use Kelvin ([@epenet] - [#132685]) +- Set Nord Pool device as a service ([@gjohansson-ST] - [#132717]) +- Suez_water: close session after config flow ([@jb101010-2] - [#132714]) +- Migrate abode lights to use Kelvin ([@epenet] - [#132690]) +- Add new api to fetch sentence triggers ([@balloob] - [#132764]) +- Migrate elgato lights to use Kelvin ([@epenet] - [#132789]) +- Change fields allowed to change in options flow for Mold indicator ([@gjohansson-ST] - [#132400]) +- Add Starlink usage sensors ([@davidrapan] - [#132738]) +- Bump actions/attest-build-provenance from 2.0.1 to 2.1.0 (@dependabot - [#132788]) +- Migrate homekit_controller lights to use Kelvin ([@epenet] - [#132792]) +- Remove sleep and forbidden handling from Teslemetry ([@Bre77] - [#132784]) +- Migrate eufy lights to use Kelvin ([@epenet] - [#132790]) +- Migrate blebox lights to use Kelvin ([@epenet] - [#132787]) +- Migrate mired attributes to kelvin in limitlessled ([@epenet] - [#132785]) +- Migrate iglo lights to use Kelvin ([@epenet] - [#132796]) +- Update ciso8601 to v2.3.2 ([@frenck] - [#132793]) +- bump pyituran to 0.1.4 ([@shmuelzon] - [#132791]) +- Add diagnostics platform to Russound RIO ([@noahhusby] - [#132776]) +- Bump aioswitcher to 5.1.0 ([@YogevBokobza] - [#132753]) +- Use UnitOfEnergy.KILO_CALORIE in Tractive integration ([@bieniu] - [#131909]) +- Migrate wiz lights to use Kelvin ([@epenet] - [#132809]) +- Migrate wemo lights to use Kelvin ([@epenet] - [#132808]) +- Migrate tuya lights to use Kelvin ([@epenet] - [#132803]) +- Migrate tradfri lights to use Kelvin ([@epenet] - [#132800]) +- Migrate template lights to use Kelvin ([@epenet] - [#132799]) +- Migrate homematic lights to use Kelvin ([@epenet] - [#132794]) +- Migrate nanoleaf lights to use Kelvin ([@epenet] - [#132797]) +- Address misc comments from myuplink quality scale review ([@astrandb] - [#132802]) +- Migrate yeelight lights to use Kelvin ([@epenet] - [#132814]) +- Migrate xiaomi_miio lights to use Kelvin ([@epenet] - [#132811]) +- Update pvo to v2.2.0 ([@frenck] - [#132812]) +- Migrate vesync lights to use Kelvin ([@epenet] - [#132806]) +- Use "remove" in description of "Clear playlist" action ([@NoRi2909] - [#132079]) +- Migrate zwave_js lights to use Kelvin ([@epenet] - [#132818]) +- Remove config flow option to set mydevolo URL ([@Shutgun] - [#132821]) +- Update gotailwind to v0.3.0 ([@frenck] - [#132817]) +- Add missing Kelvin attributes to mqtt ignore list ([@epenet] - [#132820]) +- Improve myuplink tests to reach full coverage for all modules ([@astrandb] - [#131937]) +- Update wled to v0.21.0 ([@frenck] - [#132822]) +- Address review comment on myuplink tests ([@astrandb] - [#132819]) +- Add check for typed ConfigEntry in quality scale validation ([@epenet] - [#132028]) +- spaceapi: fix sensor values ([@Xiretza] - [#132099]) +- Migrate hue lights to use Kelvin ([@epenet] - [#132835]) +- Add exception translations for Fronius ([@farmio] - [#132830]) +- Add data descriptions to devolo Home Control ([@Shutgun] - [#132703]) +- Cleanup unnecessary mired attributes in esphome ([@epenet] - [#132833]) +- Fix wrong name attribute in mqtt ignore list ([@epenet] - [#132831]) +- Plugwise improve platform tests ([@CoMPaTech] - [#132748]) +- Add a quality scale for fitbit integration ([@allenporter] - [#131326]) +- Add beolink_join source_id parameter to Bang & Olufsen ([@mj23000] - [#132377]) +- Bump mozart-api to 4.1.1.116.4 ([@mj23000] - [#132859]) +- Add retry to api calls in Nord Pool ([@gjohansson-ST] - [#132768]) +- Bump pydantic to 2.10.3 and update required deps ([@bdraco] - [#131963]) +- Use floats instead of datetime in statistics ([@gjohansson-ST] - [#132746]) +- Add quality scale to Nord Pool ([@gjohansson-ST] - [#132415]) +- Set config-flow rule in IQS to todo in Bring integration ([@tr4nt0r] - [#132855]) +- Migrate demo lights to use Kelvin ([@epenet] - [#132837]) +- Add model_id to flexit (bacnet) entity ([@lellky] - [#132875]) +- Update numpy to 2.2.0 ([@cdce8p] - [#132874]) +- Test the google tasks api connection in setup ([@allenporter] - [#132657]) +- Use runtime_data for roku ([@ctalkington] - [#132781]) +- Fix typo in water heater integration ([@lboue] - [#132891]) +- Bump github/codeql-action from 3.27.6 to 3.27.7 (@dependabot - [#132900]) +- Refactor light significant change to use kelvin attribute ([@epenet] - [#132853]) +- Remove old codeowner no longer working on the integration ([@shapournemati-iotty] - [#132807]) +- Fix docker hassfest ([@edenhaus] - [#132823]) +- Migrate flux to use Kelvin over Mireds ([@epenet] - [#132839]) +- Add remaining test coverage to yale_smart_alarm ([@gjohansson-ST] - [#132869]) +- Migrate tasmota lights to use Kelvin ([@epenet] - [#132798]) +- Migrate zha lights to use Kelvin ([@epenet] - [#132816]) +- Enable pydantic.v1 mypy plugin ([@cdce8p] - [#132907]) +- upgrade iottycloud lib to 0.3.0 ([@shapournemati-iotty] - [#132836]) +- Allow bytearray for mqtt payload type ([@cdce8p] - [#132906]) +- Use snapshot tests for remaining myuplink platforms ([@astrandb] - [#132915]) +- Create quality_scale.yaml from integration scaffold script ([@farmio] - [#132199]) +- Velbus add quality_scale.yaml ([@cereal2nd] - [#131377]) +- Set quality_scale for myUplink to Silver ([@astrandb] - [#132923]) +- Adjust lifx to use local _ATTR_COLOR_TEMP constant ([@epenet] - [#132840]) +- Add data description to suez_water config flow ([@jb101010-2] - [#132466]) +- Migrate mqtt lights to use Kelvin ([@epenet] - [#132828]) +- Split the velbus services code in its own file ([@cereal2nd] - [#131375]) +- Fix mqtt light attributes ([@epenet] - [#132941]) +- Set go2rtc quality scale to internal ([@edenhaus] - [#132945]) +- Update xknx to 3.4.0 ([@farmio] - [#132943]) +- Add Dutch locale on supported Alexa interfaces ([@jbouwh] - [#132936]) +- Record current IQS state for Russound RIO ([@noahhusby] - [#131219]) +- Add quality scale for nest integration ([@allenporter] - [#131330]) +- Improve coverage in light reproduce state ([@epenet] - [#132929]) +- Trigger full ci run on global mypy config change ([@cdce8p] - [#132909]) +- Remove port from Elgato configuration flow ([@frenck] - [#132961]) +- Bump pylamarzocco to 1.4.0 ([@zweckj] - [#132917]) +- Add parallel updates & use typed config entry for Russound RIO ([@noahhusby] - [#132958]) +- Update quality scale for nordpool ([@gjohansson-ST] - [#132964]) +- Merge feature branch with backup changes to dev ([@emontnemery] - [#132954]) +- Add reconfiguration flow to myuplink ([@astrandb] - [#132970]) +- Set strict typing for myuplink ([@astrandb] - [#132972]) +- Add missing body height icon in Withings integration ([@CFenner] - [#132991]) +- Introduce parallel updates for Plugwise ([@CoMPaTech] - [#132940]) +- Enforce strict typing for Russound RIO ([@noahhusby] - [#132982]) +- Improve config flow test coverage for Russound RIO ([@noahhusby] - [#132981]) +- Set parallel updates for roku ([@ctalkington] - [#132892]) +- Set parallel updates in Elgato ([@frenck] - [#132998]) +- Migrate elgato light tests to use Kelvin ([@epenet] - [#133004]) +- Move coordinator for TwenteMilieu into own module ([@frenck] - [#133000]) +- Bump velbusaio to 2024.12.0 ([@cereal2nd] - [#132989]) +- Use ConfigEntry runtime_data in EnergyZero ([@klaasnicolaas] - [#132979]) +- Don't use kitchen_sink integration in config entries tests ([@emontnemery] - [#133012]) +- Fix config entry import in Twente Milieu diagnostic ([@frenck] - [#133017]) +- Migrate google_assistant color_temp handlers to use Kelvin ([@epenet] - [#132997]) +- Add reconfigure flow for Powerfox integration ([@klaasnicolaas] - [#132260]) +- Improve diagnostics code of EnergyZero integration ([@klaasnicolaas] - [#133019]) +- Migrate tplink light tests to use Kelvin ([@epenet] - [#133026]) +- Small test cleanups in Twente Milieu ([@frenck] - [#133028]) +- Adjust backup agent platform ([@emontnemery] - [#132944]) +- Migrate template light tests to use Kelvin ([@epenet] - [#133025]) +- Explicitly pass config entry to coordinator in Elgato ([@frenck] - [#133014]) +- Clean up Elgato config flow tests ([@frenck] - [#133045]) +- Bump hass-nabucasa from 0.86.0 to 0.87.0 ([@klejejs] - [#133043]) +- Improve husqvarna_automower decorator typing ([@cdce8p] - [#133047]) +- Add data descriptions to Twente Milieu config flow ([@frenck] - [#133046]) +- Fix music_assistant decorator typing ([@cdce8p] - [#133044]) +- Bump ruff to 0.8.2 ([@autinerd] - [#133041]) +- Small test improvements to Tailwind tests ([@frenck] - [#133051]) +- Bump uv to 0.5.8 ([@edenhaus] - [#133036]) +- Migrate emulated_hue light tests to use Kelvin ([@epenet] - [#133006]) +- Migrate esphome light tests to use Kelvin ([@epenet] - [#133008]) +- Migrate homekit light tests to use Kelvin ([@epenet] - [#133011]) +- Improve Callable annotations ([@cdce8p] - [#133050]) +- Use PEP 695 TypeVar syntax ([@cdce8p] - [#133049]) +- Migrate mqtt light tests to use Kelvin ([@epenet] - [#133035]) +- Adjust light test helpers to use Kelvin, and cleanup unused helpers ([@epenet] - [#133048]) +- Remove reference to self.min/max_mireds in mqtt light ([@epenet] - [#133055]) +- Fix load of backup store ([@emontnemery] - [#133024]) +- Bump velbusaio to 2024.12.1 ([@cereal2nd] - [#133056]) +- Migrate deconz light tests to use Kelvin ([@epenet] - [#133002]) +- Fix backup strategy retention filter ([@MartinHjelmare] - [#133060]) +- Add HEOS quality scale ([@andrewsayre] - [#132311]) +- Update demetriek to v1.1.0 ([@frenck] - [#133064]) +- Explicitly pass config entry to coordinator in Tailwind ([@frenck] - [#133065]) +- Migrate group light tests to use Kelvin ([@epenet] - [#133010]) +- Use ConfigEntry runtime_data in easyEnergy ([@klaasnicolaas] - [#133053]) +- Improve auth generic typing ([@cdce8p] - [#133061]) +- Add support for subentries to config entries ([@emontnemery] - [#117355]) +- Migrate wiz light tests to use Kelvin ([@epenet] - [#133032]) +- Migrate abode light tests to use Kelvin ([@epenet] - [#133001]) +- Add new integration slide_local ([@dontinelli] - [#132632]) +- Migrate flux_led light tests to use Kelvin ([@epenet] - [#133009]) +- Add Cookidoo integration ([@miaucl] - [#129800]) +- Migrate wemo light tests to use Kelvin ([@epenet] - [#133031]) +- Migrate tradfri light tests to use Kelvin ([@epenet] - [#133030]) +- Migrate yeelight light tests to use Kelvin ([@epenet] - [#133033]) +- Migrate zwave_js light tests to use Kelvin ([@epenet] - [#133034]) +- Promote Twente Milieu quality scale to silver ([@frenck] - [#133074]) +- Migrate demo light tests to use Kelvin ([@epenet] - [#133003]) +- Migrate switch_as_x light tests to use Kelvin ([@epenet] - [#133023]) +- Migrate smartthings light tests to use Kelvin ([@epenet] - [#133022]) +- Use runtime_data in velbus ([@cereal2nd] - [#132988]) +- Small improvements to the AdGuard tests ([@frenck] - [#133073]) +- Add source zone exclusion to Russound RIO ([@noahhusby] - [#130392]) +- Refactor light reproduce state to use kelvin attribute ([@epenet] - [#132854]) +- Migrate alexa color_temp handlers to use Kelvin ([@epenet] - [#132995]) +- Migrate lifx light tests to use Kelvin ([@epenet] - [#133020]) +- Improve Solar.Forecast configuration flow tests ([@frenck] - [#133077]) +- Add test-before-setup rule to quality_scale validation ([@epenet] - [#132255]) +- Fix CI failure in russound_rio ([@epenet] - [#133081]) +- Update Rainbird quality scale grading on the Silver quality checks ([@allenporter] - [#131498]) +- Use correct ATTR_KELVIN constant in yeelight tests ([@epenet] - [#133088]) +- Bump github/codeql-action from 3.27.7 to 3.27.9 (@dependabot - [#133104]) +- Move config entry type of energyzero integration ([@klaasnicolaas] - [#133094]) +- Remove unused constant from blink ([@epenet] - [#133109]) +- Handle step size correctly in myuplink number platform ([@astrandb] - [#133016]) +- Bump watchdog to 6.0.0 ([@mweinelt] - [#132895]) +- Update devcontainer to Python 3.13 ([@cdce8p] - [#132313]) +- Velbus docs quality bump ([@cereal2nd] - [#133070]) +- Simplify access to hass in service calls ([@epenet] - [#133062]) +- Use internal min/max mireds in template ([@epenet] - [#133113]) +- Add mWh as unit of measurement for Matter energy sensors ([@agners] - [#133005]) +- Remove HEOS yaml import ([@andrewsayre] - [#133082]) +- Remove `native_unit_of_measurement` from rfxtrx counters ([@jrieger] - [#133108]) +- Replace functools.partial with ServiceCall.hass in knx ([@epenet] - [#133111]) +- Add data/data_description translation checks ([@epenet] - [#131705]) +- Raise issue for deprecated imperial unit system ([@gjohansson-ST] - [#130979]) +- Fix failing CI due to Russound Rio incorrect IQS ([@frenck] - [#133118]) +- Add a quality scale for Google Tasks ([@allenporter] - [#131497]) +- Cookidoo reauth config flow for silver ([@miaucl] - [#133110]) +- Fix typo in `WaterHeaterEntityDescription` name ([@lboue] - [#132888]) +- Add contact vip info to fritzbox_callmonitor sensor ([@cdce8p] - [#132913]) +- Push Nibe package to 2.14.0 ([@martijnrusschen] - [#133125]) +- Make Twitch sensor state and attributes translatable ([@jpbede] - [#133127]) +- Update open-meteo to v0.3.2 ([@frenck] - [#133122]) +- Reduce functools.partial with ServiceCall.hass in energyzero ([@epenet] - [#133134]) +- Replace functools.partial with ServiceCall.hass in unifiprotect ([@epenet] - [#133131]) +- Replace functools.partial with ServiceCall.hass in tibber ([@epenet] - [#133132]) +- Reduce functools.partial with ServiceCall.hass in easyenergy ([@epenet] - [#133133]) +- Improve data description and title for Cookidoo integration ([@miaucl] - [#133106]) +- Bump velbusaio to 2024.12.2 ([@cereal2nd] - [#133130]) +- Fix typos in devolo Home Network tests ([@Shutgun] - [#133139]) +- Set quality scale to silver for Powerfox integration ([@klaasnicolaas] - [#133095]) +- Add warning when light entities do not provide kelvin attributes or properties ([@epenet] - [#132723]) +- Fix missing password for slide_local ([@dontinelli] - [#133142]) +- Bump PyViCare to 2.38.0 ([@CFenner] - [#133126]) +- Velbus test before setup ([@cereal2nd] - [#133069]) +- Add reconfigure flow to MQTT ([@jbouwh] - [#132246]) +- Deprecate light constants ([@epenet] - [#132680]) +- Fix Tailwind config entry typing in async_unload_entry signature ([@frenck] - [#133153]) +- Bump ruff to 0.8.3 ([@autinerd] - [#133163]) +- Update debugpy to 1.8.11 ([@frenck] - [#133169]) +- Add STT error code for cloud authentication failure ([@synesthesiam] - [#133170]) +- Add response slot to HassRespond intent ([@synesthesiam] - [#133162]) +- Add eheimdigital integration ([@autinerd] - [#126757]) +- Bump uiprotect to 7.0.2 ([@bdraco] - [#132975]) +- Improve Slide Local device tests ([@joostlek] - [#133197]) +- Bump openwebifpy to 4.3.0 ([@autinerd] - [#133188]) +- Add reconfiguration to slide_local ([@dontinelli] - [#133182]) +- Add button entity to slide_local ([@dontinelli] - [#133141]) +- Add Ohme integration ([@dan-r] - [#132574]) +- Switcher move _async_call_api to entity.py ([@YogevBokobza] - [#132877]) +- Suez_water: add removal instructions ([@jb101010-2] - [#133206]) +- Bump pynecil to 2.1.0 ([@tr4nt0r] - [#133211]) +- Update Fronius translations ([@farmio] - [#132876]) +- set PARALLEL_UPDATES to 1 for enphase_envoy ([@catsmanac] - [#132373]) +- Suez_water: store coordinator in runtime_data ([@jb101010-2] - [#133204]) +- Fix pydantic warnings in purpleair ([@cdce8p] - [#133247]) +- Bump aioautomower to 2024.12.0 ([@Thomas55555] - [#132962]) +- Fix enigma2 integration for devices not reporting MAC address ([@autinerd] - [#133226]) +- Enhance translation strings in fibaro ([@rappenze] - [#133234]) +- Replace aiogithub dependency with pynecil update check ([@tr4nt0r] - [#133213]) +- Use entry.runtime_data in fibaro ([@rappenze] - [#133235]) +- Fix lingering mqtt device_trigger unload entry test ([@jbouwh] - [#133202]) +- Replace "this" with "a" to fix Install Update action description ([@NoRi2909] - [#133210]) +- Improve BMW translations ([@rikroe] - [#133236]) +- Update elevenlabs to 1.9.0 ([@cdce8p] - [#133264]) +- Mark Google Tasks action-exceptions quality scale as done ([@allenporter] - [#133253]) +- Bump pymodbus version 3.7.4 ([@crug80] - [#133175]) +- Don't update existing Fronius config entries from config flow ([@farmio] - [#132886]) +- Improve MQTT json color_temp validation ([@jbouwh] - [#133174]) +- Update quality scale documentation rules in IronOS integration ([@tr4nt0r] - [#133245]) +- Add button platform to Ohme ([@dan-r] - [#133267]) +- Use typed BMWConfigEntry ([@rikroe] - [#133272]) +- Fix two typos in KEF strings ([@NoRi2909] - [#133294]) +- Bump pynordpool 0.2.3 ([@gjohansson-ST] - [#133277]) +- Explicitly set `PARALLEL_UPDATES` for Google Tasks ([@allenporter] - [#133296]) +- Refactor Onkyo tests to patch underlying pyeiscp library ([@eclair4151] - [#132653]) +- Update quality scale for Nord Pool ([@gjohansson-ST] - [#133282]) +- Bump plugwise to v1.6.4 and adapt ([@bouwew] - [#133293]) +- Fix typo "configurered" in MQTT ([@NoRi2909] - [#133295]) +- Improve Fronius tests ([@farmio] - [#132872]) +- Mark Google Tasks `test-before-setup` quality scale rule as `done` ([@allenporter] - [#133298]) +- Adjust MQTT tests not to assert on deprecated color_temp attribute ([@jbouwh] - [#133198]) +- Fix missing Fronius data_description translation for reconfigure flow ([@farmio] - [#133304]) +- Increase test coverage for google tasks init ([@allenporter] - [#133252]) +- Full test coverage for Vodafone Station button platform ([@chemelli74] - [#133281]) +- Cleanup tests for tedee ([@zweckj] - [#133306]) +- Split coordinator in lamarzocco ([@zweckj] - [#133208]) +- Conversation: Use [] when we know key exists ([@balloob] - [#133305]) +- Update docker base image to 2024.12.1 ([@cdce8p] - [#133323]) +- Set default min/max color temperature in abode lights ([@epenet] - [#133331]) +- Set default min/max color temperature in demo lights ([@epenet] - [#133330]) +- Add reconfigure flow to Roku ([@ctalkington] - [#132986]) +- Set default min/max color temperature in wemo lights ([@epenet] - [#133338]) +- Avoid string manipulations in hassio backup reader/writer ([@emontnemery] - [#133339]) +- Set default min/max color temperature in deconz lights ([@epenet] - [#133333]) +- Use `ConfigEntry.runtime_data` in Twitch ([@jpbede] - [#133337]) +- Set default min/max color temperature in matter lights ([@epenet] - [#133340]) +- Suez_water: mark reached bronze scale level ([@jb101010-2] - [#133352]) +- Set default min/max color temperature in homekit_controller lights ([@epenet] - [#133334]) +- Reduce false-positives in test-before-setup IQS check ([@epenet] - [#133349]) +- Add Idasen Desk quality scale record ([@abmantis] - [#132368]) +- Add Habitica quality scale record ([@tr4nt0r] - [#131429]) +- Record current IQS state for LaMetric ([@frenck] - [#133040]) +- Use unique_id in devolo Home Network tests ([@Shutgun] - [#133147]) +- Update myuplink quality scale ([@astrandb] - [#133083]) +- Velbus finish config-flow-test-coverage ([@cereal2nd] - [#133149]) +- Add reauth flow to Ituran ([@shmuelzon] - [#132755]) +- Remove custom "unknown" state from Fronius Enum sensor ([@farmio] - [#133361]) +- Velbus add PARALLEL_UPDATES to all platforms ([@cereal2nd] - [#133155]) +- Update hassio backup agents on mount added or removed ([@emontnemery] - [#133344]) +- Translate exception messages in myUplink ([@astrandb] - [#131626]) +- Add HEOS reconfigure flow ([@andrewsayre] - [#133326]) +- Set default min/max color temperature in mqtt lights ([@epenet] - [#133356]) +- Increase backup upload timeout ([@ludeeus] - [#132990]) +- Add quality scale to ElevenLabs ([@sorgfresser] - [#133276]) +- Remove support for live recorder data post migration of entity IDs ([@emontnemery] - [#133370]) +- Gives a friendly name to emoncms entities if unit is not specified ([@alexandrecuer] - [#133358]) +- Add switch platform to local_slide ([@dontinelli] - [#133369]) +- Load sun via entity component ([@gjohansson-ST] - [#132598]) +- Improvements to the LaMetric config flow tests ([@frenck] - [#133383]) +- Add required domain to vacuum intents ([@synesthesiam] - [#133166]) +- Update axis to v64 ([@cdce8p] - [#133385]) +- Remove setup entry mock assert from LaMetric config flow ([@frenck] - [#133387]) +- Add reauth flow to Ohme ([@dan-r] - [#133275]) +- Nord Pool iqs platinum ([@gjohansson-ST] - [#133389]) +- Add Matter battery replacement description ([@lboue] - [#132974]) +- Update mypy-dev to 1.14.0a7 ([@cdce8p] - [#133390]) +- Fix issue when no data, where the integer sensor value is given a string ([@vche] - [#132123]) +- Add tests for Habitica integration ([@tr4nt0r] - [#131780]) +- Fix mqtt reconfigure flow ([@jbouwh] - [#133315]) +- Add palazzetti status sensor ([@dotvav] - [#131348]) +- Fix incorrect schema in config tests ([@epenet] - [#133404]) +- Add quality_scale.yaml to enphase_envoy ([@catsmanac] - [#132489]) +- Fix schema translation checks for nested config-flow sections ([@epenet] - [#133392]) +- Check if requirement is typed in strict_typing IQS validation ([@epenet] - [#133415]) +- Bump aiohasupervisor to version 0.2.2b2 ([@emontnemery] - [#133417]) +- Add reconfigure to Cookidoo integration ([@miaucl] - [#133144]) +- Improve hassio backup agent test coverage ([@emontnemery] - [#133424]) +- Improve hassio backup agent test coverage ([@emontnemery] - [#133426]) +- Mark lamarzocco as platinum quality ([@zweckj] - [#131609]) +- Mark acaia as platinum quality ([@zweckj] - [#131723]) +- Record current IQS scale for Tailwind ([@frenck] - [#133158]) +- Add MFA login flow support for cloud component ([@klejejs] - [#132497]) +- Record current IQS state for SABnzbd ([@jpbede] - [#131656]) +- Add quality scale for Fronius ([@farmio] - [#131770]) +- Adapt hassio backup agent to supervisor changes ([@emontnemery] - [#133428]) +- Fix two occurrences of "HomeAssistant" adding the missing space ([@NoRi2909] - [#133435]) +- Don't raise when removing non-existing cloud backup ([@emontnemery] - [#133429]) +- Remove three duplicated space characters in strings.json ([@NoRi2909] - [#133436]) +- Add transmission download path to events + add_torrent service ([@DrBlokmeister] - [#121371]) +- Support units and filters in async_get_travel_times_service for waze_travel_time ([@eifinger] - [#130776]) +- Simplify modern_forms config flow (part 2) ([@epenet] - [#130494]) +- Distinct sources per zone in Onkyo ([@arturpragacz] - [#130547]) +- Clean up backups after manual backup ([@emontnemery] - [#133434]) +- Don't run recorder data migration on new databases ([@emontnemery] - [#133412]) +- Improve empty state handling for SomfyThermostat in Overkiz ([@iMicknl] - [#131700]) +- Add optional category in OptionsFlow to holiday ([@gjohansson-ST] - [#129514]) +- Add missing CozyTouch servers to ConfigFlow expection handler in Overkiz ([@iMicknl] - [#131696]) +- Limit unique_id migration to platform for BMW ([@rikroe] - [#131582]) +- Remove unused constants from SABnzbd ([@jpbede] - [#133445]) +- Allow only single instance of energyzero integration ([@klaasnicolaas] - [#133443]) +- Use entity services in bluesound integration ([@LouisChrist] - [#129266]) +- Differentiate File integration entries by prefixing the title with the platform instead ([@benjamin-dcs] - [#131016]) +- Mark docs-removal-instructions for SABnzbd as done ([@jpbede] - [#133446]) +- Allow only single instance of easyenergy integration ([@klaasnicolaas] - [#133447]) +- Do not remove services when last config entry is unloaded in SABnzbd ([@jpbede] - [#133449]) +- Fix reconfigure in Nord Pool ([@gjohansson-ST] - [#133431]) +- Add Get price service to Nord Pool ([@gjohansson-ST] - [#130185]) +- Add integration_type to Idasen Desk ([@abmantis] - [#132486]) +- Bump actions/upload-artifact from 4.4.3 to 4.5.0 (@dependabot - [#133461]) +- Add sensors to Ituran integration ([@shmuelzon] - [#133359]) +- Add reconfigure flow to Russound RIO ([@noahhusby] - [#133091]) +- Add support for ACB batteries to Enphase Envoy ([@catsmanac] - [#131298]) +- Improve test coverage for Russound RIO ([@noahhusby] - [#133096]) +- Lift SABnzbd to bronze quality scale ([@jpbede] - [#133453]) +- Use a common base entity for Idasen Desk ([@abmantis] - [#132496]) +- Add ssdp discovery to Onkyo ([@eclair4151] - [#131066]) +- Fix test-before-setup IQS check ([@epenet] - [#133467]) +- Handle Home Connect error at diagnostics ([@Diegorro98] - [#131644]) +- Bump pypalazzetti to 0.1.15 ([@dotvav] - [#133433]) +- Add name to cloud connection info response ([@ludeeus] - [#133468]) +- Use enum instead of string for button entities key in Overkiz ([@iMicknl] - [#133472]) +- Add identify device class in Overkiz ([@iMicknl] - [#133474]) +- Set the with_strategy_settings to None for unknown backups ([@emontnemery] - [#133466]) +- Change device class from Volume to Volume Storage in Overkiz ([@iMicknl] - [#133473]) +- Add test button for SmokeSensor in Overkiz ([@iMicknl] - [#133476]) +- Add support for SwitchBot Relay Switch 1 and Relay Switch 1PM ([@greyeee] - [#132327]) +- Rename test file to singular form ([@joostlek] - [#133482]) +- Revert "Add support for subentries to config entries" ([@emontnemery] - [#133470]) +- Remove uneeded logger param from Idasen Desk Coordinator ([@abmantis] - [#133485]) +- Allow data description in sections ([@basbruss] - [#128965]) +- Deprecate Home Connect program switches ([@Diegorro98] - [#131641]) +- Add device_id parameter to LCN actions (service calls) ([@alengwenus] - [#129590]) +- Add entity translations to devolo Home Control ([@Shutgun] - [#132927]) +- Complete adding custom integration action sections support to hassfest ([@mj23000] - [#132443]) +- Add sensors platform to Watergate integration ([@adam-the-hero] - [#133015]) +- Add ability to translate ENUM sensor states in Unifi integration ([@bieniu] - [#131921]) +- Change log level of connection failure to info ([@philipdouglas] - [#132625]) +- Add diagnostics to slide_local ([@dontinelli] - [#133488]) +- Add (de)humidifier platform to Honeywell ([@mkmer] - [#132287]) +- Add exceptions and translations for slide_local ([@dontinelli] - [#133490]) +- Update quality scale for Russound RIO ([@noahhusby] - [#133093]) +- Rename strategy backup to automatic backup ([@emontnemery] - [#133489]) +- Increase Squeezebox config_flow test coverage to 100% ([@peteS-UK] - [#133484]) +- add exception translation to enphase_envoy ([@catsmanac] - [#132483]) +- Store automatic backup flag in backup metadata ([@emontnemery] - [#133500]) +- Add Peblar Rocksolid EV Chargers integration ([@frenck] - [#133501]) +- weatherkit: use stale data for up to an hour if updates fail ([@tjhorner] - [#130398]) +- Add select platform to IronOS ([@tr4nt0r] - [#132218]) +- Add tests for already_configured erros in IronOS integration ([@tr4nt0r] - [#132265]) +- Update number platform values before add in APSystems and add tests ([@Thomas55555] - [#131938]) +- Add "cancel room setpoint override" button to opentherm_gw ([@mvn23] - [#132162]) +- Use Switcher _async_call_api in climate ([@thecode] - [#133230]) +- Fix the local_file.update_file_path action's name and description ([@NoRi2909] - [#133509]) +- Reolink translate errors ([@starkillerOG] - [#132301]) +- Add tests for cover and increase test coverage for slide_local ([@dontinelli] - [#133515]) +- Ensure indices needed by data migrators exist ([@emontnemery] - [#133367]) +- Bump PyViCare to 2.39.0 ([@CFenner] - [#133519]) +- Bump uiprotect to 7.1.0 ([@RaHehl] - [#133520]) +- Reolink platinum quality scale ([@starkillerOG] - [#133514]) +- Fix names and description of two actions ([@NoRi2909] - [#133528]) +- Bump idasen-ha to 2.6.3 ([@abmantis] - [#133508]) +- Improve field descriptions for Download file action ([@NoRi2909] - [#133413]) +- Add integration setup tests to Peblar Rocksolid EV Chargers ([@frenck] - [#133532]) +- Simplify Idasen Desk entity properties ([@abmantis] - [#133536]) +- Add zeroconf discovery to Peblar Rocksolid EV chargers ([@frenck] - [#133529]) +- Optimize start time state queries for PostgreSQL ([@bdraco] - [#133228]) +- Use mV and mA as units for electrical power measurement in Matter ([@agners] - [#133505]) +- Set default min/max color temperature in hue lights ([@epenet] - [#133548]) +- Revert "Update docker base image to 2024.12.1" ([@frenck] - [#133552]) +- Add comment motivating magic number for MySQL error codes ([@emontnemery] - [#133516]) +- Bump pydantic to 2.10.4 ([@bdraco] - [#133539]) +- Revert "Optimize start time state queries for PostgreSQL" ([@bdraco] - [#133555]) +- Fulfill IQS rule config-flow in ViCare integration ([@CFenner] - [#133524]) +- Create repair issues when automatic backup fails ([@emontnemery] - [#133513]) +- Update Home Assistant base image to 2024.12.0 ([@frenck] - [#133558]) +- Grammar fixes for action names and descriptions ([@NoRi2909] - [#133559]) +- Change 'GSuite' to 'Workspace', fix 'Start' field label ([@NoRi2909] - [#133554]) +- Bump codecov/codecov-action from 5.1.1 to 5.1.2 (@dependabot - [#133547]) +- Replace start time state query with single correlated scalar subquery ([@bdraco] - [#133553]) +- Revert "Revert "Improve recorder history queries (#131702)"" ([@emontnemery] - [#133561]) +- Revert "Revert "Simplify recorder RecorderRunsManager (#131785)"" ([@emontnemery] - [#133564]) +- Add mW as unit of measurement for Matter electrical power sensors ([@agners] - [#133504]) +- Set Russound RIO quality scale to silver ([@noahhusby] - [#133494]) +- Bump pylamarzocco to 1.4.1 ([@zweckj] - [#133557]) +- Fix boot loop after restoring backup ([@emontnemery] - [#133581]) +- Improve Google Tasks coordinator updates behavior ([@allenporter] - [#133316]) +- Update Airgradient quality scale ([@joostlek] - [#133569]) +- Add data descriptions to Mealie integration ([@andrew-codechimp] - [#133590]) +- Set default min/max color temperature in template lights ([@epenet] - [#133549]) +- Add basic UniFi Protect AiPort support ([@RaHehl] - [#133523]) +- Improve Airgradient config flow tests ([@joostlek] - [#133594]) +- Bump yalexs-ble to 2.5.6 ([@bdraco] - [#133593]) +- Update Idasen Desk user flow step strings ([@abmantis] - [#133605]) +- Fix Watergate Water meter volume sensor ([@adam-the-hero] - [#133606]) +- Mark `docs-installation-parameters` for SABnzbd as done ([@jpbede] - [#133609]) +- Bump PyViCare to 2.39.1 ([@CFenner] - [#133619]) +- Remove lower bound for history start time state query ([@bdraco] - [#133607]) +- Fixes and code cleanup for IronOS integration ([@tr4nt0r] - [#133579]) +- Add min/max price sensor to Nord Pool ([@gjohansson-ST] - [#133534]) +- Add async_register_backup_agents_listener to cloud/backup ([@ludeeus] - [#133584]) +- Define setpoints as constants in flexit_bacnet ([@lellky] - [#133580]) +- Switch to official Zabbix Python API ([@kruton] - [#131674]) +- Bump aiohasupervisor to version 0.2.2b3 ([@emontnemery] - [#133631]) +- Add scale support to lamarzocco ([@zweckj] - [#133335]) +- Upgrade QS from bronze to silver for slide_local ([@dontinelli] - [#133560]) +- Record Knocki quality scale ([@joostlek] - [#133582]) +- Record Mealie quality scale ([@joostlek] - [#133587]) +- Record NYT Games quality scale ([@joostlek] - [#133592]) +- Add Swiss Public Transport quality scale record ([@miaucl] - [#131629]) +- Fix homeassistant_included flag for local backups ([@emontnemery] - [#133640]) +- Fix reading extra metadata for local backups ([@emontnemery] - [#133643]) +- Record Analytics Insights quality scale ([@joostlek] - [#133571]) +- Reject duplicates in WS command backup/config/update ([@emontnemery] - [#133650]) +- Fix inconsistent spelling of "PIN" vs. "pin" ([@NoRi2909] - [#133656]) +- Fix inconsistent spelling of "PIN" vs. "pin" ([@NoRi2909] - [#133655]) +- Add Mealie to strict typing ([@joostlek] - [#133644]) +- Fix inconsistent spelling of "PIN" and "ID" ([@NoRi2909] - [#133653]) +- Fix logic in backup retention filter ([@emontnemery] - [#133654]) +- Bump aiohasupervisor to version 0.2.2b4 ([@emontnemery] - [#133652]) +- Add outlet device class to iotty switch entity ([@shapournemati-iotty] - [#132912]) +- Validate password before restoring backup ([@emontnemery] - [#133647]) +- Fix target temperature for AtlanticElectricalTowelDryer in Overkiz ([@iMicknl] - [#133657]) +- Add translations to Mealie exceptions ([@joostlek] - [#133648]) +- Bump pypck to 0.8.1 ([@alengwenus] - [#133646]) +- Add missing await in Minecraft Server ([@elmurato] - [#133670]) +- Add check for client errors to stream component ([@sdb9696] - [#132866]) +- Replace tests for Idasen Desk with parameterized test ([@abmantis] - [#133672]) +- Improve recorder data migrator tests ([@emontnemery] - [#133628]) +- Reword invoke_pin action to avoid misunderstanding with "PIN" ([@NoRi2909] - [#133665]) +- Add parallel updates to Mealie ([@joostlek] - [#133660]) +- Bump intents to 2024.12.20 ([@synesthesiam] - [#133676]) +- Allow Filter title to be translated ([@gjohansson-ST] - [#128929]) +- Update Roborock to 2.8.4 ([@Lash-L] - [#133680]) +- Fix Mealie test coverage ([@joostlek] - [#133659]) +- Bump PySwitchbot to 0.55.2 ([@bdraco] - [#133690]) +- Add initial support for SwitchBot relay switch ([@greyeee] - [#130863]) +- Add entity translation strings for ScreenLogic ([@dieselrabbit] - [#130708]) +- Bump Ohme library version to 1.2.0 ([@dan-r] - [#133666]) +- iaqualink: fix load_verify_locations() blocking call ([@flz] - [#133459]) +- Use common mock fixture in Idasen Desk config flow tests ([@abmantis] - [#133679]) +- Adjust the default backup name ([@emontnemery] - [#133668]) +- Improve HEOS group handling ([@andrewsayre] - [#132213]) +- Simplify query to find oldest state ([@bdraco] - [#133700]) +- Improve purge performance for PostgreSQL with large databases ([@bdraco] - [#133699]) +- Update the Google Tasks quality scale with documentation improvements ([@allenporter] - [#133701]) +- Add update platform to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133570]) +- Fix inconsistent use of "pin" vs. "PIN" ([@NoRi2909] - [#133685]) +- Replace lowercase "pin" in error message with the correct "PIN" ([@NoRi2909] - [#133684]) +- Change "pin" to "PIN" for consistency with common string ([@NoRi2909] - [#133682]) +- Change "pin" to correct "PIN" for consistent translations ([@NoRi2909] - [#133681]) +- Handle WebsocketConnectionError during mqtt auto reconnect ([@bdraco] - [#133697]) +- Improve BMW config flow ([@rikroe] - [#133705]) +- Allow lamarzocco to reconnect websocket ([@zweckj] - [#133635]) +- Enable AEMET data cache ([@Noltari] - [#131226]) +- Add diagnostic to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133706]) +- Use MAC address in Twinkly `DeviceInfo.connections` ([@bieniu] - [#133708]) +- Add sensors tests for Peblar Rocksolid EV Chargers ([@frenck] - [#133710]) +- Adjust freezer tick in settings tests of IronOS integration ([@tr4nt0r] - [#133707]) +- Fix section translations check ([@arturpragacz] - [#133683]) +- Store Twinkly runtime data in config entry ([@bieniu] - [#133714]) +- Add updates tests for Peblar Rocksolid EV Chargers ([@frenck] - [#133712]) +- Test color_temp updates are processed when an mqtt json light is turned off ([@jbouwh] - [#133715]) +- Fix test coverage in workday ([@gjohansson-ST] - [#133616]) +- Add device test for Peblar Rocksolid EV Chargers ([@frenck] - [#133713]) +- Use super constructor self.config_entry in enphase_envoy coordinator ([@catsmanac] - [#133718]) +- Use mac address in Twinkly for unique id ([@joostlek] - [#133717]) +- Fix spelling of "Gateway PIN" and remove two excessive spaces ([@NoRi2909] - [#133716]) +- Add select platform to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133720]) +- KNX: Option to select specific tunnel endpoint on TCP connections ([@farmio] - [#131996]) +- Update aiohasupervisor to 0.2.2b5 ([@frenck] - [#133722]) +- Add power and energy related sensors to Peblar Rocksolid EV Chargers ([@frenck] - [#133729]) +- Update AEMET-OpenData to v0.6.4 ([@Noltari] - [#133723]) +- Add missing asserts to enphase_envoy config flow test ([@catsmanac] - [#133730]) +- Reuse title of deleted enphase_envoy config entry if present ([@catsmanac] - [#133611]) +- Replace two outdated occurrences of "service" with "action" ([@NoRi2909] - [#133728]) +- Replace "service" with "action" in Z-Wave action descriptions ([@NoRi2909] - [#133727]) +- Add reconfiguration flow to Plugwise ([@CoMPaTech] - [#132878]) +- Bump tplink python-kasa dependency to 0.9.0 ([@sdb9696] - [#133735]) +- Change niko_home_control library to nhc to get push updates ([@VandeurenGlenn] - [#132750]) +- Add DHCP discovery to Withings ([@joostlek] - [#133737]) +- Add number platform to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133739]) +- Add switch platform to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133749]) +- Update peblar to v0.3.0 ([@frenck] - [#133751]) +- Fix Peblar current limit user setting value ([@frenck] - [#133753]) +- Add binary sensor platform to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133755]) +- Add more sensors to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133754]) +- Add reauthentication support to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133757]) +- Replace queries using distinct with correlated scalar subqueries to significantly improve purge performance ([@bdraco] - [#133748]) +- Reduce complexity to find unused data_ids and attributes_ids for db engines with slow range select ([@bdraco] - [#133752]) +- TotalConnect use entry.runtime_data ([@austinmroczek] - [#133756]) +- Bump pyOverkiz to 1.15.4 ([@iMicknl] - [#133769]) +- Add additional Hitachi sensors to Overkiz ([@iMicknl] - [#133772]) +- Update integration quality scale for Peblar Rocksolid EV Chargers ([@frenck] - [#133764]) +- Merge similar tests to parameterized tests for enphase_envoy ([@catsmanac] - [#133740]) +- Migrate to runtime data in Overkiz ([@iMicknl] - [#133760]) +- Add support for HitachiAirToWaterHeatingZone in Overkiz ([@iMicknl] - [#133768]) +- Use new UnitOfEnergy constants in Overkiz ([@iMicknl] - [#133778]) +- Fix binary_sensor typing in Overkiz ([@iMicknl] - [#133782]) +- Add button platform to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133780]) +- Refactor Twinkly tests ([@joostlek] - [#133725]) +- Update quality-scale status for enphase_envoy config_flow missing data descriptions ([@catsmanac] - [#133726]) +- Set parallel updates for Peblar Rocksolid EV Chargers integration ([@frenck] - [#133786]) +- Fix errors in HitachiDHW in Overkiz ([@iMicknl] - [#133765]) +- Add base entity for Niko Home Control ([@joostlek] - [#133744]) +- Remove myself from govee_ble codeowners ([@PierreAronnax] - [#133790]) +- Add base entity to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133794]) +- Add reconfigure flow to Peblar Rocksolid EV Chargers integration ([@frenck] - [#133785]) +- Add button error handling for Peblar Rocksolid EV Chargers ([@frenck] - [#133802]) +- Use feature checks in tplink integration ([@sdb9696] - [#133795]) +- Add config flow stream preview to generic camera ([@davet2001] - [#122563]) +- Bump Weheat to 2024.12.22 ([@jesperraemaekers] - [#133796]) +- Bump PySwitchbot to 0.55.3 ([@bdraco] - [#133812]) +- Bump async-upnp-client to 0.42.0 ([@StevenLooman] - [#133806]) +- Add Compressor, Inside Unit and Energy Output fields to Weheat ([@barryvdh] - [#129632]) +- Show device name in Twinkly discovery ([@joostlek] - [#133814]) +- Add binary states for Weheat indoor unit ([@barryvdh] - [#133811]) +- Add select error handling for Peblar Rocksolid EV Chargers ([@frenck] - [#133804]) +- Fix typo in ElevenLabs ([@sorgfresser] - [#133819]) +- Remove unneeded type for enphase_envoy coordinator in async_unload_entry ([@catsmanac] - [#133817]) +- Add switch error handling for Peblar Rocksolid EV Chargers ([@frenck] - [#133805]) +- Add number error handling for Peblar Rocksolid EV Chargers ([@frenck] - [#133803]) +- Add get_user_keyring_info service to UniFi Protect integration ([@RaHehl] - [#133138]) +- Remove unused fixture from LCN tests ([@alengwenus] - [#133821]) +- Bump flux_led to 1.1.0 ([@bdraco] - [#133818]) +- Add camera platform to tplink integration ([@sdb9696] - [#129180]) +- Add reconfigure flow to slide_local ([@dontinelli] - [#133669]) +- Add already exists config flow tests for Ecovacs ([@edenhaus] - [#133572]) +- Add media browsing to Cambridge Audio ([@noahhusby] - [#129106]) +- Load data for multiple days in Nord Pool ([@gjohansson-ST] - [#133371]) +- Unifiprotect Add user information retrieval for NFC and fingerprint events ([@RaHehl] - [#132604]) +- Add pan/tilt features to tplink integration ([@sdb9696] - [#133829]) +- Bump pylamarzocco to 1.4.2 ([@zweckj] - [#133826]) +- Add Switchbot Water Leak Detector (BLE) ([@luc-ass] - [#133799]) +- Add light tests for Niko Home Control ([@joostlek] - [#133750]) +- Bump pyOverkiz to 1.15.5 ([@iMicknl] - [#133835]) +- Make To-do action names and descriptions consistent with HA standard ([@NoRi2909] - [#133734]) +- Reload on connection lost for LCN integration ([@alengwenus] - [#133638]) +- Suez_water: fix yesterday sensor extra_state invalid typing ([@jb101010-2] - [#133425]) +- Add data descriptions to Config Flow in Overkiz ([@iMicknl] - [#133758]) +- Add detection switches to tplink integration ([@sdb9696] - [#133828]) +- Unifiprotect: add error message if the get_user_keyring_info permissions are not sufficient ([@RaHehl] - [#133841]) +- Bump protobuf to 5.29.2 ([@bdraco] - [#133839]) +- Bump anyio to 4.7.0 ([@bdraco] - [#133842]) +- Fulfill IQS rule runtime-data in ViCare integration ([@CFenner] - [#133633]) +- Add backup the list of integrations platforms to preload ([@bdraco] - [#133856]) +- Add backup to the list of storage preloads ([@bdraco] - [#133855]) +- Bump ZHA to 0.0.43 ([@TheJulianJES] - [#133854]) +- Ensure late import in backup of hassio.backup does not block the event loop ([@bdraco] - [#133857]) +- Fix TypeError in maxcube climate action inference logic ([@mweinelt] - [#133853]) +- Ignore devices (bravias) with 'video' service_type for songpal discovery ([@rytilahti] - [#133724]) +- Bump github/codeql-action from 3.27.9 to 3.28.0 (@dependabot - [#133862]) +- Ensure icalendar==6.1.0 is installed for caldav integration ([@jon6fingrs] - [#133541]) +- Bump PySwitchbot to 0.55.4 ([@bdraco] - [#133861]) +- Add translated enum entity for Fronius error code ([@farmio] - [#133394]) +- Adding initial support for Tuya Electric Fireplaces ([@mrtlhfr] - [#133503]) +- Upgrade QS from silver to gold for slide_local ([@dontinelli] - [#133863]) +- Add Leak detect entity for YoLink water meter controller ([@matrixd2] - [#131682]) +- Use user defined charge limit for charge limit range in Peblar ([@DCSBL] - [#133868]) +- Add actions with response values to Music Assistant ([@marcelveldt] - [#133521]) +- Add coordinator error handling for Peblar Rocksolid EV Chargers ([@frenck] - [#133809]) +- Mark Peblar Rocksolid EV Chargers Platinum ([@frenck] - [#133823]) +- Add compatibility code for deprecated WaterHeaterEntityEntityDescription ([@epenet] - [#133351]) +- Add coordinator to Twinkly ([@joostlek] - [#133793]) +- Respect ESPHome ClimateTrait supports_current_temperature ([@Omniflux] - [#132149]) +- Bump deebot-client to 10.0.1 ([@edenhaus] - [#133634]) +- ElevenLabs invalid api key config flow testing ([@sorgfresser] - [#133822]) +- Fix tplink camera entity unique id ([@sdb9696] - [#133880]) +- Improve firmware update required issue ([@starkillerOG] - [#133878]) +- Add cover to the niko_home_control integration ([@VandeurenGlenn] - [#133801]) +- Add AEMET Weather Radar images ([@Noltari] - [#131386]) +- Add Ecovacs station entities ([@edenhaus] - [#133876]) +- Set Fronius integration quality scale to gold ([@farmio] - [#133884]) +- Update frontend to 20241223.1 ([@bramkragten] - [#133886]) +- Make tplink entities unavailable if camera is off ([@sdb9696] - [#133877]) +- Use SD stream for tplink mpeg stream ([@sdb9696] - [#133879]) +- Streamline Peblar translations ([@DCSBL] - [#133883]) +- Preload supported color properties in fritzbox lights ([@mib1185] - [#133798]) + +[#117355]: https://github.com/home-assistant/core/pull/117355 +[#121371]: https://github.com/home-assistant/core/pull/121371 +[#122563]: https://github.com/home-assistant/core/pull/122563 +[#124499]: https://github.com/home-assistant/core/pull/124499 +[#126353]: https://github.com/home-assistant/core/pull/126353 +[#126757]: https://github.com/home-assistant/core/pull/126757 +[#128929]: https://github.com/home-assistant/core/pull/128929 +[#128965]: https://github.com/home-assistant/core/pull/128965 +[#129067]: https://github.com/home-assistant/core/pull/129067 +[#129106]: https://github.com/home-assistant/core/pull/129106 +[#129180]: https://github.com/home-assistant/core/pull/129180 +[#129266]: https://github.com/home-assistant/core/pull/129266 +[#129514]: https://github.com/home-assistant/core/pull/129514 +[#129590]: https://github.com/home-assistant/core/pull/129590 +[#129632]: https://github.com/home-assistant/core/pull/129632 +[#129686]: https://github.com/home-assistant/core/pull/129686 +[#129800]: https://github.com/home-assistant/core/pull/129800 +[#130185]: https://github.com/home-assistant/core/pull/130185 +[#130391]: https://github.com/home-assistant/core/pull/130391 +[#130392]: https://github.com/home-assistant/core/pull/130392 +[#130398]: https://github.com/home-assistant/core/pull/130398 +[#130494]: https://github.com/home-assistant/core/pull/130494 +[#130547]: https://github.com/home-assistant/core/pull/130547 +[#130554]: https://github.com/home-assistant/core/pull/130554 +[#130644]: https://github.com/home-assistant/core/pull/130644 +[#130708]: https://github.com/home-assistant/core/pull/130708 +[#130769]: https://github.com/home-assistant/core/pull/130769 +[#130776]: https://github.com/home-assistant/core/pull/130776 +[#130863]: https://github.com/home-assistant/core/pull/130863 +[#130979]: https://github.com/home-assistant/core/pull/130979 +[#131016]: https://github.com/home-assistant/core/pull/131016 +[#131020]: https://github.com/home-assistant/core/pull/131020 +[#131066]: https://github.com/home-assistant/core/pull/131066 +[#131080]: https://github.com/home-assistant/core/pull/131080 +[#131091]: https://github.com/home-assistant/core/pull/131091 +[#131123]: https://github.com/home-assistant/core/pull/131123 +[#131168]: https://github.com/home-assistant/core/pull/131168 +[#131219]: https://github.com/home-assistant/core/pull/131219 +[#131226]: https://github.com/home-assistant/core/pull/131226 +[#131298]: https://github.com/home-assistant/core/pull/131298 +[#131322]: https://github.com/home-assistant/core/pull/131322 +[#131326]: https://github.com/home-assistant/core/pull/131326 +[#131329]: https://github.com/home-assistant/core/pull/131329 +[#131330]: https://github.com/home-assistant/core/pull/131330 +[#131348]: https://github.com/home-assistant/core/pull/131348 +[#131349]: https://github.com/home-assistant/core/pull/131349 +[#131357]: https://github.com/home-assistant/core/pull/131357 +[#131360]: https://github.com/home-assistant/core/pull/131360 +[#131375]: https://github.com/home-assistant/core/pull/131375 +[#131377]: https://github.com/home-assistant/core/pull/131377 +[#131386]: https://github.com/home-assistant/core/pull/131386 +[#131429]: https://github.com/home-assistant/core/pull/131429 +[#131468]: https://github.com/home-assistant/core/pull/131468 +[#131497]: https://github.com/home-assistant/core/pull/131497 +[#131498]: https://github.com/home-assistant/core/pull/131498 +[#131508]: https://github.com/home-assistant/core/pull/131508 +[#131560]: https://github.com/home-assistant/core/pull/131560 +[#131580]: https://github.com/home-assistant/core/pull/131580 +[#131582]: https://github.com/home-assistant/core/pull/131582 +[#131584]: https://github.com/home-assistant/core/pull/131584 +[#131598]: https://github.com/home-assistant/core/pull/131598 +[#131609]: https://github.com/home-assistant/core/pull/131609 +[#131626]: https://github.com/home-assistant/core/pull/131626 +[#131629]: https://github.com/home-assistant/core/pull/131629 +[#131637]: https://github.com/home-assistant/core/pull/131637 +[#131640]: https://github.com/home-assistant/core/pull/131640 +[#131641]: https://github.com/home-assistant/core/pull/131641 +[#131644]: https://github.com/home-assistant/core/pull/131644 +[#131656]: https://github.com/home-assistant/core/pull/131656 +[#131660]: https://github.com/home-assistant/core/pull/131660 +[#131674]: https://github.com/home-assistant/core/pull/131674 +[#131682]: https://github.com/home-assistant/core/pull/131682 +[#131686]: https://github.com/home-assistant/core/pull/131686 +[#131693]: https://github.com/home-assistant/core/pull/131693 +[#131695]: https://github.com/home-assistant/core/pull/131695 +[#131696]: https://github.com/home-assistant/core/pull/131696 +[#131698]: https://github.com/home-assistant/core/pull/131698 +[#131700]: https://github.com/home-assistant/core/pull/131700 +[#131705]: https://github.com/home-assistant/core/pull/131705 +[#131706]: https://github.com/home-assistant/core/pull/131706 +[#131712]: https://github.com/home-assistant/core/pull/131712 +[#131716]: https://github.com/home-assistant/core/pull/131716 +[#131721]: https://github.com/home-assistant/core/pull/131721 +[#131723]: https://github.com/home-assistant/core/pull/131723 +[#131730]: https://github.com/home-assistant/core/pull/131730 +[#131731]: https://github.com/home-assistant/core/pull/131731 +[#131732]: https://github.com/home-assistant/core/pull/131732 +[#131733]: https://github.com/home-assistant/core/pull/131733 +[#131734]: https://github.com/home-assistant/core/pull/131734 +[#131738]: https://github.com/home-assistant/core/pull/131738 +[#131746]: https://github.com/home-assistant/core/pull/131746 +[#131751]: https://github.com/home-assistant/core/pull/131751 +[#131761]: https://github.com/home-assistant/core/pull/131761 +[#131763]: https://github.com/home-assistant/core/pull/131763 +[#131768]: https://github.com/home-assistant/core/pull/131768 +[#131770]: https://github.com/home-assistant/core/pull/131770 +[#131778]: https://github.com/home-assistant/core/pull/131778 +[#131780]: https://github.com/home-assistant/core/pull/131780 +[#131787]: https://github.com/home-assistant/core/pull/131787 +[#131790]: https://github.com/home-assistant/core/pull/131790 +[#131791]: https://github.com/home-assistant/core/pull/131791 +[#131792]: https://github.com/home-assistant/core/pull/131792 +[#131793]: https://github.com/home-assistant/core/pull/131793 +[#131796]: https://github.com/home-assistant/core/pull/131796 +[#131797]: https://github.com/home-assistant/core/pull/131797 +[#131798]: https://github.com/home-assistant/core/pull/131798 +[#131799]: https://github.com/home-assistant/core/pull/131799 +[#131800]: https://github.com/home-assistant/core/pull/131800 +[#131802]: https://github.com/home-assistant/core/pull/131802 +[#131803]: https://github.com/home-assistant/core/pull/131803 +[#131805]: https://github.com/home-assistant/core/pull/131805 +[#131806]: https://github.com/home-assistant/core/pull/131806 +[#131807]: https://github.com/home-assistant/core/pull/131807 +[#131808]: https://github.com/home-assistant/core/pull/131808 +[#131809]: https://github.com/home-assistant/core/pull/131809 +[#131810]: https://github.com/home-assistant/core/pull/131810 +[#131812]: https://github.com/home-assistant/core/pull/131812 +[#131813]: https://github.com/home-assistant/core/pull/131813 +[#131815]: https://github.com/home-assistant/core/pull/131815 +[#131816]: https://github.com/home-assistant/core/pull/131816 +[#131819]: https://github.com/home-assistant/core/pull/131819 +[#131820]: https://github.com/home-assistant/core/pull/131820 +[#131826]: https://github.com/home-assistant/core/pull/131826 +[#131833]: https://github.com/home-assistant/core/pull/131833 +[#131834]: https://github.com/home-assistant/core/pull/131834 +[#131843]: https://github.com/home-assistant/core/pull/131843 +[#131844]: https://github.com/home-assistant/core/pull/131844 +[#131845]: https://github.com/home-assistant/core/pull/131845 +[#131846]: https://github.com/home-assistant/core/pull/131846 +[#131857]: https://github.com/home-assistant/core/pull/131857 +[#131858]: https://github.com/home-assistant/core/pull/131858 +[#131859]: https://github.com/home-assistant/core/pull/131859 +[#131861]: https://github.com/home-assistant/core/pull/131861 +[#131865]: https://github.com/home-assistant/core/pull/131865 +[#131871]: https://github.com/home-assistant/core/pull/131871 +[#131875]: https://github.com/home-assistant/core/pull/131875 +[#131877]: https://github.com/home-assistant/core/pull/131877 +[#131878]: https://github.com/home-assistant/core/pull/131878 +[#131879]: https://github.com/home-assistant/core/pull/131879 +[#131888]: https://github.com/home-assistant/core/pull/131888 +[#131890]: https://github.com/home-assistant/core/pull/131890 +[#131891]: https://github.com/home-assistant/core/pull/131891 +[#131892]: https://github.com/home-assistant/core/pull/131892 +[#131893]: https://github.com/home-assistant/core/pull/131893 +[#131894]: https://github.com/home-assistant/core/pull/131894 +[#131895]: https://github.com/home-assistant/core/pull/131895 +[#131904]: https://github.com/home-assistant/core/pull/131904 +[#131909]: https://github.com/home-assistant/core/pull/131909 +[#131921]: https://github.com/home-assistant/core/pull/131921 +[#131923]: https://github.com/home-assistant/core/pull/131923 +[#131927]: https://github.com/home-assistant/core/pull/131927 +[#131928]: https://github.com/home-assistant/core/pull/131928 +[#131933]: https://github.com/home-assistant/core/pull/131933 +[#131935]: https://github.com/home-assistant/core/pull/131935 +[#131937]: https://github.com/home-assistant/core/pull/131937 +[#131938]: https://github.com/home-assistant/core/pull/131938 +[#131943]: https://github.com/home-assistant/core/pull/131943 +[#131946]: https://github.com/home-assistant/core/pull/131946 +[#131952]: https://github.com/home-assistant/core/pull/131952 +[#131956]: https://github.com/home-assistant/core/pull/131956 +[#131963]: https://github.com/home-assistant/core/pull/131963 +[#131982]: https://github.com/home-assistant/core/pull/131982 +[#131984]: https://github.com/home-assistant/core/pull/131984 +[#131989]: https://github.com/home-assistant/core/pull/131989 +[#131993]: https://github.com/home-assistant/core/pull/131993 +[#131996]: https://github.com/home-assistant/core/pull/131996 +[#132001]: https://github.com/home-assistant/core/pull/132001 +[#132006]: https://github.com/home-assistant/core/pull/132006 +[#132011]: https://github.com/home-assistant/core/pull/132011 +[#132012]: https://github.com/home-assistant/core/pull/132012 +[#132014]: https://github.com/home-assistant/core/pull/132014 +[#132019]: https://github.com/home-assistant/core/pull/132019 +[#132023]: https://github.com/home-assistant/core/pull/132023 +[#132028]: https://github.com/home-assistant/core/pull/132028 +[#132029]: https://github.com/home-assistant/core/pull/132029 +[#132030]: https://github.com/home-assistant/core/pull/132030 +[#132031]: https://github.com/home-assistant/core/pull/132031 +[#132035]: https://github.com/home-assistant/core/pull/132035 +[#132040]: https://github.com/home-assistant/core/pull/132040 +[#132041]: https://github.com/home-assistant/core/pull/132041 +[#132047]: https://github.com/home-assistant/core/pull/132047 +[#132058]: https://github.com/home-assistant/core/pull/132058 +[#132059]: https://github.com/home-assistant/core/pull/132059 +[#132063]: https://github.com/home-assistant/core/pull/132063 +[#132073]: https://github.com/home-assistant/core/pull/132073 +[#132075]: https://github.com/home-assistant/core/pull/132075 +[#132076]: https://github.com/home-assistant/core/pull/132076 +[#132077]: https://github.com/home-assistant/core/pull/132077 +[#132078]: https://github.com/home-assistant/core/pull/132078 +[#132079]: https://github.com/home-assistant/core/pull/132079 +[#132082]: https://github.com/home-assistant/core/pull/132082 +[#132083]: https://github.com/home-assistant/core/pull/132083 +[#132087]: https://github.com/home-assistant/core/pull/132087 +[#132088]: https://github.com/home-assistant/core/pull/132088 +[#132093]: https://github.com/home-assistant/core/pull/132093 +[#132097]: https://github.com/home-assistant/core/pull/132097 +[#132098]: https://github.com/home-assistant/core/pull/132098 +[#132099]: https://github.com/home-assistant/core/pull/132099 +[#132102]: https://github.com/home-assistant/core/pull/132102 +[#132104]: https://github.com/home-assistant/core/pull/132104 +[#132106]: https://github.com/home-assistant/core/pull/132106 +[#132107]: https://github.com/home-assistant/core/pull/132107 +[#132110]: https://github.com/home-assistant/core/pull/132110 +[#132111]: https://github.com/home-assistant/core/pull/132111 +[#132113]: https://github.com/home-assistant/core/pull/132113 +[#132114]: https://github.com/home-assistant/core/pull/132114 +[#132115]: https://github.com/home-assistant/core/pull/132115 +[#132118]: https://github.com/home-assistant/core/pull/132118 +[#132123]: https://github.com/home-assistant/core/pull/132123 +[#132134]: https://github.com/home-assistant/core/pull/132134 +[#132135]: https://github.com/home-assistant/core/pull/132135 +[#132138]: https://github.com/home-assistant/core/pull/132138 +[#132140]: https://github.com/home-assistant/core/pull/132140 +[#132143]: https://github.com/home-assistant/core/pull/132143 +[#132149]: https://github.com/home-assistant/core/pull/132149 +[#132151]: https://github.com/home-assistant/core/pull/132151 +[#132152]: https://github.com/home-assistant/core/pull/132152 +[#132158]: https://github.com/home-assistant/core/pull/132158 +[#132162]: https://github.com/home-assistant/core/pull/132162 +[#132172]: https://github.com/home-assistant/core/pull/132172 +[#132173]: https://github.com/home-assistant/core/pull/132173 +[#132175]: https://github.com/home-assistant/core/pull/132175 +[#132179]: https://github.com/home-assistant/core/pull/132179 +[#132180]: https://github.com/home-assistant/core/pull/132180 +[#132185]: https://github.com/home-assistant/core/pull/132185 +[#132188]: https://github.com/home-assistant/core/pull/132188 +[#132199]: https://github.com/home-assistant/core/pull/132199 +[#132200]: https://github.com/home-assistant/core/pull/132200 +[#132202]: https://github.com/home-assistant/core/pull/132202 +[#132204]: https://github.com/home-assistant/core/pull/132204 +[#132205]: https://github.com/home-assistant/core/pull/132205 +[#132206]: https://github.com/home-assistant/core/pull/132206 +[#132208]: https://github.com/home-assistant/core/pull/132208 +[#132213]: https://github.com/home-assistant/core/pull/132213 +[#132217]: https://github.com/home-assistant/core/pull/132217 +[#132218]: https://github.com/home-assistant/core/pull/132218 +[#132219]: https://github.com/home-assistant/core/pull/132219 +[#132221]: https://github.com/home-assistant/core/pull/132221 +[#132225]: https://github.com/home-assistant/core/pull/132225 +[#132226]: https://github.com/home-assistant/core/pull/132226 +[#132227]: https://github.com/home-assistant/core/pull/132227 +[#132229]: https://github.com/home-assistant/core/pull/132229 +[#132234]: https://github.com/home-assistant/core/pull/132234 +[#132237]: https://github.com/home-assistant/core/pull/132237 +[#132239]: https://github.com/home-assistant/core/pull/132239 +[#132244]: https://github.com/home-assistant/core/pull/132244 +[#132246]: https://github.com/home-assistant/core/pull/132246 +[#132248]: https://github.com/home-assistant/core/pull/132248 +[#132249]: https://github.com/home-assistant/core/pull/132249 +[#132251]: https://github.com/home-assistant/core/pull/132251 +[#132255]: https://github.com/home-assistant/core/pull/132255 +[#132259]: https://github.com/home-assistant/core/pull/132259 +[#132260]: https://github.com/home-assistant/core/pull/132260 +[#132261]: https://github.com/home-assistant/core/pull/132261 +[#132262]: https://github.com/home-assistant/core/pull/132262 +[#132263]: https://github.com/home-assistant/core/pull/132263 +[#132264]: https://github.com/home-assistant/core/pull/132264 +[#132265]: https://github.com/home-assistant/core/pull/132265 +[#132275]: https://github.com/home-assistant/core/pull/132275 +[#132276]: https://github.com/home-assistant/core/pull/132276 +[#132278]: https://github.com/home-assistant/core/pull/132278 +[#132285]: https://github.com/home-assistant/core/pull/132285 +[#132287]: https://github.com/home-assistant/core/pull/132287 +[#132289]: https://github.com/home-assistant/core/pull/132289 +[#132290]: https://github.com/home-assistant/core/pull/132290 +[#132293]: https://github.com/home-assistant/core/pull/132293 +[#132294]: https://github.com/home-assistant/core/pull/132294 +[#132297]: https://github.com/home-assistant/core/pull/132297 +[#132301]: https://github.com/home-assistant/core/pull/132301 +[#132306]: https://github.com/home-assistant/core/pull/132306 +[#132311]: https://github.com/home-assistant/core/pull/132311 +[#132313]: https://github.com/home-assistant/core/pull/132313 +[#132319]: https://github.com/home-assistant/core/pull/132319 +[#132327]: https://github.com/home-assistant/core/pull/132327 +[#132328]: https://github.com/home-assistant/core/pull/132328 +[#132331]: https://github.com/home-assistant/core/pull/132331 +[#132332]: https://github.com/home-assistant/core/pull/132332 +[#132334]: https://github.com/home-assistant/core/pull/132334 +[#132344]: https://github.com/home-assistant/core/pull/132344 +[#132346]: https://github.com/home-assistant/core/pull/132346 +[#132349]: https://github.com/home-assistant/core/pull/132349 +[#132350]: https://github.com/home-assistant/core/pull/132350 +[#132351]: https://github.com/home-assistant/core/pull/132351 +[#132353]: https://github.com/home-assistant/core/pull/132353 +[#132354]: https://github.com/home-assistant/core/pull/132354 +[#132355]: https://github.com/home-assistant/core/pull/132355 +[#132365]: https://github.com/home-assistant/core/pull/132365 +[#132367]: https://github.com/home-assistant/core/pull/132367 +[#132368]: https://github.com/home-assistant/core/pull/132368 +[#132369]: https://github.com/home-assistant/core/pull/132369 +[#132371]: https://github.com/home-assistant/core/pull/132371 +[#132373]: https://github.com/home-assistant/core/pull/132373 +[#132377]: https://github.com/home-assistant/core/pull/132377 +[#132387]: https://github.com/home-assistant/core/pull/132387 +[#132400]: https://github.com/home-assistant/core/pull/132400 +[#132415]: https://github.com/home-assistant/core/pull/132415 +[#132417]: https://github.com/home-assistant/core/pull/132417 +[#132418]: https://github.com/home-assistant/core/pull/132418 +[#132419]: https://github.com/home-assistant/core/pull/132419 +[#132422]: https://github.com/home-assistant/core/pull/132422 +[#132423]: https://github.com/home-assistant/core/pull/132423 +[#132430]: https://github.com/home-assistant/core/pull/132430 +[#132431]: https://github.com/home-assistant/core/pull/132431 +[#132440]: https://github.com/home-assistant/core/pull/132440 +[#132443]: https://github.com/home-assistant/core/pull/132443 +[#132455]: https://github.com/home-assistant/core/pull/132455 +[#132458]: https://github.com/home-assistant/core/pull/132458 +[#132461]: https://github.com/home-assistant/core/pull/132461 +[#132463]: https://github.com/home-assistant/core/pull/132463 +[#132466]: https://github.com/home-assistant/core/pull/132466 +[#132468]: https://github.com/home-assistant/core/pull/132468 +[#132473]: https://github.com/home-assistant/core/pull/132473 +[#132483]: https://github.com/home-assistant/core/pull/132483 +[#132486]: https://github.com/home-assistant/core/pull/132486 +[#132489]: https://github.com/home-assistant/core/pull/132489 +[#132496]: https://github.com/home-assistant/core/pull/132496 +[#132497]: https://github.com/home-assistant/core/pull/132497 +[#132499]: https://github.com/home-assistant/core/pull/132499 +[#132504]: https://github.com/home-assistant/core/pull/132504 +[#132517]: https://github.com/home-assistant/core/pull/132517 +[#132534]: https://github.com/home-assistant/core/pull/132534 +[#132537]: https://github.com/home-assistant/core/pull/132537 +[#132538]: https://github.com/home-assistant/core/pull/132538 +[#132565]: https://github.com/home-assistant/core/pull/132565 +[#132569]: https://github.com/home-assistant/core/pull/132569 +[#132571]: https://github.com/home-assistant/core/pull/132571 +[#132574]: https://github.com/home-assistant/core/pull/132574 +[#132576]: https://github.com/home-assistant/core/pull/132576 +[#132596]: https://github.com/home-assistant/core/pull/132596 +[#132598]: https://github.com/home-assistant/core/pull/132598 +[#132604]: https://github.com/home-assistant/core/pull/132604 +[#132613]: https://github.com/home-assistant/core/pull/132613 +[#132625]: https://github.com/home-assistant/core/pull/132625 +[#132629]: https://github.com/home-assistant/core/pull/132629 +[#132631]: https://github.com/home-assistant/core/pull/132631 +[#132632]: https://github.com/home-assistant/core/pull/132632 +[#132640]: https://github.com/home-assistant/core/pull/132640 +[#132641]: https://github.com/home-assistant/core/pull/132641 +[#132642]: https://github.com/home-assistant/core/pull/132642 +[#132643]: https://github.com/home-assistant/core/pull/132643 +[#132646]: https://github.com/home-assistant/core/pull/132646 +[#132648]: https://github.com/home-assistant/core/pull/132648 +[#132649]: https://github.com/home-assistant/core/pull/132649 +[#132650]: https://github.com/home-assistant/core/pull/132650 +[#132653]: https://github.com/home-assistant/core/pull/132653 +[#132657]: https://github.com/home-assistant/core/pull/132657 +[#132661]: https://github.com/home-assistant/core/pull/132661 +[#132663]: https://github.com/home-assistant/core/pull/132663 +[#132665]: https://github.com/home-assistant/core/pull/132665 +[#132666]: https://github.com/home-assistant/core/pull/132666 +[#132667]: https://github.com/home-assistant/core/pull/132667 +[#132668]: https://github.com/home-assistant/core/pull/132668 +[#132670]: https://github.com/home-assistant/core/pull/132670 +[#132672]: https://github.com/home-assistant/core/pull/132672 +[#132677]: https://github.com/home-assistant/core/pull/132677 +[#132680]: https://github.com/home-assistant/core/pull/132680 +[#132685]: https://github.com/home-assistant/core/pull/132685 +[#132686]: https://github.com/home-assistant/core/pull/132686 +[#132687]: https://github.com/home-assistant/core/pull/132687 +[#132688]: https://github.com/home-assistant/core/pull/132688 +[#132689]: https://github.com/home-assistant/core/pull/132689 +[#132690]: https://github.com/home-assistant/core/pull/132690 +[#132691]: https://github.com/home-assistant/core/pull/132691 +[#132692]: https://github.com/home-assistant/core/pull/132692 +[#132693]: https://github.com/home-assistant/core/pull/132693 +[#132695]: https://github.com/home-assistant/core/pull/132695 +[#132697]: https://github.com/home-assistant/core/pull/132697 +[#132698]: https://github.com/home-assistant/core/pull/132698 +[#132699]: https://github.com/home-assistant/core/pull/132699 +[#132703]: https://github.com/home-assistant/core/pull/132703 +[#132710]: https://github.com/home-assistant/core/pull/132710 +[#132714]: https://github.com/home-assistant/core/pull/132714 +[#132717]: https://github.com/home-assistant/core/pull/132717 +[#132718]: https://github.com/home-assistant/core/pull/132718 +[#132719]: https://github.com/home-assistant/core/pull/132719 +[#132723]: https://github.com/home-assistant/core/pull/132723 +[#132725]: https://github.com/home-assistant/core/pull/132725 +[#132730]: https://github.com/home-assistant/core/pull/132730 +[#132731]: https://github.com/home-assistant/core/pull/132731 +[#132733]: https://github.com/home-assistant/core/pull/132733 +[#132735]: https://github.com/home-assistant/core/pull/132735 +[#132738]: https://github.com/home-assistant/core/pull/132738 +[#132746]: https://github.com/home-assistant/core/pull/132746 +[#132748]: https://github.com/home-assistant/core/pull/132748 +[#132750]: https://github.com/home-assistant/core/pull/132750 +[#132752]: https://github.com/home-assistant/core/pull/132752 +[#132753]: https://github.com/home-assistant/core/pull/132753 +[#132755]: https://github.com/home-assistant/core/pull/132755 +[#132760]: https://github.com/home-assistant/core/pull/132760 +[#132761]: https://github.com/home-assistant/core/pull/132761 +[#132762]: https://github.com/home-assistant/core/pull/132762 +[#132764]: https://github.com/home-assistant/core/pull/132764 +[#132765]: https://github.com/home-assistant/core/pull/132765 +[#132767]: https://github.com/home-assistant/core/pull/132767 +[#132768]: https://github.com/home-assistant/core/pull/132768 +[#132776]: https://github.com/home-assistant/core/pull/132776 +[#132781]: https://github.com/home-assistant/core/pull/132781 +[#132784]: https://github.com/home-assistant/core/pull/132784 +[#132785]: https://github.com/home-assistant/core/pull/132785 +[#132787]: https://github.com/home-assistant/core/pull/132787 +[#132788]: https://github.com/home-assistant/core/pull/132788 +[#132789]: https://github.com/home-assistant/core/pull/132789 +[#132790]: https://github.com/home-assistant/core/pull/132790 +[#132791]: https://github.com/home-assistant/core/pull/132791 +[#132792]: https://github.com/home-assistant/core/pull/132792 +[#132793]: https://github.com/home-assistant/core/pull/132793 +[#132794]: https://github.com/home-assistant/core/pull/132794 +[#132796]: https://github.com/home-assistant/core/pull/132796 +[#132797]: https://github.com/home-assistant/core/pull/132797 +[#132798]: https://github.com/home-assistant/core/pull/132798 +[#132799]: https://github.com/home-assistant/core/pull/132799 +[#132800]: https://github.com/home-assistant/core/pull/132800 +[#132802]: https://github.com/home-assistant/core/pull/132802 +[#132803]: https://github.com/home-assistant/core/pull/132803 +[#132806]: https://github.com/home-assistant/core/pull/132806 +[#132807]: https://github.com/home-assistant/core/pull/132807 +[#132808]: https://github.com/home-assistant/core/pull/132808 +[#132809]: https://github.com/home-assistant/core/pull/132809 +[#132811]: https://github.com/home-assistant/core/pull/132811 +[#132812]: https://github.com/home-assistant/core/pull/132812 +[#132814]: https://github.com/home-assistant/core/pull/132814 +[#132816]: https://github.com/home-assistant/core/pull/132816 +[#132817]: https://github.com/home-assistant/core/pull/132817 +[#132818]: https://github.com/home-assistant/core/pull/132818 +[#132819]: https://github.com/home-assistant/core/pull/132819 +[#132820]: https://github.com/home-assistant/core/pull/132820 +[#132821]: https://github.com/home-assistant/core/pull/132821 +[#132822]: https://github.com/home-assistant/core/pull/132822 +[#132823]: https://github.com/home-assistant/core/pull/132823 +[#132828]: https://github.com/home-assistant/core/pull/132828 +[#132830]: https://github.com/home-assistant/core/pull/132830 +[#132831]: https://github.com/home-assistant/core/pull/132831 +[#132833]: https://github.com/home-assistant/core/pull/132833 +[#132835]: https://github.com/home-assistant/core/pull/132835 +[#132836]: https://github.com/home-assistant/core/pull/132836 +[#132837]: https://github.com/home-assistant/core/pull/132837 +[#132839]: https://github.com/home-assistant/core/pull/132839 +[#132840]: https://github.com/home-assistant/core/pull/132840 +[#132853]: https://github.com/home-assistant/core/pull/132853 +[#132854]: https://github.com/home-assistant/core/pull/132854 +[#132855]: https://github.com/home-assistant/core/pull/132855 +[#132859]: https://github.com/home-assistant/core/pull/132859 +[#132866]: https://github.com/home-assistant/core/pull/132866 +[#132869]: https://github.com/home-assistant/core/pull/132869 +[#132872]: https://github.com/home-assistant/core/pull/132872 +[#132874]: https://github.com/home-assistant/core/pull/132874 +[#132875]: https://github.com/home-assistant/core/pull/132875 +[#132876]: https://github.com/home-assistant/core/pull/132876 +[#132877]: https://github.com/home-assistant/core/pull/132877 +[#132878]: https://github.com/home-assistant/core/pull/132878 +[#132886]: https://github.com/home-assistant/core/pull/132886 +[#132888]: https://github.com/home-assistant/core/pull/132888 +[#132891]: https://github.com/home-assistant/core/pull/132891 +[#132892]: https://github.com/home-assistant/core/pull/132892 +[#132895]: https://github.com/home-assistant/core/pull/132895 +[#132900]: https://github.com/home-assistant/core/pull/132900 +[#132906]: https://github.com/home-assistant/core/pull/132906 +[#132907]: https://github.com/home-assistant/core/pull/132907 +[#132909]: https://github.com/home-assistant/core/pull/132909 +[#132912]: https://github.com/home-assistant/core/pull/132912 +[#132913]: https://github.com/home-assistant/core/pull/132913 +[#132915]: https://github.com/home-assistant/core/pull/132915 +[#132917]: https://github.com/home-assistant/core/pull/132917 +[#132923]: https://github.com/home-assistant/core/pull/132923 +[#132927]: https://github.com/home-assistant/core/pull/132927 +[#132929]: https://github.com/home-assistant/core/pull/132929 +[#132936]: https://github.com/home-assistant/core/pull/132936 +[#132940]: https://github.com/home-assistant/core/pull/132940 +[#132941]: https://github.com/home-assistant/core/pull/132941 +[#132943]: https://github.com/home-assistant/core/pull/132943 +[#132944]: https://github.com/home-assistant/core/pull/132944 +[#132945]: https://github.com/home-assistant/core/pull/132945 +[#132954]: https://github.com/home-assistant/core/pull/132954 +[#132958]: https://github.com/home-assistant/core/pull/132958 +[#132961]: https://github.com/home-assistant/core/pull/132961 +[#132962]: https://github.com/home-assistant/core/pull/132962 +[#132964]: https://github.com/home-assistant/core/pull/132964 +[#132970]: https://github.com/home-assistant/core/pull/132970 +[#132972]: https://github.com/home-assistant/core/pull/132972 +[#132974]: https://github.com/home-assistant/core/pull/132974 +[#132975]: https://github.com/home-assistant/core/pull/132975 +[#132979]: https://github.com/home-assistant/core/pull/132979 +[#132981]: https://github.com/home-assistant/core/pull/132981 +[#132982]: https://github.com/home-assistant/core/pull/132982 +[#132986]: https://github.com/home-assistant/core/pull/132986 +[#132988]: https://github.com/home-assistant/core/pull/132988 +[#132989]: https://github.com/home-assistant/core/pull/132989 +[#132990]: https://github.com/home-assistant/core/pull/132990 +[#132991]: https://github.com/home-assistant/core/pull/132991 +[#132995]: https://github.com/home-assistant/core/pull/132995 +[#132997]: https://github.com/home-assistant/core/pull/132997 +[#132998]: https://github.com/home-assistant/core/pull/132998 +[#133000]: https://github.com/home-assistant/core/pull/133000 +[#133001]: https://github.com/home-assistant/core/pull/133001 +[#133002]: https://github.com/home-assistant/core/pull/133002 +[#133003]: https://github.com/home-assistant/core/pull/133003 +[#133004]: https://github.com/home-assistant/core/pull/133004 +[#133005]: https://github.com/home-assistant/core/pull/133005 +[#133006]: https://github.com/home-assistant/core/pull/133006 +[#133008]: https://github.com/home-assistant/core/pull/133008 +[#133009]: https://github.com/home-assistant/core/pull/133009 +[#133010]: https://github.com/home-assistant/core/pull/133010 +[#133011]: https://github.com/home-assistant/core/pull/133011 +[#133012]: https://github.com/home-assistant/core/pull/133012 +[#133014]: https://github.com/home-assistant/core/pull/133014 +[#133015]: https://github.com/home-assistant/core/pull/133015 +[#133016]: https://github.com/home-assistant/core/pull/133016 +[#133017]: https://github.com/home-assistant/core/pull/133017 +[#133019]: https://github.com/home-assistant/core/pull/133019 +[#133020]: https://github.com/home-assistant/core/pull/133020 +[#133022]: https://github.com/home-assistant/core/pull/133022 +[#133023]: https://github.com/home-assistant/core/pull/133023 +[#133024]: https://github.com/home-assistant/core/pull/133024 +[#133025]: https://github.com/home-assistant/core/pull/133025 +[#133026]: https://github.com/home-assistant/core/pull/133026 +[#133028]: https://github.com/home-assistant/core/pull/133028 +[#133030]: https://github.com/home-assistant/core/pull/133030 +[#133031]: https://github.com/home-assistant/core/pull/133031 +[#133032]: https://github.com/home-assistant/core/pull/133032 +[#133033]: https://github.com/home-assistant/core/pull/133033 +[#133034]: https://github.com/home-assistant/core/pull/133034 +[#133035]: https://github.com/home-assistant/core/pull/133035 +[#133036]: https://github.com/home-assistant/core/pull/133036 +[#133040]: https://github.com/home-assistant/core/pull/133040 +[#133041]: https://github.com/home-assistant/core/pull/133041 +[#133043]: https://github.com/home-assistant/core/pull/133043 +[#133044]: https://github.com/home-assistant/core/pull/133044 +[#133045]: https://github.com/home-assistant/core/pull/133045 +[#133046]: https://github.com/home-assistant/core/pull/133046 +[#133047]: https://github.com/home-assistant/core/pull/133047 +[#133048]: https://github.com/home-assistant/core/pull/133048 +[#133049]: https://github.com/home-assistant/core/pull/133049 +[#133050]: https://github.com/home-assistant/core/pull/133050 +[#133051]: https://github.com/home-assistant/core/pull/133051 +[#133053]: https://github.com/home-assistant/core/pull/133053 +[#133055]: https://github.com/home-assistant/core/pull/133055 +[#133056]: https://github.com/home-assistant/core/pull/133056 +[#133060]: https://github.com/home-assistant/core/pull/133060 +[#133061]: https://github.com/home-assistant/core/pull/133061 +[#133062]: https://github.com/home-assistant/core/pull/133062 +[#133064]: https://github.com/home-assistant/core/pull/133064 +[#133065]: https://github.com/home-assistant/core/pull/133065 +[#133069]: https://github.com/home-assistant/core/pull/133069 +[#133070]: https://github.com/home-assistant/core/pull/133070 +[#133073]: https://github.com/home-assistant/core/pull/133073 +[#133074]: https://github.com/home-assistant/core/pull/133074 +[#133077]: https://github.com/home-assistant/core/pull/133077 +[#133081]: https://github.com/home-assistant/core/pull/133081 +[#133082]: https://github.com/home-assistant/core/pull/133082 +[#133083]: https://github.com/home-assistant/core/pull/133083 +[#133088]: https://github.com/home-assistant/core/pull/133088 +[#133091]: https://github.com/home-assistant/core/pull/133091 +[#133093]: https://github.com/home-assistant/core/pull/133093 +[#133094]: https://github.com/home-assistant/core/pull/133094 +[#133095]: https://github.com/home-assistant/core/pull/133095 +[#133096]: https://github.com/home-assistant/core/pull/133096 +[#133104]: https://github.com/home-assistant/core/pull/133104 +[#133106]: https://github.com/home-assistant/core/pull/133106 +[#133108]: https://github.com/home-assistant/core/pull/133108 +[#133109]: https://github.com/home-assistant/core/pull/133109 +[#133110]: https://github.com/home-assistant/core/pull/133110 +[#133111]: https://github.com/home-assistant/core/pull/133111 +[#133113]: https://github.com/home-assistant/core/pull/133113 +[#133118]: https://github.com/home-assistant/core/pull/133118 +[#133122]: https://github.com/home-assistant/core/pull/133122 +[#133125]: https://github.com/home-assistant/core/pull/133125 +[#133126]: https://github.com/home-assistant/core/pull/133126 +[#133127]: https://github.com/home-assistant/core/pull/133127 +[#133130]: https://github.com/home-assistant/core/pull/133130 +[#133131]: https://github.com/home-assistant/core/pull/133131 +[#133132]: https://github.com/home-assistant/core/pull/133132 +[#133133]: https://github.com/home-assistant/core/pull/133133 +[#133134]: https://github.com/home-assistant/core/pull/133134 +[#133138]: https://github.com/home-assistant/core/pull/133138 +[#133139]: https://github.com/home-assistant/core/pull/133139 +[#133141]: https://github.com/home-assistant/core/pull/133141 +[#133142]: https://github.com/home-assistant/core/pull/133142 +[#133144]: https://github.com/home-assistant/core/pull/133144 +[#133147]: https://github.com/home-assistant/core/pull/133147 +[#133149]: https://github.com/home-assistant/core/pull/133149 +[#133153]: https://github.com/home-assistant/core/pull/133153 +[#133155]: https://github.com/home-assistant/core/pull/133155 +[#133158]: https://github.com/home-assistant/core/pull/133158 +[#133162]: https://github.com/home-assistant/core/pull/133162 +[#133163]: https://github.com/home-assistant/core/pull/133163 +[#133166]: https://github.com/home-assistant/core/pull/133166 +[#133169]: https://github.com/home-assistant/core/pull/133169 +[#133170]: https://github.com/home-assistant/core/pull/133170 +[#133174]: https://github.com/home-assistant/core/pull/133174 +[#133175]: https://github.com/home-assistant/core/pull/133175 +[#133182]: https://github.com/home-assistant/core/pull/133182 +[#133188]: https://github.com/home-assistant/core/pull/133188 +[#133197]: https://github.com/home-assistant/core/pull/133197 +[#133198]: https://github.com/home-assistant/core/pull/133198 +[#133202]: https://github.com/home-assistant/core/pull/133202 +[#133204]: https://github.com/home-assistant/core/pull/133204 +[#133206]: https://github.com/home-assistant/core/pull/133206 +[#133208]: https://github.com/home-assistant/core/pull/133208 +[#133210]: https://github.com/home-assistant/core/pull/133210 +[#133211]: https://github.com/home-assistant/core/pull/133211 +[#133213]: https://github.com/home-assistant/core/pull/133213 +[#133226]: https://github.com/home-assistant/core/pull/133226 +[#133228]: https://github.com/home-assistant/core/pull/133228 +[#133230]: https://github.com/home-assistant/core/pull/133230 +[#133234]: https://github.com/home-assistant/core/pull/133234 +[#133235]: https://github.com/home-assistant/core/pull/133235 +[#133236]: https://github.com/home-assistant/core/pull/133236 +[#133245]: https://github.com/home-assistant/core/pull/133245 +[#133247]: https://github.com/home-assistant/core/pull/133247 +[#133252]: https://github.com/home-assistant/core/pull/133252 +[#133253]: https://github.com/home-assistant/core/pull/133253 +[#133264]: https://github.com/home-assistant/core/pull/133264 +[#133267]: https://github.com/home-assistant/core/pull/133267 +[#133272]: https://github.com/home-assistant/core/pull/133272 +[#133275]: https://github.com/home-assistant/core/pull/133275 +[#133276]: https://github.com/home-assistant/core/pull/133276 +[#133277]: https://github.com/home-assistant/core/pull/133277 +[#133281]: https://github.com/home-assistant/core/pull/133281 +[#133282]: https://github.com/home-assistant/core/pull/133282 +[#133293]: https://github.com/home-assistant/core/pull/133293 +[#133294]: https://github.com/home-assistant/core/pull/133294 +[#133295]: https://github.com/home-assistant/core/pull/133295 +[#133296]: https://github.com/home-assistant/core/pull/133296 +[#133298]: https://github.com/home-assistant/core/pull/133298 +[#133304]: https://github.com/home-assistant/core/pull/133304 +[#133305]: https://github.com/home-assistant/core/pull/133305 +[#133306]: https://github.com/home-assistant/core/pull/133306 +[#133315]: https://github.com/home-assistant/core/pull/133315 +[#133316]: https://github.com/home-assistant/core/pull/133316 +[#133323]: https://github.com/home-assistant/core/pull/133323 +[#133326]: https://github.com/home-assistant/core/pull/133326 +[#133330]: https://github.com/home-assistant/core/pull/133330 +[#133331]: https://github.com/home-assistant/core/pull/133331 +[#133333]: https://github.com/home-assistant/core/pull/133333 +[#133334]: https://github.com/home-assistant/core/pull/133334 +[#133335]: https://github.com/home-assistant/core/pull/133335 +[#133337]: https://github.com/home-assistant/core/pull/133337 +[#133338]: https://github.com/home-assistant/core/pull/133338 +[#133339]: https://github.com/home-assistant/core/pull/133339 +[#133340]: https://github.com/home-assistant/core/pull/133340 +[#133344]: https://github.com/home-assistant/core/pull/133344 +[#133349]: https://github.com/home-assistant/core/pull/133349 +[#133351]: https://github.com/home-assistant/core/pull/133351 +[#133352]: https://github.com/home-assistant/core/pull/133352 +[#133356]: https://github.com/home-assistant/core/pull/133356 +[#133358]: https://github.com/home-assistant/core/pull/133358 +[#133359]: https://github.com/home-assistant/core/pull/133359 +[#133361]: https://github.com/home-assistant/core/pull/133361 +[#133367]: https://github.com/home-assistant/core/pull/133367 +[#133369]: https://github.com/home-assistant/core/pull/133369 +[#133370]: https://github.com/home-assistant/core/pull/133370 +[#133371]: https://github.com/home-assistant/core/pull/133371 +[#133383]: https://github.com/home-assistant/core/pull/133383 +[#133385]: https://github.com/home-assistant/core/pull/133385 +[#133387]: https://github.com/home-assistant/core/pull/133387 +[#133389]: https://github.com/home-assistant/core/pull/133389 +[#133390]: https://github.com/home-assistant/core/pull/133390 +[#133392]: https://github.com/home-assistant/core/pull/133392 +[#133394]: https://github.com/home-assistant/core/pull/133394 +[#133404]: https://github.com/home-assistant/core/pull/133404 +[#133412]: https://github.com/home-assistant/core/pull/133412 +[#133413]: https://github.com/home-assistant/core/pull/133413 +[#133415]: https://github.com/home-assistant/core/pull/133415 +[#133417]: https://github.com/home-assistant/core/pull/133417 +[#133424]: https://github.com/home-assistant/core/pull/133424 +[#133425]: https://github.com/home-assistant/core/pull/133425 +[#133426]: https://github.com/home-assistant/core/pull/133426 +[#133428]: https://github.com/home-assistant/core/pull/133428 +[#133429]: https://github.com/home-assistant/core/pull/133429 +[#133431]: https://github.com/home-assistant/core/pull/133431 +[#133433]: https://github.com/home-assistant/core/pull/133433 +[#133434]: https://github.com/home-assistant/core/pull/133434 +[#133435]: https://github.com/home-assistant/core/pull/133435 +[#133436]: https://github.com/home-assistant/core/pull/133436 +[#133443]: https://github.com/home-assistant/core/pull/133443 +[#133445]: https://github.com/home-assistant/core/pull/133445 +[#133446]: https://github.com/home-assistant/core/pull/133446 +[#133447]: https://github.com/home-assistant/core/pull/133447 +[#133449]: https://github.com/home-assistant/core/pull/133449 +[#133453]: https://github.com/home-assistant/core/pull/133453 +[#133459]: https://github.com/home-assistant/core/pull/133459 +[#133461]: https://github.com/home-assistant/core/pull/133461 +[#133466]: https://github.com/home-assistant/core/pull/133466 +[#133467]: https://github.com/home-assistant/core/pull/133467 +[#133468]: https://github.com/home-assistant/core/pull/133468 +[#133470]: https://github.com/home-assistant/core/pull/133470 +[#133472]: https://github.com/home-assistant/core/pull/133472 +[#133473]: https://github.com/home-assistant/core/pull/133473 +[#133474]: https://github.com/home-assistant/core/pull/133474 +[#133476]: https://github.com/home-assistant/core/pull/133476 +[#133482]: https://github.com/home-assistant/core/pull/133482 +[#133484]: https://github.com/home-assistant/core/pull/133484 +[#133485]: https://github.com/home-assistant/core/pull/133485 +[#133488]: https://github.com/home-assistant/core/pull/133488 +[#133489]: https://github.com/home-assistant/core/pull/133489 +[#133490]: https://github.com/home-assistant/core/pull/133490 +[#133494]: https://github.com/home-assistant/core/pull/133494 +[#133500]: https://github.com/home-assistant/core/pull/133500 +[#133501]: https://github.com/home-assistant/core/pull/133501 +[#133503]: https://github.com/home-assistant/core/pull/133503 +[#133504]: https://github.com/home-assistant/core/pull/133504 +[#133505]: https://github.com/home-assistant/core/pull/133505 +[#133508]: https://github.com/home-assistant/core/pull/133508 +[#133509]: https://github.com/home-assistant/core/pull/133509 +[#133513]: https://github.com/home-assistant/core/pull/133513 +[#133514]: https://github.com/home-assistant/core/pull/133514 +[#133515]: https://github.com/home-assistant/core/pull/133515 +[#133516]: https://github.com/home-assistant/core/pull/133516 +[#133519]: https://github.com/home-assistant/core/pull/133519 +[#133520]: https://github.com/home-assistant/core/pull/133520 +[#133521]: https://github.com/home-assistant/core/pull/133521 +[#133523]: https://github.com/home-assistant/core/pull/133523 +[#133524]: https://github.com/home-assistant/core/pull/133524 +[#133528]: https://github.com/home-assistant/core/pull/133528 +[#133529]: https://github.com/home-assistant/core/pull/133529 +[#133532]: https://github.com/home-assistant/core/pull/133532 +[#133534]: https://github.com/home-assistant/core/pull/133534 +[#133536]: https://github.com/home-assistant/core/pull/133536 +[#133539]: https://github.com/home-assistant/core/pull/133539 +[#133541]: https://github.com/home-assistant/core/pull/133541 +[#133547]: https://github.com/home-assistant/core/pull/133547 +[#133548]: https://github.com/home-assistant/core/pull/133548 +[#133549]: https://github.com/home-assistant/core/pull/133549 +[#133552]: https://github.com/home-assistant/core/pull/133552 +[#133553]: https://github.com/home-assistant/core/pull/133553 +[#133554]: https://github.com/home-assistant/core/pull/133554 +[#133555]: https://github.com/home-assistant/core/pull/133555 +[#133557]: https://github.com/home-assistant/core/pull/133557 +[#133558]: https://github.com/home-assistant/core/pull/133558 +[#133559]: https://github.com/home-assistant/core/pull/133559 +[#133560]: https://github.com/home-assistant/core/pull/133560 +[#133561]: https://github.com/home-assistant/core/pull/133561 +[#133564]: https://github.com/home-assistant/core/pull/133564 +[#133569]: https://github.com/home-assistant/core/pull/133569 +[#133570]: https://github.com/home-assistant/core/pull/133570 +[#133571]: https://github.com/home-assistant/core/pull/133571 +[#133572]: https://github.com/home-assistant/core/pull/133572 +[#133579]: https://github.com/home-assistant/core/pull/133579 +[#133580]: https://github.com/home-assistant/core/pull/133580 +[#133581]: https://github.com/home-assistant/core/pull/133581 +[#133582]: https://github.com/home-assistant/core/pull/133582 +[#133584]: https://github.com/home-assistant/core/pull/133584 +[#133587]: https://github.com/home-assistant/core/pull/133587 +[#133590]: https://github.com/home-assistant/core/pull/133590 +[#133592]: https://github.com/home-assistant/core/pull/133592 +[#133593]: https://github.com/home-assistant/core/pull/133593 +[#133594]: https://github.com/home-assistant/core/pull/133594 +[#133605]: https://github.com/home-assistant/core/pull/133605 +[#133606]: https://github.com/home-assistant/core/pull/133606 +[#133607]: https://github.com/home-assistant/core/pull/133607 +[#133609]: https://github.com/home-assistant/core/pull/133609 +[#133611]: https://github.com/home-assistant/core/pull/133611 +[#133616]: https://github.com/home-assistant/core/pull/133616 +[#133619]: https://github.com/home-assistant/core/pull/133619 +[#133628]: https://github.com/home-assistant/core/pull/133628 +[#133631]: https://github.com/home-assistant/core/pull/133631 +[#133633]: https://github.com/home-assistant/core/pull/133633 +[#133634]: https://github.com/home-assistant/core/pull/133634 +[#133635]: https://github.com/home-assistant/core/pull/133635 +[#133638]: https://github.com/home-assistant/core/pull/133638 +[#133640]: https://github.com/home-assistant/core/pull/133640 +[#133643]: https://github.com/home-assistant/core/pull/133643 +[#133644]: https://github.com/home-assistant/core/pull/133644 +[#133646]: https://github.com/home-assistant/core/pull/133646 +[#133647]: https://github.com/home-assistant/core/pull/133647 +[#133648]: https://github.com/home-assistant/core/pull/133648 +[#133650]: https://github.com/home-assistant/core/pull/133650 +[#133652]: https://github.com/home-assistant/core/pull/133652 +[#133653]: https://github.com/home-assistant/core/pull/133653 +[#133654]: https://github.com/home-assistant/core/pull/133654 +[#133655]: https://github.com/home-assistant/core/pull/133655 +[#133656]: https://github.com/home-assistant/core/pull/133656 +[#133657]: https://github.com/home-assistant/core/pull/133657 +[#133659]: https://github.com/home-assistant/core/pull/133659 +[#133660]: https://github.com/home-assistant/core/pull/133660 +[#133665]: https://github.com/home-assistant/core/pull/133665 +[#133666]: https://github.com/home-assistant/core/pull/133666 +[#133668]: https://github.com/home-assistant/core/pull/133668 +[#133669]: https://github.com/home-assistant/core/pull/133669 +[#133670]: https://github.com/home-assistant/core/pull/133670 +[#133672]: https://github.com/home-assistant/core/pull/133672 +[#133676]: https://github.com/home-assistant/core/pull/133676 +[#133679]: https://github.com/home-assistant/core/pull/133679 +[#133680]: https://github.com/home-assistant/core/pull/133680 +[#133681]: https://github.com/home-assistant/core/pull/133681 +[#133682]: https://github.com/home-assistant/core/pull/133682 +[#133683]: https://github.com/home-assistant/core/pull/133683 +[#133684]: https://github.com/home-assistant/core/pull/133684 +[#133685]: https://github.com/home-assistant/core/pull/133685 +[#133690]: https://github.com/home-assistant/core/pull/133690 +[#133697]: https://github.com/home-assistant/core/pull/133697 +[#133699]: https://github.com/home-assistant/core/pull/133699 +[#133700]: https://github.com/home-assistant/core/pull/133700 +[#133701]: https://github.com/home-assistant/core/pull/133701 +[#133705]: https://github.com/home-assistant/core/pull/133705 +[#133706]: https://github.com/home-assistant/core/pull/133706 +[#133707]: https://github.com/home-assistant/core/pull/133707 +[#133708]: https://github.com/home-assistant/core/pull/133708 +[#133710]: https://github.com/home-assistant/core/pull/133710 +[#133712]: https://github.com/home-assistant/core/pull/133712 +[#133713]: https://github.com/home-assistant/core/pull/133713 +[#133714]: https://github.com/home-assistant/core/pull/133714 +[#133715]: https://github.com/home-assistant/core/pull/133715 +[#133716]: https://github.com/home-assistant/core/pull/133716 +[#133717]: https://github.com/home-assistant/core/pull/133717 +[#133718]: https://github.com/home-assistant/core/pull/133718 +[#133720]: https://github.com/home-assistant/core/pull/133720 +[#133722]: https://github.com/home-assistant/core/pull/133722 +[#133723]: https://github.com/home-assistant/core/pull/133723 +[#133724]: https://github.com/home-assistant/core/pull/133724 +[#133725]: https://github.com/home-assistant/core/pull/133725 +[#133726]: https://github.com/home-assistant/core/pull/133726 +[#133727]: https://github.com/home-assistant/core/pull/133727 +[#133728]: https://github.com/home-assistant/core/pull/133728 +[#133729]: https://github.com/home-assistant/core/pull/133729 +[#133730]: https://github.com/home-assistant/core/pull/133730 +[#133734]: https://github.com/home-assistant/core/pull/133734 +[#133735]: https://github.com/home-assistant/core/pull/133735 +[#133737]: https://github.com/home-assistant/core/pull/133737 +[#133739]: https://github.com/home-assistant/core/pull/133739 +[#133740]: https://github.com/home-assistant/core/pull/133740 +[#133744]: https://github.com/home-assistant/core/pull/133744 +[#133748]: https://github.com/home-assistant/core/pull/133748 +[#133749]: https://github.com/home-assistant/core/pull/133749 +[#133750]: https://github.com/home-assistant/core/pull/133750 +[#133751]: https://github.com/home-assistant/core/pull/133751 +[#133752]: https://github.com/home-assistant/core/pull/133752 +[#133753]: https://github.com/home-assistant/core/pull/133753 +[#133754]: https://github.com/home-assistant/core/pull/133754 +[#133755]: https://github.com/home-assistant/core/pull/133755 +[#133756]: https://github.com/home-assistant/core/pull/133756 +[#133757]: https://github.com/home-assistant/core/pull/133757 +[#133758]: https://github.com/home-assistant/core/pull/133758 +[#133760]: https://github.com/home-assistant/core/pull/133760 +[#133764]: https://github.com/home-assistant/core/pull/133764 +[#133765]: https://github.com/home-assistant/core/pull/133765 +[#133768]: https://github.com/home-assistant/core/pull/133768 +[#133769]: https://github.com/home-assistant/core/pull/133769 +[#133772]: https://github.com/home-assistant/core/pull/133772 +[#133778]: https://github.com/home-assistant/core/pull/133778 +[#133780]: https://github.com/home-assistant/core/pull/133780 +[#133782]: https://github.com/home-assistant/core/pull/133782 +[#133785]: https://github.com/home-assistant/core/pull/133785 +[#133786]: https://github.com/home-assistant/core/pull/133786 +[#133790]: https://github.com/home-assistant/core/pull/133790 +[#133793]: https://github.com/home-assistant/core/pull/133793 +[#133794]: https://github.com/home-assistant/core/pull/133794 +[#133795]: https://github.com/home-assistant/core/pull/133795 +[#133796]: https://github.com/home-assistant/core/pull/133796 +[#133798]: https://github.com/home-assistant/core/pull/133798 +[#133799]: https://github.com/home-assistant/core/pull/133799 +[#133801]: https://github.com/home-assistant/core/pull/133801 +[#133802]: https://github.com/home-assistant/core/pull/133802 +[#133803]: https://github.com/home-assistant/core/pull/133803 +[#133804]: https://github.com/home-assistant/core/pull/133804 +[#133805]: https://github.com/home-assistant/core/pull/133805 +[#133806]: https://github.com/home-assistant/core/pull/133806 +[#133809]: https://github.com/home-assistant/core/pull/133809 +[#133811]: https://github.com/home-assistant/core/pull/133811 +[#133812]: https://github.com/home-assistant/core/pull/133812 +[#133814]: https://github.com/home-assistant/core/pull/133814 +[#133817]: https://github.com/home-assistant/core/pull/133817 +[#133818]: https://github.com/home-assistant/core/pull/133818 +[#133819]: https://github.com/home-assistant/core/pull/133819 +[#133821]: https://github.com/home-assistant/core/pull/133821 +[#133822]: https://github.com/home-assistant/core/pull/133822 +[#133823]: https://github.com/home-assistant/core/pull/133823 +[#133826]: https://github.com/home-assistant/core/pull/133826 +[#133828]: https://github.com/home-assistant/core/pull/133828 +[#133829]: https://github.com/home-assistant/core/pull/133829 +[#133835]: https://github.com/home-assistant/core/pull/133835 +[#133839]: https://github.com/home-assistant/core/pull/133839 +[#133841]: https://github.com/home-assistant/core/pull/133841 +[#133842]: https://github.com/home-assistant/core/pull/133842 +[#133853]: https://github.com/home-assistant/core/pull/133853 +[#133854]: https://github.com/home-assistant/core/pull/133854 +[#133855]: https://github.com/home-assistant/core/pull/133855 +[#133856]: https://github.com/home-assistant/core/pull/133856 +[#133857]: https://github.com/home-assistant/core/pull/133857 +[#133861]: https://github.com/home-assistant/core/pull/133861 +[#133862]: https://github.com/home-assistant/core/pull/133862 +[#133863]: https://github.com/home-assistant/core/pull/133863 +[#133868]: https://github.com/home-assistant/core/pull/133868 +[#133876]: https://github.com/home-assistant/core/pull/133876 +[#133877]: https://github.com/home-assistant/core/pull/133877 +[#133878]: https://github.com/home-assistant/core/pull/133878 +[#133879]: https://github.com/home-assistant/core/pull/133879 +[#133880]: https://github.com/home-assistant/core/pull/133880 +[#133883]: https://github.com/home-assistant/core/pull/133883 +[#133884]: https://github.com/home-assistant/core/pull/133884 +[#133886]: https://github.com/home-assistant/core/pull/133886 +[@Bre77]: https://github.com/Bre77 +[@CFenner]: https://github.com/CFenner +[@CoMPaTech]: https://github.com/CoMPaTech +[@DCSBL]: https://github.com/DCSBL +[@Diegorro98]: https://github.com/Diegorro98 +[@DrBlokmeister]: https://github.com/DrBlokmeister +[@IceBotYT]: https://github.com/IceBotYT +[@Lash-L]: https://github.com/Lash-L +[@LouisChrist]: https://github.com/LouisChrist +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MindFreeze]: https://github.com/MindFreeze +[@NoRi2909]: https://github.com/NoRi2909 +[@Noltari]: https://github.com/Noltari +[@Omniflux]: https://github.com/Omniflux +[@PierreAronnax]: https://github.com/PierreAronnax +[@RaHehl]: https://github.com/RaHehl +[@Shutgun]: https://github.com/Shutgun +[@StevenLooman]: https://github.com/StevenLooman +[@TheJulianJES]: https://github.com/TheJulianJES +[@Thomas55555]: https://github.com/Thomas55555 +[@VandeurenGlenn]: https://github.com/VandeurenGlenn +[@Xiretza]: https://github.com/Xiretza +[@YogevBokobza]: https://github.com/YogevBokobza +[@abmantis]: https://github.com/abmantis +[@adam-the-hero]: https://github.com/adam-the-hero +[@agners]: https://github.com/agners +[@alengwenus]: https://github.com/alengwenus +[@alexandrecuer]: https://github.com/alexandrecuer +[@allenporter]: https://github.com/allenporter +[@andrew-codechimp]: https://github.com/andrew-codechimp +[@andrewsayre]: https://github.com/andrewsayre +[@arturpragacz]: https://github.com/arturpragacz +[@astrandb]: https://github.com/astrandb +[@austinmroczek]: https://github.com/austinmroczek +[@autinerd]: https://github.com/autinerd +[@balloob]: https://github.com/balloob +[@barryvdh]: https://github.com/barryvdh +[@basbruss]: https://github.com/basbruss +[@bdraco]: https://github.com/bdraco +[@benjamin-dcs]: https://github.com/benjamin-dcs +[@bieniu]: https://github.com/bieniu +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@catsmanac]: https://github.com/catsmanac +[@cdce8p]: https://github.com/cdce8p +[@cereal2nd]: https://github.com/cereal2nd +[@cgarwood]: https://github.com/cgarwood +[@chemelli74]: https://github.com/chemelli74 +[@crug80]: https://github.com/crug80 +[@ctalkington]: https://github.com/ctalkington +[@dan-r]: https://github.com/dan-r +[@davet2001]: https://github.com/davet2001 +[@davidrapan]: https://github.com/davidrapan +[@dieselrabbit]: https://github.com/dieselrabbit +[@dknowles2]: https://github.com/dknowles2 +[@dontinelli]: https://github.com/dontinelli +[@dotvav]: https://github.com/dotvav +[@eclair4151]: https://github.com/eclair4151 +[@edenhaus]: https://github.com/edenhaus +[@eifinger]: https://github.com/eifinger +[@elmurato]: https://github.com/elmurato +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@farmio]: https://github.com/farmio +[@flz]: https://github.com/flz +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@greyeee]: https://github.com/greyeee +[@hahn-th]: https://github.com/hahn-th +[@hughsaunders]: https://github.com/hughsaunders +[@hugoideler]: https://github.com/hugoideler +[@iMicknl]: https://github.com/iMicknl +[@jb101010-2]: https://github.com/jb101010-2 +[@jbouwh]: https://github.com/jbouwh +[@jesperraemaekers]: https://github.com/jesperraemaekers +[@jon6fingrs]: https://github.com/jon6fingrs +[@joostlek]: https://github.com/joostlek +[@jpbede]: https://github.com/jpbede +[@jrieger]: https://github.com/jrieger +[@jterrace]: https://github.com/jterrace +[@karwosts]: https://github.com/karwosts +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@klejejs]: https://github.com/klejejs +[@krauseerl]: https://github.com/krauseerl +[@kruton]: https://github.com/kruton +[@lboue]: https://github.com/lboue +[@lellky]: https://github.com/lellky +[@luc-ass]: https://github.com/luc-ass +[@ludeeus]: https://github.com/ludeeus +[@marcelveldt]: https://github.com/marcelveldt +[@martijnrusschen]: https://github.com/martijnrusschen +[@masto]: https://github.com/masto +[@matrixd2]: https://github.com/matrixd2 +[@mdegat01]: https://github.com/mdegat01 +[@miaucl]: https://github.com/miaucl +[@mib1185]: https://github.com/mib1185 +[@mill1000]: https://github.com/mill1000 +[@mj23000]: https://github.com/mj23000 +[@mkmer]: https://github.com/mkmer +[@mrtlhfr]: https://github.com/mrtlhfr +[@mvn23]: https://github.com/mvn23 +[@mweinelt]: https://github.com/mweinelt +[@nasWebio]: https://github.com/nasWebio +[@noahhusby]: https://github.com/noahhusby +[@peteS-UK]: https://github.com/peteS-UK +[@philipdouglas]: https://github.com/philipdouglas +[@rappenze]: https://github.com/rappenze +[@rd-blue]: https://github.com/rd-blue +[@rikroe]: https://github.com/rikroe +[@rytilahti]: https://github.com/rytilahti +[@sdb9696]: https://github.com/sdb9696 +[@shapournemati-iotty]: https://github.com/shapournemati-iotty +[@shmuelzon]: https://github.com/shmuelzon +[@sorgfresser]: https://github.com/sorgfresser +[@starkillerOG]: https://github.com/starkillerOG +[@synesthesiam]: https://github.com/synesthesiam +[@thecode]: https://github.com/thecode +[@tjhorner]: https://github.com/tjhorner +[@tofuSCHNITZEL]: https://github.com/tofuSCHNITZEL +[@tr4nt0r]: https://github.com/tr4nt0r +[@vche]: https://github.com/vche +[@yazan-abdalrahman]: https://github.com/yazan-abdalrahman +[@zweckj]: https://github.com/zweckj diff --git a/source/images/blog/2025-01/391675502-36f624b7-786f-486b-89a6-e86bc0a5f9fc.png b/source/images/blog/2025-01/391675502-36f624b7-786f-486b-89a6-e86bc0a5f9fc.png new file mode 100644 index 0000000000000000000000000000000000000000..122b7d79b8e5916e194224ba97d6f34acb60d4e3 GIT binary patch literal 69543 zcmeFabzGF+`ZkJuQ9(%w6%a(FK}5PyO6g7sL7E|?hY|w>1XQ}ayBkzQl+K}BnxR7& z;;hI0+xsxM|9sDR-*Z0t`4IBVJh9fj?zpb&UgM`IFNJrB{1OHR2HxXG;>s8pSV7>c z9Qy+Ji_F7mE%4)wX<-O?l`a_fk z$Ifw_yyJo6eBD4njqqMQUO_tzbO1YO^q;e*KZp4S^JU6Ivaml7 zyu7{lUoM*TVlwl+1ns|X;yS+iL@CcuNx^Wu>L5-mFI|C&x!UpAZvA({4)<+Ft3N zd9Y~(n$v#EyZ&~eMSnJl7qdoM>HRWK{i6Gq>W?G5r~PBJ^3An7ir4G=hLa3zYi&>7S|(v@GKsS4If_|$Gtdr z4K1)FYFsYG`*=%Sd-R~f)_l3Job+L;Nkiew6qAOBc)ayb|GAhx_3C0eOs!v}3)!WWj@L$(Wx~_mv|>GKhs$6GMenrq?N=JUTz;DOwEOLYSI1s^ zpZV8%=WtHH|ApvX!W&n8@To$NB-m2V%S5EV$)ow`S7x6y_lty*tJ%?PLFwJK`@Df> zc!3x2Z1*WH*_fgYgCYZA-TQCl$AQ;I$#0hVNL?mlW3RZg-AXN#CxtMnE zD1yfPOhh%~_FkC0SH8oh*SCEzji7quQ@Hbs_6jBVmU(inbbBp9Qi3f7(e<5Da%Zpn zB3d-o1J`N)8r?Iy29t*h8>=e zPQ^Qt*R5_UZ%Rp~fzxJcy7YN}w){YMq8p}9wqs|WIpPXAS9_Z6P4s6n@Lmuly1_U- zq?r{AJcDpP-jKziFT2yAqEH}tGK?Pm)$cHgsG3TO)-#1Qq-<5G2dZtj*33Drz9&|% zwc?}Q&I?hF%U?^1;-z+~9==RDs6=?=%yDK56x~1@9#OU{-+l9TlEqd@eVKTdNF&U5 zUcIZxh{ASrByKo!K0)SYjuK@7;24lB6vb)3f(`l#KjRHW#G#!L!+V^Lu(OR{r*AbI zC&*=B z^w|M$J3l?d=jLPW5w4DqdofwP&t-*F$`k9mfJfO?cr-+G+A(1hF0^BA;NIx$X{p8m zCvPvHu?)V($q-1nWMYF|j(*>w2}EyA7hTfTtAX7v)$58O-qBb*Oz}}1!9hFc_5*L1 z^dM8qG&jtj)$@qLvSgjHPv_{iEv{AGAUd6siY8onYic2esP=k%UTUl&2Nm6T0pH5w zP2ycgN8j>)(2cGabHnOJ=b-e!c`PYi9?L=UMje|Km%u;9%R&EUeBR7;oyBTkE6XN$ zT1Mi_gk?#uQj_pLpEcwy%#C+9I)|kPu)sODEFLW%=RIC{`x!iw!I@_YmAn~WHWQ_j zr6+2uTBp{ijc-}^;UeC(|1zQsuS5kcn>i|!>ps0W4j@yV&~Ej?#-(Pjr$H5=FQl7_ z+}=}pHd;Cim$MFvm+e%!)QrgSuiw9eM`hJ!Y*dPTgO(h%0IM0@SjkhRzsZ~3k@Yms zhk$y#(BtfkGNimPU0W)sp3H>jR98^)+9vjuthP9v4squ&jjz6?lG?z{ceo3tay0WP zs}KH-=!2-Sx~Jn#;%F8)OY+uq&EqvTvH)?}mfWEI;ulX8h-znsZoE z{e1m({fQ4=DIcB*TQ5Y9&I|f#n6f~(zM6L@&XNAi4Bsq_eqp-N&wI%Wmmybe$kyBC zhJiwauG0|h4d+q2p{HN>OqhDpxbY3iSOoFqqIh zo9GMCne)?8g7NKPhQPxV$uwHr9&&ia{jNqvAe!IN;-KBeQ^mFSN&V(^)7TIF!PFwc z1)Jz0s801}{Er>}rC-xHLHy6*)X$2ko%243f&YmXDCc>aRjd^kv8HS$Pd z_RUqj%sv#lL#osGRN~q^AaBuKBqtUgx-&Ow9HCnrFSs!j_WXE%KI1xvNh)f!rhqxe zF$bCYIHY)o%59~n}nV|OA?v{>YLmR8E zn)59OR(kDf#FT0&s?FTSb$qummaG@$C;R$6Y+I*^n$dF^=bk4QtnBC?wP)W|yni18v-m z_>rZ(h{3jTx3#$G0+0P>ufyit7OWwp@gdzQI}}|bUbh7y-Pxz02&GeRZ3deYE z1n8^c&m(QT+=jstRBoH)w4ZCs^_=?hCTzAI&BK5U51=qh0UBlA^CU^#Ma@(?Lo@sH z2?-``ksnrT*6RD5v|iucxVqD>9`AXuNaCfmJ7k)$vgLh|>XC+?tMRVTvEL*^%WQ;x zJeB9Ksg)WpwA+6ns(n#hJdZ^ySJbZ1kpP@5PrHms2#i^n*ka~Ywqg;YBQBv zE>2Jny8p)T{)Q7tS!0Lrc&@-M$T}WLMoV2z=Gcv5c$r$8&l7vt%GMB@E+1F@Eh*k( zcZl)$OrEdE4ZQhKzDr;yk56)wzOXFo%jD!jh6LW4Z#5Ns=+7yd7z7@ae|k4vt^&_% zy7IRNX-wdTX&dinWyBAgqmunfm?<(1y@c(g18n==O_R$2wJuY#Fh#$NM8WGd3V%wAn# z4zmCD?m8Z#NC5rxit^r`w09s~d}DhtMvNZj)xn@`zzj0AivqOKF9_n~BFGWb8qQ;&uL9sJ z{K0{yyB6rRD7bnWu)nZlG7NO91R;fijF6JFCi9HBVqu3udEkK#2HKrNt0GYo99T&X zKYKtC4sLkS<{SoEoC4SL{vFK!KE(gb)!&&w^R54{nA1VvHFiU_jay}bgpqvqCbyl8 zsLxpGCv7aJVe^bK7S^>}LP0HV$T&Xq$a_=NAP;z^vQ5oLXS@y}Ljmv?wFBc(=qnh! zAHif01m4o;HMP*4vfM!IhPK3izu+E-xn+0RmLGzv!e`@n&R#W<7%VG#QL;bI-NFQT zhvhKm@iR|?;Vln}y*Lal*+1?R@@u&oKqYL0=aB_m4^(Eba%7fD zMtXOOl<7$Q(e8+4aWHnu_~9H+29)ocPk8Lf{c{n&t=w%UkO%P$HPald0E#x--HQFW z7}Jp_)eh!z<*?i6J|$5P_#pU?aI+es*OUM!(K6$7Sm=sQ*ms*ijXMlJ^-X&mLf7v; zLgaMA>u_T+@fE)GazTSa0cP@t4T z+=4Nv8){v*il@xymGdLsaFbtHA~)FA2tdWQhqI2V%pi^)1d2hw8J%0kB5c`VtB(ZE!e3ljD56n z1F+1Z4~6yb3ZxoT`aS-n%suBWQYw~|1ixS4Y1o&G7WRO{=b}uDkyHQ!;2Jsh*c*$; zuU^V_K$Z=ppTA6&3X0+alM&CIevRIytNO7puer9UAt#Z&s?L5Z6gN81g|);8aJ3BU z$K@VBXd_a8(-yv@Simv1ES;{{nU+#92f^tbLoHe!%S3tf>w{``YYYpZl{z2#K_sMy(1?0h5&aQC_xu>CJxkxU1kCW^dDS4GvEPO7AK+O0rKNX+`gYK ziv0S_(&uL|f3RGj;5^~s+>US6llpiu(kSRh`9Oo$i36~~eyfq9q<;tm@1X+LN=(|N zP2(KZ-PO?YtQVpQgk3Y43QxX`dt3p_NJ_ij-4(uCHQxhlR=qbQO32L#4hr($Mu@DK z(CdXYe_L%hIo=+&EJ%BE`D(h`YE{PENX3IQcN>CvB>C=IQ8qn6;tGlifH6Zj#aqr;)rU`^^>UB0F_(9`oVoJC7H0y)BfHlcm`2IIA^I}?xDMqeda z)U7A)G>HXK3GA@!Tne0yOsP;k3%Dj0;9Sc_4CH5Sp|P9LN&6mw8s+w*m_H6|bAfD1 zzb3iE_mA@BHaHS^6XtXFKo^9adm#P!snH)CRAGVO2-nNf>wg^h4@iPO1>n?NR|qNl zv3pGZIN%`%5~{xs^IvDi`yAJBP&?rQDdq^QLiabg23abA9Y&dhh902HfV|_u5buP# zQxC0uqp*qP9&_j|wVnC`VMq9#7CCw4(lg%zWpdQ>qzMGqMYU^P><~`AH=G_3)5$)n z7<1BrAMFeXJZVtBJic3Ak%q@TcvBa?nD#P7J82jn&0x2+fW;)#l?L(^fe4g_Z4?hy z2>z=Svn_7|_nSM*18igNTkT<844%{gQ!?*Le4w?yogs2$UiOMg(8bom-2Aaj#9g`8 z2sV9K)Y*CjkO^2)J3M!HsJMrog*g2DAZ3!&{q8zPkK=%@#>U%mDQF1~8wRlcUcOnK z4ZlO9O)7Ii?S0FL0o0u{g+BRhz{I|@XWYB*v@)2Rp|s85Z@}Q=TgEn^=LSPDHK0XC z;6Uk!*44}Cst7%h_rU7@klfq_E#lEC`(A*VN2=#P(W>Zu_tfULRFLd)UWFc_CW~3X z-yny1c^2hwzhbcnfN*jS6IpJof}CZGGtQozHL+PKrAel+Au@(xj*}et4ESuAMh_c6 z{H)@WlT}3ae}?n|Sh8o$bFXH5py8P7vYPO2QLwSxMSRLg5BWHLt{5qR*Xluz4q*}F z*F`_4ISfWdWrat&&5wlGQOYL0Os=vHM8}N5-Cr9sDp>sN!98Qn6LI-fbJ1V;!fxFg zHcjy8fl$!%hD8NXD23o-U5}l9%Ut3S&)%5v(Bs2-k&K4JS+>P4F#Cxjt# zwH7y9*%Y?sJA>uUkU)uxSlhf7)iOOb1PpW~!b_Pc%C#`ohcR27B3^k@a#$k!cLwd| zh{nH)k8DIJygdTG)wtm{uZ7O76~5`Ww~KGm*LTJX2?%X|zpcfv1riH(kHZ;ig&RAU z{1X>nQ6C!YrdMPnc=C@7yg2tyF-$IoI}d5iG?60wFq?OdKHlXPgam3~b3&=l7aaO$ zJ7M4Q^bOtYtT!a9pg3gS%32`{q3PU2E|fMSj~hqw=LOKLn$V04z{SzC(%arM-zPqj zJ@`><+}gwDwcmQTVN>{FvVErzPcQGrSK^W%MK&O@{PLrSK={{WX*>5wDi~4jqa}@o z?CsI({0?UPfHP8&Z9B?$u45Jm+O3VTsdug3_(q{p`-2tEAn}PfN%6I44YFLP`uJeE z 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≠DIJ0N2L|#2 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 z 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[CRxsN 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 literal 0 HcmV?d00001 diff --git a/source/images/blog/2025-01/temp-assist-expose-default.png b/source/images/blog/2025-01/temp-assist-expose-default.png new file mode 100644 index 0000000000000000000000000000000000000000..138078c4c596b1e9b3dc17d587369cff08d6c770 GIT binary patch literal 29900 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 V*D7{S|C=Ut$m!^>#ru6?{s*vfkI4W4 literal 0 HcmV?d00001 diff --git a/source/images/blog/2025-01/temp-backup-home-assistant-cloud.png b/source/images/blog/2025-01/temp-backup-home-assistant-cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e54d9eb638e51a85f3316aeb7cdd4271e1121a GIT binary patch literal 72440 zcmZ5{2UrtZv^9tbf^-lODbhg@1nDKxMWl)JCelQU(T~VPN0<5*6`4!}QY3ODhnqSLfawa$s{aKsp=+~rNNMx?%NK7<`gRXxC%l4` z**&5E0kNlRNLEpcP^5a|cKOA#o$vO%+bT@fU$^FNDa}9MyAi zDz;OBi~ku23PquPC_bxs(OePB=)q5ez$7opKWnz8cj!iPE&qm*w`R& zitZ9Fagb88)Xn61tNi#WP3fn`xu{mMxv{JR+Sfig8a-Gv;5$U8E&io@hWg)FF)jC-uNsU}!pAg`S9h1GcXJ zSyG6AOleW(IQV3}fD8Pu;VyzUP9Knen3Ose ziTI9&W*o|9*58^P+;6!tVf#WTWbxNG#^Sd$)_@wF?uZNK^RsJu><$$1a>T%1&;66U z|Bgg~!xs>OdjXtD;2*?uP279`z2UP5#Uq@_Z!u_UI(;O~0)xYlU-EW+s|BgZ`*!lX zi(n>TSOj=&orE>~&Sy_IL1j}tyZ;5z3Tr~B)s`Pp#F-%NAXp3iEZ~5P2e&p+NNWZQ z(QB&3axfb6)yO4WzLh0^BrO7BX|TT>raq95I+q{?peR5(0lQM+Xx2k*wj_|U*7?7H zL#vNdn|W10Yk;8=45ZO+DAmURp)GHAcsvW+)>b~J);UWkJrN4=81Ft(-Fb1D{YMvX zJUF&_k}5Aem1=C0g@!J8-&?w_Df_?07Z!#W3@e-x$BhCN@N)aI zgIHXSbUIma@F;M(|(p&h5Z5F#$>i#`xd!AZQ{`I$w zBqpij&r+!vx7Z7bO|bxa$aQ2Hc;GY(l#HJoIzIdGAL>>P#f z!)%&;E53O$*SZnp=c3qB-?vIt9EU#&b9RiDpA*At+2+R_IpPB|<3nz!h@gK#VlIJ+ zuDp+&yeFkC!WR z$^Gprx0$+<>sz1_4&@~jb0xo6ft}39gEyu^d$|CU|LGD>gY%$q*d4AhxmFKm0^uY0 z8~X741)P)X^oNI{AfAUHU6d=BV*T&?14{`9ZN`Au| z6O_(-HcC9m+gmPiC{7AN66}`EFfNl+h-bwufwh)eG8JN&cc+X< z78Ew#BL5t2G_8U71h4UbwsNkG^IxGmcR8%jp*jSA`By-zxsZ}XIaKXeDI6jGF!i9^ zZ@oF+I|-$oNe4EEkDbm9a~&>FSInkxrE01Avd9Lje{wmR;Cy-9lj~q!7yWOupYM_pfcm)319n`9bwDh*Zd4YG zY-IpybFzX_zqkhQc1c`>2R7~x&!M`Hd9|ZWN+w~d9yLS7AF!$HQF6tXCfXzFv;t{B zviU>8^inv{Jet7g2^0?Yknzz$hP6`gQgiP4Rhx$*cB=gxL}Z7hr2*Yan3&qZl#vV|XaUJ;>$;yNrfIbWNF4 zRHOZ)-q~Nfc7ZkL*Eyj~j~C~KLexE{DsRTSl=b8R5m&ApI2>R8H5APSLb_uAV|^G{ zg&SK{KB_ia1HALpTeZHWwD1i_jr#IIq043+cq4vjf2jMFg+5lDAP-)-?<4S=!UNsI z(JSA1N!EQ@Sq@EmRZ^t$#RDUq({)le9F5bcr0xAzXaomgur5(yo9^7^--0F1V-Z)u zQ>m`_-KxCZ9>s)&p<#iY9rgP7tR4y*-oXv z?>hZgrZ6ADoqb?@PN(miEXVoY18{%|S01FveLm^f?K0$=U6M=Q;blnE?$X>@OZ(Ye z0P?Yc^BP1Sbd7fJJCXm6P1|X}@87u2Y1@%al!%JpI8uoCd(ymK>Dp7MpRp;ZNh&7k z#&OBhdb>Vl8 z>f5kSM^D$!?^8n_ma)ZnH!WzwGyopOT&Oo)C!fT_Hg)aJCv*OO>zS#&U6#-#kMB<| zFz5whqTG1k83kQH{WBm(u6G)pqrnSX_{*D};OQiqKZ^Y&o5aKk zNX+a>cdp)MT+xP-e-g0=>=2L53LHN;*5?<{9X0zQBI&ZG<4})m{&6fAOn7ip8s9iPR#sg2r!|+ zOlFa}*xnct_|$S9VSc z_S$D2>nAt+me&to>AylsI-8CS6S$O3|G^&-NO?GeSt4*c&$m=bz-S+gQP#38-pOw< zd-OobKOCW;`1#I%Is1#g=BN0*&)cFL%J;nwI*2jb1kCmTHITSaW)pHqPDTP3KP+HG zDnPOWY0>M1>bcxoJAlnLgvK6DpDk}6qv+Kxc5?F1lPI&t zWf(edNX$BlCd-<4tN?NdYwF_Qy>HZG7_m3-EcDe=#nw z@K0^d;3<-pBF_zJe`(p8-F zMo0!p&MEok=|VeWcR~U8CTSW5!}28OPX|`D?1qQ$N7|ZOJ%1o}#I!I4azMEMQiX}^ zp6#2gu%LjO>|E0wTfB6gwVpF}&qMwW`(k%b@%lX|UzBGj%9A*U!hlK9TJiNSzk3%; z|KiAcA8`Mb!tZREcF`aK#A5bFPF(4C6_!lQn4*Oi=cX!88M>f#tdV>pOMlf1tK~W> zMWf}}qVuL5KCioprryJS1uhV`)X8=X80HiIF&H;{-5m7FYtf491ped+frEt0Z+$vH zSN|7uBp=Rhxc*_xBuA8;&1WxejLnx9nA_|-=D$So8uU(T7Dv)Bt~`lr+Ns)ZMf7O$ zMY?x!!WW1abqa)_a-`?N=5LpX{ln#RAO+0p{_S!=G zG50G@(Zo5`MMNFa=^sE(;BwN{e#c4p5e@FRdI%lkR>e@WK zaTC7Y)!gY#@=wLkD-I{y^d~n5ExDWRdF61vX%8{p#lAH%k;>a_^7vt}2%HQmPm-zM z9d*+#)YTeP#7ugDUVhHWfk`WAbX2}(l5JD*Neno@Tiee&&521O5L5@dCI9hWZRb{` z;|$!OWw!+6d%0UZMx_dgv(a_V#oLvt*l|$p0A@cL^WHxL(O|3&T3(iQIyozvDuA6h z8#PP1ubk+rS?#Ln56%G^=Fgzyo-GTV!FQ>{;h0!u-*d0tyAS@U`u^p&_JkgTLh^&| zgiV?}3_x;7`3$r-myIiv{dHl2Yv==Ufu~+iI5cO#Uo~-7w)phtR6b_UXg741m6DTX z@Cv{?Lwf6eKzr?}qS%S=oBv61L0Kwg1>BFb+x-i5ppp)e^$yFF@=@guK;0>+;jm+u zfe@fOGEAn4NMXl+OA{Gv)qK1D_3(jrVeP{Bo5PKi<~`1jIf@ITmHJkLRhs{J`{9_7 z@?E@>lwYO^C7J!!+1~wT_bqW=6&+&E%it{U><{>|c9#_@4-o^|Gq6?Rtp9QWAScTu zT=)damiwCdW^it$qA8}T!DD{6-Qn0f*kkTV>_WmnE+^qvj@bp;`v=c#W#_$L?X}E$ zd?#u?+NvXt?A^S0(O`s#xjKS!?qz0&U_sT8Z@!H$(Xzm%EYocnrNs#$37H8klBL^(Nt|J;{aIX!1Uf|Dk#?oPc4pyOFzAi0M{e-UOV|@GrJ#kNRJEbTIrvda8!PGCVn5uN@g66zovkJi%HDuf0S8ex1QP?JG{0VQ?+Z2?`YkQklJ84 zJ*LUUk#vnIxUnd2dr5`3kixW%ULQ7d*KjCwQTN@Gx&SdX_Yczhx-SkmJWq2J3q5Xo z^{uH*)FOo$cV;H-q^IXmSfQ>3z0Wg8PH<+41mpaM<^3hMy{e0$jq@+QdX}%5@8dgV55_ z(#Ijov;EjJv9zzMHBVl|_T@Z~bG!PQ4oi>$_jMW2vbrsMvE$wTJcnA{n=+Px`;e zh1)F*nH7;$Wy%efK1*2v2718A<&HD3wX0xwF~3mlK|uJRYlU%0$Q~fj`E!X^@IHI3 z<2rSN9Qk#^7$i_{>sJzruH&s>FKEqFPS5U=$Gd3ov6O9w!jz1#urTb@ABd&W>8OT3 z7-`)$@b>QQTH9B->Bpcw3yLe@Ay9$d0GB(t)kIU ztYd#sUF=|SCvt$e5!3<*yQb@ZvOC-nO!rwpX$qWeY_@d-9QL6Dy%mnfj<|%(DCiN#zo>WlJ`%lj^ zSKxHCgLohsWnOo8A#L%zLPn$MoACr=9`kJjZE%8RnAx_$%knnD?{~1%M0ah!VH1v1 z6Pd#|;PUv}wf-NO3eKL!+WdC*IcSZ894j8&r39v_U4f?@t zkA0b^7MfkQc3?`33(Kc${LkAI^I@oibCuN1yv$5yRH|nh`1F}KSDpuqVlkB~Le8BS zxBY=5EYI4t%gsvRRmGilf}ZRyMVSO?_KvP>5hfyeB6MPXp{<;Ng%mdsisGny1xO@8p{n%? z$W;3^3D5H>=XdIJjyXlw3t4}-@F{M+vPGbR#Lr?;TWtmLANH#mQp~A_S4p7i$VZAr zEqF`~3Izyb`)Rg&trb<`LT1kvb^K^1c840uiyF>700do~eP{OFGHoYOmPc{@>>Gl< zn6kC(Zg%ZRaHl^Pvhw`q_r7Nx#g%*63XdhoeH9B zw@1A8=SD5POmo4^Ei8qdDu^&@uIC0{8*qoHtrrZv^(5V(1Rn(;at0#*klh&9>TAS2HIvm%}WAx>{Q7BZ>Jo zLrZDlrM@V_FUyR}3!8Q<&WjQ*igjd0aGKwWRYmC~PESX}Dn#*aYC?+VkDETce_+FF zr1n~S%Q8;lLCGu*+I-V8U+69DPmxsC*b-!rCkn~H@ zKCrK5XP~vX9K;I~x+Fx%KLqz-5Q@xaU02^R3^J=Phu$ecylG#;q1Z!tO(`|02OhjU z&M=xg@NxvTKhbz%W*9i0MUAwhS<{3@5_{?&Qr#t%7zynJv@?7}-abCk^8(^8jYR=8 zHL_$BNu%-mZ;p|u19%u?RG3EV<@9!x+-2&j__LD22lq!Lrc%rM-9_C)uRXL!l{3)T zFn2K+PE(jGrBd>VhF0CX-M6)t_xPbtY9Sd4Y-c!wP`FH8&C9cpdqC0Fi`}#7 z9^p2B;XZYC=>Wh^rhBG2MFG{sP8bw*tk7ynfYgd?yghc{R4Xkj^*2YGsi2RhlOP7L zUlh6b)`P!t14GtK{MGl0rtD?eZb<=fSP^&cIysG2!MjW5ZEhFSqSMMUoDuTMc!tr# zP+yGp9(FMN^v&jW<1?enyUurvrN4b7_D0dCHemB#r0!l8A-$=q6(4M;`N&G`6R@#w zZyLlcRnD9#aokhVROab~$FWo4NL9%>U3lIuAx7Bv0!9WLN~la7u~QH{DlYH7Dtmu#H&vW=T`@0wTKhyvDH3zw29 z@!P8#$6esMo7e&orOckWu?K=Dj7P=|{;qh&xIEo@bT{tG7zLwftFRL9E8UC)<_a5kQDFndE{%Mfdz5**US+ZGwBG=hEa=}rJLLZ<-7KmS1mTIQQQnz ze^HsQmTuGc_LQZH+0NCC{BBw2jWwcJV+%5;6=w=Td%-l!uZ`vHKFH;1_ai@33x#GF zKCJ_4q$i3se2#N}GPe`hkl&f&c4G$fxts6pY^f^q`z~>sUYGB9lo^59$VwtYsnCh? zlCfkpfV=oZuN4A_&UZWO_BNF9T>%ptPTtBzn=(M-98~s2O^`8=f&t-1vryAkQ){Ud ziX+iml)WJXVb0R7UTsR-x1l*uGdS7uM{-i*;)#H6?7A3d?)dIWer9H7R7n_z>;_sf zTExbp?YnWby6FCIf>wV$<-X;!1<@)^d$iwFc*K1uxlx-$O|X9JbP?m~yGLDOepv_( z3)R9GksIf4!Uhd1;(2}g5jxIR(oG%EKX=O zDpY*wqu-}roCwzL4zS&46g*42n7iG1s~Q+4u2WUvBFiG=fMMcl8ESckfg1HRv92o3 z&lNrPsCyuB51YFoq&%YUU+?M(U(;)v33(;7wefm=AE48J4d^o2hIa4QoGHjrwcS5eM|EoN`x#jKLjft&RJa3c_^N$}(u5oei+lkF{QVw9T3H zg{U+>etQ(~I);W$V4X11qeki$e?CT4eJcJ-ZSSq|GGFgI#iaVL^~t_fn=Dk_O|CsU8T zJK~X}tM6t!%_Gxqjk-wmVB4H1a~yLF^8$0Z(g(+CJ@WCO>Jo8dQB})@=Zc40)kzAj zl?#rsn(=nciBiAxi^D5UTq=qyZ9d8SIlr!SDLS91k??7zKIJUGfqDq`*VUsuWGYBF zMg2lKWNpG?Rew`wZtn^8?0rY3L~0#}!+XB4bWv5zpZ(x9yc5b|-pm|ZVu}{2xo~AO zrv-k?i-@;KWYWN&mk36wv#NXNNewX6d_sH-X?tDBL6yeRq%9X{f7Pnlej|!D^krhk z#R;3a_h+dR&uHTJL~bYFrdE7^j^PYaAZD<9T;b099PJ@{x+26uEQ2gcolxjdREr$B zno(X`y%MUxxfP9a-l!F`d~y6(Ts^iD%l1=_zJQ&Jrq_=WY0=a2B~KTW&M(}+00kYS zunRAu_Ip>t?tlZ@uVi~wImxToG>li}&Ww@`)C~wXMR=)yH07asUA1XsAb_MTDBqz< z7N6a|U4#y$tt{~v`Ysd^aTVbS2+x%Jj%iPcnL0Pq^PSqQzo}WX%BiGTd}GdlE%_|N zmZ8T+>M!~J_{GzR1|cIeYR8RLr&r^meB)Bk%$Kmk_HaiDYXgagXUWn(uX^zfe~;g3U1| z%UI}Mu1QXOW8hi#a@RF0aq;?3nY~@jk4$|QLDfyq)r1*o?VjYnZsFv3pcAOs!$fOM zKOw4)ZVmTruV8?Rv{k zfYrfAZmj*&dPdw0cqZd@d8qQG$2aA27|BsM-kPyy_9v@KWbHPuLm`=m#_tFZ zLH{1;fWH}p<^0Mt=+GmaW>tnUQ6CM#aS6_y&_^zB9 z0te&OiaEF7=Y7K&vQK5>vUn>CHXja*2!ff)n;Me$ze&Mr8D}&MgyQ`ugG*Zd4vuCB zLuUN*fzm3Q3n0IC&uRyExA_yL`eZXt@f$pT?Yx}eD=RAE_vQnet7QJk7|g{RsmtGx zcYBH1cc9>Idd>3~^fc9i`cPcn`myY#q7C5>zTGzqch_^5`Ifse1EgmvT!JnwQu}~J zTfu6QC$`U-7!;@R4f_;jytbA^3F&Ox&jhU(ZQgeDY$MYy<`f{>;;0*}0dibxEKTZD zl@!M+JX$pU1EUybC=w4=Fgue? zE`rEhw!zJaykKn}b2qZpB(!VWb8YY6p+gU8DzVgI2+$yRs=g9;)M_p?%1RuLT8oIZsi-wJ`?czFz zE>gMO*LBENDJPrsw8pFC+hqL@q^L~ps@0fnp8e@j5TT1HkgJdtsr<@PeSsEi1`rnh zx-ngRkL~(Tpn>zRRwOaDUqxH7B z<#dyF1EDe@a_{h|TWE!3m;58RJz zx4s#%lvDD?uu*m)Jw08`Tif1<)t)U*jUnZfI|YiWkeN$l~-}iF?@|6h7IV$$7W4;0C*GHQZDot18BBZA6^f;TT4e=lDqrI82q) z)}2N``Bp%y5Ce&y{ahO68FBjofJ-@-9bd8K+T>Zm>oC^%(e(Aj8b&xnX&LGmki<4^ zn>aI#FDG`iM3IepSd-!*+f|W# zWYY)fC(xo3Pxbz$67{yMFwo;p&aJ%dz!0pBScAz;e*=r-4lT*}{h%L*>(XBqV$G6f z_B3mig@-jr{juTqn{aD-qYG#3!>paoLuB}zUOjcwEpMNOYmY;ILY^JtM&2tPOOG6~NcA=&rS2-dI3G)c0{SleB+{Sg(T7Ct7 z?spC`oZGU~ya*1qZMhU_v6Ou|B4P&oZkC`z&%j_&-asUjWu6oDp`V(3?r3O?ej%ni zAyE)F;-@Si;UHGq8S9xkLJhzv<<@s{x-Jz3g{sdOcgx2r&JO$d;-J0e5@#w_fWut( z%UA8Sa^*BzYO0jQNz_MBn_X%<2vk8Iq_%0f1j5(*R{UZl$MA9`liI>kXKQx%FzH6E2d^0Xo}FT<_lcQ$ zWMfL+6ANE1i`{piMBkLSi4}8LjipCa+~3&wspUj>)=tQ|bPcm`GK1c6%nESsH?qf1 z0vYHWA3S(|tV4Bg7i80~%bD6jtu|KY<1bzv*DODUEw#5ytb~&?{Ee^DP=%q?9&Sg*zWF>=^V+?LOS@>3WKJqRJoDh#KAb621(-nDvc zSQmnG%z?5Rf5WjdV&^2|1WZc2vk7GNtr5pF`E+qlNUK;GNbam|*Zt)7mYROKo(HE~ zit(zELk2m#k&n$a9>%y+=>86vZHH0*@oAHH;gA>Bpv`|DpPIXQG8KUWM{5^WDv$TK zUub2}E|{btAO%EArF}K11DcyK@?Bd#nXJ8za=B;o?Ywg#z5 zNvBiCRd{jhMx)PC#x%tIFNKBgl&jPBf|tRN7Jz*HPdF>m-Jvh~h+|u3h0dR4h-OK1 zC$KTFR_Z+N=<*-0TB%)YbOOmF?d$Y|3ar`*{~m2Vt?IlE-JXZgeJ&|$uz zH*mf-eBOeDt|NG~G_yZ`SV>yT3dvuwXuDv#dqwess{>|6BG=wTN674JyJONm4 z^2ECI-w-4OjRP4#$Zt7y9C=o?80#T@&sk>odjsK<(jGke)H=?nmeeT$*Dugib83#! zkxnh(pBz$#zSflVD|4J8_THJzQo`5UpeX8SkqaSsPNcIX{se(P6P1Ud%QhRBCM*`cclS_5-1 zcIv11Clhpw_*rJ{L+9U|gg?9|LwwecoOnh<*Ql-3zu$6DFZm|xs1RB^Ez+$1hkKde zH(|3xZb-o=`0XQ#4 zk;+opiGe_X0iNlS9udZ{KMIrwh4cV#&y%>1-npDZ_buRkSn3<8`k99lz!f|jkgng8 z{1kV%7345e+&PzwGyTI|RN315%FMm!Yre{xx4PtuKbXuNKpugUrSFus+o1O|$d_%+ zoK}Nwv$)Di!9ykTot9?Cd-Ly?9`LHnfrk|G0Uq3EA&`GMAZ|&1o3wi8ONU2j6_)h~ zB7QEOKB5{Te?~3roAmqDEyfgf8J_XCM$ffjQORKvDnki0uVeD!tb$7Ra%Qjp9Untd z*y62imM04iHbqMpCGVcB-rds<)pVJTWdEsCTZjm&I^WE8txa@=$n(L2mOU zKF~k!_@~0<*29kcPst8v>pfT4Ui(-pqxXrp=1ZSY;LgboI}JVsqlET_3<;f&q>Z7suzYW zvX#>|KNFQP(YWI|U^PO$iENBUG0oKT@W*|?NUw`yo~*(^m?OoJxuU^}!C>lf)BEy; z=eru`#PB~u%p`ZL7$L~&!q$Pj9o04%mkLi$H1e%)KE|_*_!(&X-GAsis6uWcGF$J* z^S;nGxDutf`ckkjJmX!Zs-yJ?ywdB^&$XjQdmCQs zp+sk?6>jyX>S@pITDWlHk2;ru4=1}2pv2kNXhFmjPsy$M2;i>s5QMzM zh5aPCbyjS;sl}dV_J~(y-hoCD>VA#4y4fvF;E!~%t10yosqp*M1RZdt5P$VP1_{Np z*3pdPY1no{iA<_gb<5IY19Rue5ck0$PQ?`fIw`DjbkKzZuZ;Ys3@ELAcuQ{OpS$4Y z@l3O?&i8xJ%;)7-UgiNDrYhdKIJXXMSMZ;|Wjw9Fb~>n8Ss%O3#2$dUsc2b$PYLnOep0{XIPVgDL zWB4FO;L5s`3E2CX3IQ)mvi?Kt`0xh;>abYWjE({9Ddh-Y z0-+{y z%pf~{xItzpjn_ETJLtxw`v%SF?Bo%mDpM=_?^vTw@FuuqbSI4J4;ix|F8qGZN!55d z!qs0KzB@@+;k3ifJDi7k)<_oED9P@cbkZ;G4 z?gwLgoO12W3qPGB^~)l6{Szf`qz+M{d{scV{|XHh8*=j}qxOB>d?>&n#9c!kFSX3( z_rqWtbPstf?aPg;y(dLtY3Wfm`*SYHS1)quvnMc=*0+HUddyChLH8qI6SL;0P;ekd z8%wrzsu0}CnUFE-7W1kx0Uu6Guj5D&nI}H_D+yBboA~{q6M*fUjqo@Ckwl2UgqJEO z3S_48SOGOpvbn#{q>kp%dwP6ktor&a#BybKmu&gDK1L{wD-Rf&m{mj3ZbqPP! z*#cZ&i##g$ZXiB?KN2sY{a*F(rvHK9Z(o@^0k6mG(x^Fss~0zbGwFVayHD6wnxe1g zjF1 z9tmLd`m?KI!b2HYK_NgH@rjDJh3ouJ`B*uTo{q%=`1Nk3{NXXJJTUnjL{tWOR}fSu z4DQ#&=5$IO#C=ZeMH{Pd^L+&HQ)cmGJ!1LxC_dqvp{j|7CjSF|o^(TDO;VnxY2Us* zd8A>oYw5Z>XOp*odMn1;=4D66yJLr$R@4~G7df^fkIGk^ot+*2{=LUD_Rid4;4MEt zzm*YcUx4e1B3LkcEqkwiO@im_>fQ3=KVKu0W@oiw^qAUwTUdQ&LfRZf{Sjr>FO& zs%mg}n6j#>>X{D^2-$9}6AgQ;r&m-|L~3GU^8Wq%?x`sz%I)`;x(_q6vWm*eC}d@2 zYg7fv)M4%I?MBwtqB5gnV?U_Ceap*5CyD?7o!Wfho^54WUxX6{1%*UVP*Bg&k>uR` zypgT#-Cccs{iUq=d8=zQG)2Y5YNq4zgBm=f?4F*U?+XjHTwTkP$}1~rtgNikLmYUS zsq8~S*ztJ0keHaJwl;-~tgP}H&eys_<;Jy$gK*LL`T5B26BF-#9WMCBuGH_GoG`Pp zvfj9LD--z}1`}PzKGvz}2}t%eGB%D(PiK7X@BfGvZ&xCeP<*k;ozoSbfGF@UcNF$4 zfWhNn^q9x0L|^kyg}w*!*COphMMiHaCC#Au5VzTv$p!*xTDn80X1%DLnpo;QuVl!{csDY^-;9_}!v8 z=EjD|OR%3FH_1r%yFh zU#vef9yR(EUvn+C?}#=jHMPDoKLd$$nG*|R0K>(R9`--OU(WaSk--dCk!x#3)zx%Z zEcUf%4MzdVb7H`=M#;dCCzL(Gj z*VUy*Sj#*(#)PIn>TXI-PL3IF1gpC>cXg$Vjy^8^{5ir)Mcy zDS*8Nl-k3;9wv(VI84I!@R1N1KazXPFLOiKCQl@ZvTk+Y*Sm>Ih6y7(T+( zT-zIR<*HN5OToH)aJ-8RH@4&i)vVFab@r(b+Bh;%DSN==qB0UIn#^0gide2;(T5HZ zhlrtiPxj))=*ehm*2z+x4EpgnhxtMPuuwohKaQk&{)oybrhCO&t~74bZ+rUFMXS8V zp}pA?gKjqjHBlO@`yj^(GJTKN_1dp!D5%kpVwd}38{Fq*H0l%W$G)4JMzhmr?jW2~ zFZa?h`~ZI8R0@0s{ek0D4$l1iIQMyRI^J~2+&UB-+fjYTwBlJ&Pr|&s+(O(s2ms`1 z+LbFLg)lKB(L1HkqR3I$ZD=)4gWGuZXBRl=c>RQc5AhxLy+23NlPaa}*jJ<;`^2PW zvD~b>?oH3BuULmvlh?t?=2T`RQwj;#XN?My7k#C$6Ve!rf6Gl7aj^-dnc5If9|Iqm zoCrK`x1*>q6V)ToN&{?F?(pp`3Lq3hP!$8*sR?UV(yiPqvtqXeO-HfA_;x zXY)G8_~_g1WZT?tkfXT{_S=*){mP=|HQgFw+^@c4f z;rMgESL7O^MSH6;eJcZrl|D+`O$@Vpy<94xH_Ya)Uri`}So3m9z<2w0Kt?X2%m6ew zU1=o-E8ITb=M5}+_l(~S6ipSS45628V>)=;;=&~G_`tO`nvDB(A^9Z(*JtnExUORz zhEf`d!UsFvjk0bt&ro2!zX;-{RC9w)0Eu3BVa;Eqp0YzO%v-NqrH^3Wub0EJfJL?2 zcSG^VZjwK^;S-6OhZK$HR@1=BRY8!>s50{oZ}2edUgP+ca2Ix(RaPQ6B11R)c%nqx zW~OB%`A(eri{2Wmw7kR?!7_7IiLrcnCL|m57tAvj%v*K2k9T*j@y^;(Fk(7G z_i>ye_;~F0jP&C|dequTj^MMNqAeUQT*L)ZsCSHnG`BYN&NaGj6KDeRBzE`V;4;m` z>lPYsyE5XQG?|o}Zgx;6dj=*e2JH3!M9#Fa>{$GIFuGETSPGyjEUF7Zd9>R_5v0~T zf{rJXKxIf7KH^{9D2}>sAY>a+rIKP=4x^4Mc zePriY5<3Py?sfV0)(Q7v%MRN9oDczA9G|_*pRyo~?>}l*!{)59EUkX-A%Ra&A$W?h z>`8X6E;w8H`PB%X3ZnDt78nEj^3S zLO$`{qyMZQF8-WjxhWhU%ye#Ic>5wISSkJb<3$-%8&#bC12<&i6%Em}*v>GlKZrGY z_oi(LNV|t-=(d^Aue05GS(sz0$cBO_--h*78<4c?^&(8mu^cRW`)51L-%-*({TM;m zt|f>L&=BEhwW2oFEHJf~*!y)ji}q~ztGCkeFE28UUE9CAL-9KWTDObKJWLD?HGLd> zyXC6*=cD`fU%QC1(P;?U^t|n57;0}}ir!ZvZ*Am4R#g0Ms-@Z=t$x=dzfa!XMrtxF zoT4SC5VWA1b9XJ6{uO7J?NzGO+eZwg1zP(I4j6FR#RnD}s5+;S$?qA0S91g-y02fS zFSd-n73X$?<|#=)8Jl*lQph^hLZPcIpF3hO+4TMX&pcVTRlkgkvEEBTu%PHTDcq6XJkFV+>Qr26C<92@}K3D}BKe%T91Jh0_*5%{!;l<@B znTs1G1tSIFM{NxAqq?vaBcx15@SF0a5dB423}Q7?u^`;;$o1Dl(uAJ{3VsPRx5vN^ z3EM^{g_Oxut*d_(C;eq3ZoLyw+cbEfvMI8EgTvI!GReMD!}b{B82THGuLEsDM$snt zJ7iQA1C6-Lej*vzuE#Y3tQ$k+^EONq1@U1oMQrUuFLRw(dXYu2FXNj}ren;iZH*3F z_q0?bDqFrBU0dyY@|Z?degB31)88Wut*h%iUpBca4QcWXePPZ=jfym_OV;AIr$wT^ z&+lE98|m(R`r@h<-2Gg;`BLRC=39YdeGx3h@(?D$A-19gH(QvU*oW-YcwPPK*W~si z?GLj25=JJ1lOJAX>3N{v+N}op!pdUa@{EB}dm$twBVd2OPVpqF%Xn>(mFtf_MKl@W zDRwu&%T(v}m52OhR@Yu>`>&F~%>>(+$*Ute(nLJKPW(mm1N%eUK_}-pv{CZKv%9bCb}_#m8K++)fd_uEVpH?eP`Skc3h66D+=?=_ zZP^NiTTM5SaS!fu3 z)|!~$ku9>WckWgnAM7$UxM(=_V{I-^6qNrs`~f2Z%a?7dJ~4k2>=E~pa<7nC%Q%HY z(YZ>v_h&RRSIUJkjY;>ONU(`-;e4|vLSdQ)Fbf8PuL|sm7j@n>eR-%sDt_d~mUyNg z#e1xXFSvTK!rr~oKv$y4tah~26S=-L=@PuZ*t!0(?Tdh&5+KIQ-7@Z7S?ERc-)B_x z-}y-SA>MpFLdc1LJ=-l=xb6@%()f9a2c#0FfKgWRUeO3X+hJ>+c}fN;Z^>I4)ccIS zDb^~Na>%gGDV@gps^ps-^)2f=kSxMVoY&>McO_9yd@o$JsB5?Y;pQXvSdk}c$naXq zKIm1ymLQc3fAdysV17q!d-0HljXIXOl%zG|K9HbPa#uvje&-qW| zBzIgWUL)b8(xA#o!^H~myHQ6Lt&(SYSDe2o%shomB^K_Z(zT7251kC#O-a3h^^IE6 zQhH*TfUOd1&YZ1xv4XfJczRzm^rG%jkCTl4vT>N?RordKn{(@J3JG8SO$wNeZNGeU zBmFbE49YwGj8HB6JC{S77wN7uP=;v7h_&p zWFrVV5mwP>Z^Wn)-P0S>@PBThQ6b}h_^IYdiwY!p}WV!QG6C*8+ zoE3pptM2A&r1VC?`~l=Xvixs^z6dFYNlI3geen$nl<$A+G`0Ap3Q3`(S1_6c%x5fu zCk<2Tr1OQnUh2|M#t|W^=)grX>@eK(_Dw4v>08a)Ie|cI#6jpX6`~pBwQA6iliNH5 z$^Wp(mhzIVLS^jJcq@4JLp-RcpgbFaOu(ALj1S>-FZQp01b2}8=Z9zv+k*Dz3sZ?( zoxU$TKX-?5kmBgb-F4WS_;u1xfSgTmJHc!(5O)M9B)F z=EAQ;PbV2z05&S3SbRxh`%c>@_1x$%d5b6U}8`E zH%Qz~_ph((uYxU(kw@-LgdZART4XGwp^%~g|4YcTz)N1L6pAV5!dp6*KuYSzY;H}YrK4|-UYpPh>6x*Aq2Y+>uBt%hQgHhAO~RD?PJ0h zu&D043uAnGj`@IQ)^*6~Yl0*G|B?09QBi&0|1hN>jiMkODj-rK9YYBs3Ia+`_T?Pw4+p_18*rhmI=1Nr%G}M+ zmpSaF7539C?FSmpT-sS!^L^~A&NOomGi~A?OdryBY!Fm#*P>rv-i-a&(58h5ZlZ7x>)i6@owxBfJB zdpnJ}+5f+_w`NK9f^V$DCAK$EKNG%KXpEHYhz^#C<+pU8(B?`o!Hz2qCkK@7Wp?YiJJMa_GWn2tf9 z3M~(Hd&VPJ_QeN6wqTDL`wxWn7$p7TMGeQ3UoWW5hN_z9owiTzrOzoCIa4EoC@fy< zxbBiV1$S<#%6%>O3M_lE+|>ySz5_(Z*Gt^C@Z{p< zqdhvSuz!d4#J6&LNj?-^P1PjeJ-2*Q@R8c%r>Zae^WX@nYFPd*>CE~D439&B38IrH z78fH6LFY?!X?ne!ULKFarvpj=L%t7xg8UZia@D-YkKQk0C6<~f`T6S z9$3V&orTKWm<@Dc`@60nCIxGycRs4|sVh+8y)K;oP&WF5* z8(2B4eOiC2-+aB8;d0}ZW335T4di&ZtiQUiZXQ$o_}7MagEQt+3}|DVx0SQLb_H`2 zXN5!BY@-+YOafsX&abCu!BST z2U3s4or@HwM1E`7pU4TONuB$~i*$>?8RwS&sl;Krr!iP)n*XI7iIVy!5!U-5()Y0s zIi?5Cwkj&62lwypOMJq`h6(MiG-I@?)B0*TPe+cOgAvm?aTiM~*?z5l=5}!I?*dHtc_92vXON<)T(MPQrDBVqO2bOkHd6U@iFd=aqoZf zvE2ymJ&$n@&c%mf+RIziSER^U8h@oj%!ii3mH`)8!D}kC3%E#)%B#@F_#&?RVw$nTYmULT9s;8Mrc3+XC+ z?F9Iadwqa&TvDyahDoR3!ysZfc>{?=nVr*YZ|PNNdDW@sDbK0OkI;|@4g>=3qz*RU z`|?uOfU8E+)pNTBJ5zP4*LL9CBrFdfP>Xl|A1Aub+}h3?5G9>r?Om)eYK$?5@%ufs`?qj+a`xa1ntLW6z=#k^X&PdgZl`p;j2 zq4shn;KBcN>Te0`>Y3Ztxy%fQGh?mc+&j0>>Ye`B<;3K5bp02LW^0b%_*V$p>Z<$@ z&?~UY1ziEjl_osT0oDCL0Qx2PKA&9A-^ac4zK0WaA7{n1l*evhC+Z4BBIr+sK2fEj zp_~TtRCVxD;pgmG&rqb=9+;CW#J+In7|Z_iX|E$z84nHMRDl~jnPjbWh;h0#Ht3GH zU8~<6p(Xq##0@W3TJpiAH6Z9`tkRsnS#A8b;I_D_cy$%N@Y7K`)>u5NY zuyyap;ICdRGF{dqz!Rj<8uQ-0s&L^aq(60BHM2guVFppFXbFB zV}MTf{HCH^FnQ=)#QQ0vTX)5=okQn3E!jG6&YdAl5Q?`{K(|f-VsSv13}$5eJ&n+t zf|?4iaS~27&M@0$eZJ7c?1Oerd^wN^`r>U?;doxe1F%EpbrT9Z3hN^rmw{73gfsYB zoCuU3boz&`7sxM^zO=25RGtv>d=uaAAA^Llgut&1c~YKE%9O`pt{f-!!yHz^PPA6x zHjK4jhn&K90@;#9unXv%HuN##ANZ`#qSqIOoi73xf8d>^=&FEtufwTps5FYj z*0O+;zQZEdc7pU6=&-peNhB%c3 zCAh{3nqRd%?6#-CHhS zkEGuH>f+3|rVYkJ^Kdu4Ifo=cgkw|)x+&`5Hqg2ae^UKx$y<*2VohZm3cGKNOGB}Z zABHkR_V#w?o3sSh5*wsh+ICt(Ers9Jb~||W1tuB#lC9>%@ou>P)bL^RmsJ0OS981Basy9xFFE7hxa=MD>>47%U&p z7Qdi{JpJvVTX_mZ2^AH3QWsgw!#T$-;A3SqAqo1z=4WVN?Vn8fkFmNy%UStiTz`xVEDE2j_8g@?fx>;C5*HLwuqUmSVn zhClZgoht}ok8oLNMGOnPBf8>&xK&(l=1%Bk8o0e#mA!+Q#?aBxU6B6Mqv@U#t_!32 zHB)fgeo8yI+`>qsASkwV46%ohfU?2l_1)u&sD!pS?YDJmvY^0_JJ<9#$P9qY6rgmAA1a&v=niw?NN?6>(nehMeKD@khMF}LI3)P78Z9uKl&pS--N zdp*CrsoxoY-FJ2_rG;OuX{F+}I4Na*i)u(dJsjRYj8=n{i$>1)KN{PjI0<@P0VzSe z7Q7%p;Xn0S_y$b#aD(6Z@C}L@p`Zv;V_1MQ{S6!}>9!}IVFjdm0-b%SOc@i>gn<+g z`Zqk#-Bq-b9W?An3lnij(xIRD^J!CVSE&9A^5|5rI~#-5+T!fiy(EITzcN0P3%uNe zY4ASr3#~TVYR=<=Gf6V5Zqh*3a_sIxWIJ*kOpe|pVrFA5nNp~Ev~aPJS9tjsVCl*M z+R79y#-6m^G^3lP%ZnU#>>ALIA%8J&v@;;YO~)5Oii;Z}u(k{k`Rs@Iwv*V*Aog`tYRDF;YoRa0^{^4B%>Z=0hVNS}|T-L_==p#%wnSWl=U$FZCu9+uT#pA#Md*9Deo+Apr%>}V3kkQ{;TK}w|+}D${XLL&h*zUK+o|XG4OX&2;5lj2;-f0bb~{vNU{k5>xX~>i4@%FAmm5lUdQ4@ zj?);***2pV^KMH~rK;)w@Z&GV)j7BcuYj|LesFW;u^}@n_zOlLDO1qeRqQrV0o9|o z`>gZyP%(ra1Rulj_usoV>xx!fNVi}=b<;d;=D`2LN)Gni8`dkoDPj;KMu&= zz7em^Kp8<#eYL{q!NQY zDPJar9>Th~WK$`M4kq{hd@sk{fc=`M$Zn)=I%p8{KEQ}{rJd6-g6CbCHV$v!OSz_9 zbOXSib+0gFYe(IL)^sc(eN-DvyWZ9;Yt{pJu=b_gp*h#Oo;A-Yq|Xb_7IWR7FNaWQ z4{0{bM=TN2Oik7*_2LNz#Su(bKM>!Fd;B#@$hvUASyE7^N8m@za*!hAhe2_=c9Fbt z-Lx~0HiLLvZ|c*#AJut(_{(#&@p*N`b@EJXOSl*m-wf+p3$v?=S@XOm@!`*VYaD?o z(4Hv2eWr8Y3o&nI$iPEJ^;_?8Z2s?GPkD@4@6sy?B)$Dcp~=tiSaUh$1y57VbFyon zU%Y61N}`e!I;{s3)-Q9O5-71IE2+Fde)vC^*bQ zyx?Miavc5MfV2LuQ%&^9h@Ms+AyyL{b~N7eVT3QDkjzt&HMV%zU9qF#@NAvl211AI zc8Ed~DsU5h)3>@4IequZmFw*WSen2DMfu8*$h`<9X9tH|=6I5c_5$qj_6FRv$!B0N zN5RRk)U-mkK;2khKc&R9VdToaPz~(CTHnM^eLgw&#rJXZ7)$^s)i4#;LYW23)pEYk z`*eCkt=0{(3o9-z)=JgTGcnmlp@#B4u*<%q$Z>{jv;?AmfB$|p=Uw%)L;t%TD_t~x zwcHcIP$2PA3*1vofSV=F&QwJ^lK%JnLQ5b`|5x#Dq*bu%eB&FZ$6e6{?TlmUBB8V&%<@2qF0h7XGw`Z2 zE1h~9ShI2&2CViZe<2G8DdkD_3q1@ta)37_Ce>k|x$X&bImj>w-9j=7o=`z-?T!7hOg{nUdtrL%!PM?#TvXXPtNB4R zz^luxnR2mNnaj*X?e#7+2`x1H+vI8_a!g!5G6e-=#)v#CbmeJs`DZ{^tk!ynqb%K? zzv$l?EzpP{UcuNqc{M=Y~7gor>mWn$e`!p(QL*Sha z;bE4|D`^%Xsy7qBUvuIzZDD5`J6aBPv^@&n(X#Y$d14!~cq_4PISC40i)KHuaLF0_ zJPOtspS%~WzXI$9RK%p%enOLT-UZp*qGlFt9fW|~G!ob_L)k%d>YI++sF#+M0S76#HdW%b?`^5oIHj>08{y4P>t)U+sw0DeJ=2#8GjX-MX zh(9Zk1M+e2CnX0opgGiB9ht4H1Lf|wB;u^5DN@x@t^ujAptI|7 zRScBAw;pLZr|Uq$1Xste^8S^?M?>mv+Z2J|52a>JuglC^cI=fEF#s;g837Ge|MV-} zX1+rEf9w*uhAE>s;=2;;C%n1s&Tw@v!(A^Tcd>v=gyz*;Mw>Q?*Mn~6_R_+0v1ve8F>}%fEp9IT zBRULE%dupabX(X#ToX&=u`?F+*)byRne4K=B6*u)Vs&q+{V3l{;lK8C{CaSoFuWiM z?)E#cAJ*EI()4Xz@smLw>Ce1G(^rI5=ZGm<;G$nElb9`7tp91Ld}@k7e{KzVqE{3w z>_>a0QB4*wRvSybLd0c)0SX`PYJF)f_;|}KN2kSm+ko|vLlTu;!0#gMY|0Au!({HE zve3iz=MX)0LfAM|%t0yV49bn)d(BY%64WO)_VFxg?<-g3p@6# zy%H{pF)6q&J!8=VCM?AHD?6w@5HYFkZ-FsHrWR~6%@`~5tJ*R6-CHuSu%JUpVh!}uuRGJb^Ae-!b8=**T1ra??fTP0-NMq*@}3kf&h$HT z4WkiY14|(vD=mEV_XF4+>|6)&JvZE~)UPG3FB>8#a&5&vSo|i|{%C^Lo5{yW?TF z=i|qnbgx9BHakP1lY8!UlACDU>fal{;UT-s(ciz}+JzsBMv$J*GG+(hb=rG|i8tlK zXyPT9jey_fF!Y9JVcs@`x zArbZpz9x%fMMZ@lncPxynkWc1iKe9)8_`Z>le4Atau%-^`EpO$*jYa?#pZQd0Qw!l zgIeI7=KF=`Dx4M%MxoV3*us$BT$&3Yv@{&taIjIG+d?xNEcbct6HGp6Txl2i)I^_h zJ8_(2cPMXpWVdchLyh?2>D8@i#U8Nnp?xp_KuGCnk{G)4KGAFvYj<+9{hb@;&x@QqqDHj)O?Eu>N7iV?6`DLVS(#MA`u%<)8?#{dDiPvjRb z&qd<}4~xRL?;fX(5gt1GI-QSxihM_0Bj85-y}HVFeBYYxdTs0UXU_5xk>cT&mjo#4 z^5YOsCaZ8+gzM`%G8SLbilSVkT-y9nKJQ+sjxR?xDbhG@f7&jZn+$4eG##y;H{2Hg z$aXQCr(;R#;d$B}@K%kA$Vu#=8iZiq#-^0o@(;48|};JoAmGR9}RinhK)_V9vStrHe>XCi_4IXAj{^3J{unyeqq znCmKb2vv_jJ2UHEt#7=g&5m6(<;=Fa{ev%dqVy{V8Fii}4>mUd2f$BWg)^Fc>ctT^ z?HB{#=8$PS#M5r5l#Iv$z?rEaiq`KT$Im;Z2$wK>rONT1y9AsCbYy9^j%;peTJJ-} zDtvFj?Qe|gLD2+fCbCTAZ+>U#Prcdp;7xMjRWG6X2h$d}TqPbw)odWOsTQmzy^BFQ z|Hm}FBS8U7U@&mkZv)`?Lj2sdn|FM={|p7mM$a z`gqPwcryseJN~A?sxG{9@A-KKMj}b)IYCyp#>huYuU>^m<~+-&OI0S4Hy4D=;WRo z*RPsa&Y&u&@e7xn$xEi%dYBo?^nkw}ZmcNIj&kH8(F+UOTy8!(scrh*4SmP$T~j)< zA-}Z-0`wpQW(-^wR$ntdq6xNfrWpL zR^!3*7^kNPbS;Bv&+9aoMw_PAX71;;Jju3OS**by&tn*LD=#VFd;qY+xNu?wqhlpk zJ#6+i4gS3l?FudqDsrQHnNo`9_QsclfPTWWkl`0olq+5ACJTg~O>m)PG4^<_kF$H@ zDKpuo%F)<|!`E8%h;K@~1_#&SUl$jWUW}Mpg`J=2leCxvO#`)et}0AMz5cSOkYrIC zJ1d0t&314NU6>i(kSimcoEVH;t|_1veI^3NkIl{f#si$U`lqle7o2Wow%ye7_o(|{ z;v}Oy64_Rb*{;Sj7pz{|zTfKjB*McDcv42+mdTW4?MMIAL!OOSdd>H+!dHssi&nPW zoZP<9jdXpM)j0lIl}&ZAG9Wmqitoz;frM!0bQEUCPsU4qTy_GW-?HB#r2KP}_Mofc zF74ZOs0sT)AH|CioBx^pqDW5{rGK;Uk(KLayC${WU$35MQPMb8^@Y5_TVgSlzpA$>ayF_9NGW(N zh5J0vcIk@()3yT}$4*PhfKbW?*_Rnhed8X*Xoo|7m)|sKc zGXH;fw85fId$AjblGG39X%8;l5##@JM`g8!)0Ju#Qkfx!a^J@&ubp6Ot+OT|USBRr z_C5y*j8Oy!Oc}^d&$jzcZPeWw#=7wMJ9kY)%`?#*V;yn7y=pIo3wxd>3Z^Y{Lyr|* z8EGT*syd+qQ?DM=s1U3*kGRpd8VqKyVRfDK!OeQ$l2;ciB8q8FB79nfH_H+) z-?g%J1b!fxT!tElih|YyGj4*nEd%q-P9C&xS&$!J&Z4QN23W4!hZ~DWTLM33NX>jX~fzgfYRMWXT<+>!-$+#GRFGw{UAA`JIHv$#W z*@ym#fr;qBvUhL=-!A#XesOW&U-qHfZ=E5|+qabs4Vj+F%F2pLN=CxdGc#4Sw5U|B zZAHpb-m|y2cX<2uq2hdeK%{e5CIFE$CgmTTVd#3MF4o4q{&0)bdDDc*P!6vQSW zA;HYd{Qicst1F9VGZfk;JTNdYHVqN?jh3W+EDiU7dMU7U0wHx>7)EP}&@e%G+04;j zR)rK3j{)<;tNV`5JwzlROgu|7;7Zr&~OHxJ zY-gPq)FOKomhUcb9<-G+wg0yHo%hy-di8v^^EM2Ptr zynM-=xJt*C0ko(co1Em8m1O||Ut3bNwYTT}+|%2u0tSN~5#pcN+1gqHWt;cT&dz}1 z(#S)H%wNBLsVFNGhyC5#E3Xinotld7@9%#<{pv@qtBnGm=>4vm{*Df^dwhIW-&$JO zb#!!qdd~>;0+0RCo|||`-?>iN0}Hjm)MOW<>nb@KOgX{nj~#BSqzyKn!_0Lx&kCgy z`4QOh0~{ysWJh;*L47^*{QP`Yi3-fj-4w;*qMjsRX4t1cDW5 z716k67ynb$UnLA-e6@f|Z6XcX11~8N5|9IGJkxjeXBXZ2+nt)4zMGaGrvL6&ZL*ye zAK2Y3)ve{6IyujFG)<>n^#@bE}_!8aDq&cAVf zF5ic@knHw|U~o7QP_G`4)Srqe5i_td?EP`STj8e$){FcH)z1{7LH5Bqu{GN|SZ+!-gRn49v*myKdJnygCKD z9)c7qgU-wj>X!Gn%_~&762Aoc2`yNxV}Kk2J?CSXl-o` z$n%^=d58~H(^ItV$&Yx1N5|@=#!?E9sc{isZ&82G!If*csT>eTRIg~nx3Rtu@dhqC zx&t4Ci4(ZUU$#h*O*>|caR{GqQT%{%jbDF0YK!namczQtMh4CI5IJr5Q+^;g%^H|a zew*q1hMOWhUF<(JO<$3Ybe^}Jm@3f99@OZ(*ENd+4Ig6X`Sf_-{>H)Hq;e%&{od{w#) zBx65+{Mb70%`UC0oBLXa?mLghL1Mzn{ zemn}9Y9dYO4dbU>tm1ka9QIW0=n4sjnSt^q36K+2BT;!ALljHKb&a1PiHj&W)qc_~ z-5w}o8w_sTS;iSR&CT|ICCGTe3H|-m&KBn837{gE{R}SQ>5A&=Rhht#Rb@%RK|x2f z+|i_<(L*`%2YUag%7P$NH$(Q>Q23LOuN#$!Sbi*7w9X0>q|0)5O5p7y^p5lH&JLL< zB5Uw{TwGjvMFoRp(iB%lONy8A;;+;*a%t~Q^>dl7?WQ6n{?p2}^!u|`c}GC4`JK7> z`NzWUwdLilwJ>2xa|;WNSwjN@o^Al!K%CJr*WFE?`6)48Sy%64%7K)mMzHBP+Z%}x z+;Ts5xx{hz#op96G%XOld|Cv>YwkLy8Po~I=^_bCUJ(0O&j zUsvBhG=kiq^y+G^mUAg}Xs_$819Me`xVzIciJF_6lbD*BMO0K&ls7a?OLIy`=*L$8 z_3X^(o7D&NWHPAL)jJP_h1E+v+#Yz-lP>dj<8Z;wQlK!mpm*;dS#y!xUHSLVQE*V~tBadk6ks9W{xR*CoJy^XJ!M9Q>6}C&UFZ@M z@~-2gje*D*;8CTo^X`^9!AznB-(8 z0PbJt%GH7*{`!S>~L>yh(skBkj1C` z*bZSP#eLP^_lcrmfT@1`#Buk`wa{j09YSJdDfiINpzlpgF=P<5A|V+ZM^p6t72Ms=>AzVKvju_EVPjIlFa3cj1kzH`$XJ-fS!mfEdSL zWvA|YXm^|?eC`}tOzGTQ6D;Se?^-AtoL<=VD%)A)vU-V$-*?Yw4mul=HcVnad?ZOn zTk562QJ1sxtt*u`AE-cU&pgpY>nlcz3@~VXR+M{RYR^&pFt5hWcJd#jV(3QDdb0)5 zAbD2-?oUQ{@w=N&#abNHmH`Orsl-jWQ<8WYD04@_B3G+P*UteUnm$s@Eb-jfBwrzt z=5UH<_V5Jp`h;)w#Eac;erk|mr^-)6W%UiM+)k|a=N<&1;Iv6znRd|gU2r9ihUNt& zYOY}=`+dO??y*1$1ExGB1h(Xv$!+50cq9#(+Em z?yL3lT;14nNWuH=FApY*jy!|VqS`dolid2)WiiWs zxU~Kr6^Til{Q1^am=+^p7(wo#17Kmu{ z*18woPw|u`B9W&kB>7<#iV6i4o7h|HW73sAk9CXxP}Lpu;xnPmi$`%+({cGv(Wy|x z{u4trQeDBT94sql3^^})k3NL)6_A0dHyR+W1&{tT`K5b4y{392XqCkaQFXG89nR@H zF&!uaxp?k~0+B6S{(Kde*Mo;In>dg4i*a2tte>5ncm`3n9+qaw*hgl<-zKc(Ds!CzFGV|UWORVZi&QiD(*MHuv}eK_4k zl1;DH!3M}fY(8g*A3EaBLOw$koFet-SeB#U`f3{7}ud>Z-_7f&IHq@7CoFiZK; zLkE{ZEu}vWe_F)(edT|Uu|&KlpRr#sN>-x`Qmpw>p3C<6sgZhNhUSfT1Y@;$3Acc2 z2(94}3ju3T$a!v|7)PO<7&Cg1I(A1)>Ds8>dy*A71~OI_xQx|To#g!~CXL+R!|V4eeH1y2Fa&Mc%Mwow58(To&^4cR(ta-?eayczS6@5)KD*i%bPL z7L7vqS9)1AL76*P7e^_tG%T(ak z9U86|#>|ZV<`(G4*WoFDMZWFNyw)I~C=@tfHOXNH&pm9a9W)fINHX@)4O8#`i)~)hmK4TD-oxk! z^pV4>Kidpnl~3{S&C*xg+kLzQAO;*t=RKYE$W0EL(_Kj)F)&ot{*DNu6j|vFaQNMF z^`4(i7$4sRf=y`hy(edHWlw<~RkFgjM?j#WOr2=lVy2I-uP!D9I@8{5O}o&ov1SVuapD z{V=Gp1yGLN3h}FPLdHZlsIzv7jwDLXcuBwj<&ycUU*PD+6S4JBA+~qn?)6t%XFfhx zc~$NUXk1YhX0>XUpIlEl;V{YXG$am$ek4cA&VL>Lakak4V$0yM@$hF|6`v`&dHsz2 z*OfM5U9@~QFJ=s^>wJqZmhdN#Jox;1^B+k zHR$$Fo19PN4o|?!tcR;Fl(6bo4zcS*JBC@(BaOovj?ZL?CW87Jb3f!Y&3Ig`@>EL5 z`0|_GXw++}{7++64Pl}V6sJGT+I6BiZMjxneXg)6oyAC)^%s%d#{I6pwTzj=Yo6Ts zSgj-N${cmJB2%X;-YihUD4rR3(sg(;dpfQtTQlO#OYaeTL*W{!N>Uho@1xE?f7oX7 z{G=(!`3-W-O@6W8{p)5X68yAfJ@3jc2V=g&2Qek%q%Xa*g7dL?X;#7%x6y`jPp@6~ zaEGxRO)B4gizE3=qfOPelMdJ3I3Mz*%v1bIg<2fCt&;vn)ws~|q54?ExHd0eI7>%LMIujoGg_UT{w7>w ziJO>BL4s+C#z5Ph#~ZSeAHQ-Z;wx3ux(Ccq@?Re2*$*&N*-R}syYW>$4Y|Ylu_aW% zUkSCyoGZTQKggP}MY)b1Aa;L!e=VuP9@Jj<*D4zI`PL8Ey1XcaXXfoxeAQhi@`)pP zNoSv~a9mw2?o8t>3&rz`mPIEzL8*3z+hjLM)@-$ELpg$pxL4i}RdlacqH}RYyuJ(F zw47`UB}Wo+bnxm7Uw0f%B#7sxh-J-69jY$sQ3mYV|8@wZV5BDWq4VEw zevrJS^yq5YtJ(bDdd&Q#E%bkLpS(~@AP#(r`pqUMS78K2j$J&M8t6HT&D|Yln`T1A8A3 zReGvT;Fram`DsfS`Olh`kB(qF*}8A%M47|ij6cuord*};-=!h>E8!V+orGJ&Uwgqb zGAW0L&jDHU67RwkNzBmbTKo1?(dZ-cHLu9$fhQv%4Ul#JOY0gt;}LdLRJ-iJ+SgmE=OI7a!lvO5o$5dCqHehB_p{BQ^rhqyi)`iRnpx%J}b0e7ymzOyx2WK}0lk1jb?Exjn;2vvy6A2fe=}dDvNk z9P7RL`K^~zoq1`FZ{p~%n}h*{S)vLwc4>(li2d))5)+lzD$Q`<%SZ{+3G80Vs)D6o zi$%=8nhw75v%yw*@oGEUWcGe|i+NLm|Mi4{i1);%#9|A`&RpzAX_nx<3lfSlIr18H z-X;xj&Az|BIG>bg(CJc}9Ih){5VMsjd~kIzK! zyDPl;Gd#4bLNU}6eSLjo7g-M!sd4Ds2^fcg-_Phg8gOR4MXA{1FWSQwc$D_a+2lyZ z1mI?1+*&Y`|G(xk#lTt`p!cC`W`RHborLAJwN7!fI^%|@E*nvv4J;n7c%UxS_zk=) z7mqp_k_Ul`04%K3WVHOK@8v#>!mZi~$J-!ZM)5i1R~JXi@-&LdhSR*{&JuLhyC+^f zv8JPvrl7KMd$qHB_*XW3j!$`9UVOq@ec}`Tb~00O+`SU%B5?Q(6PVo(b&@R zyyY_IMX%@*LD=pEX9%QSWxP$}@L2*akNl?F>B5*7UoFsJJ5f=K=jjGbaCVFR2{B#( z0^nk^v*+-AB%hppJ`XqbhozlU3dKki;Z`i$%D_M3SUw&K>9zwVHkI3?P35gBib=BB zCpsy;x)~>Dh4S!yyqJ)Df=xmD&+UwLf63t9%0h3mYkoQQ796|@qyh_RK9k;zj~V8P zGhe+*R-3K0i$Zvtz5WvM-H~U|gN-pVufmZO34D0jLYY2^Y~~c|_VlVXaeQLqiFA2i z+^235Tyi9x*{tDMk>k_HxH{y> z(6bkm<75bCzB(&4*0OSSc8INeIER$G3mkRPh><^*r;LCf#*A8JEL&syFgQ#2Uuxp0 z8eY3oZ<=(O-8nWD@U_Wm3*vy>^LQL2d)gr5`P6qb zA59b%j=6CyiHKi~gyb3pMvB}$}ASE)sX9&9T>eMF9ZP%8qB z%`SU5{3zbARY0e_RB+>pGLhydOXFLtGHvMKqu|8tM$3$Q-yKPk?_8Uy#nmNvuvyJY zZZ&pcadtF}fjN9+-5xJ!Uej!Ji&F1k6A(ZJM!RT|<4V?dN3LA-EHd)Z^Pji2&mOHb zmLA&Tj|2W3HiHZ|+C>W$e;CHD5!S9$J|IZjKi2gdfN+tTzPh=gq1&-x!FYwW?Tzsh zan`xg?Zrl6vf0`tpedtpY@V#M-IX`SJbe#$|9G$k1y}jrqkkRj#s(VbDSKRO@EEI} z$?vFZ3xECBz(MzQ#HU!jnbF9n$)732`z`I5?IOi8=b7cI-XLx_ef75wQKX~mZkI#P zeT|FUXqOO2p;|WN(Q~5+0@ius)Z;AM8vtki_`MC>u-00*&-+4yfxcI%-iqE^FQoyP zxwOdVg#~kej)yGeYXEd`D!aMt0f4(Z5H7#rih#0nfI`@;cNba&v7}RAc{qSIwna{7 z0*#KSfQvUpQcc(673qYFAKPu%zdTThrHDwapv}13+dA)Dv4RB~W!LWUil?#_{!{gG zS;8L^?yhKi;1R$n;+GFdbb1IXRbInIi>6akr0iJ|BtToj%q6C+P#WOZ-Vrqpd!6DX-c(F z#YUGJl-@fLr1zq9h!g>(OP3PqAdr9{El8w>-a>!`lH3En@AuvN$91`uYpI8G&di>f zGxO~Id$Qc_*pkxK7ge%#{GOg>wS(sg^C&Wz0LgP{CpFf~KR@z(on}Z=0TaRi(ApzU z&X&61)~{a$0&xfAmO`T=hlk#mKSedLto&6F5EBMKRXhbTK@!Rvn1vq78l@{?{QL{! z!jhAdRTlIMDJhArHbe3rD`7xpYbiC47?6_B1tk579_{8jAsY5_zV%WVUDSgpFPF%1 z0JiURL*fl%eAD>5CqG=!`erM#)laQR z-owJE^b6Ey$J}>+DO!$n|31?NnZIE_zU*#JOLAPyblCjY%#6r*MH8Y9J6@i5c~!Km zUvO~TBQaCg(LYf-)M4EBf+i1%4qxK}N>7j1hwdg>MJ%&ugi)>C9_@wv2r++kFhz&xjB zUi}2#0%Tg=w62w{ot$#x=mUQ9f42+xzOHvy1swLg;BdCu0L_|8en-0syKxFr5*y>- z;)*=Dxqact!V{Wnq4J)hZCoU`Z^&XGBT!HAj_x&eG@TAmra(?%wK0;fmJfwmw5UEY zmN1*MuIas^o)zuRQywK_2zk;bty=t0;R5@@Q7p?Oo9m7J=(}C!VRFgZo7z_lbZycf z22m}>i+tIO3pm)u|=W0iz=pKabLg-C|i`Co4W8UXsFh^t0h3jFoP zQlsN^=qlXY`t04^I7)V%msoKO0@{+2zd!Jf`e2PD%my$mfmc73!O$F?YRh?E!4QeOgRs;A4-ngDKK%M+bb=89w<98|bXfVj%bnceol z`1@2<(Wc;EC~sIzuF~_%MIR-74%wI!|4lYp4Ye2~^s9=Fux$US5y~-LyQ7II@?{43 zCd=1-%u`LT^1FOokBiB(ghj;a&x)U(JqPTkk3j*n?b;ky-D@k~}Z%F!4~pQ%&u? zdiEm^QBnhwInvClZguQ6!}plT4|`#kgM7x_(57S)Koad}cfzy4>rF{@RnMqW4eoc{ z%aH?;n<*%)CG@BcUoEsfRL{l*%;`=;>VC>ez*Lw>+^T26}XDO4y znnc2`dbNR89@(hhue`P3_=;0qNolqpmU`~rC34&4q3kt!xiX=9gXyA0o(_!W-JEOV zQkzyfi{k;Cd|6K_t5SVtGsH&L;{t#c#P4#NtfCP>iEP#-ErS zH#9aXQ=L^Zd}*=R+$5}}*+tQs@DpgcDmz5m6QC5G`9aKIjqw{Ik1B4felaj6X!g^6 zUXl|mD3anHBjXK?E;i(-KL84nz0Y^aFRU=Z;$?eE3OHz^!%JiYDL0&`_;bmOlT-J)ShZ9J!8~msZ5iaLV_g zt}CnJ+sI}QzTB2KbaxK#mP?v7d>Nat$DXD9m>Ccg{>YKNGMV`F@I{5O2L4`yb!wDV z4*BU)0V``LH~aAppI%-!zZ!M$ul8?ZS5L@5WSto^+d#?9lgtZRAKgwlRFR#8o7ZzG z`>w_#=*IXRv>Uy1$iPGbe6G1vit4?=l$>M_h%r!RZy+$#t#7DuosUtu;NoLe5+7w2 z)@ILvry?b&9Y|yLd3{cG?sMGEKF$M&K05LFdF8rNCGh}j)v)+H@9LKk{#d@RBz^f` zArMB!`VOU_(y{u|!k{XL=i%f+kH*YR9B7F;uBlhD^(Q^JNqQB&g^ecsEq^nkHPGSu z%FT=PFWWV{gjHklM2yh3{6Y}rP&&r38S;vfMgM$)@mj7X{tX= zT^hRKIdBz);lZzX^2GxJ&BHJopcw7P2THNt;YG+1Z*;-1T znS37i{mC(fqwzMg5H|*;trn{l4$KB4Ms!_MwcC29jD_H^BfeYF+Rvvh}iCgAr z_?P=z4L1BQ_jg-!G`XO%5$>KT;Zq&G!r!fEYoqnr;|N(8 z`d==S783U7xH1#484Bu!Mqv-f^(ng_O1oru%+%t$KR6R^zOUcsbd7uE@mrP#DmxBo zTqim_TKKsMCEzw7f`5Rk*LGx4LNBo{d#BA>_&i=jKnM#PlE)Ku^1E-KZa>4FM!bik z?+VgQa-XemBVYp6vQU~!eE5j?)KqMzWv5+mBMAUMNV_jVReUKNg4%fga%BqhvNWc? z`J-fRt(>G{M3kE*_-iou>qJWbJrqUZPD_G0i3jQf&dS=6)9n!A3pj)dp}m&8S^LnI3~sO%$n$Q;eD^Ys z7Mwd_3aY^TY@=~q^c??Cw-e9|A*KyMmfr&G6V6hX%{DW43P01@d{>mBPo0WYLQvvX zAKP1JpLJ0ztl{hqSlA){w9%B%jg?Dw$I0n<({cZ!pB?tLObfsDoapmfRKf)8{QLPd zD|IJl&FFW%K|VgPdyk1cI2NrGNJ+AEFql}}u!bM@?g+OMuOHpLk2fCE00Y%LDp6Fm9HHoOJIIA$MpKldk&2w*`t z2f&&wrZTyr;YS=+S_ta=wokgtipQl;@L3JR`O~F&@4(6A zIg`^_*91MOi5x!eWZv|(l7_!F;j@LXXb ztOEBRfQJK6^AUU6=uQY^qndrmi!j+NYtumZ$?OkXV&p7F^P_i_cR6>GF&kPNC;x)0 zLiSq_FR>y^h4rT&$->yXG23DGO7?T+M}jKp_H?y{k@sdRz%qgwf{{mOETc!pFk6C& z3b^+^Mq_FYFz6n$e%O|8_F$fbb8a-GHhm;fHth|!Z|BJN_}Sl6-uSC$%#S(dqji8jMmz1c!+GRCccg|v<@^iciMLC#`^c|YkCs{7#;xSWrUx1q zR0>E^bAL4R=3Qtlc+UXAv0^6w1N~sLJ~c#x{A!hLreHx`2`n$Fjvd9dku^rXeRt&} zr`TsylsTPFK;y`UihuDtYJ8$~2K@-ZkzkNi2w`V}lxtyR40i1br^wy88VIXG=kEn` zF=j#qE>Wgxr-F#X8J~5^qrrGbixuc~G+%<&(sG`q0>;;}mFF`k{u7?So3gkCnZmltvF%2k9|K?3i=RTWp3$8t_m( zr}FwLnhiJa_3Jtt+^`TpT0L)yfvej?j+X{ktI87%4)D%+=|;lYZEiIZzW0O6P;m5C z$Bi!UE{!J3p*LCqjKphi2vH5v$cugJuBI5Lzsl4Y6#gGuRSy zyZ4fQ*1o3>NULW_`!7{&Ppyah&xlCL1snX9jp5$07Ql6Vl=8wPo&&o>o7Z`;_44v8 zZ|&_+aWraZ)Mcrg1e=OUOx>#Tu^GMQBm+>zRInOZ$9Y!(3}^1Vj4C?rWH~6{@($~k z@%WCx2qL_Ja{J0WSamezBUF;s$TB*&aJ+ftpydBvk=p)eMd}9& zqW+&12@=vOiT8++3-zD(8{gWa9k_YS#Hn17=*>B~1z(g0{hL)}zYV`WRaBnqhtQgA zLd?zyTz&l*`u|~ZrkYrx1gGV{<^KPcr2n*^#`%&o0f&^FIKm$u8Wl-|p-MfK>3{f$ z`d&&dMBP4=bl{`>iaGh$sby0~ZL|GgN)&t}s3E}fQ+v&k_W=Kr+i*l@E_!y95G8-8 z)WGdf+WhCg44=9=1q3iWI|1VCqWaIZMXBirfm8FLy0z8__8q&%(orMs$@ru3owk2W z+j~i4&P!(>D$l1@r1t6iOl}Oaq z1!B#)cM&eokHCpg8nK=md|Goh=y46>#t^>`A&r*O?h%tQJKQu0cX%IqJa?zLbuEdmm1AXwigY zUk~h1u}=*C4Z;&?*^80+kYL=}9v1OdWEzH$cnNF}8%@BNhZx87!D5%pW9-3=$jMRff*>{U zD=^U>FAu`9bRALz6R@bW$$QPjJ%tE_#+CZ38y4YP1KD~1yE@XGlR3qSz^u2Wi#K+_ zo~)kiK#6Fy!M|=nPF;G#jCJ{aitTN%HV|{`kuJuiejIQc>eSjad;xD@h-Ds~j==P3 zZM4YEph#z_CeN6A5C{@X%!R5X1`&;cM){>dFp&lGj1-zJZ74=j`VQ&VkO=krZBmOC zK^Jhn;V_m}wDKqvfdP_Tf1()Fyc6s|Em~8-mtE8vff0UC#Wk%A2XCPCR#w`-$x1wO(p=-%wT*Sw|IU0H4UF?Wha*7{|=~ zAc^uq5s%dnoP8uNBPF;VGs)C<9m4gXaj$rFwkcF#`NLjlEzSkR`WdzYHPO}?XX`dDU9s~h?VxZ^=;10(mmS8WJ-kdJ@y@jvZVg_+(I195Jw(wQa zRdT;;@#>`dM%>rp;=!yKvQxV*~5)M2o%iI&AAD zaa2AfW7;E=d(UE7sTl@l_`u~immm1=2wP61j(<}bYfn=3UA9NR8LXC|K$z*~JhAh| zoZf2zrE^XnIxlTu_#WL#am@NgU$N}Krqy1b+%WC|8dVZVc|7;QLtw;%ev&CU68DzB zL1%t&_@=DXpi_mXPob>@yqsrvRN!0H+rIs-a79lu{1e?E;eCh<8#QrQpGS++i}7BV z!Fs}#gM_5V?N&V$f$N5l&Wgsl7y#X&Dn2Fqj+N!V>s)auM01k z`j+E1)D%;X%cP+p=HA1cJC?Y(JK+n@w`BO3CVsYVsjoL>Yv5@u z+8VmV&1-h&4D9Un01qhj^5F!z1v2eSi7R`}yorj})aLgGMf)htcP}|6w(f?DcE?(r zS~*tz>wMJ{!$g|b!}lXX7}a>AkU2yHGSV76s{Zh<~9BV3!b8X%n9GwH#mlEgowp?r43dOCu$tWCaZ?yNtvA#c^ zJ#+f11x%w(Q7XiXgG^Q#=CFrN-)si137NODs4aJpa(72iv%fyTV9w5Z0hhV)Qbpbg zr=xw==Jcbf?_LgrC%d!wBV-jM5)LHd5XnY@{= zS^vhbnpg?1sWEzB)VelzHCr^mv&A%K4Z6Jnw-Y298_vmmtEiHgqkIZCOLn1~iC=oF z8DQzKtn6oV%V8cm9ZeJ({Oie`n>ozp=q-+9#o{KRT$hi3zqH^~My0nO+-8YeL3$&c z_L%9K{)SSzu4IC)DiBZ6do4&jO~ih!+cjypv=royG; zRhz%GuHv5hDS$|IY&ja>gHXYD8=-h%8;)H(&{>y&!W{RUfbC{E{K1&p+UN9zqEuaq zOEYq)91m5g(<$r39X?00>+2&F~=SL6y>UVUviLP~7h(>`HbQ4tcsF>$_Rgx7#b*F0MX=MdL>k zgD)>KLyxZj9-FXx8|4iFM@TT3V)e!cJtfTeZt(VOGf;y_HazEz4Dtb>?BE{|!a<4a zIdOHtJuZ?vm_>!Km)O;w-nw-Am~aG5OmEw?JqC;(Vgi5tvi{0R4>z6-o7RHd_ zk*mLWjI%Fgh|0@Q+q@cks4s&w9v@%ze$Z+ixQ44b!5NPAqw|ZBNo{r;^GTpyaW9`M zq-hl>C2Gfxvaefwk7eGs@Mmj|-Kvb+pGjVEG&F@}h?5j*CHC5;n=w7DW)?9e>v>uM zK!;fG83EKQCYNAz_Ff2W;E(QdZ*i?W)O`D+6#a}yd(0mnB(?iq5Az}%OsM@FzX%Kq zzbNlScG=1;bG7`tB}sPi*n_n(wOkyh&n$hrnBQuC2 z3`vl#{X^fL>o3C`pae|S{P}=3yzI>>8$;$CvnBmr@h+rK*7hzbH~#ro!bUs6Q7P|x z{8Z)4o#yZ%IHl#MvyKZ^#viHhO&7!rR_BoMG!Lz;&j0xd{a`RUM&x`0m* zYSb7&F%$ZneWFSsyHUy--M-sN8Cl&Z9rp}ftB8_^Tasd4SNZ=gD`(=U_>=*PSJ;?| z&&%V=L(e#!i)IvK{UbMdUhQ+3uqzrWXR}}5c+6EU$2BeToaki%p6CY8$b56swKWhy zSC#GUx{?o$xo@rCaagEyzSpAgk(P=a$-KM6_(@89sGf1=&abUwqCk1LUBv-n?y%uT z($4n{5yc%p`1^dZo}7)HW>ntDyLjn23&MW-0~S^kKI1V=%3Cv)zdZ6=<8^Iblu{Fc z74EAkHt`3%`<}b*j*A(PC~&6i<$V&HxDiiOy8bNbOTYK1Su4Ar8y>Jo%KQqB&S^|^ ze4@^tl_>JFok^)KV&r-GMvx&kskyu?hFDihtSnA$nVRsDdXqF^N0niUn10pletQm` zcNEqA=!k5?UQ5?E%&q}UOfd5QF zo@1)|9{;Mu`xhNB=m@8aDO9MYF21<38gU&$x@63Tt#WfRAc{0Z>bXij&w3T<9OINl zv6pewwi7gElplrP1gXSMwjb8#^B#YFUZzT|XjsD^bGZrwahUu?3jieF@j#;kaUTf^TFJZ?{E+U#K z-%its>>UO*iXXC^*yuZ)P|LokF#Z|sMLWFY7*xI(I8sgwJ}AuZHOf>02OsZ;n6=ZY zobHbJZoVU-A=CM7WiUMR7KT@z4`aAD6ELd59IpA6W3gw&zICz$SnYQ|Uoae?m0wEQ zb?Ch6nj<+U{7<=}$u#YmG7i-(Rd+cKHl@z^Kvm#aIbC>-ZA79}3+*_wknA)HR!AX) z9hZFmTICRxlnr`X>y$R#^-wuLfOF`hoTJOhwY3{1Z#JSm!)n{4vx0p6Ao&hWe`PKT zzf#ZEyf{oIf<*XpnJh|qw=nIs2X)}qU$_b}L6qzcH>dZSlkRYNj65KnCsjFqP&(Og z)q3l7u5>(SA8UsliDby69DDZUy_v!7c@FXk1j2zDR=rW#vVevV10VA3Y-~{SD6h1i zY`-r+l~2z!{5_vcJh0|of$O6ox>=u%oCTAf=|8%*IX0FEK0Nv)q?4tghw=m<- zz@YG9b6rlOh4l?gvxse-0n<-S#SIRZRtDWd^hi`WA$%$n^#gkCf`5ooM!YFQ(uoUzdq=fM_O}Q3&F?n zHbu0)gc{_?I2rrKTW-l7Q8WLG6iKb;t{VhiFfyt;#`^zN=#|TN3u+LXWfMh2MF5A z51*qKG3FAdCZIqESdfTi@YB?T!z`TMSY0fX+|*Mtbhy`EieV=0F^tVhf!XJ-DARB6 zsSELDotc-m&pWBMcG7h$g6HqhRCX~G8WYbhyYQa2qL*({Tg?E*Qp@DCooU@2C4Q%& zvBn&cuNymZ;PxBbETs|4JE8OD9n*#$H3we`&MCkn+7-26!TUGq8)&RHGsfw5y1rkT zlzU2);q`u2_<$Ra{5HAH<#w3FlLBkw=cn1UCKidOwtr3`$TyrF6RQoJsZB=4AUTPX zne&;kFS=Xwia7iDH_x4fpsNOt(ia#ud^AdOWZzyf_rIS|W6f7sQWClBce^+_;Jwrv ziHW2|#cQJ#cWk6@&y<_}e8lxT0Q6NwBdnyr&tw(eU^a>?NW>3D_QxEfTqHopSDNzc5qFySe+>Tk_ZV*ZoUu;2L6)^sCWl`Z;#0YP zY(5r^=yaZn0wwy9i7Mad0VsA;V-ZJ!{9m^&=e|fgTPd}@V2#nc-pO00ovY32-z1~u z9PTQ8tlO2^Pp-G`o#3V4o)t2NOJ84;%i9l}%{0vu6el7K*qV8*OxV7BR6ZR1&%HZ_ z?d#l(>tn98mF@K{$L>uMqJ61St0}BU6WRQetSB0+T*~|MG4*m@_r$DwsVKZO`}`pL zK&qvz`)}}<)&2*gnbfQp4N0kZ#newV6|5h6K~g%m;lq)~jgv7pp|AD<&~|6nsw^#{!#qFA?frp9r_jOffD6S!pukqZVIEalW|? zI#p2%lXL+Z>kWoZp?CatYlt%qIFLtJimOeq_k*ds6?G>9|3-5H1Ep0KxwB?z<~8LY zoabiS(VX1sr}tt3hmJ$J3h7mrorAzU6$@++trohY-PBu_4%|wl&emLV`oHT?CpNz; z>M^aihny$ZfAO?^b(&nhNcGUL))brF!`gGc1>(pfZp#=l?835sMz7G zhn^ipH}$VeH8LMcz3!-HKI^Knd(oI+&K~_|tnv#OecR{{+jN9_g9b5Xib=a3cdnd5;DpncQektAKO-$H|rPpRi!i_*E6>HFOTn&Yo5 zI!yoDtjURd=P%Z=HxWy)tMB6ZIox1iqrf=R*48Gri4Q*6ie$p=0EZ@gUw;+i*m~pb zwoafG?U{DUh8loF?iE_m@N8SX;N8<3<&`meE zZrm{a#nMKEmny{-vBUtg=I(UA}^>p<1akmQX`>AROvt8*~t09q9Lm z`EA^hSt`meCZR)XfS8tacGgDX6TIT+{nKbq2?uQ5RDvVHFIOHqOY|n4s485YV@(Vu zT9jid$$nG~LG05p9s^#mPqZs`<7>BPZ;Q<@N~S83qW_-6iefYk^0;4760TD&x{PmN zRo!x0M*7}w{qab{2enJs?=Wz&6N5jTa;6;3CC1190uGLfpbDN~xMx*2HfUQe54k6b zwh++}f$a0ac^{(59k+Ru#nAY0;tHZZL*4%N*h93+R~g$oKWNAToU{lqDxT*uS|uY7hZHBPRg-^PL?gk0JHm?nsz z_9{=DTwxDyBBBs1K3MQ#1)kLshoZ-(JE7cV_kHyauRHN21Ul!b*cVj&>{+JI0UZEZ z9CrnjyUyzu?ClHV`gh!xAmDtW|5eT z?;M{j;*NrtodTdIGw0I7nrL-05jF&&4if1)ybcjeNKn1f!$*Kk72ta>+GwRc7AEj zRIQ>c#HU0}CDBIMQsfkkv=P)DO|mr~VGqS0B9OS48obstAP^O$Hal~&f$jxd-I@(KwGxhSTAx+o7~95D`O_qXH1)iLOuab` zuU6z;Jt7-)^w9VL9!VgsQq7~=cYXzk7T}HSx~k5a+^oh<0TjkAqd6Eo6Uk6LeYNks zqkJ-`)=UHNjnNB|EJv-(Q==$Z45<(&{zfwqze!3#Sx#dXM50?X3Kdy{!ipvNJxWFFiW$%{)6iNyVYI z{y7tTtxp54GA7uV+*j)#?iDDW@ss`JHYRb(nY>zcSCL8da@8?unOoz+bj6Op6EK1v z-E*-E;3aZGR9;$UXUE$f=k4JIV?LM)CA9BPpDBPueZVNgXZSovAlELJNHYY{n?Om+ zHD*jFKv|?pkfNUb3S?z3-IbaeJ_(;>?iKb%;^2DgiQ@m>gF|Hi%y(uh1nrGG@_%19 zbuIv=uO=C;aw7MZ|H|UHPAyrMIIaB(2yF&Ly0a!Lk_Sx#k+K30!3}0Q(ImZZEx0ct z0JVDA6l2X(r^nIEg73j)Xh3~7PS&d=&)#DHw?*u!k0-&joy(EFfnCHZGWBB4mcgk- z@(RS>#DiMSJ94qog#<4(4l%*#0k^pI2<9k?M$Ti=2{=kbnuN5~;3t7`BD<5idOV`BDjC-T-t3(<|X2}b@%qRm@jRoPG9TDzl_LL|S9v;eeIfbpT;%%Wyp+|Av!s|zWaLSs&XEvLU ztaMG5pd@I}APy`4`}g6-L)=G_UM!R3%*#MR-37eKU<-qIm-60FAfm!$N*TzBNx8+% zYq13FLZfVg4jKdFa+t;UBr%dnKE+_=|4B)Czr+|gco7sd-ZTPMBYMG%VCT9z3`j{q z2TjDDV!eA#Y6ZE@Q&K$eHa9@{q2lDkT7r6BMe{B8e5PIAugm)cZF#O{9 z>;oDn@s@T2;;XYxTFTnWJ@pADm_k7Tn&03&A8#sxKBE&Zw4ZcxM&&4p?kU$ETB_Bz zKPUcEf=}89H3wYHUuFL(&;$jU$_77$9+|@cv&>tMRCR&b1+@aV zol5BI*9vUs>9BBXua&C=S?nyr(i0YEk_`MvAf=w>L_$9-w?Fgq&7V4!Eu8^Cx8I)(;4s7S_4CMFk->3!iudKDcpfkkr` z|B!smSO>Rn2(35f;wq<=Kb$?5>_Z^z4AH2CdTS#w%RWG7qg6;$|s)pwyy+X-f~=1uKx`SK(|hpCH*3L*yc z{J*gVNbGCp2`NFI7w#(aw&~?8zRt@qCLTCT5abBH#ecbcnEl7OTQCq5|Jhp?b$Opf zb}Eqj@Uuq9uHhmgqj2?yyvQ||WWcBHuqgrl8#=|^_(+SJ)2m^<#qPf|tYF!xk1yd= zhNUT860!PsA@M#U`uzZO!9TBxWklVV`#2%U29EF5{g;ud2(S?NTn4q|G z+tCD*T720G{98Gc41t}i<}3a!m>^iZreMxAC;kM+e;9GNQ&{Lk6kNBMeE#q0?JMvp zScZB3PlWq;+bQQ!Y-32moIswQD2wZZy@aDow;Qv<+m!Ims&y!$HQ1Pl@xT7>u_O_I zg<8?6kz3^_!oCthi7D=7ktgGQ?k10Si-`B_&UHIYl`ElMbze4*O8)zJFu)ZRxT@}S zpy6FaQf!;x`7*SpWPPl_Gio6e_r;s*JQZcWqy+sYZ_Y(~_r1z11-p!&d&zKG!Hi_~k zPXu?nY?7rLRdf0pQR4hZV? zCgg(g?u^3^vz$ZL4lBL}I}9Iv7F!6meJ8G8cG_59e={0zDO2$U4r@mcrfxmgfwKbA zPv>P=s-Ejrp7=>32DE?h`im7pBtV4igZS3IugI1Bl_v|YWN(trE;<-sgc*M?cay14 z;{}7X#p9}*dAo^OPhQQgE`G%En3oGLgd5k+;pX}ZG`WdYpKTHZBUWWw0fl|a1&ZID zaj1Im?RCecT9@f>wyRZA($e!uYBU{sV4UHzETHbi1Ap|#hx?npz{hHULSI{X%LuV7 zjy&#_bsZA#dyNb_>Y0z^PB=T@uU7E^-k%qfQ5b*}S_m7FxG@Gi z>96U-*Op#v#$QeIUc<6#h4>t?`r3z1bbV7_RTv8|hIoZkQe8~KXV>REGo9;K*4k5h ztrkGeK69z=1COVpnQGCZ+{LdRG!e^Y+F!lJZL3KqrwPC5O-xLNjXNohX8XLr%atwL zs@B%L+pTEbK)_Z`D_{TqXBO$VjKRlU+zZuRG-^y~LPnuzxC*xqGD!AtF2Lp4yP>Up z`Jg3U?v76n-tQuigozvl&doEqXoV1Xfa1am)mji(DaXfCx4lwi`}*a7Hg-#P5&NUe6jfM!&r;574B z8qHN-S10!ChGEM!icNs^ZVD&|a_gmq)u_CH1rNvxhe-Re)tQh0l=o=*lmqosRjvCJ zKpBP2(glEf%-3kSHB;~YIszUKZv|7q&Lf#()0ci{tWofz)@q#%5YY!9-9u62liBT` zRVI&-I^@D|axH~{`84uX@#e76=!_rh$iwtGChuEoE`cI7cLdVTG z7#*dIkCmANxnSZk1l|O>OFMxm1-Cgr)cm-iUe87qG$G?mNI3>hyQ6F2%IwT$ zp7bzz6bBmD!)(zV&6gKNDbn;KOdh&nwj;415fPfwSEEGH&7dpS5e41;R9(1gYXZvk zVsdWTk|DdRJk1SHxBShx!WffzXc&mjf%va~5qW_9vlGk=sA;A03G*ACWBdu=!&=Dv z6ARq6{xfmrbX7~`QhqTPYJ4 zOS+Qs3`(~YlEI<)P3Y*p>FXOpg!{8}e%1oNpuyG$@gwGAFFFOiH0lh6UtVC+H<^9a znKf}Olng=rJq50Gl+(s?^KQ=;Nae&R5Exg*PaL{;%>%Z=6Tzp8_AV}s2nqRdQ>6Q# z@R>3p(suAPa9PkoyfY9uZ`R~c#;q3K$j!|y9tJ#m=GRIfc9o(Y34Vc%BK$oV<&(|# zf4mXHWGA3JzuqWsL>S zQsc(a$vDki)-YhyFlb0Dtqqr&+`D%9!DQ!=dyR^P+xT=E&gIjpUKGKsjA&CM%&|FQ z%%HX85%2<)Cr8fS{O5X=?G^cJ6h3XIgpcMRr+{}F)WJQJIW=#w`^DGZ&X72Y1{2Vb zu`Bh=iw!ekAUP^E-Z-pU;n%MeXJV#~Z>^d7X47JVq#sN%VuOTMk&cwplkSiH3u`Hj zzSU34`~AE(82uRc&tgqH_|!L!RkF9~N7;*tf+%faHqBApWS!NkdKqFD8R|sz8bj(O33ts`$mpE~!LLquEvrxrKfkmT_?w1oxjW@PnOjHJ zDqF)O+rXXmPenXGY~1Urh~@Xx6n8S+3>4|qhxe3*IyfKhYjOuinTLd)#9!s+r4;$9 zL>e?qEjtT{IdT_dJY$eY?MF8w3NjX^MN~CGet_YUX5Htr90lG^$GfYq#$!irq6k22 z#qLL@kbBs1U!%YPjvo=Z9$94~H=pc1Im+!!P7p??87-ZyC8Ay9{KtzMfe3tx2V5y# zqmP9R-a*0zcd~nTgPLLk5T7TTFy)tE9(FLvKY{YM!-8C*hHBIL7v)z+8IBeCw`rA+ zUr(Xj05v=-Btghk|DBk2JMsKOL7>i}oO&0bq0ChkeIp-QTP`m#s8go4DOnIEx}DiI zZK!B{e=0!;v0%*44M#iTGoOt3Y8XrjeP9!Z2vAXFiZzxRUw9IofY>2GxzEnl`xC zMdn~aQvOyTpEoW^JE}c2G%0+)UCJD3o{&sB@OCxmT+>wD5vP zA7|^<;4DrVekY+Q3 zpp~J_6;^SI&?}2pKU*}Ro~zz@4TGo@7X@!Ccom{nxLv~8I``SDpcxYKtnWQ zEofd^Y$R1r`Gt5Yga2qz-d=M($w>Y`9E6KTf6qXb4Yla?WMXq0Jv;!)0<3DXZIr>v>@!Pz61hzcSCd0tNH7$E)QYG+577*+ftyZ}UnENO9x9H^y` z{}aFzV?8Q=IPhlvTjBXip2|J{b6I1^%&_z8iayzvP0`2->TX?Qc=pT4V+?z{nV3#& z@$(z^q{;{zeK<)*d`V=oN#O;$n@itb83*#@NBN}lUi1^c^rNS~F*-Y$`TC*_zmL3Z zmJ&|~e5G3%?q!D7$uC-rq)(H!Ej!gI@mkxcx=F!%a3wHUVW(Xof`&W6PDP3m-FU*_ zc2S%{mqI>9;$A;v86$LAb#$=#le`lP=b{)DznG3lea>Q5H5pq;nHBL`#FN@7cEQN8 zTwp09I?fT-^uPswrF7-WoEW~3uAQWkvcHOpo7AgO1ONtymc@rWLi)W&<=wguboT~= zhCUb94s9%qn*;M=TTUQ0|DS084^E{06@krZt z?1`wP=Beficeq&3;psinkALBVsyR{}ee{czjwZQVPP_@@2VsBX|ExWXdO0~mGjFGr zmSh*up7Y(fNJ)!F>HDp2&uE9WD9RdV^>(Q*;dv`Gu}i)l&hPcNyLD=RX|y-;i3l)P zRkS+kku4u9@xNN0<=kirtygiu3{EPh4N3#wLcbMeWG|XYeE<0IU6$YTTD_MFW3y9L ziYG!VbKZhDib#=#Y0zRus;=goSM?+rtz?A%YSqYeF`Zq%`|bG~q-tsW`vT+|5*mV> z3+{)5t=YiN&5%We9H`Uh0nuI^AxE_dfb~@y5J5DGq$IuZ?2&Q1d6J4bJrhr>G7}U9 zdrCT#Gqgz&1)di}aVa4vaOG&Of;bT~^k zC)ZXhJlvHbYJ+UgrAha~PDAnU{fZ=a5smHIhQ5uF89h}4D&gvGw_8-p1!T`rZgl=K z-)2I5cVYtFwN`D{9AkS^7snroyt#FsZ1t9)lC!L+dLRpwIUMG06%e@iwY!-~-9TFJ zR;$*%nQEFM{khlBbz`0H#jUgTygPT^a2??T(PRI?vmgt!i?+Vd&wo)J$94ivQl zJV4Jh7j8z!7F>BXvG6ISb#`?jTv&rc`Q}Sj9}{wQb;&S-WR}4yoW|fZu8;nU;G?`M zTS7e@T%K+kJlnpCyeInQO|Fn3ScClcRMBGmhg2zt(TKW9dPvUg4<7CA%C&+0{oPlH$Jl*ZYfS za21HR4bIsiH-EqX-cVrE)%txSn3?^s!OInKMT;I6`5p@<2Cn4cpv zj5DSh_S;kj8z_S}&L@vf7DXp{ z>DfQ|0{(1It6}jcX6vEUoy8^IOlx7at{&=SkI&OnkG2eaJc21F@6{=z+H{CiJFCU6 zAxs*G5w1@hx=QP>wdJ-i*enxDAYC7QW@GhCgSm?J*l68%QYqbfCY-oi4mdWYysq`P z=_$p6k^amOqqjW=Nhb%S+2>pApEQ(Z36%b~nmP^|%mr|ReoY@^m>x=!IoY>NS|9=2=B8!Dku;`U2i6bzXB+lS4cu7RNZrU!x` zq98?(CQ4NhL5hVAp@@J;5v4bgE(8RmLn2ZY1f)uh0)j{hy+bI{OQ_Nby+i0Eq}_wh z`@Q#jzIFe(XSuRmF3&!*_ntj7d&+OfFUejCZmB}`uzKh+FgFPHe2XA_*K3}xR3U#} zA*+_6V_F_pb~ia}$R^s%gK2W6<~Miua@VSb%JxP=XZNoPb{#4*Q_u*dtV zzMpe6UZ6-|c|R1GmdU>u2St0ARRo{D4wqB)W(D1$91Hxr@t;b`brRfz>t@_9N}cx& z;;x~eic-4CbqIT=^5hdS{)H}%hir7$G`k4%&l=7Q&CZU`9<_{A%r~LP9{ByONm)h!WFDZlaiWJ zyCUKbX{I*ZpUhtqpzHJFh*f2-55F}zWnALB++9TG5b}$RPb=et|M&N-{dLvZgJB)N z27*i_S=at^)LvYaF|7DpGniFR-_R@^6jEkJ`zg&h(Z%0#`jktFWb|5!fzQbr%zuA- zoW)ptM`J_VK%XrsVgR9D=5#sL^d&6|Ph#h|C!2)!jS|!{Pizl(UdRe%L)xi4hAYXW zUz)H7JGYa&+gkN&O0)<`pn~-@lD<{tO%$J}>rbB=MK^d&2aXCFC=6|>8cuAb<~3iG z|0~Sybbq&UXB}xhm5n<301xwNx>FVY)P3HXKf}t8eRV?LPDY(XqeHmt2rV6Fwi)|j z!|_R=Rw>!r*<;~j@R35KboKu4+I3L)*zzIr@@m|3Dz?R<{IDy{^Bo*vUBfw94GlAr z(`~P>Hqg8{XKa$93FTFdZvL*y`MGP@?iTey)Ie}No&VWk0c`GuCrhG5-HOq!v!_Up zxoTlg;dkF+w_c2f2DSU%EfQ4rJacg7KK%8ft&(@PZja~nl)6?w7g8nO{-l6Wbi1qi zB>Voh(p;Ts(lBDhDffX8nu}WKepN>!?)6y1@uYJQ%dl;K6SwNk&&|rATr~Y`jRDV% zjg2MgA1F-TgGEKrKG+?ZDzB`}EGuJF7xgd9%lnws(jYxIIz27>YBJ$UHavmr5=Iuc zg&P3?rn~@>h0~Keit8gX6swX2S&C9yg!bzLj0^@OQ zl@5}5Ka)pw?u^vk>$ItJ69zAQqTVa0l*_+2e71|&YwMADZY8|WQEZvIPSe#_-B)@Q zkvc#IGIZ`olDX0kEZ`^-nA(1H#~X0sB-D<|jV`u0}dE~eY+?iMdno%U8*B)U61S~&W zhS%=k%)wXj-+j!wv$r8^D-9l9KAlYalGQrVPj`u~pC#W#s+RPLy3ugL6&~&1B1kA4 z_=6PfR%8<$wn)dbvO?W?*Pzr=?^yY;S0a=i|*p+rfhl=Enj`xO)YsbIYN{`Qyr!ZxG3PC{ zR8MA0d-3?Q_-hkMu-Z-eI`@xI_TR5f4k`p=%H$M)S`#!#(}`NuL~C2c)X_CqlhZIR zgtA0KSm-#-LpG^NT72y@kp%KvJ$FNc@%LV117@NU46Ou^pZ@cQ-AAPBgpl(Ko>R+Q z)%@bvq9S3*Ik(O($Igp5EEi|LiquJ9S$}zT#F6PuJLY-mOs!ytxtVlj-0R|%`w`6D zLXxiU8aNHHTw~UG^+0ZDkU!u)e|(j9*b|!;E(v;cFCHhL`tX{RJm!WjI%q_TCqJG5 zR9OU=?E@~$Zr~ci>3Mqlm?^>bb3MHA^eKS5AhM_MRHXKc;!PzF9p+TE2u(7FvgwFt z)ZKtvcI>-!6X3&PH}0R*@OvG%&8TZV_}z0?X1_Shm;XDk)TL{g5w(thTZ=45E8Q4# z)^ruJA>zS(Pr6k2(2l|03k;VWu*Eb*gNS#y3bl^n${RnMFD-O%H%aho%5Yy#7mwPYz=Gu>bhmLc3Bn$t&5S+u8CsEr-jC@2= z#1;Pp@%|WY{90phtTF-4RSih8%?djIMRPQu+ ztdU2T2**F6<-o&JdE*ljN_I1Te37_OzF6N4I(XWohfoJa-=6Z}HGRH$naucVel$;cFvr@noajI{C1?I@Vl+cz+Uh(ji|J7b50|dFoBdDF+jyYbxbDY z_f^&E_|2?ndE! zT_yel;2x52r~YtA!wrb*bgQtK-2$9-G1EXD2nE^W6mgqq>5V&(4q*u~gBZ7`$vwh# z&u9Thj}K6HX?1i1NR#h$1@8eqQYrkq1jrl3Ooh||k;ivSMD8{u*|C9@&FoE1$!@Jh9>u-(XD7*Qmk(n& zu!rf|_+8B;hA2*;NOrHEwhg!h3sBy8d(IfN_a_)7Ymv;3i$W^?k=6X&}Gqw7AhlL@QYsuA@|?(4KP_`M{H zL2(O}@UP!XKGW5%QNe(ZkoXue-Ka$o{CdJBDP)%?NL^gy zGT)FXg%a7o1E4qX1aKF&0ZPeS{hX4gO%&4LH7nPRfKX4`Y`WJh+d|fFt&fZ-vFEu( z{svzUUw9t$NhASo9Ru-6d)^v!BkmSeq?9$6<9M-Uh+N0xX|-Gw5dSl+6RMha>xZaG zK4#!420{wMd?O(*jZ9doSkFJ7wvN-x_Cn9{oqI*fW2j_Lj2+PN^+&hE11ZX@I*|ROUvZ5tnjk%E4HVy}bGsa<`{ zTKW(O8=Q|3GfT^)T|3u_9xvfV)hMSGN858>Jq4h=KDDh4W;rlcDJYyivZmS}D6`X6 zy_UQN1qyrV@9A1nJCww{?xe8s;dZW^u#FND2zOGFG#p_C`b=M=-uNV|P^T>G(BnK) ztFHW>W^4Wr>SN{$ZEHrbwb=Xc(#a;J^A79s_KN@>J%IOUc43Y>=8=4dzMn|IpBi_& z^Y|jQAvQGs-Zz8*WlS`Qn>saD8`iJFsZ?YJ1I`eR3^UQ-=e0fthrMqMzzuoDcpZT= zm+*a=D!&?bW5Dk%7F@=I&^p@wpF(*212zk*qMn%qSzD2Bw|x!XEj!mNc}^&NUc#aM zoZA}pVP;UoX&G0{tq$e8oKItWcvw(0H>F>mJ6@<_yKil;)tNah8||aID}gxZwWvID zx!(ppaGx5Rt`A0k_1nb*Fqd+JZ&y6)QJ6F|I~M9__XWHRT`5Punc)OuEWoU!2iB5y zOAg6t+>43O57%2k%9sKvwdu09-C>>5!iz?gv<0G(LPsEpU}Kt2HnT@LuD=r{e5q?C2 z(g_X3jIvW>pKfvtJkI!9V4`q=Yh1RTiJpP4{aI)0vC;m`=k_2?qaNV2PHKq=jAg%6 zcII9gw?0zx49rame`THiZd%lmUlRwMwrk&Rg{|e^o?@m~-m-(n2l=23)u@Yi|#&W&Rk%&jkrNxPW?DZu<(YHP!8xtPl*4?+Msd@`+e)q z7)7b~+SORIj}q=wE7tWv-joV>%&fNDs{HMVBmPOF!<5Pj7~36E+2BG7J(0y5kK8xt z5z**vwmtR}3zika6zC|yB#uMhu3$RFixUdP=1&-qmtJXGmZ@e6N+I*Klr!D+;oO@~ zznypMZavI@W`Uqh^S1ukyK4O=*Ue`$=?!)PZk()VqDtO>bce=m2%%?QtG{fcbyUh= zGo-1$XU)0KWMDdre*KstR%exPunH&6>0 zHm%$~j{Bs=ldTWe{-fu@V{~!+>m8Wq$MX z!FIB-T`4S^dy)_a*d#v>gud0z4ZhIr2OIgH7wzI64lGfkdRR%$_sC%= z%>k6T@>I8r>brT2&#{QRcysM$kzk5z^+AM4704+|XSnB^-C4Wyvk+TsuK8<>#oU)=Q&!T! zvf+?p=3=J*qbCwS^)g+&oi5vaCUSkK`_sk|V|!ubYfGiB)_3*!l_BI7=^Kjhi-ga-1qv2(6q)Da1cjAC^D-+NpFw zIm_a4yd>+VawCrRXR}5$%VaT{e5iA=9Vao@mK6QN$75@+C+u{4(UXT?5FyjGmh%2Y zDTkBh^xsuHiJfbv2vmff)r*+EOLiLxltTgk9>{<({00lVWn)BWbIuIKUm<_4a*2|f z3NXbb2cJ2GJdC;j%&$ZtaE2oDS)D>Z*PH2}!W-`>Y7RdNShEkQ1>a!Xg7LgYl2L-m z_eyc~AR@+U$j^vgQQnQ}LPY0XehCS_pVZQ7g1I;CALzE0^pNSQSrjLwdp61Y+waab zzgDcprn)q$BL>5S%&+|bj^9E6`&?a&eYcX@I-{m#uJ*e2X=EFNf3WX4e`?qdmpeWB z7imvk$VJkth9B!c|Xi81eaguMn;2VmP6PnafeaE_c zbGx^N`nY&4DEgJ3a{IYjL+e&rJR>$6lAFkgR<1-YEH7x(7Pk=&$xrUaL{G20KimH7 zDgH^Joj1X$)C+xW=<9>Wq_!lejhckWP@$G7zTfV;wOTW2#g>>S9^M_L$y?PsE78qr z;CO7#D*}IP*26Zmqik@w>6xa6gwMh9RYCe+pi6_CYY7kq>)<*K8}rEo%6$`$LcDyL z76hipPZ}9{iqHbvY{i_{H6y?u^8LEoqXLZ2A>s7R@XFe(k#s!e_-f`ZxSQ<6D}PAA zmU29fx@1^66MxM*oE=xl{XT}AuSKw^IumzUZDRS=9lmn<2u+EZ_=aC;zqUA}AB#x| z2~j=nO_qecZMjT;?IdO)hSxtes6|pUS-I0&jD9rek`aB|lIR^;6W&J&wL$>;Nlbj^ zP^i@OMoy|Tk5Xvg7C)_K-{|2xW=<~l@u%gSuh<o)g*@b#xA414XuS`JS*Jt}^GI)rqB+@!*(U$p{mhmA>=(jmid0mam~ z^5_Yx`tjEhA1QFl+}3G-Xo}@{Qa;itRp(LP7chzM_Xd4D0V|*s_SK)aBaF7@9yBSw zT3Zqo<>Sx(Ehxq3_#ym0B#5*x=Q&=h7``W>Wz2v7iqVf~Dc3X#hK)efRJ<=O_3sXQ z#$zzK|L2mn_1$N&F>Ui67uT$NUB@{lXd}tn#Tv)w#EOTW3SNC~7xr|*;UUyxpAPRh;Tx{_-=w>>_{Y-q{d4NMYFIADMIQz6deHx=<^X4pz;b3}MiXUEl zSH^>ZL5lF&y&T(3(~ecVn|9rxpi6`bF}%SQHaewCa-vHHf-4~%pBZTKR>4aqpGzN4 zbA+!X=mi9-7WdRIPHqdVNx4LO3MBE@#g}II6E7x_Kt}no*ef?m+dk>UDNFE=5TT=^ zSMTvqjj#F5$&`cd-M%8OTS~$jKu8B7CD*??8NAe|dgbV;E^3##ld^InDW~_=_=n2H zz?NHviY7|_pJpWT{XW@KQ>#&0hbAcoZN!)+o&t@NRP7@~<>>F2>0Pw+_#QPKcQM{d zWs-6!$TRd+*aWT5W9=8`XKKd;^BSsIaEq1!0!DyDHbkhwS<(;L+}L|ocRl<$Y8r2- ziSxrY-y{ZHxoZ@c zv12{;v2Fd272j!%=})NkQ6a+XN)w!!B;UsE^ zh?A2Om-_l*nx@ucy`V5Kd-L0S=gx6CO#xZX@+hc~4oPZawYGCprDd0JOUDaardGqZ zI^#PUv21E`OS7n?WV4zLF7^obYa)#nHv5BjhYB4QqXs^8?|G3_eJoR2h(Py1iVeHse zki*Q~*46+{ae`mGvZH4uk<7g4OoC6-M$XT|{P)$X0a``lQNGy{Jqca+SG&e`Vh?uQ z3+_RQ4#R16BPUW*8PK2+x`Wy69uugF=32(-y%+-xk~*mT!rK7o_>wtX?AFv%r>}pK zHh)c5r6Vs-p0#2qHb+)cEFSnwbit&p>z=aCI&to}zT7Onmk4TTw0qIlVUEzq&`k77 zrQ}#v~1V<4A|_=QZcIfRn<<9Ml zJ0bafWkvUo8z&gHjW+D^*rG=)+yWn-z4EI6c<&4rFrnT`!L5WQ{*WA45hL+z|5lJ$F|$H@msb zPTYh^-(@R_r9i6<;AtXrNIF2(V#|yOGsWo*bL0^}Zp(1CbiAolak_0!(0%&%9ihtWSS_N7EYve^qM$JZY}NBs zRf;oHlL48yRd%hw4HgXtO&o00RLf>PO;d->>>b}c_Qkgl@xCLB(m_Wqsz`y<~lg@9>x zbLzua;+Gq?gobCASVH}?<^Smw|LPv)8MNjw8BW&8PLm+*Wx_G?u)&e*WVO5O*EOwU zMRA{FPe`Kdi4l+k|Mzee1BjHsJHN0Gaa0(4(&^U*IWMVBUUy?1 z{S)~Qn;2?1ZW|xijTa&qD+5r)uV*&YqwHr6^~9;+LmEY9TSi5kstJypsOO+|*0Twm z+w7FGup!33oyms8oz_{(Otm6YWbM`N%gd<+1zm%e!ji=w8${H_mF)T*bv(+={R2wZ z`iCxKNPR`z}Bb6cieN7FOpw<-JEOOcFriOj0ZWnbb9yXHmq29?3Uk7+{S~* zzbx}7R+kExjxKh%h{^5yZr7}O?IaF>q_p=-c%*UYTDtC4p7pd)xY-<9ct>?}%=n+v zT$r&92n;N~hNaS@v?>hk42KnT8kK!q3b_Nyimlx<8%v z6#lwC<$Ck6H)_L-l3Mw*V0=d%a#MS!PK3XoaRk6Ak!O&UGuzFcEuM*~hk=AZ(TpD$ z$HbKgvs8cD>H^x_{KiKi}Ah{0UiGKK9w8*|Ce1}v-8>C{B88*bgKGTiEyeD z&?0^|ivo#A)0cfv%6+>4TVjEBFKlLmⅇxW+vWWsb;2t^UY7`$EF{A2Tpzzkti3; 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 literal 0 HcmV?d00001 diff --git a/source/images/blog/2025-01/temp-backup-retention.png b/source/images/blog/2025-01/temp-backup-retention.png new file mode 100644 index 0000000000000000000000000000000000000000..29094abc1a0be841aeafe3039880d9669cd1d1ba GIT binary patch literal 90677 zcmbTeby!n>|36N5w{$lGQlnE!q@|@1q*I!a(j_1$U4oJV5`v6wN$J>Nl+@@P+ZTP` zpZoW||NT9$*L8NzuAOH-p7A=nws>7_H9|aEJQNfZLJf5leH0W73KSHy5ge?CcOvi5 zZctEd;2J85h5@JttMLg?sTMUaLTwQ8Y%QgHG=l!RF^!z-<$Zpcvm5slO^_3}0-fpO z0TCOTxBvgwuVpZ3%DpbQ1AKiSP?zo3bZz+z+u`Eh1R9V?5{!SllT1!g$0tA7cU1L# z<7@!-d;dQKs;GM)*t^AD>_=ZCHJU%>i6Nvoxkh~==RE%JGylBOfrV%h&N6d(PB|)L z>RzlbwC3Ip&jPFe-2Y$l2r;Ry&3f&?V4k@iZmjio{0b^e82Vqj_uJjyr-M-~G)KDF z3WevB?{;In_TBIUZrZV0YVw%V+*{v`y|3#%7^-%=ky~p1ubO{UK;B<~_xC3zQV@ji zaLx)r0c-B5TM*`C(g{Zb*MZj1IXy=^EWC>(ZiA8(HlR>DCeZw5@$s+E|5fhc1UR_k zUjl#o&7mAgJy-ZG#IxztR8KO#fq_Pb2x7m?hFfoEYp9)+QwhCnjh#9Pn1i(h)vhDy z#H#;?4e~1Vmu%_UW≫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