From 3687e6ecfa8209cd587c691c6056f9a768fe701c Mon Sep 17 00:00:00 2001 From: Kai <1528540+lordyavin@users.noreply.github.com> Date: Sun, 20 Oct 2024 23:20:06 +0000 Subject: [PATCH 01/53] Adds documentation for the new HWAM Smart Control integration. --- source/_integrations/hwam.markdown | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 source/_integrations/hwam.markdown diff --git a/source/_integrations/hwam.markdown b/source/_integrations/hwam.markdown new file mode 100644 index 000000000000..c05f11bdaf21 --- /dev/null +++ b/source/_integrations/hwam.markdown @@ -0,0 +1,61 @@ +--- +title: HWAM® SmartControl™ +description: Sensors, switches and buttons of HWAM® SmartControl™ wood burning stoves. +ha_category: + - Climate + - Sensor + - Button + - Switch +ha_iot_class: Local Polling +ha_release: 2024.11 +ha_config_flow: true +ha_codeowners: + - '@lordyavin' +ha_domain: hwam +ha_platforms: + - button + - select + - sensor + - switch +ha_integration_type: integration +--- + +HWAM® SmartControl™ is an electronic air control system developed in collaboration +with DTU (Denmarks Technical University) to achieve the cleanest possible combustion. +HWAM® SmartControl™ controls the whole process, whereby you automatically achieve the +best possible combustion every time. + +HWAM® SmartControl™ stoves feature the following additional components compared to conventional stoves: + +- Airbox with 3 air dampers and software +- Lambda probe that measures the oxygen level in the stove +- Temperature sensor that measures the temperature in the stove +- Room sensor tells the stove what temperature is in the room. +- The app is the system’s control panel. + +All these components work together when the HWAM® SmartControl™ stove is in use +and automatically ensure eco-friendly and efficient combustion. The only thing +the user must do is to arrange some firewood and light the fire. HWAM® SmartControl™ +will take care of the rest. + +{% include integrations/config_flow.md %} + +### Entities + +The following controllable entities are available: + +### Button + +- **Start** - The button to start the combustion. + +### Select + +- **Burn Level** - The burn level presets: 0-5 + +### Sensor + +- **Oxygen Level** - The level of oxygen in the combustion gases. +- **Burning Phase** - The state/phase of the burning algorithm. +- **Room Temperature** - The room temperature as reported by the remote sensor. +- **Stove Temperature** - The temperature within the combustion chamber. Aka the temperature of the fire. +- **Valve 1-3 Position** - The positions of the air valves. From 2fbdca6cd3bf77e7d617a4ce0dc0dd9e2a3d71c9 Mon Sep 17 00:00:00 2001 From: Kai <1528540+lordyavin@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:02:03 +0000 Subject: [PATCH 02/53] Adds intro, entity keys and units. --- source/_integrations/hwam.markdown | 53 +++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/source/_integrations/hwam.markdown b/source/_integrations/hwam.markdown index c05f11bdaf21..e3e8b6183cb1 100644 --- a/source/_integrations/hwam.markdown +++ b/source/_integrations/hwam.markdown @@ -19,43 +19,64 @@ ha_platforms: - switch ha_integration_type: integration --- +## Introduction + +The HWAM® SmartControl™ integration allows you to control and monitor your HWAM® +wood-burning stove through Home Assistant, providing advanced climate control and +efficient combustion management. HWAM® SmartControl™ is an electronic air control system developed in collaboration -with DTU (Denmarks Technical University) to achieve the cleanest possible combustion. +with DTU (Denmark's Technical University) to achieve the cleanest possible combustion. HWAM® SmartControl™ controls the whole process, whereby you automatically achieve the best possible combustion every time. -HWAM® SmartControl™ stoves feature the following additional components compared to conventional stoves: +HWAM® SmartControl™ stoves feature the following additional components compared to +conventional stoves: -- Airbox with 3 air dampers and software -- Lambda probe that measures the oxygen level in the stove -- Temperature sensor that measures the temperature in the stove +- Airbox with 3 air valves and software. +- Lambda probe that measures the oxygen level in the stove. +- Temperature sensor that measures the temperature in the stove. - Room sensor tells the stove what temperature is in the room. -- The app is the system’s control panel. -All these components work together when the HWAM® SmartControl™ stove is in use -and automatically ensure eco-friendly and efficient combustion. The only thing +All these components work together when the HWAM® SmartControl™ stove is in use +and automatically ensure eco-friendly and efficient combustion. The only thing the user must do is to arrange some firewood and light the fire. HWAM® SmartControl™ will take care of the rest. {% include integrations/config_flow.md %} -### Entities +## Entities The following controllable entities are available: ### Button -- **Start** - The button to start the combustion. +- **Start** (`start`) - The button to start the combustion. ### Select -- **Burn Level** - The burn level presets: 0-5 +- **Burn Level** (`burn_level`) - The burn level presets: 0-5 ### Sensor -- **Oxygen Level** - The level of oxygen in the combustion gases. -- **Burning Phase** - The state/phase of the burning algorithm. -- **Room Temperature** - The room temperature as reported by the remote sensor. -- **Stove Temperature** - The temperature within the combustion chamber. Aka the temperature of the fire. -- **Valve 1-3 Position** - The positions of the air valves. +- **Oxygen Level** (%) (`oxygen_level`) - The level of oxygen in the combustion gases. +- **Burning Phase** (`phase`)- The state/phase of the burning algorithm. +- **Room Temperature** (°C) (`room_temperature`) - The room temperature as reported by the remote sensor. +- **Stove Temperature** (°C) (`stove_temperature`) - The temperature within the combustion chamber. Aka the temperature of the fire. +- **Valve 1-3 Position** (%) (`valve[1-3]_position`) - The positions of the air valves. + +## Prerequisites + +You need a stove that is equipped with a Airbox that runs a compatible firmware +which is connected to your local network. You should find the IP address via your +routers list of network devices. Auto discovery is yet not supported. + +Tested firmware: + +- **fw version** - 3.23.0 +- **wifi version** - 12.6.0 + +## Automation Examples + +The most simple automation is to shut down all thermostats when the stove is started +and to set them back to automatic when the stove goes into standby mode. From 579b75e6246bb0431a26afbdef4a1e61021b96c6 Mon Sep 17 00:00:00 2001 From: Kai <1528540+lordyavin@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:16:30 +0000 Subject: [PATCH 03/53] Adds details about burn levels. --- source/_integrations/hwam.markdown | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/source/_integrations/hwam.markdown b/source/_integrations/hwam.markdown index e3e8b6183cb1..4e1d024c297b 100644 --- a/source/_integrations/hwam.markdown +++ b/source/_integrations/hwam.markdown @@ -57,6 +57,28 @@ The following controllable entities are available: - **Burn Level** (`burn_level`) - The burn level presets: 0-5 +#### Burn Levels + +- **Level 0** HWAM Smart Control runs at lowest +possible combustion temperature to maintain correct combustion +over the longest possible time, taking into account the room +temperature. +- **Level 1-4** At these levels, the system aims +to achieve a constant room temperature. Therefore, once you +have found the heat level that suits you best, do not turn the +level up and down. At level 1-4, the system starts up gently +until it finds the right level of flue gas temperature compared +to the desired room temperature. For normal operation, levels +2-3 are recommended. + +- **Level 5** Level 5 is a booster level intended only for situations +where the stove needs to produce a lot of heat within a short +period of time. The stove should NOT run at level 5 for a long +period of time. NB! If level 5 is chosen, a lot of wood is needed +to maintain correct combustion. Therefore, re-stoking alarms may +sound even if there are still flames and unburned wood in the +combustion chamber. + ### Sensor - **Oxygen Level** (%) (`oxygen_level`) - The level of oxygen in the combustion gases. From f82d8e4b419b17382c992fb2138915298d1d9507 Mon Sep 17 00:00:00 2001 From: Kai Date: Mon, 21 Oct 2024 21:20:12 +0200 Subject: [PATCH 04/53] Fixes type, thanks coderabbitai Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- source/_integrations/hwam.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_integrations/hwam.markdown b/source/_integrations/hwam.markdown index 4e1d024c297b..1ba6bc9dd7b5 100644 --- a/source/_integrations/hwam.markdown +++ b/source/_integrations/hwam.markdown @@ -89,7 +89,7 @@ combustion chamber. ## Prerequisites -You need a stove that is equipped with a Airbox that runs a compatible firmware +You need a stove that is equipped with an Airbox that runs a compatible firmware which is connected to your local network. You should find the IP address via your routers list of network devices. Auto discovery is yet not supported. @@ -97,7 +97,6 @@ Tested firmware: - **fw version** - 3.23.0 - **wifi version** - 12.6.0 - ## Automation Examples The most simple automation is to shut down all thermostats when the stove is started From 908a3a375abd52e6b4c7898c63f805bb941ec55d Mon Sep 17 00:00:00 2001 From: Kai <1528540+lordyavin@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:31:28 +0000 Subject: [PATCH 05/53] Adds info about night lowering switch. --- source/_integrations/hwam.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/hwam.markdown b/source/_integrations/hwam.markdown index 1ba6bc9dd7b5..eca4ae7db940 100644 --- a/source/_integrations/hwam.markdown +++ b/source/_integrations/hwam.markdown @@ -87,6 +87,11 @@ combustion chamber. - **Stove Temperature** (°C) (`stove_temperature`) - The temperature within the combustion chamber. Aka the temperature of the fire. - **Valve 1-3 Position** (%) (`valve[1-3]_position`) - The positions of the air valves. +### Switch + +- **Night Lowering** (`night_lowering`) - Enable or disable night lowering. + Adjustment of the start and end time for night lowering is yet not supported. + ## Prerequisites You need a stove that is equipped with an Airbox that runs a compatible firmware @@ -97,6 +102,7 @@ Tested firmware: - **fw version** - 3.23.0 - **wifi version** - 12.6.0 + ## Automation Examples The most simple automation is to shut down all thermostats when the stove is started From 323834aa1b24b2f4664b1e4b6d0f30c222dce865 Mon Sep 17 00:00:00 2001 From: Kai <1528540+lordyavin@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:41:03 +0000 Subject: [PATCH 06/53] Adds missing space. --- source/_integrations/hwam.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_integrations/hwam.markdown b/source/_integrations/hwam.markdown index eca4ae7db940..1d098d89f96b 100644 --- a/source/_integrations/hwam.markdown +++ b/source/_integrations/hwam.markdown @@ -70,7 +70,6 @@ level up and down. At level 1-4, the system starts up gently until it finds the right level of flue gas temperature compared to the desired room temperature. For normal operation, levels 2-3 are recommended. - - **Level 5** Level 5 is a booster level intended only for situations where the stove needs to produce a lot of heat within a short period of time. The stove should NOT run at level 5 for a long @@ -82,7 +81,7 @@ combustion chamber. ### Sensor - **Oxygen Level** (%) (`oxygen_level`) - The level of oxygen in the combustion gases. -- **Burning Phase** (`phase`)- The state/phase of the burning algorithm. +- **Burning Phase** (`phase`) - The state/phase of the burning algorithm. - **Room Temperature** (°C) (`room_temperature`) - The room temperature as reported by the remote sensor. - **Stove Temperature** (°C) (`stove_temperature`) - The temperature within the combustion chamber. Aka the temperature of the fire. - **Valve 1-3 Position** (%) (`valve[1-3]_position`) - The positions of the air valves. From c24b1fb1e18b641303f41509d8a248cbbee2fce1 Mon Sep 17 00:00:00 2001 From: Darren Griffin Date: Mon, 23 Dec 2024 15:13:18 +0000 Subject: [PATCH 07/53] Updates VPE distributor list (#36514) * Fix display issues when :target is active * Content update * Change :target to display block * Added Australian distributors --- source/voice-pe/index.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/voice-pe/index.html b/source/voice-pe/index.html index 603c6c0022b1..749b360b897e 100644 --- a/source/voice-pe/index.html +++ b/source/voice-pe/index.html @@ -1452,11 +1452,10 @@

-
Shipping to Europe
From 654e17e80249420c05a78926489a9982b2e5d038 Mon Sep 17 00:00:00 2001 From: andrewstech Date: Mon, 23 Dec 2024 15:43:49 +0000 Subject: [PATCH 08/53] Add Monzo to the Finance category (#36510) --- source/_integrations/monzo.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/monzo.markdown b/source/_integrations/monzo.markdown index afcfa7b1cf62..0534bc085b63 100644 --- a/source/_integrations/monzo.markdown +++ b/source/_integrations/monzo.markdown @@ -3,6 +3,7 @@ title: Monzo description: Instructions on how to integrate Monzo integration into Home Assistant. ha_category: - Sensor + - Finance ha_release: 2024.6 ha_iot_class: Cloud Polling ha_codeowners: From a5bb5daa70f60e26bd04ccfac9cd14f4cb7ca6b0 Mon Sep 17 00:00:00 2001 From: Erwin B Date: Mon, 23 Dec 2024 16:44:37 +0100 Subject: [PATCH 09/53] Update sensor.rest.markdown for external IP address sensor (#36503) --- source/_integrations/sensor.rest.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/_integrations/sensor.rest.markdown b/source/_integrations/sensor.rest.markdown index 346285725ffe..51b8b4fb04f4 100644 --- a/source/_integrations/sensor.rest.markdown +++ b/source/_integrations/sensor.rest.markdown @@ -172,7 +172,7 @@ In this section you find some real-life examples of how to use this sensor. ### External IP address -You can find your external IP address using the service [JSON Test](https://www.jsontest.com/) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL. +You can find your external IP address using the [ipify](https://www.ipify.org) service for both IPv4 and IPv6. {% raw %} @@ -182,6 +182,11 @@ sensor: name: "External IP" resource: "https://api.ipify.org/?format=json" value_template: "{{ value_json.ip }}" + + - platform: rest + name: "External IPv6" + resource: "https://api6.ipify.org/?format=json" + value_template: "{{ value_json.ip }}" ``` {% endraw %} From 6576d0724222a1126ae17568898fefddb0326220 Mon Sep 17 00:00:00 2001 From: Mick Vleeshouwer Date: Mon, 23 Dec 2024 16:45:18 +0100 Subject: [PATCH 10/53] Improve Overkiz documentation (#36505) --- source/_integrations/overkiz.markdown | 73 ++++++++++++++++++++------- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/source/_integrations/overkiz.markdown b/source/_integrations/overkiz.markdown index f3ba6d7c8147..c6ff4a345af8 100644 --- a/source/_integrations/overkiz.markdown +++ b/source/_integrations/overkiz.markdown @@ -1,6 +1,6 @@ --- title: Overkiz -description: Instructions on how to integrate hubs whom use the Overkiz platform with Home Assistant. +description: Instructions on how to integrate hubs that use the Overkiz IoT platform with Home Assistant. ha_category: - Alarm - Binary sensor @@ -49,39 +49,70 @@ ha_platforms: ha_integration_type: hub --- -The Overkiz (by Somfy) integration platform is used by many different vendors, like Somfy, Hitachi, and Atlantic. This integration will allow users to integrate their devices into Home Assistant using the Overkiz API. +The Overkiz (by Somfy) IoT platform is used by many different vendors, like Somfy, Hitachi, and Atlantic. This integration will allow users to integrate their devices into Home Assistant using the Overkiz API. -## Supported hubs +## Supported hubs & devices - Atlantic Cozytouch +- Bouygues Flexom - Hitachi Hi Kumo - Nexity Eugénie -- Rexel Energeasy +- Sauter Cozytouch +- Simu LiveIn2 - Somfy Connectivity Kit - Somfy Connexoon IO _(local API available)_ - Somfy Connexoon RTS _(local API available)_ -- Somfy TaHoma _(local API available)_ +- Somfy TaHoma v2 _(local API available)_ - Somfy TaHoma Beecon _(local API available)_ - Somfy TaHoma Switch _(local API available)_ - Thermor Cozytouch - -## Supported devices +- Ubiwizz Over 6000 devices from 60 brands are compatible with the Overkiz platform. This integration will retrieve your devices and map them to the relevant Home Assistant platforms. {% include integrations/config_flow.md %} +The Overkiz integration supports both the Overkiz cloud API and the local API (only supported by some Somfy hubs). For compatible Somfy hubs, you can connect locally, allowing device control without an internet connection. Start by selecting the server or app that you use to control your devices. + +### Login to Overkiz (Cloud API) + +{% configuration_basic %} +"Username": + description: "Username for your Overkiz cloud account (account you use in your IoT app)." +Password: + description: "Password for your Overkiz cloud account (account you use in your IoT app)." +{% endconfiguration_basic %} + +### Login to Overkiz (Local API) + +To use the local API, you will need to activate the [Somfy TaHoma Developer Mode](https://github.com/Somfy-Developer/Somfy-TaHoma-Developer-Mode?tab=readme-ov-file#getting-started) via the Somfy website. Activating this mode will enable a local API on your TaHoma box. Your cloud credentials are required to negotiate a token with the cloud API to authenticate your calls to the local API. This is a one-time setup and the token will be stored in your Home Assistant configuration. + +Scenarios and climate entities are **not** supported via the Somfy TaHoma Developer Mode. + +{% configuration_basic %} +"Host": + description: "The hostname or IP address of your Overkiz hub. The hostname is your Gateway PIN + .local:8443 (e.g. 1234-4567-8912.local)." +"Username": + description: "Username for your Overkiz cloud account (account you use in your IoT app)." +Password: + description: "Password for your Overkiz cloud account (account you use in your IoT app)." +Verify SSL: + description: "Verify the SSL certificate of your hub. This option is available only when connecting via the hostname." +{% endconfiguration_basic %} + +## Data updates + +This integration retrieves data from Overkiz every 30 seconds to ensure timely updates. If you only have stateless devices (RTS protocol), the integration will poll for new data every hour to reduce unnecessary load on the Overkiz API. + ## Known limitations ### Zigbee, Z-Wave, Hue, and Sonos devices not supported -Even though most Overkiz hubs support adding Zigbee, Z-Wave, Hue, and Sonos devices, this isn't supported in the Overkiz integration. All these platforms have native integrations in Home Assistant which are more stable and feature-rich. +Even though most Overkiz hubs support adding Zigbee, Z-Wave, Hue, and Sonos devices, this isn't supported in the Overkiz integration. All these platforms have native integrations in Home Assistant, which provide more frequent state updates and are more feature-rich. ### Stateless RTS covers -Covers that use the RTS protocol are stateless and do not report their state back to the hub. This means that Home Assistant will not know the state of the device after it has been controlled. - -If you only control your RTS cover from Home Assistant, you can use the [template cover](/integrations/cover.template/) to create a stateful cover entity. This will allow you to keep track of the current state (open or closed) and use the cover in automations and scenes. +RTS covers do not report their state back to the hub, so Home Assistant cannot track their state after they are controlled. If you only control your RTS cover from Home Assistant, you can use the [template cover](/integrations/cover.template/) to create a stateful cover entity. This will help you track the current state (open or closed) and use the cover in automations and scenes. ```yaml cover: @@ -114,18 +145,22 @@ During peak hours, it could happen that the Overkiz platform is unable to execut The Overkiz API only supports 10 requests in its execution queue. If you try to command more devices at the same time, for example with a group, this will fail with `EXEC_QUEUE_FULL`. To work around this, you can create a scenario in the corresponding application and call that scenario instead after syncing it in the integration. -### Internet connectivity required +### Device support via the local API + +Various sensors, scenarios, and climate entities are **not** supported via the Somfy TaHoma Developer Mode due to limitations of the local API. If your device functions with the Cloud API but not with the Local API, this is an inherent limitation of the Local API and cannot be resolved. -This integration communicates via the cloud-based Overkiz API in most cases. Depending on your hub and devices, there are options which communicate over your local network. +### Device support via HomeKit -#### Local API via Somfy TaHoma Developer Mode +If your hub (e.g. Somfy Connectivity Kit) supports HomeKit, a sensor named **HomeKit Setup Code** will be added to Home Assistant. To configure the [HomeKit Controller](/integrations/homekit_controller/) integration for local control, follow these steps: -The Somfy TaHoma v2, Somfy Connexoon and Somfy TaHoma Switch support the [Somfy TaHoma Developer Mode (local API)](https://github.com/Somfy-Developer/Somfy-TaHoma-Developer-Mode). During setup, you can choose **Local API**. This allows you to use the local API in Home Assistant. Climate devices are not supported via the Somfy TaHoma Developer Mode. +1. Locate the **HomeKit Setup Code** sensor in Home Assistant. +2. Retrieve the setup code value from the sensor. +3. Use this setup code to configure the [HomeKit Controller](/integrations/homekit_controller/) integration in Home Assistant. -#### Local API via HomeKit Controller +Please note that only a [limited set of devices is supported via HomeKit](https://service.somfy.com/downloads/nl_v5/tahoma-homekitcompatibilitylist_eng.pdf). -If your hub (e.g. Somfy Connectivity Kit) supports HomeKit natively, your setup code will be added as a sensor in Home Assistant. Find your hub in Home Assistant and retrieve the value from the **HomeKit Setup Code** sensor. You can now configure the [HomeKit Controller](/integrations/homekit_controller/) integration in Home Assistant and benefit from local support. Only a [limited set of devices is supported](https://service.somfy.com/downloads/nl_v5/tahoma-homekitcompatibilitylist_eng.pdf). +## Removing the integration -#### Local API via Velux KLF200 hub +This integration follows standard integration removal. No extra steps are required. -If you are only using Somfy IO-compatible devices, you could purchase a Velux KLF200 hub and use [the Velux integration](/integrations/velux/) which has a local API. +{% include integrations/remove_device_service.md %} \ No newline at end of file From f1dbfc8e7f5c8e20f59fe4a304e5e962e59f12c2 Mon Sep 17 00:00:00 2001 From: Simon <80467011+sorgfresser@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:45:38 +0000 Subject: [PATCH 11/53] Add removal instructions to ElevenLabs (#36507) --- source/_integrations/elevenlabs.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/elevenlabs.markdown b/source/_integrations/elevenlabs.markdown index e5ff68d2f02d..a6b27e66389a 100644 --- a/source/_integrations/elevenlabs.markdown +++ b/source/_integrations/elevenlabs.markdown @@ -47,3 +47,9 @@ data: ``` For more information about using text-to-speech with Home Assistant and more details on all the options it provides, see the [TTS documentation](/integrations/tts/). + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %} From 9d6b4c9e6a184280456e6b2dcb95f0f936dea5ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ab=C3=ADlio=20Costa?= Date: Mon, 23 Dec 2024 20:31:23 +0000 Subject: [PATCH 12/53] Update description and remove section for Idasen Desk (#36523) --- source/_integrations/idasen_desk.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/_integrations/idasen_desk.markdown b/source/_integrations/idasen_desk.markdown index f31ab9e81bd5..db6fb5c11f0e 100644 --- a/source/_integrations/idasen_desk.markdown +++ b/source/_integrations/idasen_desk.markdown @@ -17,7 +17,7 @@ ha_codeowners: - '@abmantis' --- -The IKEA IDÅSEN integration allows you to connect your IKEA Idåsen motorized desk to Home Assistant, making it possible to control the desk height and also monitor height changes from the physical controller. +The IKEA IDÅSEN {% term integration %} allows you to connect your [IKEA Idåsen](https://www.ikea.com/us/en/cat/idasen-system-47424/) motorized desk to Home Assistant, making it possible to control the desk height and also monitor height changes from the physical controller. {% tip %} @@ -47,3 +47,9 @@ This integration provides two buttons to connect and disconnect to/from the desk Height: description: The current height of the desk, in meters. {% endconfiguration_basic %} + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %} From 89729b6d9812248bb65c0689e8726d0bcddb1513 Mon Sep 17 00:00:00 2001 From: Derek <67642332+dsellers1@users.noreply.github.com> Date: Mon, 23 Dec 2024 19:36:21 -0500 Subject: [PATCH 13/53] Update button.markdown (#36527) --- source/_dashboards/button.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_dashboards/button.markdown b/source/_dashboards/button.markdown index 19ebda8313e2..8a0013e07e13 100644 --- a/source/_dashboards/button.markdown +++ b/source/_dashboards/button.markdown @@ -156,6 +156,7 @@ Screenshot of a vertical stack card with 4 buttons and an entity selector. The image shows a vertical stack card with 4 buttons arranged in a horizontal stack card and an entity selector. The buttons use the toggle action to run a script, for example, the Netflix script, which starts up the TV and opens Netflix. To learn how to create scripts, refer to [scripts](/docs/scripts/). ```yaml +type: vertical-stack cards: - entities: - entity: input_select.living_room_scene @@ -201,5 +202,4 @@ cards: action: more-info show_name: true show_icon: true -type: vertical-stack ``` From d70fc202be8fd88488e65791baa5df9606cff5b0 Mon Sep 17 00:00:00 2001 From: brucedk <40279859+brucedk@users.noreply.github.com> Date: Mon, 23 Dec 2024 22:11:51 -0300 Subject: [PATCH 14/53] Update alexa.smart_home.markdown to include Brazilian Portuguese (#36529) --- source/_integrations/alexa.smart_home.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index f44104a2190f..9a3b285756d9 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -151,7 +151,7 @@ Next you need create a Lambda function. - Click `Services` in top navigation bar, expand the menu to display all AWS services, then under `Compute` section click `Lambda` to navigate to Lambda console. Or you may use this [link](https://console.aws.amazon.com/lambda/home) **IMPORTANT - Alexa Skills are only supported in specific AWS regions.** Your current server location will be displayed in the top-right corner (for example, Ohio). Select an available server from the list below ([reference](https://developer.amazon.com/en-US/docs/alexa/smarthome/develop-smart-home-skills-in-multiple-languages.html#deploy)) based on your Amazon account's locale, not your physical location. **Alexa Lambda functions created in other regions will not work properly and may prevent account linking! For example, if your locale is set to English (US) and you live in California, you must use US East (N.Virginia), not US West (Oregon). While the setup process will complete with an incorrect region, the skill will not function, and there will be no clear error messages indicating the cause.** - - **US East (N.Virginia)** region for English (US) or English (CA) skills + - **US East (N.Virginia)** region for English (US), English (CA) or Portuguese (BR) skills - **EU (Ireland)** region for English (UK), English (IN), German (DE), Spanish (ES) or French (FR) skills - **US West (Oregon)** region for Japanese and English (AU) skills. @@ -256,7 +256,7 @@ Self signed certificates will not work, but you can use a free Let's Encrypt cer {% endimportant %} - `Client ID`: - - `https://pitangui.amazon.com/` if you are in US + - `https://pitangui.amazon.com/` if you are in US or BR - `https://layla.amazon.com/` if you are in EU - `https://alexa.amazon.co.jp/` if you are in JP and AU (not verified yet) @@ -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`, `fr-CA`, `fr-FR`, `it-IT`, `ja-JP`, `pt-BR`. See [Alexa Locale](#alexa-locale) for additional information. required: false type: string default: en-US From b2f61b24e26d89bfc3d6810a7421ed28405a522b Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 24 Dec 2024 00:05:46 -0500 Subject: [PATCH 15/53] Update OpenAI default model It's gpt-4o-mini. Fixes #36304 --- source/_integrations/openai_conversation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/openai_conversation.markdown b/source/_integrations/openai_conversation.markdown index 977e84588916..c2bc2ffe9919 100644 --- a/source/_integrations/openai_conversation.markdown +++ b/source/_integrations/openai_conversation.markdown @@ -57,7 +57,7 @@ If you choose to not use the recommended settings, you can configure the followi {% configuration_basic %} Model: - description: The GPT language model is used for text generation. You can find more details on the available models in the [OpenAI GPT-3.5 Turbo Documentation](https://platform.openai.com/docs/models/gpt-3-5-turbo), [OpenAI GPT-4 Turbo and GPT-4 Documentation](https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4), or [GPT-4o Documentation](https://platform.openai.com/docs/models/gpt-4o). The default is "gpt-4o". + description: The GPT language model is used for text generation. You can find more details on the available models in the [GPT-4o Documentation](https://platform.openai.com/docs/models/gpt-4o). The default is "gpt-4o-mini". Maximum Tokens to Return in Response: description: The maximum number of words or "tokens" that the AI model should generate in its completion of the prompt. For more information, see the [OpenAI Completion Documentation](https://platform.openai.com/docs/guides/completion/introduction). Temperature: From b2bd335739eea47af15edfa4b46d156dc3a0576e Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Tue, 24 Dec 2024 16:19:04 +0100 Subject: [PATCH 16/53] Fix styling mistake in Reolink docs (#36536) --- 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 af7ed92d690b..681dcb55f55d 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -496,7 +496,7 @@ You can receive rich notifications on your phone when someone rings a Reolink do - Turn on (outdoor) lights near the camera to improve image clarity at night once the camera detects a person, vehicle, or animal. - Turn off notifications and recording when you get home (based on, e.g., geofencing) and turn it back on when you leave home. -When someone presses the doorbell, Play ringtones on speakers (Echo Dot/Google Home/smart hubs) throughout the house. +- When someone presses the doorbell, play ringtones on speakers (Echo Dot/Google Home/smart hubs) throughout the house. - Pause a TV and show a notification badge on the TV when the doorbell is pressed (only when the TV is already on). - Play the quick replay messages of a Reolink doorbell only when not home (geofencing) - Wake up and start recording on other battery cameras nearby if one camera/motion sensor detects an event. From 797008dbe8a27c3683a17f9667f52894673b99f2 Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Wed, 25 Dec 2024 00:49:58 +0100 Subject: [PATCH 17/53] Update vicare.markdown --- source/_integrations/vicare.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index f03288982d3d..f2c7fd1ca921 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -165,6 +165,12 @@ Sets the target temperature of domestic hot water to the given temperature. | `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. | | `temperature` | no | New target temperature for water heater. | +## Removing the integration + +This integration follows standard integration removal, once the integration is removed you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. + +{% include integrations/remove_device_service.md %} + ## Troubleshooting ### UTF-8 characters in passwords From 0086b7533b1c9bd241cc9ff37724092a42a7c5c5 Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Wed, 25 Dec 2024 00:54:43 +0100 Subject: [PATCH 18/53] Update vicare.markdown --- source/_integrations/vicare.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index f2c7fd1ca921..28f2af9411c8 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -167,7 +167,7 @@ Sets the target temperature of domestic hot water to the given temperature. ## Removing the integration -This integration follows standard integration removal, once the integration is removed you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. +This integration follows standard integration removal, once the integration is removed, you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. {% include integrations/remove_device_service.md %} From ac2f5902de57859286b079969f085728da22e52c Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Wed, 25 Dec 2024 00:59:01 +0100 Subject: [PATCH 19/53] move section --- source/_integrations/vicare.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index 28f2af9411c8..ecfae2b0001d 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -165,12 +165,6 @@ Sets the target temperature of domestic hot water to the given temperature. | `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. | | `temperature` | no | New target temperature for water heater. | -## Removing the integration - -This integration follows standard integration removal, once the integration is removed, you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. - -{% include integrations/remove_device_service.md %} - ## Troubleshooting ### UTF-8 characters in passwords @@ -196,3 +190,9 @@ Invalid data from Vicare server: { ``` Usually, this resolves itself after a while, but if this state persists, try to power cycle your gateway. + +## Removing the integration + +This integration follows standard integration removal, once the integration is removed, you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. + +{% include integrations/remove_device_service.md %} From 5d7554506f78382d0eb5fa287a98ac2f3b3ee89a Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:22:11 +0100 Subject: [PATCH 20/53] Apply suggestions from code review Co-authored-by: Josef Zweck --- source/_integrations/vicare.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index ecfae2b0001d..6801075769b9 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -193,6 +193,6 @@ Usually, this resolves itself after a while, but if this state persists, try to ## Removing the integration -This integration follows standard integration removal, once the integration is removed, you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. +This integration follows standard integration removal. Once the integration is removed, you can remove the API client (assuming it was only used by this integration) by going to the [Viessmann developer portal](https://app.developer.viessmann.com/) and deleting the client you created for Home Assistant. {% include integrations/remove_device_service.md %} From f471f3072626037038b9d90b5bf4f20302ab6df9 Mon Sep 17 00:00:00 2001 From: Markus Jacobsen Date: Wed, 25 Dec 2024 14:33:15 +0000 Subject: [PATCH 21/53] Fix Bang & Olufsen limitations wording (#36550) * Fix limitations wording * Reorder limitations section --- source/_integrations/bang_olufsen.markdown | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/_integrations/bang_olufsen.markdown b/source/_integrations/bang_olufsen.markdown index 0513e099c009..ec92d023b3cd 100644 --- a/source/_integrations/bang_olufsen.markdown +++ b/source/_integrations/bang_olufsen.markdown @@ -71,7 +71,7 @@ A number of features are available through the media player entity: ## Limitations -Currently, some features of the Mozart platform such as: +Currently, some features of the Mozart platform are not available through the [public API](https://github.com/bang-olufsen/mozart-open-api). Some may become available at a later point, but until then the [Bang & Olufsen App](https://www.bang-olufsen.com/en/dk/story/apps) can be used to configure these settings and features: - Creating timers and alarms - Retrieving detailed alarm and timer information @@ -85,8 +85,6 @@ And more advanced app-centric features such as: - Adjusting specific sound settings - Pairing remotes -These features are not available through the API. Some may become available at a later point, but until then the [Bang & Olufsen App](https://www.bang-olufsen.com/en/dk/story/apps) can be used to configure these settings and features. - ## Actions ### play_media actions From d42325de45312e91bff61f2fc826e7dc13b57577 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:33:41 +0100 Subject: [PATCH 22/53] build(deps-dev): bump rbs from 3.7.0 to 3.8.0 (#36549) Bumps [rbs](https://github.com/ruby/rbs) from 3.7.0 to 3.8.0. - [Release notes](https://github.com/ruby/rbs/releases) - [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md) - [Commits](https://github.com/ruby/rbs/compare/v3.7.0...v3.8.0) --- updated-dependencies: - dependency-name: rbs dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0ba3e84f8b06..8ad6c5c4734b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -108,7 +108,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbs (3.7.0) + rbs (3.8.0) logger regexp_parser (2.9.3) rexml (3.4.0) From 86f690b25446248e2615ef3a4fec392021e45b70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Dec 2024 15:33:49 +0100 Subject: [PATCH 23/53] build(deps-dev): bump bigdecimal from 3.1.8 to 3.1.9 (#36548) Bumps [bigdecimal](https://github.com/ruby/bigdecimal) from 3.1.8 to 3.1.9. - [Release notes](https://github.com/ruby/bigdecimal/releases) - [Changelog](https://github.com/ruby/bigdecimal/blob/master/CHANGES.md) - [Commits](https://github.com/ruby/bigdecimal/compare/v3.1.8...v3.1.9) --- updated-dependencies: - dependency-name: bigdecimal dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8ad6c5c4734b..772499187e34 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,7 +5,7 @@ GEM public_suffix (>= 2.0.2, < 7.0) ast (2.4.2) base64 (0.2.0) - bigdecimal (3.1.8) + bigdecimal (3.1.9) chunky_png (1.4.0) colorator (1.1.0) commonmarker (0.23.11) From 333ee573ca7b85cf195780656c151ee341b6692a Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Wed, 25 Dec 2024 06:34:29 -0800 Subject: [PATCH 24/53] Update lock.template.markdown (#36546) --- source/_integrations/lock.template.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/lock.template.markdown b/source/_integrations/lock.template.markdown index 8674d4b52f35..ddfeaf7f367b 100644 --- a/source/_integrations/lock.template.markdown +++ b/source/_integrations/lock.template.markdown @@ -74,7 +74,7 @@ lock: required: false type: template default: None - lock: + lock: description: Defines an action to run when the lock is locked. required: true type: action From ce671a1572b4983e90151fb2e1f448a062d8cd2d Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 25 Dec 2024 15:36:25 +0100 Subject: [PATCH 25/53] Add troubleshooting and known limitations for Plugwise (#36504) * Add troubleshooting and known limitations * Remove quotes for non-code * CRAI nitpicks * Add suggestions --- source/_integrations/plugwise.markdown | 71 ++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index b72b652da89f..b43b9e63bb99 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -266,3 +266,74 @@ Stretch (power switches): - v3.x - v2.x + +## Troubleshooting + +### Accessing the local device + +If you need to configure the gateway directly, without using the Plugwise App, you can find the link to your device by: + +1. Go to {% my integrations title="**Settings** > **Devices & services**" %}, and select your integration. +2. If you have more than one Plugwise gateway, select the one to configure. +3. Select the gateway device, this should be called 'Adam', 'Stretch' or contain 'Smile' in its name. +4. On the integration entry, choose to open the configuration URL left of the {% icon "mdi:dots-vertical" %} icon. +5. A new window/tab will open, enter 'smile' (or 'stretch') as the username and the ID, from the sticker on the back, as the password. +6. Consult the manual or click the 'search' button on the [Plugwise Support](https://plugwise.com/support/) page for interactive help. + +### Adjusting the update interval + +Please note that the [default intervals](#data-updates) are considered best practice and according to how Plugwise normally updates their data. Updating too frequently may induce considerable load on your gateway(s) resulting in unexpected results or missing data. + +{% include common-tasks/define_custom_polling.md %} + +### Diagnostic data + +If you need to create an issue to report a bug or want to inspect diagnostic data, use the below method to retrieve diagnostics: + +1. Go to {% my integrations title="**Settings** > **Devices & services**" %}, and select your integration. +2. If you have more than one Plugwise gateway, select the gateway that is experiencing issues. +3. Select the gateway device, this should be called 'Adam', 'Stretch' or contain 'Smile' in its name. +4. On the integration entry, select the {% icon "mdi:dots-vertical" %}. + - Then, select **Download diagnostics** and a JSON file will be downloaded. +5. You can inspect the downloaded file or, when requested, upload it to your issue report. + +### Rebooting your gateway + +For each gateway, there will be a reboot button available in your integration. + +1. Go to {% my integrations title="**Settings** > **Devices & services**" %}, and select your integration. +2. If you have more than one Plugwise Smile, select the gateway that is experiencing issues. +3. Select the gateway device, this should be called 'Adam', 'Stretch' or contain 'Smile' in its name. +4. On the integration entry, look for the 'Reboot' button to press in the **Configuration** section. + +## Known limitations + +### Schedule configuration and pre-requisites + +Creation, modification or deleting of climate schedules is not supported through this integration. We recommend using the Plugwise App or visit the local device to configure schedules. See [accessing the local device](#accessing-the-local-device) above on how to access the local device from Home Assistant. + +To display your schedule as a valid `select` option for this integration, ensure that the schedule has a minimal of two schedule points. + +### Anna connected to Adam + +If you are using your Anna as part of your Adam zone control system, it becomes a zone thermostat, and cannot be configured as a smart thermostat. The integration will not discover your Anna or allow manual configuration. + +### Anna with Elga + +The cooling mode can only be toggled via a **physical switch** on the device (not through a toggle in the Plugwise App or using Home Assistant). + +The change in cooling mode should be detected by Home Assistant. If not, please try to **reload** the Plugwise integration as indicated below and report your findings. + +1. Create an issue including your [diagnostic data](#diagnostic-data). +2. Go to {% my integrations title="**Settings** > **Devices & services**" %}, and select your integration. +3. On the "**Hubs**" page, use the {% icon "mdi:dots-vertical" %} icon next to your Anna and choose "**Reload**". + +### Vacation preset + +The `vacation` preset is only available on an Anna. Adam has a vacation-mode (called Action in the Plugwise App) that disables the active schedule and sets the vacation-preset for all zones. + +Also, there's a pause-mode that disables the active schedule and sets the away-preset for all zones. + +### Idling climate actions + +You can only stop climate actions on an Adam, see [turn on / turn off](#turn-on--turn-off). An alternative could be to adjust your [preset mode](#set-preset-mode) to `no_frost` to stop any heating actions. From 26bd89cd0223a07247b794b2a7bb5428fff2062c Mon Sep 17 00:00:00 2001 From: Didgeridrew <19187320+Didgeridrew@users.noreply.github.com> Date: Wed, 25 Dec 2024 09:39:59 -0500 Subject: [PATCH 26/53] Update template.markdown Legacy Binary Sensor (#36542) Example in Legacy binary sensor section was missing quote marks. --- source/_integrations/template.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index a4fed8e1ecee..67be19f7cb53 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -939,7 +939,7 @@ binary_sensor: sensors: sun_up: friendly_name: "Sun is up" - value_template: {{ state_attr('sun.sun', 'elevation') > 0 }} + value_template: "{{ state_attr('sun.sun', 'elevation') > 0 }}" ``` {% endraw %} From 072e53d10a42d373e51a0fb56e0e0f3479235e8a Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 25 Dec 2024 15:47:15 +0100 Subject: [PATCH 27/53] Remove entity IDs from Transmission documentation (#36525) --- source/_integrations/transmission.markdown | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown index 55b97be7c907..a0c1d50c941d 100644 --- a/source/_integrations/transmission.markdown +++ b/source/_integrations/transmission.markdown @@ -26,23 +26,25 @@ Your Transmission client must first be configured to allow remote access. In you {% include integrations/config_flow.md %} -## Integration entities +## Supported functionality The Transmission integration will add the following sensors and switches. -**Sensors**: -- `sensor.transmission_current_status`: The status of your Transmission daemon. -- `sensor.transmission_download_speed`: The current download speed [MB/s]. -- `sensor.transmission_upload_speed`: The current upload speed [MB/s]. -- `sensor.transmission_active_torrents`: The current number of active torrents. -- `sensor.transmission_paused_torrents`: The current number of paused torrents. -- `sensor.transmission_total_torrents`: The total number of torrents present in the client. -- `sensor.transmission_started_torrents`: The current number of started torrents (downloading). -- `sensor.transmission_completed_torrents`: The current number of completed torrents (seeding). - -**Switches**: -- `switch.transmission_switch`: A switch to start/stop all torrents. -- `switch.transmission_turtle_mode`: A switch to enable turtle mode (a.k.a. alternative speed limits). +### Sensors + +- The status of your Transmission daemon. +- The current download speed [MB/s]. +- The current upload speed [MB/s]. +- The current number of active torrents. +- The current number of paused torrents. +- The total number of torrents present in the client. +- The current number of started torrents (downloading). +- The current number of completed torrents (seeding). + +### Switches + +- A switch to start/stop all torrents. +- A switch to enable turtle mode (a.k.a. alternative speed limits). ## Event automation From d004da3a87ffdb18174954ec94898da44fcd46e0 Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 26 Dec 2024 17:05:30 +0300 Subject: [PATCH 28/53] Update scrape.markdown (#36556) --- source/_integrations/scrape.markdown | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index d8a380088308..bf9a9e8ae553 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -39,7 +39,7 @@ scrape: - resource: https://www.home-assistant.io sensor: - name: "Current version" - select: ".current-version h1" + select: ".release-date" ``` {% configuration %} @@ -178,8 +178,7 @@ scrape: - resource: https://www.home-assistant.io sensor: - name: Release - select: ".current-version h1" - value_template: '{{ value.split(":")[1] }}' + select: ".release-date" ``` {% endraw %} From d1d7f5d88c6c7726362a710f7308e0cad509f861 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Dec 2024 16:48:18 +0100 Subject: [PATCH 29/53] build(deps): bump nokogiri from 1.17.2 to 1.18.0 (#36559) --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 7020f561721a..fdd60337ed48 100644 --- a/Gemfile +++ b/Gemfile @@ -24,7 +24,7 @@ group :jekyll_plugins do end gem 'sinatra', '4.1.1' -gem 'nokogiri', '1.17.2' +gem 'nokogiri', '1.18.0' # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem # and associated library diff --git a/Gemfile.lock b/Gemfile.lock index 772499187e34..76cd604bd0a6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -81,9 +81,9 @@ GEM multi_json (1.15.0) mustermann (3.0.3) ruby2_keywords (~> 0.0.1) - nokogiri (1.17.2-arm64-darwin) + nokogiri (1.18.0-arm64-darwin) racc (~> 1.4) - nokogiri (1.17.2-x86_64-linux) + nokogiri (1.18.0-x86_64-linux-gnu) racc (~> 1.4) parallel (1.26.3) parser (3.3.6.0) @@ -173,7 +173,7 @@ DEPENDENCIES jekyll-paginate (= 1.1.0) jekyll-sitemap (= 1.4.0) jekyll-toc (= 0.19.0) - nokogiri (= 1.17.2) + nokogiri (= 1.18.0) rackup (= 2.2.1) rake (= 13.2.1) rubocop (= 1.69.2) From e37bd7da81d6b04723bc1f84729af5c2ef56faa9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Dec 2024 16:49:01 +0100 Subject: [PATCH 30/53] build(deps-dev): bump regexp_parser from 2.9.3 to 2.10.0 (#36558) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 76cd604bd0a6..8a313ed91ad4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -110,7 +110,7 @@ GEM ffi (~> 1.0) rbs (3.8.0) logger - regexp_parser (2.9.3) + regexp_parser (2.10.0) rexml (3.4.0) rouge (4.5.1) rubocop (1.69.2) From 9f2dc4d0352ef8d55ed67a4f86ec74f7c029eeda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Dec 2024 07:53:20 +0100 Subject: [PATCH 31/53] build(deps-dev): bump rbs from 3.8.0 to 3.8.1 (#36566) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8a313ed91ad4..7e45a5425fa2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -108,7 +108,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbs (3.8.0) + rbs (3.8.1) logger regexp_parser (2.10.0) rexml (3.4.0) From 4efc9868cf76d06942b54552954aa439f0cee763 Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 27 Dec 2024 13:18:32 +0100 Subject: [PATCH 32/53] Update workday.markdown (#36568) Point to the correct repository and not to a forked one. --- source/_integrations/workday.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown index 067f3ac54b4f..6827d51c4856 100644 --- a/source/_integrations/workday.markdown +++ b/source/_integrations/workday.markdown @@ -26,7 +26,7 @@ This can be used to make daily automations that act differently on workdays than ## Setup -Check the [country list](https://github.com/dr-prodigy/python-holidays#available-countries) for available provinces (and other subdivisions, like states and territories) for each country. +Check the [country list](https://github.com/vacanza/holidays#available-countries) for available provinces (and other subdivisions, like states and territories) for each country. {% include integrations/config_flow.md %} From d530f30dada5d307f9df2262d2f3068443cc73a3 Mon Sep 17 00:00:00 2001 From: inthehoose <54743761+inthehoose@users.noreply.github.com> Date: Fri, 27 Dec 2024 19:31:39 +0000 Subject: [PATCH 33/53] Update london_underground.markdown (#36575) Added new London Overground names --- source/_integrations/london_underground.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/_integrations/london_underground.markdown b/source/_integrations/london_underground.markdown index f91ff1123d2f..78a5bea5b377 100644 --- a/source/_integrations/london_underground.markdown +++ b/source/_integrations/london_underground.markdown @@ -35,12 +35,17 @@ sensor: - Elizabeth line - Hammersmith & City - Jubilee - - London Overground - Metropolitan - Northern - Piccadilly - Victoria - Waterloo & City + - Liberty + - Lioness + - Mildmay + - Suffragette + - Weaver + - Windrush ``` {% configuration %} From dff95bd40b17cebc38c68b87bce562c8b1cc9a6b Mon Sep 17 00:00:00 2001 From: Elliana May Date: Sun, 29 Dec 2024 15:45:47 +0800 Subject: [PATCH 34/53] docs: fix link to mosquitto addon (#36591) --- source/_integrations/mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index d4934d0088a9..c03222ba98f8 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -133,7 +133,7 @@ Note: This action does not remove the [MQTT broker](#setting-up-a-broker) or its Your first step to get MQTT and Home Assistant working is to choose a broker. The easiest option is to install the official Mosquitto Broker add-on. You can choose to set up and configure this add-on automatically when you set up the MQTT integration. Home Assistant will automatically generate and assign a safe username and password, and no further attention is required. This also works if you have already set up this add-on yourself in advance. -You can set up additional logins for your MQTT devices and services using the [Mosquitto add-on configuration](https://my.home-assistant.io/create-link/?redirect=supervisor_addon&addon=core_mosquitto). +You can set up additional logins for your MQTT devices and services using the [Mosquitto add-on configuration](https://my.home-assistant.io/redirect/supervisor_addon/?addon=core_mosquitto). {% important %} When MQTT is set up with the official Mosquitto MQTT broker add-on, the broker's credentials are generated and kept secret. If the official Mosquitto MQTT broker needs to be re-installed, make sure you save a copy of the add-on user options, like the additional logins. After re-installing the add-on, the MQTT integration will automatically update the new password for the re-installed broker. It will then reconnect automatically. From 107f0c959438df39ff64c1665ab67e8d9fc893bb Mon Sep 17 00:00:00 2001 From: J Hwang Date: Sat, 28 Dec 2024 23:48:13 -0800 Subject: [PATCH 35/53] Fix broken PiMusicBox link (#36585) The previous link now points to a spam domain. PiMusicBox has been discontinued and the Github project archived. Per the project page: ** This project is no longer maintained ** There will be no more releases and probably no more support from myself. The Pi 4 and Zero W 2 do not work with the last release and I don't know of any workarounds. Potential alternative software suggestions are available here. The software will continue to be available for now but note it is very outdated, doesn't support the latest Pi hardware and is totally unsupported. I encourage people to find alternatives. Thanks to everyone that has helped with Pi Musicbox. --- source/_integrations/mpd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/mpd.markdown b/source/_integrations/mpd.markdown index fb6aa21850b4..fa5563974948 100644 --- a/source/_integrations/mpd.markdown +++ b/source/_integrations/mpd.markdown @@ -40,4 +40,4 @@ relaxdeck: volume_level: 0.60 ``` -This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://mopidy.com/ext/mpd/) as used by [Pi MusicBox](https://www.pimusicbox.com/). While all of these rely on the common MPD protocol, not all implementations support all features, especially with regard to album artwork, embedded artwork and volume control. The platform will fall back gracefully if support isn't detected. +This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://mopidy.com/ext/mpd/) as used by [Pi MusicBox](https://pimusicbox.github.io/). While all of these rely on the common MPD protocol, not all implementations support all features, especially with regard to album artwork, embedded artwork and volume control. The platform will fall back gracefully if support isn't detected. From c19e55c0a36de79c58f4338d2e335c0b3548c216 Mon Sep 17 00:00:00 2001 From: Austin Mroczek Date: Sun, 29 Dec 2024 00:05:10 -0800 Subject: [PATCH 36/53] Improve TotalConnect docs (#36557) * correction for Require Code * add removal instructions * update actions * simplify action description * move core notes to prerequisites * move automation example after entity descriptions * use consistent entity names * consolidate limitations * Revert "consolidate limitations" This reverts commit aed84750ea7e45045659ab113d723b2464c0dc7a. * consolidate limitations * improve service unavailable * add Data Updates section * add Unknown to troubleshooting * add supported devices * add use cases * more limitations --- source/_integrations/totalconnect.markdown | 129 ++++++++++++++++----- 1 file changed, 101 insertions(+), 28 deletions(-) diff --git a/source/_integrations/totalconnect.markdown b/source/_integrations/totalconnect.markdown index 275910d09425..0ee19234a809 100644 --- a/source/_integrations/totalconnect.markdown +++ b/source/_integrations/totalconnect.markdown @@ -21,19 +21,100 @@ ha_integration_type: integration The `totalconnect` integration provides connectivity with Resideo Total Connect 2.0-enabled alarm systems. +The integration allows automations based on the state of the alarm system. For example: when the alarm is armed, turn on the outside light. + +The integration can also arm or disarm the alarm panel. For example: when I arrive home, disarm the alarm panel + +## Supported devices + +This integration supports alarm panels with "communicator modules" that are compatible with the Total Connect 2.0 service. An active account is required via a third party alarm monitoring company. Panels may be branded as Resideo, Honeywell, Ademco or other third party alarm companies. + +Device models known to work include: + +- ProSeries (ProA7, ProA7Plus) +- Lyric (AIO, Gateway) +- Lynx Touch (L5100, L5200, L5210, L7000) +- Lynx Plus (L3000) +- VISTA (15P, 20P, 21iP) + +## Unsupported devices + +The following devices are not supported: + +- Older Lynx models (not Touch or Plus) +- Other panels without a Total Connect compatible communicator module + ## Prerequisites Log in to the [Total Connect website](https://totalconnect2.com) and create a "standard" Total Connect user account specifically for use with Home Assistant. It should not have full administrative privileges. Give the user access to your Location, along with a user code, usually a 4 digit number. +{% details "Notes for Home Assistant Core Installations" %} + +If you have issues running this integration, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command: + +```bash +sudo apt install libxml2-dev libxmlsec1-dev +``` + +{% enddetails %} + {% include integrations/config_flow.md %} ## Configuration Options **Auto Bypass Low Battery:** if enabled, TotalConnect zones will immediately be bypassed when they report low battery. This option helps because zones tend to report low battery in the middle of the night. The downside of this option is that when the alarm system is armed, the bypassed zone will not be monitored. -**Require Code:** if enabled, you must enter the user code to disarm the alarm. +**Require Code:** if enabled, you must enter the user code to arm or disarm the alarm. + +## Alarm control panel + +The integration provides an alarm control panel for each Total Connect location. It uses the name of your location from Total Connect. For example, if your location name in Total Connect is "Home", Home Assistant will use `alarm_control_panel.home`. + +The `triggered` state also provides a state attribute called `triggered_source` giving more detail on what triggered the alarm: + +- `Police/Medical` is when sensors detected a burglar and/or the Police or Medical button was pressed +- `Fire/Smoke` is when fire or smoke is detected, and/or the Fire button was pressed +- `Carbon Monoxide` is when carbon monoxide is detected + +## Binary sensor + +The integration provides a binary sensor for each Total Connect zone. To see faulted zones in Home Assistant, your Total Connect account must have "Sensor Activities" enabled. Your alarm monitoring company may charge an extra fee to enable this. If available, these can be found in the Total Connect 2 web portal at **Notifications** -> **Sensor Activities**. Alternately, they can be found in the Total Connect mobile app at **More** -> **Settings** -> **Notifications** -> **Sensor Activities**. Enable each zone you want to monitor. Unmonitored zones will display as `Closed` in Home Assistant. + +Home Assistant device class `door` is assigned to Total Connect entry/exit, perimeter, and motion zones; along with most alarm panel buttons. The sensor will appear as `True` if the zone is opened (either fault or triggered in Total Connect) and `False` if closed. Device class `smoke` is assigned to Total Connect smoke detectors and alarm panel buttons set to a "Fire No Verification" response type. The sensor will appear as `True` if smoke is detected or the respective button is pressed. Device class `gas` is assigned to Total Connect carbon monoxide detectors. The sensor will appear as `True` if carbon monoxide is detected. + +## Buttons + +The integration provides a bypass button for each zone that can be bypassed. The **Bypass All** button for the alarm panel will bypass all faulted or troubled zones. The **Clear Bypass** button for the alarm panel will clear all bypassed zones. + +## Actions + +The alarm control panel supports the following basic actions: `alarm_arm_away`, `alarm_arm_home`, `alarm_arm_night`, and `alarm_disarm`. + +### Action: Arm home instant + +The `totalconnect.arm_home_instant` action puts the alarm panel in "arm home" with zero entry delay, triggering the alarm instantly if an entry/exit zone is faulted. This is equivalent to "arm stay instant" in most alarm panels. + +| Data attribute | Optional | Description | +|------------------------|----------|------------------------------------------------------| +| `entity_id` | No | The ID of the alarm panel to arm. | + +### Action: Arm away instant + +The `totalconnect.arm_away_instant` action puts the alarm panel in "arm away" with zero entry delay, triggering the alarm instantly if an entry/exit zone is faulted. This is equivalent to "arm away instant" in most alarm panels. + +| Data attribute | Optional | Description | +|------------------------|----------|------------------------------------------------------| +| `entity_id` | No | The ID of the alarm panel to arm. | + +## Diagnostic Sensors + +The following diagnostic sensors are available: + +- Low Battery for Zones and Alarm Panels will be `On` if the battery is low. +- Tamper for Zones and Alarm Panels will be `On` if in a tampered state. +- Power for Alarm Panels will be `On` if main power is connected or `Off` if running on the backup battery. ## Automation example @@ -42,7 +123,7 @@ automation: - alias: "Alarm: Disarmed Daytime" triggers: - trigger: state - entity_id: alarm_control_panel.total_connect + entity_id: alarm_control_panel.home to: "disarmed" conditions: - condition: sun @@ -55,7 +136,7 @@ automation: - alias: "Alarm: Armed Away" triggers: - trigger: state - entity_id: alarm_control_panel.total_connect + entity_id: alarm_control_panel.home to: "armed_away" actions: - action: scene.turn_on @@ -70,45 +151,37 @@ automation: actions: - action: totalconnect.arm_home_instant target: - entity_id: alarm_control_panel.total_connect + entity_id: alarm_control_panel.home ``` -{% details "Notes for Home Assistant Core Installations" %} - -If you have issues running this integration, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command: +## Removing the integration -```bash -sudo apt install libxml2-dev libxmlsec1-dev -``` +This integration follows standard integration removal. No extra steps are required. -{% enddetails %} +{% include integrations/remove_device_service.md %} -## Alarm control panel +After deleting the integration, go to Total Connect and remove the user account you created for Home Assistant. -The integration provides an alarm control panel for each Total Connect location. It uses the name of your location from Total Connect. For example, if your location name in Total Connect is "Home", Home Assistant will use `alarm_control_panel.home`. +## Data Updates -The alarm control panel supports the following actions: `alarm_arm_away`, `alarm_arm_home`, `alarm_arm_night`, and `alarm_disarm`. The integration also provides unique actions for `totalconnect.arm_home_instant` and `totalconnect.arm_away_instant` which arms the system with zero entry delay, triggering the alarm instantly if an entry/exit zone is faulted. +Your alarm panel contacts the Total Connect 2.0 server to provide status updates. This is a "polling integration" that contacts the Total Connect 2.0 server every 30 seconds to retrieve the status of your alarm panel and sensors. Home Assistant cannot communicate locally with the alarm panel. -The `triggered` state also provides a state attribute called `triggered_source` giving more detail on what triggered the alarm: +## Limitations -- `Police/Medical` is when sensors detected a burglar and/or the Police or Medical button was pressed -- `Fire/Smoke` is when fire or smoke is detected, and/or the Fire button was pressed -- `Carbon Monoxide` is when carbon monoxide is detected +The polling window is 30 seconds. If your door opens and then closes again within 30 seconds, it may not be visible in Home Assistant. Automations based on the short term status of doors and windows are not recommended. -## Binary sensor +The Total Connect API has limited zone type information. Many zones are simply described as "perimeter" and thus appear as a `door` in Home Assistant. You may have to manually adjust some entities. -The integration provides a binary sensor for each Total Connect zone. To see faulted zones in Home Assistant, your Total Connect account must have "Sensor Activities" enabled. Your alarm monitoring company may charge an extra fee to enable this. If available, these can be found in the Total Connect 2 web portal at **Notifications** -> **Sensor Activities**. Alternately, they can be found in the Total Connect mobile app at **More** -> **Settings** -> **Notifications** -> **Sensor Activities**. Enable each zone you want to monitor. Unmonitored zones will display as `Closed` in Home Assistant. +Some alarm panels integrate Z-Wave, cameras, smart locks or garage door openers, and those add-on devices can be controlled by the Total Connect app. This integration does not yet support awareness of or control of these add-on devices. -The Total Connect API has limited zone type information. Home Assistant device class `door` is assigned to Total Connect entry/exit, perimeter, and motion zones; along with most alarm panel buttons. The sensor will appear as `True` if the zone is opened (either fault or triggered in Total Connect) and `False` if closed. Device class `smoke` is assigned to Total Connect smoke detectors and alarm panel buttons set to a "Fire No Verification" response type. The sensor will appear as `True` if smoke is detected or the respective button is pressed. Device class `gas` is assigned to Total Connect carbon monoxide detectors. The sensor will appear as `True` if carbon monoxide is detected. +This integration cannot "trigger" the alarm panel or cause the alarm to sound. -## Buttons +## Troubleshooting -The integration provides a bypass button for each zone that can be bypassed. The **Bypass All** button for the alarm panel will bypass all faulted or troubled zones. The **Clear Bypass** button for the alarm panel will clear all bypassed zones. +### Error Connecting or Service Unavailable -## Diagnostic Sensors +The integration depends on the Total Connect 2.0 servers and your internet connection. Verify your internet is working and check https://status.resideo.com/ for server outages. -The following diagnostic sensors are available: +### Unknown ResultCode, ArmingState, ZoneType or ZoneStatus -- Low Battery for Zones and Alarm Panels will be `On` if the battery is low. -- Tamper for Zones and Alarm Panels will be `On` if in a tampered state. -- Power for Alarm Panels will be `On` if main power is connected or `Off` if running on the backup battery. +The Total Connect API does not fully document all modes of every alarm panel so the integration was developed based on testing with the developers' own hardware. New or different hardware may result in unknown ResultCode, ArmingState, ZoneType, ZoneStatus or similar messages in the Home Assistant logs. If encountered, please [submit an issue](https://github.com/craigjmidwinter/total-connect-client/issues) for `total-connect-client` which enables this integration. From 00ef5754e17cd99f72e3636da9669e90a9b55c0d Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 29 Dec 2024 09:28:13 +0100 Subject: [PATCH 37/53] Address supported functionality section for Plugwise (#36515) * Initial scaffolding for supported entities * Generalise cooling description * Revert deletion * Revert deletion * Fix nitpicks * CRAI nitpicks * Add suggestions * Reworded * Improve binary * Improve binary --- source/_integrations/plugwise.markdown | 83 ++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 4 deletions(-) diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index b43b9e63bb99..095884855c1e 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -65,13 +65,88 @@ For a thermostat, the active schedule can be deactivated or reactivated via the Auto means the schedule is active, and Heat means it's not active. The active thermostat schedule can be changed via the connected thermostat select entity. Please note that only schedules with two or more schedule points will be shown as select options. -## Entities +## Supported functionality -This integration will show all Plugwise devices (like hardware devices, multi-thermostat climate-zones, and virtual switchgroups) present in your Plugwise configuration. In addition, you will see a Gateway device representing your central Plugwise gateway (i.e., the Smile Anna, Smile P1, Adam or Stretch). +This integration displays all Plugwise devices in your configuration, including hardware devices, multi-thermostat climate zones, and virtual switch groups. Additionally, a device representing your Plugwise gateway (e.g., Adam, Smile-T, or P1) will be visible. -For example, if you have an Adam setup with a Lisa named 'Living' and a Tom named 'Bathroom', these will show up as individual devices. The heating/cooling device connected to your Smile will be shown as 'OpenTherm' or 'OnOff', depending on how the Smile communicates with the device. If you have Plugs (as in, pluggable switches connecting to an Adam) those will be shown as devices as well. +For example, if you have an Adam setup with a Lisa named 'Living' and a Tom named 'Bathroom', these will show up as individual devices. The heating/cooling device connected to your gateway will be shown as 'OpenTherm' or 'OnOff', depending on how the gateway communicates with the device. If you have Plugs (as in, pluggable switches connecting to an Adam) or Aqara Smart Plugs, those will be shown as devices as well. -Under each device there will be entities shown like binary_sensors, sensors, etc. depending on the capabilities of the device: for instance centralized measurements such as 'power' for a P1, 'outdoor_temperature' on Anna or Adam will be assigned to your gateway device. Heating/cooling device measurements such as 'boiler_temperature' will be assigned to the OpenTherm/OnOff device. +Each device will list entities such as `binary sensors`, `sensors`, etc., depending on its capabilities: for instance, centralized measurements such as `power` for a P1, `outdoor_temperature` on Anna or Adam will be assigned to your gateway device. Heating/cooling device measurements such as `boiler_temperature` will be assigned to the OpenTherm/OnOff device. + +### Climate entities + +#### Binary sensors + +Depending on your setup, one or more binary sensors will provide the state of your connected elements. Examples include: + +- **Cooling** & **Heating** + - **Description**: Indicates if your system is actively cooling or heating. +- **DHW State** + - **Description**: Indicates active heating of domestic hot water. +- **Flame State** + - **Description**: If gas is being consumed by your heater, i.e., firing for space or DHW-heating. + +#### Numbers + +Modifying specific number-based settings allows you to fine-tune your setup. + +- **Maximum boiler temperature setpoint** + - **Description**: Adjust the maximum temperature for secondary heater. +- **Domestic hot water setpoint** + - **Description**: Adjust the temperature for your domestic hot water. +- **Temperature offset** + - **Description**: Fine-tune the perceived temperature. + +#### Sensors + +A generous number of sensors is provided for your climate setup. Examples include: + +- **Setpoint** + - **Description**: The setpoint for the current zone (Adam) or generic (Anna). +- **Indoor temperature** + - **Description**: For Anna, Lisa or Jip this will show the temperature measured at the specific thermostat. +- **Outdoor temperature** + - **Description**: The temperature your climate gateway retrieves online. +- **Outdoor air temperature** + - **Description**: The temperature reported by the sensor present in the outdoor unit of your HVAC system, such as a heat pump. + +#### Selects + +- **Thermostat schedule** + - **Description**: Select between available schedules, generic (Anna) or for the current zone (Adam). + - **Remark**: Please check the [further configuration](#further-configuration) for requirements on configuring schedules. + +#### Switches + +- **Cooling** + - **Description**: Toggle if cooling should be enabled. +- **DHW Comfort Mode** + - **Description**: Toggle comfort mode for domestic hot water. + +### Power and gas entities + +#### Sensors + +A generous number of sensors is provided. Examples include: + +- **Electricity consumed point** + - **Description**: Electricity (in Watt) consumed currently by a phase (P1) or a plug. + - **Gateways**: Adam, P1 or Stretch. +- **Gas Consumed Interval** + - **Description**: The gas consumed since the last interval. + - **Gateways**: P1. +- **P1 Net Electricity Point** + - **Description**: Your netto electricity use at this time, can be negative when producing energy, i.e. though solar panels. + - **Gateways**: P1. +- **P1 Electricity Produced off-peak cumulative** + - **Description**: The total produced electricity during off-peak. + - **Gateways**: P1. + +#### Switches + +- **Relay** + - **Description**: Switch a plug on or off + - **Gateways**: Adam, P1 or Stretch. ## Data updates From a4e1a1cfff5ef54519eb538aa75a3325098408c5 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Sun, 29 Dec 2024 09:34:18 +0100 Subject: [PATCH 38/53] Update tradfri.markdown (#36528) --- source/_integrations/tradfri.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown index cd51168b9018..55802cdff94b 100644 --- a/source/_integrations/tradfri.markdown +++ b/source/_integrations/tradfri.markdown @@ -23,7 +23,7 @@ ha_platforms: ha_integration_type: integration --- -The IKEA TRÅDFRI integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your {% term "`configuration.yaml`" %} file. +The IKEA TRÅDFRI integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. {% include integrations/config_flow.md %} From 76eed772e8474494b7bc2c72ef5c3e47951a67db Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 29 Dec 2024 14:00:46 +0100 Subject: [PATCH 39/53] Improve initial section and supported devices for Plugwise (#36500) * Incremental restart * Fix (future and) current link endpoints * CRAI nitpicks * Known limitations for next PR * Rework from 36333 data updates * Textlint Zigbee --- source/_integrations/plugwise.markdown | 100 +++++++++++++++---------- 1 file changed, 60 insertions(+), 40 deletions(-) diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index 095884855c1e..1dbc71b3f0c6 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -1,6 +1,6 @@ --- title: Plugwise -description: Plugwise Smile platform integration. +description: Plugwise Gateway platform integration. ha_category: - Binary sensor - Button @@ -30,40 +30,42 @@ ha_platforms: ha_integration_type: hub --- -This enables [Plugwise](https://www.plugwise.com) integrations with a central Smile gateway to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address. -The platform supports [Anna](https://www.plugwise.com/en_US/products/anna), [Adam (zonecontrol)](https://www.plugwise.com/en_US/zonecontrol), [P1](https://www.plugwise.com/en_US/products/smile-p1) Smile products and the Stretch products (not in sale). See below list for more details. +[Plugwise](https://www.plugwise.com) provides smart home devices that allow you to monitor and control your climate, energy (including gas) consumption, and energy production. The energy information can be used for the [energy dashboard](/home-energy-management). -Platforms available - depending on your Smile and setup include: - - - `climate` (for the stand-alone Anna, for Adam, a climate entity is shown for each zone containing devices like an Anna or another type of wired-thermostat, Jip or Lisa combined with one or more Tom/Floor devices) - - `binary_sensor` (for showing the status of e.g. domestic hot water heating or secondary heater) - - `button` (for the Adam and the non-legacy Anna and P1 gateways) - - `number` (for changing a boiler setpoint, a temperature offset) - - `sensor` (for all relevant products including the Smile P1) - - `select` (for changing a thermostat schedule, a regulation mode (Adam only)) - - `switch` (for Plugs connected to Adam, or Circles and Stealths connected to a Stretch) +This integration supports one or multiple Plugwise Gateways connected to your network. You can connect to these gateways using your browser, the Plugwise App, or Home Assistant. There are 4 [supported](#supported-devices) types of gateways: +- Full zonecontrol using the [Adam](https://www.plugwise.com/en_US/zonecontrol) using [additional devices](#adam) such as zone thermostats, smart valves and smart-plugs. +- A stand-alone smart thermostat called [Anna](https://www.plugwise.com/en_US/products/anna). +- For power and gas-usage monitoring there is a device simply called the [P1](https://www.plugwise.com/en_US/products/smile-p1). +- Although no longer sold, there also is support for Stretch, a gateway to create network connectivity for their older power products. ## Pre-requisites -The Plugwise Smile(s) in your network will be automatically discovered and shown on the integrations dashboard. All you need is the Smile ID as its password, which is an 8-character string printed on the sticker on the bottom of your Smile. Repeat this for each individual Smile. +Plugwise gateways on your network are automatically discovered and displayed on the integrations dashboard. Each gateway requires its unique 8-character ID, found on a sticker at the bottom, as its password. Repeat this process for each gateway. {% include integrations/config_flow.md %} {% configuration_basic %} Host: - description: "The hostname or IP address of your Smile. For example: `192.168.1.25`. You can find it in your router or in the Plugwise app using the **Settings** icon (☰) -> **System** -> **Network**. If you are looking for a different device in the Plugwise App, on the main screen first select **Gateways** -> the Smile of your choice, and then follow the previous instruction. Normally, the Smile(s) are automatically discovered, and you don't have to provide the hostname or IP address." + description: "The hostname or IP address of your gateway. For example: `192.168.1.25`. You can find it in your router or in the Plugwise app using the **Settings** icon (☰) -> **System** -> **Network**. In the Plugwise App, to locate a specific device, select **Gateways** on the main screen, choose your desired gateway, and then follow the previous instructions. Normally, the gateway(s) are automatically discovered, and you don't have to provide the hostname or IP address." Username: - description: "Username to log in to the Smile. This should be just `smile` - or `stretch` for a Stretch." + description: "Username to log in to the gateway. This should be 'smile' for most devices, or 'stretch' for a Stretch." Password: - description: "This is the password (i.e. Smile ID) printed on the sticker on the back of your Smile (i.e. Adam, Smile-T, or P1) and should be 8 characters long." + description: "Each gateway requires its unique 8-character ID, found on a sticker at the bottom, as its password." {% endconfiguration_basic %} -### Further configuration +### Schedule Management -For a thermostat, the active schedule can be deactivated or reactivated via the climate card. Please note, that when no schedule is active, one must first be activated in the Plugwise App. Once that has been done, the Plugwise Integration can manage future operations. +1. **Initial Setup**: First, activate a schedule using the Plugwise App or browser. +2. **Control via Home Assistant**: + - Use the climate card to activate/deactivate schedules. + - 'Auto' mode indicates the schedule is active. + - 'Heat', 'Cool' or 'Heat_cool' modes signify the schedule is inactive. +3. **Changing Schedules**: Use the thermostat [select](#change-climate-schedule) entity. -Auto means the schedule is active, and Heat means it's not active. The active thermostat schedule can be changed via the connected thermostat select entity. Please note that only schedules with two or more schedule points will be shown as select options. +{% note %} +Only schedules with two or more schedule points will appear as options. +{% endnote %} ## Supported functionality @@ -150,11 +152,13 @@ A generous number of sensors is provided. Examples include: ## Data updates -The interval which the integration fetches data from the Smile depends on the device: +The interval at which the integration fetches data from the gateway depends on the device-type. -- Power entities, such as the P1, will be refreshed every 10 seconds. -- Climate entities will be refreshed every 60 seconds. -- Stretch entities will be refreshed every 60 seconds. +|Device-type|Interval| +--- | --- +| Climate entities |60 seconds| +| Energy and gas entities |10 seconds| +| Stretch entities |60 seconds| ## Removing the integration @@ -311,33 +315,49 @@ script: preset_mode: asleep ``` -### Supported devices +## Supported devices -The current implementation of the Python module (Plugwise-Smile) includes: +### Adam -Adam (zone_control) with On/Off, OpenTherm, and Loria/Thermastage heating and cooling support: +A complete zone control system also known as [Adam HA](https://www.plugwise.com/en_US/zonecontrol), supporting: - - v3.x - - v2.3 +- On/Off, OpenTherm heating and cooling support. +- Running firmwares v3.x or v2.3. +- Additional devices: + - Zone thermostats such as Lisa or Anna (see warning below on Anna), + - A temperature sensor, Jip, + - Valve controllers called Floor or Tom, + - An under-floor heating controller Koen (note: a Koen always comes with a Plug, which is the active part), + - Smart switches, either Plug or Aqara Smart Plug. - - Devices supported are Anna, Lisa, Jip, Floor, Tom, Plug, Aqara Smart Plug, and Koen (a Koen always comes with a Plug, the active part) +{% note %} +You can also use the Adam SA (Stand-alone, no Zigbee stick present) to make your regular OpenTherm thermostat smart. +{% endnote %} -Anna (thermostat) with OnOff, OpenTherm heating, and Elga and Loria/Thermastage with heating and cooling support: +### Anna - - v4.x - - v3.x - - v1.x +A [smart thermostat](https://www.plugwise.com/en_US/products/anna), supporting: -On the Elga, the cooling-mode can only be turned on, or off, via a switch present on the device, not via a toggle in the Plugwise App. -Please make sure to reload the Plugwise integration after the cooling-mode-switch is turned off after being on, or the other way around. This will ensure that the Plugwise integration is being adapted to the change in function of the Elga. +- On/Off, OpenTherm heating and cooling support. +- Running firmware v4.x, v3.x or v1.x. -Smile P1 (DSMR): +### P1 (DSMR) - - v4.x - - v3.x - - v2.x +A [P1](https://www.plugwise.com/en_US/products/smile-p1) smart meter monitor for the single- or multi-phase grid power connection to your home including gas usage monitoring. Running firmware v4.x, v3.x or v2.x. + +### Stretch (end-of-sale) + +For controlling and monitoring legacy power switches, such as the Circles or Stealths, with v3.x or v2.x Stretch firmware. + +### Unsupported devices + +#### Anna P1 + +A smart thermostat [combined](https://www.plugwise.com/en_US/products/anna-p1) with an energy monitor can transform the way you manage energy. If your solar setup generates surplus energy and you're charged for it, this combination ensures that excess solar power is redirected efficiently. Powering your heat pump for instance to make the most of renewable energy. Do you have a setup like this? We’d love to hear your experience! + +#### Stick -Stretch (power switches): +Plugwise formerly sold power-based products comprised of a USB stick, as the controller, and smart plugs (amongst a few other items). This integration does not support the USB-stick. Reuse of the these products, such as Circles and Stealths using a Stretch or an Adam is supported. Work for USB support is in development by the community, but not ready to become a formal Home Assistant integration just yet. - v3.x - v2.x From fb8e6d28b497fee08a86c5babf8bf63a6e128918 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 30 Dec 2024 00:16:30 +0100 Subject: [PATCH 40/53] Fix valve names (#36606) --- source/_integrations/valve.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_integrations/valve.markdown b/source/_integrations/valve.markdown index 4b38e1655030..6b47dca70efc 100644 --- a/source/_integrations/valve.markdown +++ b/source/_integrations/valve.markdown @@ -46,8 +46,8 @@ The following device classes are supported for valves: ### Valve control actions -All valves respond to `valve.open`, `valve.close`, and `valve.toggle`. -Valves that allow setting a specific position may also be controlled with `valve.set_position` and `valve.stop`. +All valves respond to `valve.open_valve`, `valve.close_valve`, and `valve.toggle`. +Valves that allow setting a specific position may also be controlled with `valve.set_valve_position` and `valve.stop_valve`. | Data attribute | Optional | Description | | ---------------------- | -------- | ----------- | @@ -61,12 +61,12 @@ automation: - trigger: time at: "07:15:00" actions: - - action: valve.close + - action: valve.close_valve target: entity_id: valve.demo ``` -### Action `valve.set_position` +### Action `valve.set_valve_position` Set the position of one or multiple valves if they support setting a specific position. @@ -83,7 +83,7 @@ automation: - trigger: time at: "07:15:00" actions: - - action: valve.set_position + - action: valve.set_valve_position target: entity_id: valve.demo data: From 6d1c07e31251e402e61d425b14871a25bd139d5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Dec 2024 09:21:12 +0100 Subject: [PATCH 41/53] build(deps): bump nokogiri from 1.18.0 to 1.18.1 (#36609) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.0 to 1.18.1. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.18.0...v1.18.1) --- updated-dependencies: - dependency-name: nokogiri dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index fdd60337ed48..ba8a39f15fbb 100644 --- a/Gemfile +++ b/Gemfile @@ -24,7 +24,7 @@ group :jekyll_plugins do end gem 'sinatra', '4.1.1' -gem 'nokogiri', '1.18.0' +gem 'nokogiri', '1.18.1' # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem # and associated library diff --git a/Gemfile.lock b/Gemfile.lock index 7e45a5425fa2..7438c444dcd0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -81,9 +81,9 @@ GEM multi_json (1.15.0) mustermann (3.0.3) ruby2_keywords (~> 0.0.1) - nokogiri (1.18.0-arm64-darwin) + nokogiri (1.18.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.0-x86_64-linux-gnu) + nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) parallel (1.26.3) parser (3.3.6.0) @@ -173,7 +173,7 @@ DEPENDENCIES jekyll-paginate (= 1.1.0) jekyll-sitemap (= 1.4.0) jekyll-toc (= 0.19.0) - nokogiri (= 1.18.0) + nokogiri (= 1.18.1) rackup (= 2.2.1) rake (= 13.2.1) rubocop (= 1.69.2) From 62180799749b1aa74039d208ed5becf9b88e0b44 Mon Sep 17 00:00:00 2001 From: Said Tahsin Dane Date: Mon, 30 Dec 2024 09:23:55 +0100 Subject: [PATCH 42/53] Fix small copy paste error (#36601) --- source/_integrations/shell_command.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/shell_command.markdown b/source/_integrations/shell_command.markdown index bc720ca3e7c5..c19c8da114ca 100644 --- a/source/_integrations/shell_command.markdown +++ b/source/_integrations/shell_command.markdown @@ -109,7 +109,7 @@ The following example shows how the shell command response may be used in automa ```yaml # Create a ToDo notification based on file contents automation: - - alias: "run_set_ac" + - alias: "run_get_file_contents" triggers: - ... actions: From 72e7507b9203f968a6762600c4f140c4416b01e0 Mon Sep 17 00:00:00 2001 From: qfoxb <42038239+qfoxb@users.noreply.github.com> Date: Tue, 31 Dec 2024 15:27:58 -0600 Subject: [PATCH 43/53] Tested DN15S-1BW Via MLWSB-1BW, fix link (#36630) --- source/_integrations/decora_wifi.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_integrations/decora_wifi.markdown b/source/_integrations/decora_wifi.markdown index ed78193941a1..44e45d118112 100644 --- a/source/_integrations/decora_wifi.markdown +++ b/source/_integrations/decora_wifi.markdown @@ -15,14 +15,15 @@ related: ha_quality_scale: legacy --- -Support for [Leviton Decora Wi-Fi](https://www.leviton.com/products/residential/automation-smart-home/decora-smart-all/decora-smart-with-wifi-technology) dimmers/switches via the MyLeviton API. +Support for [Leviton Decora Wi-Fi](https://leviton.com/products/residential/smart-home/smart-switches) dimmers/switches via the MyLeviton API. Supported devices (tested): - [DW6HD1-BZ](https://www.leviton.com/products/dw6hd-1bz) (Decora Smart Wi-Fi 600W Dimmer) - [DW15P-1BW](https://www.leviton.com/products/dw15p-1bw) (Decora Smart Wi-Fi Plug-in Outlet) -- - [DW15S-1BZ](https://www.leviton.com/products/dw15s-1bz) (Decora Smart Wi-Fi 15A Switch) +- [DW15S-1BZ](https://www.leviton.com/products/dw15s-1bz) (Decora Smart Wi-Fi 15A Switch) - [D215S-2RW](https://store.leviton.com/products/decora-smart-wi-fi-switch-2nd-gen-d215s-2rw) (Decora Smart Wi-Fi 15A Switch - 2nd Gen) +- [DN15S-1BW](https://leviton.com/products/dn15s-1bw) (Decora Smart No-Neutral Switch) via [MLWSB-1BW](https://leviton.com/products/mlwsb-1bw) (Decora Smart Wi-Fi Bridge for No-Neutral Switch and Dimmer) To enable these lights, add the following lines to your {% term "`configuration.yaml`" %} file. {% include integrations/restart_ha_after_config_inclusion.md %} From 4fbd69e34069b79034e20d5f01c041ebd4230e23 Mon Sep 17 00:00:00 2001 From: Kyle Hendricks Date: Tue, 31 Dec 2024 16:33:42 -0500 Subject: [PATCH 44/53] Fix typo in Google Sheets documentation (#36628) --- source/_integrations/google_sheets.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/google_sheets.markdown b/source/_integrations/google_sheets.markdown index 26ab362f9ac9..46bc8ef141a5 100644 --- a/source/_integrations/google_sheets.markdown +++ b/source/_integrations/google_sheets.markdown @@ -17,7 +17,7 @@ api2: Google Sheets API api2_link: https://console.cloud.google.com/apis/enableflow?apiid=sheets.googleapis.com --- -The Google Sheets integration allows you to connect your [Google Drive](https://drive.google.com) to Home Assistant. The integration adds an actiion to allow you to append rows to a Sheets document. The idea is that you can store data on there for further processing. When you set up a config entry, your drive will have a new sheet called Home Assistant. You can then rename this to whatever you like. +The Google Sheets integration allows you to connect your [Google Drive](https://drive.google.com) to Home Assistant. The integration adds an action to allow you to append rows to a Sheets document. The idea is that you can store data on there for further processing. When you set up a config entry, your drive will have a new sheet called Home Assistant. You can then rename this to whatever you like. **Note**: The integration currently only has access to that one document that is created during setup. From 8909b581cd5000afeebbdac93bf1d18f7fbfa3dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Dec 2024 22:47:13 +0100 Subject: [PATCH 45/53] build(deps-dev): bump ffi from 1.17.0 to 1.17.1 (#36622) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7438c444dcd0..25a0a6265da5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -26,8 +26,8 @@ GEM eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-linux-gnu) forwardable-extended (2.6.0) google-protobuf (4.29.2-arm64-darwin) bigdecimal From 3c03b6057b01632305bb1195b22218c04fb17625 Mon Sep 17 00:00:00 2001 From: Anurag Devanapally <6226493+andeart@users.noreply.github.com> Date: Tue, 31 Dec 2024 14:30:00 -0800 Subject: [PATCH 46/53] Add troubleshooting for Roomba integration (#36631) --- source/_integrations/roomba.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown index 6c5f4db16019..d56981f0dcbf 100644 --- a/source/_integrations/roomba.markdown +++ b/source/_integrations/roomba.markdown @@ -88,3 +88,9 @@ Use this credentials in dorita980 lib :) ``` Copy the password (everything between `=>` and `<=`, not including leading and trailing whitespace) into the Home Assistant password dialog. + +## Troubleshooting + +- **Integration wizard shows "Failed to connect" after submitting the password**: Before attempting a factory reset (which can be a cumbersome process), attempt submitting the password in the integration wizard while the Roomba is actively running (i.e. cleaning). Avoid opening the app to start a manual job to help with this. Instead, push the physical clean button on the device directly to start the manual job. This appears to resolve the issue on some models because they answer queries only while actively running. + + If this still does not resolve the issue, factory reset the model. From 429ac05365d493a36bcdd9705c46cfcf2be0c508 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:26:06 +0100 Subject: [PATCH 47/53] build(deps-dev): bump sorbet-runtime from 0.5.11708 to 0.5.11710 (#36646) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 25a0a6265da5..bdd553ad5840 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -150,7 +150,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11708) + sorbet-runtime (0.5.11710) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 9f3e9917bc0d04da7e0f3c5b6c00039f25ea61b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:28:01 +0100 Subject: [PATCH 48/53] build(deps-dev): bump textlint from 14.4.0 to 14.4.2 (#36644) --- package-lock.json | 514 ++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 248 insertions(+), 268 deletions(-) diff --git a/package-lock.json b/package-lock.json index f3f4f98e859d..7e0edf985220 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.0", "remark-stringify": "^11.0.0", - "textlint": "^14.4.0", + "textlint": "^14.4.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^5.0.13" @@ -295,6 +295,15 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/@keyv/serialize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.2.tgz", + "integrity": "sha512-+E/LyaAeuABniD/RvUezWVXKpeuvwLEA9//nE9952zBaOdBd2mQ3pPoM8cUe2X6IcMByfuSLzmYqnYshG60+HQ==", + "dev": true, + "dependencies": { + "buffer": "^6.0.3" + } + }, "node_modules/@npmcli/config": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/@npmcli/config/-/config-6.3.0.tgz", @@ -416,68 +425,68 @@ "dev": true }, "node_modules/@textlint/ast-tester": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.4.0.tgz", - "integrity": "sha512-pCKEUDaZVvvj/uZOTTUgU1tTkNsK+ufNs4Xx5BsBAqy+E0aAJJ47c8h2WIoL/MJniK6ZLctsDIwaZ4z9rUvrsQ==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.4.2.tgz", + "integrity": "sha512-w1MlGa9DsJgp2W+ifNZ57vIWDoRVRExy0rXek7/voxBmSpTo76zHq74ggwjOrmoZpX8ADkvDc0tUWWWyiUVskQ==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^14.4.0", - "debug": "^4.3.4" + "@textlint/ast-node-types": "^14.4.2", + "debug": "^4.4.0" } }, "node_modules/@textlint/ast-tester/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/@textlint/ast-traverse": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.4.0.tgz", - "integrity": "sha512-P6UrqKlXd9Lm0kJ1O8vyQU0/btXULiUHhE5nLZMnTNfgZYG3VasQ9BUyDHJn19O4PhUrIzZJusMi1XFcb3Y46Q==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.4.2.tgz", + "integrity": "sha512-HQp1iatBiLn9Qg8wqN3WxYWoiHJnkcv+30MdVPe5d0CmnBBXXRqFO1eSUHUlYarGNc3LyE0GFEkS72D7lefyNg==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^14.4.0" + "@textlint/ast-node-types": "^14.4.2" } }, "node_modules/@textlint/ast-traverse/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/@textlint/config-loader": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.4.0.tgz", - "integrity": "sha512-TCYVhQ+wP/Gs7P5BDAfyRpLJ5tohicTSwQapd/xPjByXFtGx8xlsbLQHTWcodFFpty1O57KRPRsRDhvuTAA2bQ==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.4.2.tgz", + "integrity": "sha512-qaR38dkGURC5XED5wR8OnJtPrK9Or76Do1P11rvRGgVu0Tn3n6UYQclbh8em8xnWWMuvJUzbTUSg2XE1h1uu3A==", "dev": true, "dependencies": { - "@textlint/kernel": "^14.4.0", - "@textlint/module-interop": "^14.4.0", - "@textlint/resolver": "^14.4.0", - "@textlint/types": "^14.4.0", - "@textlint/utils": "^14.4.0", - "debug": "^4.3.4", + "@textlint/kernel": "^14.4.2", + "@textlint/module-interop": "^14.4.2", + "@textlint/resolver": "^14.4.2", + "@textlint/types": "^14.4.2", + "@textlint/utils": "^14.4.2", + "debug": "^4.4.0", "rc-config-loader": "^4.1.3" } }, "node_modules/@textlint/feature-flag": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.4.0.tgz", - "integrity": "sha512-aSphE9jw4QTjiCOe1tbtZ2NZpMRbYoUTi2E62KQ/mcVnwGC+Jk671wNSoUJzR/YNaLo63cQ7OKhHrBEb55t+Iw==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.4.2.tgz", + "integrity": "sha512-jeK7FuaYVr+gqgvjZazYHLCA+0oJybXa26kgF7P0qJ4yWq9qoENnjZtHF1VCi40euIS60z+/VJ8SlQj3LfnaoQ==", "dev": true }, "node_modules/@textlint/fixer-formatter": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.4.0.tgz", - "integrity": "sha512-DijDPVZgHkHKAEsYVXFZaP0TJGLDtirok/hgi1N1N3MW5ZtQpIHOW8DgKaJcmDZvPQjkTxzBaUp8rzBxHG8MaQ==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.4.2.tgz", + "integrity": "sha512-zmpM3FXEFAQy6F35nGnsFUV7jIfcrJNBHuu/Vh5TgfvCw9n2h7+KwEzx34bEce4vBhmKTqebHKSzM+2PlZG3NA==", "dev": true, "dependencies": { - "@textlint/module-interop": "^14.4.0", - "@textlint/resolver": "^14.4.0", - "@textlint/types": "^14.4.0", + "@textlint/module-interop": "^14.4.2", + "@textlint/resolver": "^14.4.2", + "@textlint/types": "^14.4.2", "chalk": "^4.1.2", - "debug": "^4.3.4", + "debug": "^4.4.0", "diff": "^5.2.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", @@ -485,59 +494,59 @@ } }, "node_modules/@textlint/kernel": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.4.0.tgz", - "integrity": "sha512-zH19vQ0ns4n8kPr+csjPnV5yPip6gKs08GvDJBQlX3AEbRQkaSw4H5kBCE+R0D9qDkuqt7xe8Z8Tdm7E7aUvGw==", - "dev": true, - "dependencies": { - "@textlint/ast-node-types": "^14.4.0", - "@textlint/ast-tester": "^14.4.0", - "@textlint/ast-traverse": "^14.4.0", - "@textlint/feature-flag": "^14.4.0", - "@textlint/source-code-fixer": "^14.4.0", - "@textlint/types": "^14.4.0", - "@textlint/utils": "^14.4.0", - "debug": "^4.3.4", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.4.2.tgz", + "integrity": "sha512-nwUpdOl/whw8Cq9ELYRatmxEUEGApzKRAFJQpdIB/Ex0gKG1S/ctzSYbqSBUZ/Xctnn93yBDgOngDFdgoHbfWg==", + "dev": true, + "dependencies": { + "@textlint/ast-node-types": "^14.4.2", + "@textlint/ast-tester": "^14.4.2", + "@textlint/ast-traverse": "^14.4.2", + "@textlint/feature-flag": "^14.4.2", + "@textlint/source-code-fixer": "^14.4.2", + "@textlint/types": "^14.4.2", + "@textlint/utils": "^14.4.2", + "debug": "^4.4.0", "fast-equals": "^4.0.3", "structured-source": "^4.0.0" } }, "node_modules/@textlint/kernel/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/@textlint/linter-formatter": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.4.0.tgz", - "integrity": "sha512-rnFwSSXDdsQHGVaRoJJYocVSYn4ZEPUFj78JYDZcR+TRYVDzRJEblFhwsiXl/gHD3L5g2RnBcLbxwZIW+xwtIA==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.4.2.tgz", + "integrity": "sha512-gBd+DDFzymFCjv5vcoH23IbQujjib//lH5lvHz61ImtXzVI6SBBL0jnRjER52IFYRE0tll7VlMURvxWiAVlOzw==", "dev": true, "dependencies": { "@azu/format-text": "^1.0.2", "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "^14.4.0", - "@textlint/resolver": "^14.4.0", - "@textlint/types": "^14.4.0", + "@textlint/module-interop": "^14.4.2", + "@textlint/resolver": "^14.4.2", + "@textlint/types": "^14.4.2", "chalk": "^4.1.2", - "debug": "^4.3.4", + "debug": "^4.4.0", "js-yaml": "^3.14.1", "lodash": "^4.17.21", "pluralize": "^2.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", - "table": "^6.8.1", + "table": "^6.9.0", "text-table": "^0.2.0" } }, "node_modules/@textlint/markdown-to-ast": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.4.0.tgz", - "integrity": "sha512-y6UxfRZ00w8XQ1jfKhR0jcQd7qbYaQgo3aERWbJR0Gxxl0T+G+TKBS12pdnUFOTshgSTEgqlvrE+Zt3lTl0e1A==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.4.2.tgz", + "integrity": "sha512-hj2xR9hz5/Tu7Hlrn6VORJgdAfUhAd5j6cBkEVpnKAU4LaERkNyVCgK/da2JHK2w84YHmaDjER4D6zUUkllwag==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^14.4.0", - "debug": "^4.3.4", + "@textlint/ast-node-types": "^14.4.2", + "debug": "^4.4.0", "mdast-util-gfm-autolink-literal": "^0.1.3", "neotraverse": "^0.6.15", "remark-footnotes": "^3.0.0", @@ -548,9 +557,9 @@ } }, "node_modules/@textlint/markdown-to-ast/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/@textlint/markdown-to-ast/node_modules/bail": { @@ -780,79 +789,79 @@ } }, "node_modules/@textlint/module-interop": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.4.0.tgz", - "integrity": "sha512-QdtNDJc+XqDIbP9bwt7DryqE+vFbbIB28462VFWtXcHCJJoFTlmCJ1133SXLe14IOT9P04T9LMNhgv4d2v31gg==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.4.2.tgz", + "integrity": "sha512-PQqUgLcTnCTJ8qpYxLP6p98VzTP/Ju8QIDwTWYRpH00KHdmH9cR1/9O+l6YaWsJSGDtSL2zkMKIQLezpvBZ4cw==", "dev": true }, "node_modules/@textlint/resolver": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-14.4.0.tgz", - "integrity": "sha512-4jNO6Lbyiqtf22205XPpSYG4BNCZrvpmLzO2JUpYMe5C5g0z4l06Yqei3gJWYjdBLlL+fIxDcdW0hyIvvSFpUg==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-14.4.2.tgz", + "integrity": "sha512-P/tdGDpNvxyNGHtHGZJmvwina5bfE92OqiKk1rRJk/B6oIiDolJSPwtVBEJyAeG6N5vtsjqfVnVHnsWnS9/tgw==", "dev": true }, "node_modules/@textlint/source-code-fixer": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.4.0.tgz", - "integrity": "sha512-S2QBZ3pUQQeH01kgfKa1Tmusz0A2/sm3QkW1Uhag9x5v5OKYC4W3070eliY+p0I88nxmqy72M/j+78sDutUcuw==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.4.2.tgz", + "integrity": "sha512-8AFoRL0uQPiu7hlszM1jlido+PdL3/3Ddp8sz1XxOpFgnjuTKnlRLYjziaL8X4JCpXQjUy4Q9am8NI6M1Y18lw==", "dev": true, "dependencies": { - "@textlint/types": "^14.4.0", - "debug": "^4.3.4" + "@textlint/types": "^14.4.2", + "debug": "^4.4.0" } }, "node_modules/@textlint/text-to-ast": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.4.0.tgz", - "integrity": "sha512-MA3z7cksYpjXRPIFFcbB6CM5UbNFD53GJ823qo74ImU2MRlIrs9dcR9yQ76YxbYZ9OazPzUNGg5AS9tbp3Exbg==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.4.2.tgz", + "integrity": "sha512-fLyNHMczXZOP/jkKqBbjntszJR0ytsdQOPg9E8fnnbcX6eBMw3q924+M/vkYno/9ArSnUMPbdfhKBc/lWTXvcQ==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^14.4.0" + "@textlint/ast-node-types": "^14.4.2" } }, "node_modules/@textlint/text-to-ast/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/@textlint/textlint-plugin-markdown": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.4.0.tgz", - "integrity": "sha512-J6RoZSC7MOr9WYqyG4s1BZxExiHfS6fMmiQuWGJB133vDDrY+wmiaFm/C6Li59YPdPivddxSDo7v8z2zyayW1A==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.4.2.tgz", + "integrity": "sha512-qtUta0iHEn843Hzhq7VnYPRp5rsYLnaZC5fOGOMh8DIpUlnuNXI1ANs9TkL5LsgexyYyMuPtFbvwr7S4JNu6ig==", "dev": true, "dependencies": { - "@textlint/markdown-to-ast": "^14.4.0" + "@textlint/markdown-to-ast": "^14.4.2" } }, "node_modules/@textlint/textlint-plugin-text": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.4.0.tgz", - "integrity": "sha512-ut3+MhOh9taPUKLaTT4nyil3MLnAbo60BYGWIz6cPrv3YMyvN/eCw4jW4VscvV1WTik19lzmDCBfSpfnmz/PiA==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.4.2.tgz", + "integrity": "sha512-cg7J6qTgAsV7ms2fP2KpEBIaI+3GQAbQtjNTF4Zu5d8Kn07wNqFqZIpTnsKUC/b64Fn/ujo+HYse76nSU+5EZg==", "dev": true, "dependencies": { - "@textlint/text-to-ast": "^14.4.0" + "@textlint/text-to-ast": "^14.4.2" } }, "node_modules/@textlint/types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.4.0.tgz", - "integrity": "sha512-ZxZkiFxaXfjoaa/gzbGyUWR0mSMLChDaQrYJ0sPToCQ0QXUG3w5sIT2hCGZyBfNRc8/g0eH+KbDejD014oBPBQ==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.4.2.tgz", + "integrity": "sha512-s2UbCeYY8TQNdSusPs0n+g57g6fwx8Vz6nDZLD7vIXMEW10zIwkQnQf9IpxDwvKnstBWYTJ24Kx9nzddpBS9oQ==", "dev": true, "dependencies": { - "@textlint/ast-node-types": "^14.4.0" + "@textlint/ast-node-types": "^14.4.2" } }, "node_modules/@textlint/types/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/@textlint/utils": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.4.0.tgz", - "integrity": "sha512-/5QSdYa042z0SX+10+UPzHlMT2nWuRBkouf90/P60nycpFmWn0waIbVoARDlekzmaqB4BitbP7NGjjPmEju4bA==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.4.2.tgz", + "integrity": "sha512-bhns1Cws+4dERz6KGFVLLGf0vFK6r5LiKKeg7N3Hnh0QNbzy7TYO+HTfZsgcqBvZSJeAeowzKyDQ8nSsflPbJw==", "dev": true }, "node_modules/@types/concat-stream": { @@ -1044,6 +1053,26 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1059,16 +1088,6 @@ "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==", "dev": true }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -1081,12 +1100,46 @@ "node": ">=8" } }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/cacheable": { + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.7.tgz", + "integrity": "sha512-AbfG7dAuYNjYxFUtL1lAqmlWdxczCJ47w7cFjhGcnGnUdwSo6VgmSojfoW3tUI12HUkgTJ5kqj78yyq6TsFtlg==", + "dev": true, + "dependencies": { + "hookified": "^1.6.0", + "keyv": "^5.2.3" + } + }, "node_modules/ccount": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", @@ -1242,12 +1295,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, "node_modules/concat-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", @@ -1287,12 +1334,12 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1443,15 +1490,12 @@ } }, "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.5.tgz", + "integrity": "sha512-umpQsJrBNsdMDgreSryMEXvJh66XeLtZUwA8Gj7rHGearGufUFv6rB/bcXRFsiGWw/VeSUgUofF4Rf2UKEOrTA==", "dev": true, "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" + "flat-cache": "^6.1.5" } }, "node_modules/fill-range": { @@ -1479,23 +1523,20 @@ } }, "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.5.tgz", + "integrity": "sha512-QR+2kN38f8nMfiIQ1LHYjuDEmZNZVjxuxY+HufbS3BW0EX01Q5OnH7iduOYRutmgiXb797HAKcXUeXrvRjjgSQ==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" + "cacheable": "^1.8.7", + "flatted": "^3.3.2", + "hookified": "^1.6.0" } }, "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true }, "node_modules/foreground-child": { @@ -1523,12 +1564,6 @@ "node": ">=0.4.x" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -1558,26 +1593,6 @@ "node": ">=0.12.0" } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -1617,12 +1632,38 @@ "node": ">=8" } }, + "node_modules/hookified": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.6.0.tgz", + "integrity": "sha512-se7cpwTA+iA/eY548Bu03JJqBiEZAqU2jnyKdj5B5qurtBg64CZGHTgqCv4Yh7NWu6FGI09W61MCq+NoPj9GXA==", + "dev": true + }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -1642,16 +1683,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -1886,6 +1917,15 @@ "node": ">=6" } }, + "node_modules/keyv": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.2.3.tgz", + "integrity": "sha512-AGKecUfzrowabUv0bH1RIR5Vf7w+l4S3xtQAypKaUpTdIR1EbrAcTxHCrpo9Q+IWeUlFE2palRtgIQcgm+PQJw==", + "dev": true, + "dependencies": { + "@keyv/serialize": "^1.0.2" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3588,18 +3628,6 @@ } ] }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -3637,9 +3665,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/neotraverse": { @@ -3696,15 +3724,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -3810,15 +3829,6 @@ "node": ">=4" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -5730,18 +5740,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -6014,9 +6012,9 @@ } }, "node_modules/table": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", - "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, "dependencies": { "ajv": "^8.0.1", @@ -6036,26 +6034,26 @@ "dev": true }, "node_modules/textlint": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-14.4.0.tgz", - "integrity": "sha512-OutNGN573fI48bRdikgz+PAjCN/P4DRK9dLGxkNkqBlWmwbxLpvBxw1qspZEFVVLoNH94ra65NDfCwMvCosvdA==", - "dev": true, - "dependencies": { - "@textlint/ast-node-types": "^14.4.0", - "@textlint/ast-traverse": "^14.4.0", - "@textlint/config-loader": "^14.4.0", - "@textlint/feature-flag": "^14.4.0", - "@textlint/fixer-formatter": "^14.4.0", - "@textlint/kernel": "^14.4.0", - "@textlint/linter-formatter": "^14.4.0", - "@textlint/module-interop": "^14.4.0", - "@textlint/resolver": "^14.4.0", - "@textlint/textlint-plugin-markdown": "^14.4.0", - "@textlint/textlint-plugin-text": "^14.4.0", - "@textlint/types": "^14.4.0", - "@textlint/utils": "^14.4.0", - "debug": "^4.3.4", - "file-entry-cache": "^5.0.1", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-14.4.2.tgz", + "integrity": "sha512-4bHQY0ndqMBrZyLKqkca3dq8d1psBd1Nb6CznPjEZSFQV5WMAs7l8qZTgFsCwbkhSpbDSAxSTvBF/WZlHT71WA==", + "dev": true, + "dependencies": { + "@textlint/ast-node-types": "^14.4.2", + "@textlint/ast-traverse": "^14.4.2", + "@textlint/config-loader": "^14.4.2", + "@textlint/feature-flag": "^14.4.2", + "@textlint/fixer-formatter": "^14.4.2", + "@textlint/kernel": "^14.4.2", + "@textlint/linter-formatter": "^14.4.2", + "@textlint/module-interop": "^14.4.2", + "@textlint/resolver": "^14.4.2", + "@textlint/textlint-plugin-markdown": "^14.4.2", + "@textlint/textlint-plugin-text": "^14.4.2", + "@textlint/types": "^14.4.2", + "@textlint/utils": "^14.4.2", + "debug": "^4.4.0", + "file-entry-cache": "^10.0.5", "get-stdin": "^5.0.1", "glob": "^10.4.5", "md5": "^2.3.0", @@ -6178,9 +6176,9 @@ } }, "node_modules/textlint/node_modules/@textlint/ast-node-types": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.0.tgz", - "integrity": "sha512-tEZbu6dMU8lysTpFrrW9WzN/hWnfGoanOX1WmdKZ7LgqUVDdsd9Q8RNLlQLOgl7ev1C7O3T4ruzl4rdYI5he1g==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.4.2.tgz", + "integrity": "sha512-e8/drNznaZHS/qGDC83k6Ht1wDWNHzGQ0RHcXD+72YMFercEFvp6WVfW5XbCbxGbSITEO5NBCOCTyeccS9lxEA==", "dev": true }, "node_modules/textlint/node_modules/brace-expansion": { @@ -7307,24 +7305,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/package.json b/package.json index f9746eb28535..a887d804b3bf 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.0", "remark-stringify": "^11.0.0", - "textlint": "^14.4.0", + "textlint": "^14.4.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^5.0.13" From d6ae94689c27ac5d7ad3d9599db523e3afba205c Mon Sep 17 00:00:00 2001 From: Kyle Cooke Date: Thu, 2 Jan 2025 08:45:35 +0000 Subject: [PATCH 49/53] Update sky_remote.markdown (#36642) --- source/_integrations/sky_remote.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/sky_remote.markdown b/source/_integrations/sky_remote.markdown index 322e9a7ec90d..18b9ba282697 100644 --- a/source/_integrations/sky_remote.markdown +++ b/source/_integrations/sky_remote.markdown @@ -22,7 +22,7 @@ The **Sky Remote** {% term integration %} lets you control a [Sky](https://www.s ## Supported models -This integration is intended to control all Sky satellite receiver boxes with a LAN port. It will not control Sky stream pucks. +This integration is intended to control Sky+ HD and Sky Q satellite receiver boxes with a LAN port. It will not control Sky stream pucks. {% include integrations/config_flow.md %} From be35805d386006b657488bdcf916d4e0f862fc9a Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Thu, 2 Jan 2025 11:43:59 +0100 Subject: [PATCH 50/53] Voice PE: fix typo in audio codec. should be AIC3204 (#36649) --- source/voice-pe/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/voice-pe/index.html b/source/voice-pe/index.html index 749b360b897e..31a1eb1c6db6 100644 --- a/source/voice-pe/index.html +++ b/source/voice-pe/index.html @@ -942,7 +942,7 @@

  • 3.5 mm (⅛”) stereo headphone jack
  • Digital to analog converter (DAC):
    - TI AIC3202
    + TI AIC3204
    48 kHz sampling rate

From 969475a02f13e718ecf6efbff80cbb0d1bee8706 Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Thu, 2 Jan 2025 12:40:44 +0000 Subject: [PATCH 51/53] Update Mastodon permissions (#36650) Co-authored-by: Franck Nijhof --- source/_integrations/mastodon.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_integrations/mastodon.markdown b/source/_integrations/mastodon.markdown index 2d69ed5232f8..108b8969de4e 100644 --- a/source/_integrations/mastodon.markdown +++ b/source/_integrations/mastodon.markdown @@ -22,7 +22,10 @@ The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to deliver no ### Setup Go to **Preferences** in the Mastodon web interface, then to **Development** and create a new application. -If you want to grant only required accesses, uncheck all checkboxes then check only **read:accounts** and **write:statuses**. + +Check the following scopes **read:accounts**, **write:statuses** and **write:media**. + +Select **Submit** to create the application and generate the key, secret, and token required for the integration. {% include integrations/config_flow.md %} From b3e010869f3cc7804e167dd51a80e0bc7a5ed415 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Thu, 2 Jan 2025 18:35:07 +0100 Subject: [PATCH 52/53] Wipe data disk: update steps for CM4 and CM5 (#36655) --- source/_includes/common-tasks/commandline.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_includes/common-tasks/commandline.md b/source/_includes/common-tasks/commandline.md index 0c9980962b11..9062bfa491a7 100644 --- a/source/_includes/common-tasks/commandline.md +++ b/source/_includes/common-tasks/commandline.md @@ -109,7 +109,7 @@ The command `ha os datadisk wipe` marks the data partition (either internal on t The `ha os datadisk wipe` command can only be run from the local terminal. Connect a display and keyboard and use the terminal. -Note, if you have a Home Assistant Yellow, there is a red hardware button to wipe the data disk. Follow the procedure on [resetting the device](https://yellow.home-assistant.io/guides/factory-reset/). +Note, if you have a Home Assistant Yellow with a Raspberry Pi Compute Module 5, these steps above apply. If you have a Home Assistant Yellow with a Raspberry Pi Compute Module 4, there is a red hardware button to wipe the data disk. Follow the procedure on [resetting the device](https://yellow.home-assistant.io/guides/factory-reset/). #### Listing all users from the command line From a01dddffe3be5bbe41050c86f7f6bce14d51b524 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Thu, 2 Jan 2025 21:00:44 +0100 Subject: [PATCH 53/53] Add link to steps on wiping data disk on Green (#36658) --- source/_includes/common-tasks/commandline.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_includes/common-tasks/commandline.md b/source/_includes/common-tasks/commandline.md index 9062bfa491a7..2357531894c5 100644 --- a/source/_includes/common-tasks/commandline.md +++ b/source/_includes/common-tasks/commandline.md @@ -109,7 +109,10 @@ The command `ha os datadisk wipe` marks the data partition (either internal on t The `ha os datadisk wipe` command can only be run from the local terminal. Connect a display and keyboard and use the terminal. -Note, if you have a Home Assistant Yellow with a Raspberry Pi Compute Module 5, these steps above apply. If you have a Home Assistant Yellow with a Raspberry Pi Compute Module 4, there is a red hardware button to wipe the data disk. Follow the procedure on [resetting the device](https://yellow.home-assistant.io/guides/factory-reset/). +Note, if you have a Home Assistant Yellow with a Raspberry Pi Compute Module 5, use the command line steps described above. + +- If you have a Home Assistant Yellow with a Raspberry Pi Compute Module 4, there is a red hardware button to wipe the data disk. Follow the procedure on [resetting the Home Assistant Yellow](https://yellow.home-assistant.io/guides/factory-reset/). +- If you have a Home Assistant Green, there is a black hardware button to wipe the data disk. Follow the procedure on [resetting the Home Assistant Green](https://green.home-assistant.io/guides/reset/). #### Listing all users from the command line