From 3c5fd6b4867cb8c1ac5db3735202f8bd0ca5d9ac Mon Sep 17 00:00:00 2001 From: kylehakala Date: Mon, 24 Feb 2025 06:55:28 -0600 Subject: [PATCH 01/19] ZHA: organize backup/migration section, clean up migration steps. (#37499) * ZHA: organize backup/migration sections * ZHA: clean up network migration steps * Update source/_integrations/zha.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> * Update source/_integrations/zha.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> * Update source/_integrations/zha.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> * Update source/_integrations/zha.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> * Update source/_integrations/zha.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/zha.markdown | 69 +++++++++++++++++++------------ 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 657dab2db0f..6b336c9ca63 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -447,51 +447,66 @@ For example, binding a "target destination" Zigbee device like a remote to a Zig Note that not all devices support binding. By default, ZHA binds remotes to the coordinator, so click events are forwarded to HA. As some remotes can only be bound to a single destination, you might need to unbind the remote from the coordinator before binding it to another device or group. -## Zigbee backup and restore in ZHA +## Backups and migration -Zigbee Home Automation (ZHA) {% term integration %} now features Zigbee network backup, restore/recovery, and migrating between Zigbee coordinators. Backups are taken automatically. However, a single backup to a file for easy download can also be manually created from the configuration page under Network Settings. +The ZHA {% term integration %} performs automatic backups of your Zigbee network allowing you to restore/recover the network from a backup or migrate to a different Zigbee Coordinator (radio adapter). -After restoring a Home Assistant backup, you can re-configure ZHA and migrate to a new Zigbee Coordinator adapter without any loss of your settings or devices that were connected. This is helpful if your current radio fails or a new radio adapter type and model comes out that you may want to migrate to. +After restoring a Home Assistant backup, you can reconfigure ZHA or migrate to a new Zigbee Coordinator without any loss of your settings or devices that were connected. This can be helpful if your current radio fails or a new radio adapter type/model comes out that you want to migrate to. -Within ZHA it is possible to use this backup and restore feature to migrate between some different radio types, if the respective radio library supports it. Currently, ZHA supports migrating the Zigbee network between different Zigbee Coordinator adapters based on chips from Silicon Labs, Texas Instruments, or ConBee/RaspBee if the backup was made from inside ZHA. +Manual backups can also be created from the configuration page under **Network Settings**. -## Migrating to a new Zigbee coordinator adapter inside ZHA +### Migrating to a new Zigbee Coordinator adapter inside ZHA -Follow this guide if you have a Zigbee Home Assistant (ZHA) network running and want to migrate from one Zigbee coordinator radio adapter to another Zigbee coordinator radio adapter. +ZHA supports migrating the Zigbee network between different Zigbee Coordinators based on chips from Silicon Labs, Texas Instruments, or ConBee/RaspBee if the backup was made from inside ZHA. -### Prerequisites +#### Prerequisites -- Your old Zigbee Coordinator radio adapter is used in the ZHA {% term integration %} (not in deCONZ or MQTT). -- It is of radio type ezsp (Silicon Labs EmberZnet), znp (Texas Instruments Z-Stack ZNP), or deCONZ (ConBee/RaspBee from dresden elektronik). - - If your old Zigbee coordinator is a deCONZ (ConBee/RaspBee) radio adapter, make sure it is running [firmware 0x26700700 (from 2021-08-18)](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Firmware-Changelog) or later. +To migrate your Zigbee network from one Zigbee Coordinator to another, confirm you meet the following requirements before proceeding with the migration process: -### To migrate to a new Zigbee coordinator radio inside ZHA +- The previous Zigbee Coordinator is used in the ZHA {% term integration %} and _not_ in deCONZ or MQTT. +- The radio type is one of the following: + - ezsp (Silicon Labs EmberZnet) + - znp (Texas Instruments Z-Stack ZNP) + - deCONZ (ConBee/RaspBee from dresden elektronik) + - For deCONZ (ConBee/RaspBee) radio adapters, make sure it is running [firmware 0x26700700 (from 2021-08-18)](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Firmware-Changelog) or later. + +#### To migrate to a new Zigbee coordinator radio inside ZHA 1. Go to **{% my integrations title="Settings > Devices & services" %}** and select the ZHA {% term integration %}. Then select **Configure**. 2. Under **Network settings**, select **Migrate radio**. 3. Reconfiguration of ZHA will start. Select **Submit**. 4. Under **Migrate or re-configure**, select **Migrate to a new radio**. -5. **Migrate to a new radio** will inform you that an automatic backup will be performed and that your old Zigbee coordinator radio will then be reset before the backup is automatically restored. - - Select **Submit**. -6. **Unplug your old radio** will inform you that your old Zigbee coordinator radio has been reset and that you can now plug in your new Zigbee coordinator radio adapter. - - To avoid interference, use a USB extension cable. - - Use a USB 2.0 port or a powered USB 2.0 hub and keep the Zigbee stick away from USB 3.0 devices. - - You may now also choose to either unplug your old Zigbee coordinator radio adapter or keep your old radio plugged in. - - If that radio was a combined Z-Wave and Zigbee radio, like the HUSBZB-1 adapter, then only the Zigbee radio part of it was reset. Confirm that the Zigbee Coordinator radio adapter is properly connected and select **Submit**. -7. You now need to start the backup restore process. - - Select your new Zigbee radio from the list of serial ports and select **Next**. - - If your new radio does not appear or you need to reboot after plugging in new hardware, you can resume the migration after a reboot: under **Network Settings**, select **Re-configure the current radio** and choose your new radio. +5. Select **Submit** to begin. + - An automatic backup will be performed, the Zigbee Coordinator radio will be reset, and the backup will be automatically restored. + - For combined Z-Wave and Zigbee radios, like the HUSBZB-1 adapter, only the Zigbee radio portion is reset. + - You may now unplug the old adapter, or you may leave the old radio adapter plugged in (for example, if the adapter is a combined Z-Wave adapter). +6. Plug in the new Zigbee Coordinator radio adapter. + - Select **Submit** after confirming the new Zigbee Coordinator radio adapter is properly connected. + - To minimize interference: + - Use a USB extension cable, + - Use a USB 2.0 port or a powered USB 2.0 hub, + - Keep the Zigbee stick away from USB 3.0 devices. +7. Start the backup restore process: + - Select the new Zigbee radio from the list of serial ports and select **Next**. + - A migration can be resumed if a reboot is required, such as when troubleshooting or if new hardware is plugged in. + - To resume, go to **Network Settings**, select **Re-configure the current radio**, choose the new radio and proceed. 8. Under **Network Formation**, select **Restore an automatic backup**. 9. Under **Restore Automation Backup**, choose the latest automatic backup and select **Submit**. -10. If your radio requires overwriting the IEEE address, you will see a screen titled **Overwrite Radio IEEE Address**. Check the **Permanently replace the radio IEEE address** box and click **Submit**. Overwriting the IEEE address may take a while. - - Your old Zigbee Coordinator radio and your new stick will now have the same Zigbee IEEE address (unique MAC address for the Zigbee device). - - Selecting this option is required for the migration process to complete successfully. - - From this point onwards, you should not operate the old stick in the same area unless you change the Zigbee IEEE address on it. - - If you do not migrate the Zigbee IEEE address from your old Zigbee Coordinator radio, then you will have to re-join/re-pair many of your devices in order to keep them working. +10. If the new radio requires overwriting the IEEE address (the unique MAC address), you will see the prompt for **Overwrite Radio IEEE Address**. + - Check the **Permanently replace the radio IEEE address** box and click **Submit**. + - Selecting this option is required for the migration process to complete successfully. + - Overwriting the IEEE address may take a while. + - Both the old and new Zigbee Coordinators will now have the same Zigbee IEEE address. + - You should not operate the old adapter in the same area unless you change its Zigbee IEEE address. + - If you do not migrate the Zigbee IEEE address from the old Zigbee Coordinator radio, you will have to reconnect many of your devices to keep them working. 11. Finally, a **Success!** message should pop up with information that all options were successfully saved. - Select **Finish** to confirm. -The migration process is complete. However, be aware that you will not be able to control your existing Zigbee devices until the new coordinator fully joins the network. This process can take a few minutes. If some existing devices do not function after some time, try power-cycling them to allow them to re-join the network. +{% important %} +You will not be able to control your existing Zigbee devices until the new coordinator fully joins the network after the migration. **This can take a few minutes.** + +If some existing devices do not resume normal functions after some time, try power-cycling them to attempt rejoining to the network. +{% endimportant %} ## Troubleshooting From 0a72ae0bec203695a902a5ba125a019541fd4d01 Mon Sep 17 00:00:00 2001 From: Darren Griffin Date: Mon, 24 Feb 2025 13:14:33 +0000 Subject: [PATCH 02/19] Update distributors (#37656) * Update products.yml * Add Inet logo * Fix typo --- source/_data/products.yml | 20 ++++++++++++++++++++ source/images/distributors/inet.webp | Bin 0 -> 13140 bytes 2 files changed, 20 insertions(+) create mode 100644 source/images/distributors/inet.webp diff --git a/source/_data/products.yml b/source/_data/products.yml index 1b3b03fdcee..4eafcce2285 100644 --- a/source/_data/products.yml +++ b/source/_data/products.yml @@ -150,6 +150,11 @@ green: ship_to: Europe url: https://www.wifishop.ro/en/homeassistant/home-assistant-green.html logo: /images/distributors/wifishop.webp + - name: Inet.se + ship_from: Sweden + ship_to: Europe + url: https://www.inet.se/produkt/8310063/home-assistant-green + logo: /images/distributors/inet.webp yellow: name: "Home Assistant Yellow" distributors: @@ -349,6 +354,11 @@ zbt-1: ship_to: Europe url: https://www.wifishop.ro/en/homeassistant/home-assistant-skyconnect.html logo: /images/distributors/wifishop.webp + - name: Inet.se + ship_from: Sweden + ship_to: Europe + url: https://www.inet.se/produkt/8310064/home-assistant-connect-zbt-1 + logo: /images/distributors/inet.webp voice-pe: name: "Home Assistant Voice Preview Edition" distributors: @@ -456,3 +466,13 @@ voice-pe: ship_to: Europe url: https://shop.pimoroni.com/products/home-assistant-voice logo: /images/distributors/pimoroni.webp + - name: Inet.se + ship_from: Sweden + ship_to: Europe + url: https://www.inet.se/produkt/8310094/home-assistant-voice-preview-edition + logo: /images/distributors/inet.webp + - name: Pi-Shop.ch + ship_from: Switzerland + ship_to: Europe + url: https://www.pi-shop.ch/home-assistant-voice-preview-edition + logo: /images/distributors/pi-shop.webp diff --git a/source/images/distributors/inet.webp b/source/images/distributors/inet.webp new file mode 100644 index 0000000000000000000000000000000000000000..106f75dce6034037fc0bf730fc66f1f35fe83525 GIT binary patch literal 13140 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 literal 0 HcmV?d00001 From 547d43b107da4ae90dd9f29d5608c6f6ab6b18b5 Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Mon, 24 Feb 2025 20:36:19 +0100 Subject: [PATCH 03/19] Fix formatting in pyLoad (#37673) --- source/_integrations/pyload.markdown | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_integrations/pyload.markdown b/source/_integrations/pyload.markdown index 0e7932c88ae..451c4be167f 100644 --- a/source/_integrations/pyload.markdown +++ b/source/_integrations/pyload.markdown @@ -69,23 +69,23 @@ Password: ## Sensors -- **Speed:** Monitors the current download speed. -- **Active downloads:** Indicates the number of files pyLoad is actively downloading -- **Downloads in queue:** Shows the number of downloads currently in the queue. -- **Finished downloads:** Indicates the number of completed downloads. -- **Free space:** Shows the available disk space in the download directory. +- **Speed**: Monitors the current download speed. +- **Active downloads**: Indicates the number of files pyLoad is actively downloading +- **Downloads in queue**: Shows the number of downloads currently in the queue. +- **Finished downloads**: Indicates the number of completed downloads. +- **Free space**: Shows the available disk space in the download directory. ## Buttons -- **Abort all running downloads:** Aborts all currently running downloads. -- **Delete finished files/packages:** Deletes all finished files and packages. -- **Restart all failed files/packages:** Restarts all failed downloads. +- **Abort all running downloads**: Aborts all currently running downloads. +- **Delete finished files/packages**: Deletes all finished files and packages. +- **Restart all failed files/packages**: Restarts all failed downloads. - **Restart pyLoad core**: Restarts the pyLoad core. ## Switches -- **Pause/Resume Queue:** Pauses or resumes the download queue. When paused, active downloads will continue, but new downloads in the queue will not start. -- **Auto-reconnect:** If configured, enables pyLoad to automatically reconnect the internet connection. +- **Pause/Resume Queue**: Pauses or resumes the download queue. When paused, active downloads will continue, but new downloads in the queue will not start. +- **Auto-reconnect**: If configured, enables pyLoad to automatically reconnect the internet connection. ## Automations From dc086cf5b7ec7f74125e9d5c4df5c05118374f1b Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Mon, 24 Feb 2025 20:36:26 +0100 Subject: [PATCH 04/19] Fix formatting in Bring documentation (#37672) --- source/_integrations/bring.markdown | 35 ++++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/source/_integrations/bring.markdown b/source/_integrations/bring.markdown index 521fd29266e..69670d55c8a 100644 --- a/source/_integrations/bring.markdown +++ b/source/_integrations/bring.markdown @@ -36,10 +36,10 @@ Available as a mobile app on [Google Play for Android](https://play.google.com/s ## How you can use this integration -- **Automated notifications:** Receive alerts on your phone when essential items are added to your list or when the quantity of items reaches a set value. -- **List updates based on events:** Automatically add items to your shopping list when appliances are low on supplies, like dishwasher salt, or need routine maintenance, such as tub cleaner for the washer. -- **Voice control:** Use voice assistants connected to Home Assistant to add items to your **Bring!** list. -- **Geofencing:** Receive reminders when you are near a specific store and need to pick up items, based on your location. +- **Automated notifications**: Receive alerts on your phone when essential items are added to your list or when the quantity of items reaches a set value. +- **List updates based on events**: Automatically add items to your shopping list when appliances are low on supplies, like dishwasher salt, or need routine maintenance, such as tub cleaner for the washer. +- **Voice control**: Use voice assistants connected to Home Assistant to add items to your **Bring!** list. +- **Geofencing**: Receive reminders when you are near a specific store and need to pick up items, based on your location. ## Prerequisites @@ -65,10 +65,10 @@ Password: ## Sensors -- **Urgent:** Shows the number of items tagged with the **Urgent** badge on the shopping list. Completed items are excluded. -- **On occasion:** Displays the count of items marked with the **If convenient** badge. -- **Discount only:** Indicates the number of items tagged with the **Offer** badge. -- **Region & Language:** The sensor can be used for diagnostics. If everything is set correctly, it will display the selected region for the shopping list. If it shows **Unknown**, the region has not been set properly in the **Bring!** app. +- **Urgent**: Shows the number of items tagged with the **Urgent** badge on the shopping list. Completed items are excluded. +- **On occasion**: Displays the count of items marked with the **If convenient** badge. +- **Discount only**: Indicates the number of items tagged with the **Offer** badge. +- **Region & Language**: The sensor can be used for diagnostics. If everything is set correctly, it will display the selected region for the shopping list. If it shows **Unknown**, the region has not been set properly in the **Bring!** app. - **List access**: Indicates whether the shopping list is **personal** (private) or **shared** (accessible to others). ## Actions @@ -80,7 +80,9 @@ You can use the actions from the [to-do list](/integrations/todo/) to create, up The **Bring!** integration offers an action to send push notifications to the Bring! mobile apps of other members of a shared shopping list. The Bring! mobile app has 4 predefined notification types. {% note %} + If you want to receive these notifications, you must use a dedicated account, as outlined in the [known limitations](#known-limitations). + {% endnote %} | Data attribute | Optional | Description | @@ -89,23 +91,24 @@ If you want to receive these notifications, you must use a dedicated account, as | `message` | no | Type of push notification to send to list members. See [Notification types](#available-notification-types). | | `item` | yes | Required for `urgent_message`. Item to include in the message. For example: *Attention! Attention! - We still urgently need: Cilantro*. | - ### Available notification types -| Notification type | Name of notification | -| ----------------- | -------------------------------------------------------------- | -| going_shopping | I'm going shopping! - Last chance for adjustments | -| changed_list | I changed the list! - Take a look at the items | -| shopping_done | The shopping is done! - The fridge is well stocked | -| urgent_message | Attention! Attention! - We still urgently need: `[Items]` | +| Notification type | Name of notification | +| ------------------- | -------------------------------------------------------------- | +| `going_shopping` | I'm going shopping! - Last chance for adjustments | +| `changed_list` | I changed the list! - Take a look at the items | +| `shopping_done` | The shopping is done! - The fridge is well stocked | +| `urgent_message` | Attention! Attention! - We still urgently need: `[Items]` | {% note %} + The notification that list members receive differs from the label shown in the Bring! app. This variation depends not only on the recipient’s language settings but also on the sender's profile name. Additionally, notifications may change with new app updates. Here are some example notifications: - `name` is going shopping for "`shopping list name`"! Last chance to make changes - `name` went shopping for "`shopping list name`"! The fridge is well stocked - `name` updated the list "`shopping list name`"! Take a look at the articles - Attention, something's missing! Please buy `item` urgently + {% endnote %} ### Sending a going shopping notification @@ -207,7 +210,7 @@ The **Bring!** integration relies on an active internet connection to communicat - A **502 - Bad Gateway** error (`aiohttp.client_exceptions.ClientResponseError: 502, message='Bad Gateway'`) is known to occur occasionally (1–2 times per day) but is usually temporary. The integration will retry automatically after 90 seconds, so there’s no need to take action. -In any case, when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics), restart the integration, and as soon as the issue reoccurs, stop the debug logging again (*download of debug log file will start automatically_). Further, if still possible, please also download the [diagnostics](/integrations/diagnostics) data. If you have collected the debug log and the diagnostics data, provide them with the issue report. +In any case, when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics), restart the integration, and as soon as the issue reoccurs, stop the debug logging again (*download of debug log file will start automatically*). Further, if still possible, please also download the [diagnostics](/integrations/diagnostics) data. If you have collected the debug log and the diagnostics data, provide them with the issue report. ## Remove integration From e0097fa1a2ac5d59d1ff60e9fc6eff5f6840f321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Mon, 24 Feb 2025 21:00:49 +0100 Subject: [PATCH 05/19] Add information about Home Connect supported devices (#37676) --- source/_integrations/home_connect.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index a19729f0a59..8d3cdc9a00b 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -56,6 +56,10 @@ Note that it depends on the appliance and on API permissions which of the featur Some devices only have the state `on` and turn off is not supported by the appliance, check [power state availability at Home Connect API documentation](https://api-docs.home-connect.com/settings/#power-state) for more information. {% endnote %} +## Supported devices + +You can find information about supported devices on the [Home Connect website](https://www.home-connect.com/global/smart-home-appliances). + ## Prerequisites 1. Visit [https://developer.home-connect.com](https://developer.home-connect.com) and sign up for a developer account. From edb214f8433a030e66b188e688e7e7b089cd0a18 Mon Sep 17 00:00:00 2001 From: kylehakala Date: Mon, 24 Feb 2025 14:52:23 -0600 Subject: [PATCH 06/19] ZHA: Move warning header into caution text block (#37645) * Move warning header into caution text block to reduce redundant headers * Move caution block into config requirements * Use original phrasing for the specific scenario, keep warning under hardware section * Simplify Zigbee wording where reasonable --- source/_integrations/zha.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 6b336c9ca63..b9bc2722152 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -130,14 +130,16 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl - [ZiGate-Ethernet (Ethernet gateway board for PiZiGate)](https://zigate.fr/produit/zigate-ethernet/) - [ZiGate + WiFi Pack](https://zigate.fr/produit/zigatev2-pack-wifi/) -#### Warning about using Zigbee Coordinator over Wi-Fi/WAN/VPN - {% caution %} -Be aware that using a Zigbee Coordinator via a Serial-Proxy-Server (also known as Serial-to-IP bridge or Ser2Net remote adapter) over a Wi-Fi, WAN, or VPN connection is not recommended. -Serial protocols used by the Zigbee Coordinator do not have enough robustness, resilience, or fault tolerance to handle packet loss and latency delays that can occur over unstable connections. +- It is **not recommended** to run a coordinator via **Serial-Proxy-Server** _(also called Serial-to-IP bridge or Ser2Net remote adapter)_ over: + + - **Wi-Fi**, + - **WAN**, or + - **VPN** -A Zigbee Coordinator requires a stable local connection to its serial port interface with no drops in communication between it and the Zigbee gateway application running on the host computer. +- The coordinator requires a stable, local connection to its serial port interface without drops in communication with the Zigbee gateway application running on the host computer. +- Serial protocols used by the coordinator do not have enough robustness, resilience, or fault tolerance to handle packet loss and latency delays that can occur over unstable connections. {% endcaution %} ## Configuration requirements From 1e1345d937fd30234d3d900bde4d63fd304abdde Mon Sep 17 00:00:00 2001 From: mchangsp Date: Tue, 25 Feb 2025 01:47:34 +0100 Subject: [PATCH 07/19] Update slide_local.markdown (#37678) --- source/_integrations/slide_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/slide_local.markdown b/source/_integrations/slide_local.markdown index 2958422c420..77aadac796b 100644 --- a/source/_integrations/slide_local.markdown +++ b/source/_integrations/slide_local.markdown @@ -74,7 +74,7 @@ The integration fetches data from the device every 15 seconds. ## Known limitations -The integration only provides connection with Slide devices via the local API. For connecting via the cloud API, please use the [Slide](./slide) integration. +The integration only provides connection with Slide devices via the local API. The cloud API is no longer available. ## Remove integration From 65ba6a9948f65b21c75b2f455a263a333cc22778 Mon Sep 17 00:00:00 2001 From: TJ Horner Date: Mon, 24 Feb 2025 17:24:09 -0800 Subject: [PATCH 08/19] Update Dexcom docs to clarify email user ID is required (#37664) --- source/_integrations/dexcom.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_integrations/dexcom.markdown b/source/_integrations/dexcom.markdown index a31e6d65f25..efe2f1d2358 100644 --- a/source/_integrations/dexcom.markdown +++ b/source/_integrations/dexcom.markdown @@ -18,7 +18,9 @@ The Dexcom integration allows you to view your CGM data from [Dexcom](https://ww ## Prerequisites -You will need to set up the [Dexcom Share](https://provider.dexcom.com/education-research/cgm-education-use/videos/setting-dexcom-share-and-follow) feature in your Dexcom G6 App to use this integration. Enabling the Dexcom Share service requires setup of at least one follower. The integration will use the Dexcom user's credentials, not the follower's credentials. +You will need to set up the Dexcom Share feature in your Dexcom [G6](https://provider.dexcom.com/education-research/cgm-education-use/videos/setting-dexcom-share-and-follow) or [G7](https://www.dexcom.com/faqs/how-do-i-share-my-dexcom-g7-glucose-data-with-followers) app to use this integration. Enabling the Dexcom Share service requires setup of at least one follower. The integration will use the Dexcom user's credentials, not the follower's credentials. + +Your Dexcom account must have an email address—not a phone number—as its primary user ID. If you normally log into your Dexcom account using a phone number, then this integration will not work. It is unfortunately not possible to change from a phone to email user ID after an account is created, so you will need to create a new Dexcom account in this case. {% include integrations/config_flow.md %} From 52b44388a21907ff09b8e3c16b179f933254b717 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 07:57:13 +0100 Subject: [PATCH 09/19] build(deps-dev): bump sass-embedded from 1.85.0 to 1.85.1 (#37684) Bumps [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) from 1.85.0 to 1.85.1. - [Commits](https://github.com/sass-contrib/sass-embedded-host-ruby/compare/v1.85.0...v1.85.1) --- updated-dependencies: - dependency-name: sass-embedded dependency-type: direct:development 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 78b4e119bbc..0a47dbe1fbd 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ group :development do gem 'stringex', '2.8.6' # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' - gem 'sass-embedded', '1.85.0' + gem 'sass-embedded', '1.85.1' gem 'rubocop', '1.72.2' gem 'ruby-lsp', '0.23.11' gem 'rackup', '2.2.1' diff --git a/Gemfile.lock b/Gemfile.lock index 39cff3dffb0..3e400e3d2be 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -141,9 +141,9 @@ GEM ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) - sass-embedded (1.85.0-arm64-darwin) + sass-embedded (1.85.1-arm64-darwin) google-protobuf (~> 4.29) - sass-embedded (1.85.0-x86_64-linux-gnu) + sass-embedded (1.85.1-x86_64-linux-gnu) google-protobuf (~> 4.29) sass-globbing (1.1.5) sass (>= 3.1) @@ -186,7 +186,7 @@ DEPENDENCIES rake (= 13.2.1) rubocop (= 1.72.2) ruby-lsp (= 0.23.11) - sass-embedded (= 1.85.0) + sass-embedded (= 1.85.1) sass-globbing (= 1.1.5) sassc (= 2.1.0) sinatra (= 4.1.1) From b0c2998f9ad6a3763689964a0514ecaccd76b150 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 07:57:33 +0100 Subject: [PATCH 10/19] build(deps-dev): bump sorbet-runtime from 0.5.11851 to 0.5.11856 (#37685) Bumps [sorbet-runtime](https://github.com/sorbet/sorbet) from 0.5.11851 to 0.5.11856. - [Release notes](https://github.com/sorbet/sorbet/releases) - [Commits](https://github.com/sorbet/sorbet/commits) --- updated-dependencies: - dependency-name: sorbet-runtime 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 3e400e3d2be..c713dafde37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,7 +158,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11851) + sorbet-runtime (0.5.11856) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From b347db27f73dd76156ba3cfc04bf567b89eba35c Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Tue, 25 Feb 2025 08:02:26 +0100 Subject: [PATCH 11/19] Fix formatting (#37675) --- source/_integrations/habitica.markdown | 36 ++++++++++++++------------ 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown index 0ba104f2012..ef5948cbf99 100644 --- a/source/_integrations/habitica.markdown +++ b/source/_integrations/habitica.markdown @@ -114,8 +114,8 @@ The following Habitica tasks are available as to-do lists in Home Assistant. You ## Calendars -- **To-Do calendar:** Lists the due dates for all active to-do tasks. Each event on this calendar represents a to-do item that has a set due date, making it easy to track upcoming deadlines and plan accordingly. -- **Dailies calendar:** Displays all daily tasks that are scheduled for today and are still active. It also shows all tasks scheduled for future dates, helping you stay organized and track upcoming routines. The calendar sensor will be active if there are unfinished tasks for today and display the next due daily (based on sort order if there are multiple tasks due for that day). +- **To-Do calendar**: Lists the due dates for all active to-do tasks. Each event on this calendar represents a to-do item that has a set due date, making it easy to track upcoming deadlines and plan accordingly. +- **Dailies calendar**: Displays all daily tasks that are scheduled for today and are still active. It also shows all tasks scheduled for future dates, helping you stay organized and track upcoming routines. The calendar sensor will be active if there are unfinished tasks for today and display the next due daily (based on sort order if there are multiple tasks due for that day). - **To-Do reminders calendar**: Lists events for reminders associated with your to-dos in Habitica, helping you track when notifications for specific to-dos are expected. - **Dailies reminders calendar**: Shows events for reminders linked to your Habitica dailies, ensuring you know when notifications for your dailies will occur. @@ -134,13 +134,13 @@ If you've unlocked the class system, button controls for casting player and part - **Ethereal surge**: You sacrifice Mana so the rest of your party, except for other mages, gains MP. (based on: INT) - **Earthquake**: Your mental power shakes the earth and buffs your party's intelligence. (based on: unbuffed INT) -- **Chilling frost:** With one cast, ice freezes all your streaks so they won't reset to zero tomorrow. +- **Chilling frost**: With one cast, ice freezes all your streaks so they won't reset to zero tomorrow. ### Warrior - **Defensive stance**: You crouch low and gain a buff to constitution. (based on: unbuffed CON) - **Valorous presence**: Your boldness buffs your whole party's strength. (based on: unbuffed STR) -- **Intimidating gaze:** Your fierce stare buffs your whole Party's constitution. (based on: unbuffed CON) +- **Intimidating gaze**: Your fierce stare buffs your whole Party's constitution. (based on: unbuffed CON) ### Rogue @@ -172,9 +172,9 @@ Use a skill or spell from your Habitica character on a specific task to affect i #### Available skills -- **Rogue:** `pickpocket`, `backstab` -- **Warrior:** `smash` -- **Mage:** `fireball` +- **Rogue**: `pickpocket`, `backstab` +- **Warrior**: `smash` +- **Mage**: `fireball` To use task aliases, make sure **Developer Mode** is enabled under [**Settings -> Site Data**](https://habitica.com/user/settings/siteData). Task aliases can only be edited via the **Habitica** web client. @@ -211,7 +211,9 @@ Terminate your party's ongoing quest. All progress will be lost, and the quest r | `config_entry` | no | Config entry of the character to abort the quest. | {% note %} + Actions marked with 🔒 have usage restrictions. See action descriptions for details. + {% endnote %} ### Action `habitica.start_quest` 🔒 @@ -264,20 +266,20 @@ Use a transformation item from your Habitica character's inventory on a member o - **Snowball**: `snowball` (transforms into a snowfriend) - **Spooky sparkles**: `spooky_sparkles` (transforms into a ghost) - **Seafoam**: `seafoam` (transforms into a starfish) -- **Shiny seed** `shiny_seed` (transforms into flower) +- **Shiny seed**: `shiny_seed` (transforms into flower) ### Action `habitica.get_tasks` Fetch tasks from your Habitica account, with optional filters to narrow down the results for more precise task retrieval. -| Data attribute | Optional | Description | -| -------------- | -------- | -------------------------------------------------------------------------------------------------------- | -| config_entry | no | Choose the Habitica character to retrieve tasks from. | -| type | yes | Filter tasks by type. Valid types: "habits", "dailies", "todos", "rewards". | -| priority | yes | Filter tasks by difficulty. Valid values: "trivial", "easy", "medium", "hard". | -| task | yes | Select specific tasks by matching their name (or task ID). | -| tag | yes | Filter tasks that have one or more of the selected tags. | -| keyword | yes | Filter tasks by keyword, searching across titles, notes, and checklists. | +| Data attribute | Optional | Description | +| ---------------- | -------- | -------------------------------------------------------------------------------------------------------- | +| `config_entry` | no | Choose the Habitica character to retrieve tasks from. | +| `type` | yes | Filter tasks by type. Valid types: `habits`, `dailies`, `todos`, `rewards`. | +| `priority` | yes | Filter tasks by difficulty. Valid values: `trivial`, `easy`, `medium`, `hard`. | +| `task` | yes | Select specific tasks by matching their name (or task ID). | +| `tag` | yes | Filter tasks that have one or more of the selected tags. | +| `keyword` | yes | Filter tasks by keyword, searching across titles, notes, and checklists. | ## Automations @@ -419,7 +421,7 @@ Please keep these limits in mind to avoid exceeding Habitica's request allowance The Habitica integration relies on an active internet connection to communicate with **Habitica**. If you encounter issues, verify that your network connection is stable. Additionally, the Habitica service itself may experience downtime, whether unexpected or due to scheduled maintenance. In these trying times of uncertainty and challenge, when fate tests your resolve, seek guidance from the [Habitica Outage Instructions](https://habitica.fandom.com/wiki/Outage_Instructions) on the community-maintained Habitica wiki — wisdom shared by adventurers who have faced such trials before. -In any case, when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics), restart the integration, and as soon as the issue reoccurs stop the debug logging again (_download of debug log file will start automatically_). Further _if still possible_, please also download the [diagnostics](/integrations/diagnostics) data. If you have collected the debug log and the diagnostics data, provide them with the issue report. +In any case, when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics), restart the integration, and as soon as the issue reoccurs stop the debug logging again (*download of debug log file will start automatically*). Further, if still possible, please also download the [diagnostics](/integrations/diagnostics) data. If you have collected the debug log and the diagnostics data, provide them with the issue report. ## Remove integration From 0559d5b429580dad2ec6a887eed5af441c20d1dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Tue, 25 Feb 2025 08:05:16 +0100 Subject: [PATCH 12/19] Add known limitations section to Home Connect (#37677) * Add known limitations section to Home Connect * Apply suggestions Co-authored-by: Franck Nijhof --------- Co-authored-by: Franck Nijhof --- source/_integrations/home_connect.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index 8d3cdc9a00b..2139abc36b7 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -185,3 +185,8 @@ Changes a setting. | `device_id` | no | Id of a device associated with the home appliance. | | `key` | no | Key of the setting. | | `value` | no | Value of the setting. | + +## Known limitations + +- The Home Connect API does not fully match the Home Connect app. Some programs, options, or settings available in the app may not be accessible or usable via the API. +- This integration supports only one integration entry, as the Home Connect API does not allow for the unique identification of an account. From 793b6aaad4d7df97f30f04b669f541fac9012f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Tue, 25 Feb 2025 08:26:33 +0100 Subject: [PATCH 13/19] Add Home Connect troubleshooting documentation (#37679) * Add Home Connect troubleshooting documentation * tiny tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/home_connect.markdown | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index 2139abc36b7..572dccb4aa2 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -186,7 +186,74 @@ Changes a setting. | `key` | no | Key of the setting. | | `value` | no | Value of the setting. | +## Troubleshooting + +### I could not configure the Home Connect integration + +#### Symptom: I tried to configure the Home Connect integration, but it failed with the message `Error while obtaining access token.` + +##### Description + +This problem might occur when the application credentials are not correctly configured. + +##### Solution + +To solve the above issue, follow these steps: + +1. Go to {% my integrations title="**Settings** > **Devices & services**" %}. +2. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Application credentials**. + + ![Devices and services overflow menu](/images/integrations/application_credentials/devices-and-services-menu.png) + + ![Application credential list](/images/integrations/application_credentials/application-credentials.png) +3. Select the three dots {% icon "mdi:dots-vertical" %} menu from the application credentials you created for the Home Connect integration and select **Delete**. +4. Add the Home Connect integration again under {% my integrations title="**Settings** > **Devices & services**" %} + +### Unavailable entities for a device + +#### Symptom: "The entities related to an appliance were available but no longer are" + +After reloading the Home Connect integration, the entities related to an appliance that used to be available are no longer available. +Also, when downloading the diagnostics data from the device entry, the following data is obtained: + +```json +{ + "data": { + "connected": false, + "status": {}, + "programs": null + } +} +``` + +##### Description + +Unavailable entities can have multiple causes: + +- The appliance is turned off. When it is turned off, the appliance is disconnected and the API does not retrieve information about the appliance. +- The appliance is experiencing a network issue. +- The Home Connect API is experiencing issues. + +##### Solution + +To try to solve the above issues, follow these steps: + +1. Turn on the appliance and reload the Home Connect integration. +2. If the appliance is turned on and the issue persists, check the network connection of the appliance and perform a soft reset on the appliance. +3. If the issue persists, check the connection of the appliance with the Home Connect API by checking it in the Home Connect app. + 1. Open the Home Connect app. + 2. Go to the appliance that is experiencing the issue. + 3. At the bottom of the screen, open the settings menu. + 4. Go to the **Network** section. + 5. Verify if the appliance is connected to the cloud: + - If the line between the appliance and the cloud is red and with a red warning icon {% icon "mdi:alert-outline" %}, the appliance is not connected to the Home Connect API. + - If the line between the appliance and the cloud is green, the appliance is connected to the cloud. +4. If everything is correct and the issue persists, contact Home Connect support. + - [Home Connect service and contact](https://www.home-connect.com/us/en/support/contact-and-service) + - [Home Connect developer Help & Support](https://developer.home-connect.com/support) + ## Known limitations - The Home Connect API does not fully match the Home Connect app. Some programs, options, or settings available in the app may not be accessible or usable via the API. - This integration supports only one integration entry, as the Home Connect API does not allow for the unique identification of an account. + From 6745c51c87c76df74926f5a46a1fbf9a9c643df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Tue, 25 Feb 2025 08:34:45 +0100 Subject: [PATCH 14/19] Add use cases to Home Connect (#37681) --- source/_integrations/home_connect.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index 572dccb4aa2..8f6114b803c 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -31,6 +31,14 @@ ha_integration_type: integration The Home Connect integration allows users to integrate their home appliances supporting the Home Connect standard for Bosch and Siemens using the [official cloud API](https://developer.home-connect.com). +## Use cases + +- Monitor the multiple sensors of the appliance and trigger automations based on these sensors. +- Start programs on your appliances from your dashboard. +- Monitor the program status of the appliances. +- Control the light of your appliances. +- Adjust the appliance settings. + The integration will add one Home Assistant device for each connected home appliance which will have the following entities: - A power switch From a977f9c8f4d81937607540aef6ebd2a8742219da Mon Sep 17 00:00:00 2001 From: kylehakala Date: Tue, 25 Feb 2025 01:41:57 -0600 Subject: [PATCH 15/19] ZHA troubleshooting: reformat hue reset (#37682) * reformat ZHA Hue reset section * Switch to endimportant * fix typo in block * fix typo in block * Move hue and lutron steps into collapsible blocks, clean up wording/phrasing * Add missing quotes in details title * Outline options in this section before providing steps * Consolidate remote-reset sections * revise steps and phrasing * move important reminder to end of section to improve readability * Move general note out of remote-specific steps; move important text to top of section --- source/_integrations/zha.markdown | 59 ++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 16 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index b9bc2722152..30e8115d4b0 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -701,31 +701,58 @@ logger: ### Add Philips Hue bulbs that have previously been added to another bridge -Philips Hue bulbs/lights that have previously been paired/added to another bridge/gateway will not show up during search in ZHA to pair/add a Zigbee device. That is because you have to first manually restore your bulbs/lights back to their factory default settings first, and just removing them from your old bridge/gateway is not enough to do so. Instead to achieve a proper device factory reset you can use one of these methods below. +Philips Hue bulbs that have previously been paired to another bridge/gateway will not show up during search in ZHA to add a Zigbee device. **Bulbs must be restored back to their factory default settings**. -You can use a Philips Hue Dimmer Switch or Lutron Connected Bulb Remote to factory-reset your bulbs. For this to work, the remote does not have to be paired with your previous bridge. Also, make sure there are no other Hue bulbs nearby that have just been turned on when using this method. Otherwise, you risk resetting them too. +{% important %} +**You must factory-reset the device.** -Newer Philips Hue bulbs you can reset via Bluetooth. The official Android app can connect to one of these bulbs even if it is already paired to a bridge. Then, you can reset the bulb in the app. +- Simply "removing" them from your old bridge/gateway is not sufficient. +- Be sure there are no other Hue bulbs nearby that have just been powered-on when using this method or you will risk resetting them in this process. -#### Philips Hue Dimmer Switch +{% endimportant %} -1. Turn on your Hue bulb/light you want to reset. (It is important that the bulb has just been turned). -2. Hold the Philips Hue Dimmer Switch near your bulb (closer than 10 centimeters / 4 inches). -3. Press and hold the (I)/(ON) and (O)/(OFF) buttons on the Philips Hue Dimmer Switch. The bulb should start blinking in 10-20 seconds. The bulb will blink, then turn off, then turn on. You can now release the dimmer buttons. -4. Your bulb is now factor reset and ready for pairing. A green light on the top left of the dimmer remote indicates that your bulb has been successfully reset to factory default settings. +The following reset methods can be used (depending on the bulb version): -Note: If you are unable to reset the bulb, remove it from the Hue Bridge and retry the procedure. +- **Zigbee remote:** + - Steps are outlined below for either the _Philips Hue Dimmer Switch_ or _Lutron Connected Bulb Remote_. + - The remote does not have to be paired with your previous bridge. +- **Bluetooth via Android app:** + - Newer Philips Hue bulbs can reset via Bluetooth using the official Android app. + - This is an option even if the bulb is already paired to a bridge. +- **Hue Thief command-line tool**: + - Advanced users can use a third-party tool called [Hue Thief](https://github.com/vanviegen/hue-thief/). + - This requires an EZSP-based Zigbee USB stick. -#### Lutron Connected Bulb Remote +#### Factory-reset using a Zigbee remote -1. Turn on your Hue bulb/light you want to reset. (It is important that the bulb has just been turned). -2. Hold the Dimmer Switch near your bulb (closer than 10 centimeters / 4 inches) -3. Press and hold the 2nd (up arrow) and 4th (light off) buttons on the Lutron Connected Bulb Remote simultaneously for about 10 seconds continuously until your bulb starts to blink and the green LED on the remote should also start blink slowly. -4. Continue to hold both buttons on the remote until the green LED on it stops blinking. Your bulb should also have stopped blinking and eventually turn on again indicating that your bulb has been successfully reset to factory default settings. +Icons or button names may vary between generations of remotes. The remote used for resetting does not have to be paired with your previous bridge. -#### hue-thief +{% details "To reset using a remote:" %} -Follow the instructions on [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) (EZSP-based Zigbee USB stick required) +1. Identify which buttons will be used later to perform the reset (based on the brand of remote): + - **Philips Hue Dimmer Switch**: + - Use the **(I)/(ON)** and **(O)/(OFF)** buttons. + - Button labels or icons may vary based on the generation of Hue remote. + - **Lutron Connected Bulb Remote:** + - Use the **2nd (up arrow)** and **4th (light off)** buttons. +2. Turn on the Hue bulb you want to reset. + - **It is important that the bulb has _just_ been powered on.** +3. Hold the remote near your bulb, closer than 10cm (about 4 inches). +4. Press-and-hold both buttons identified in the first step and continue holding them once the bulb begins to blink. + - Expect to hold the buttons for about another 10 seconds while the bulb blinks. + - **Lutron Connected Bulb Remote:** The green LED on the remote should also begin to blink slowly. +5. Release both buttons once the bulb turns off. + - **Lutron Connected Bulb Remote:** You can release the buttons after the green LED stops flashing on the remote. +6. The bulb will turn back on immediately after to indicate the factory-reset is complete. + - The bulb is now ready for pairing to ZHA following normal steps for [adding devices](#adding-devices). + +{% tip %} +A green light on the top left of the Philips Hue Dimmer Switch remote indicates that your bulb has been successfully reset to factory default settings. +{% endtip %} + +{% enddetails %} + +If you are unable to reset the bulb using a method above, remove it from the Hue Bridge (if it was re-discovered by the Hue Bridge) and try the procedure again. ### ZHA Start up issue with Home Assistant or Home Assistant Container From 4c464a3ea60d58e949bf2ea290bd8bcac27a9da5 Mon Sep 17 00:00:00 2001 From: kylehakala Date: Tue, 25 Feb 2025 02:08:03 -0600 Subject: [PATCH 16/19] ZHA: reformat large markdown table as collapsible sections (#37649) * Format table as separate collapsible list sections * Be more descriptive on what is inside the sections * remove lingering character from link markdown * tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/zha.markdown | 83 +++++++++++++++++++++++-------- 1 file changed, 61 insertions(+), 22 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 30e8115d4b0..8ce1d9a68a2 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -194,29 +194,68 @@ If you are use ZiGate or Sonoff ZBBridge you have to use some special usb_path c ### Discovery via USB or Zeroconf -Some devices can be auto-discovered, which can simplify the ZHA setup process. The following devices have been tested with discovery and offer a quick setup experience: +Some devices can be auto-discovered, which can simplify the ZHA setup process. The following devices have been tested with discovery and offer a quick setup experience. -| Device | Discovery Method | Identifier | -| ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------ | -| [ITead SONOFF Zigbee 3.0 USB Dongle Plus V2 Model "ZBDongle-E" (EFR32MG21 variant)](https://itead.cc/product/zigbee-3-0-usb-dongle/) | USB | 1A86:55D4 | -| [ITead SONOFF Zigbee 3.0 USB Dongle Plus Model "ZBDongle-P" (CC2652P variant)](https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus/) | USB | 10C4:EA60 | -| [Bitron Video/SMaBiT BV AV2010/10](https://manuals.smabit.eu/len/av2010_10.html) | USB | 10C4:8B34 | -| [ConBee II](https://phoscon.de/conbee2) | USB | 1CF1:0030 | -| [ConBee III](https://phoscon.de/conbee3) | USB | 0403:6015 | -| [Nortek HUSBZB-1](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) | USB | 10C4:8A2A | -| [slae.sh CC2652RB development stick](https://slae.sh/projects/cc2652/) | USB | 10C4:EA60 | -| [SMLIGHT SLZB-07](https://smlight.tech/product/slzb-07/) | USB | 10C4:EA60 | -| [ZigStar Stick (CC2652 + CH340B variant)](https://zig-star.com/projects/zigbee-stick-v4/) | USB | 1A86:7523 | -| [Tube’s EFR32 Pro Ethernet/Serial Coordinator](https://www.tubeszb.com/) | USB | 10C4:EA60 | -| [ZigStar Coordinators](https://zig-star.com/) | USB | 1A86:7523 | -| [XZG - Universal Firmware for Zigbee Gateway](https://xzg.xyzroe.cc/) | Zeroconf | xzg.local. | -| [SMLIGHT SLZB-06 POE Zigbee LAN WiFi USB Adapter](https://smlight.tech/product/slzb-06/) | Zeroconf | slzb-06.local. | -| [ZigStar UZG Universal Zigbee Gateway (UZG-01)](https://uzg.zig-star.com) | Zeroconf | uzg-01._tcp.local. | -| [cod.m Zigbee Coordinator](https://docs.codm.de/zigbee/coordinator/) | Zeroconf | czc._tcp.local. | -| [ZigStar LAN/POE Coordinators](https://zig-star.com/projects/zigbee-gw-lan/) | Zeroconf | zigstargw.local. | -| [Tube's CC2652P2 USB-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2.local. | -| [Tube's CC2652P2 PoE-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2_poe.local. | -| [Tube's EFR32 Based Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_efr32.local. | +{% details "USB discovery devices" %} + +- **Bitron** + - [Bitron Video/SMaBiT BV AV2010/10](https://manuals.smabit.eu/len/av2010_10.html) + - Identifier: `10C4:8B34` +- **ConBee** + - [ConBee II](https://phoscon.de/conbee2) + - Identifier: `1CF1:0030` + - [ConBee III](https://phoscon.de/conbee3) + - Identifier: `0403:6015` +- **ITead** + - [ITead SONOFF Zigbee 3.0 USB Dongle Plus V2 Model "ZBDongle-E" (EFR32MG21 variant)](https://itead.cc/product/zigbee-3-0-usb-dongle/) + - Identifier: `1A86:55D4` + - [ITead SONOFF Zigbee 3.0 USB Dongle Plus Model "ZBDongle-P" (CC2652P variant)](https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus) + - Identifier: `10C4:EA60` +- **Nortek** + - [Nortek HUSBZB-1](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) + - Identifier: `10C4:8A2A` +- **slae.sh** + - [slae.sh CC2652RB development stick](https://slae.sh/projects/cc2652/) + - Identifier: `10C4:EA60` +- **SMLIGHT** + - [SMLIGHT SLZB-07](https://smlight.tech/product/slzb-07/) + - Identifier: `10C4:EA60` +- **Tube** + - [Tube’s EFR32 Pro Ethernet/Serial Coordinator](https://www.tubeszb.com/) + - Identifier: `10C4:EA60` +- **ZigStar** + - [ZigStar Stick (CC2652 + CH340B variant)](https://zig-star.com/projects/zigbee-stick-v4/) + - Identifier: `1A86:7523` + - [ZigStar Coordinators](https://zig-star.com/) + - Identifier: `1A86:7523` + +{% enddetails %} + +{% details "Zeroconf discovery devices" %} + +- **cod.m** + - [cod.m Zigbee Coordinator](https://docs.codm.de/zigbee/coordinator/) + - Identifier: `czc._tcp.local.` +- **SMLIGHT** + - [SMLIGHT SLZB-06 POE Zigbee LAN WiFi USB Adapter](https://smlight.tech/product/slzb-06/) + - Identifier: `slzb-06.local.` +- **Tube** + - [Tube's CC2652P2 USB-powered Zigbee to Ethernet Serial Coordinator](https://www.tubeszb.com/) + - Identifier: `tube_zb_gw_cc2652p2.local.` + - [Tube's CC2652P2 PoE-powered Zigbee to Ethernet Serial Coordinator](https://www.tubeszb.com/) + - Identifier: `tube_zb_gw_cc2652p2_poe.local.` + - [Tube's EFR32 Based Zigbee to Ethernet Serial Coordinator](https://www.tubeszb.com/) + - Identifier: `tube_zb_gw_efr32.local.` +- **XZG** + - [XZG - Universal Firmware for Zigbee Gateway](https://xzg.xyzroe.cc/) + - Identifier: `xzg.local.` +- **ZigStar** + - [ZigStar UZG Universal Zigbee Gateway (UZG-01)](https://uzg.zig-star.com) + - Identifier: `uzg-01._tcp.local.` + - [ZigStar LAN/POE Coordinators](https://zig-star.com/projects/zigbee-gw-lan/) + - Identifier: `zigstargw.local.` + +{% enddetails %} Additional devices in the [Compatible hardware](#compatible-hardware) section may be discoverable, however, only devices that have been confirmed discoverable are listed above. From 43260d8670bc6795565c1890d5c2a56525ef4d4f Mon Sep 17 00:00:00 2001 From: kylehakala Date: Tue, 25 Feb 2025 02:11:00 -0600 Subject: [PATCH 17/19] ZHA: Clean up formatting on Compatible Hardware sections (#37647) * Adds subsection to separate out 3.0 support notes * Collapse non-recommended hardware down to reduce clutter, wrap in a warning block for added context * Replace 'recommended' with 'suggested' to avoid mixing terminology * Use a single collapsing section for all non-recommended hardware * place warning block inside collapsing section and remove icons to minimize visual distraction * Fix mixed word choice * Clean up warning format, refer to additional info on how to improve section --- source/_integrations/zha.markdown | 93 +++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 29 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 8ce1d9a68a2..e9b557c3460 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -83,11 +83,15 @@ Note that because Zigbee relies on "mesh networking" technology it depends heavi ## Compatible hardware -ZHA {% term integration %} uses a hardware independent Zigbee stack implementation with modular design, which means that it can support any one of the many Zigbee coordinator radio modules/adapters available from different manufacturers, as long as that module/adapter is compatible with [zigpy](https://github.com/zigpy/zigpy). +The hardware-independent design of this integration provides support for many Zigbee coordinators available from different manufacturers, as long as the coordinator is compatible with the [zigpy](https://github.com/zigpy/zigpy) library. -Note! Zigbee 3.0 support or not in zigpy, depends primarily on your Zigbee coordinator hardware and its firmware. Some Zigbee coordinator hardware supports Zigbee 3.0 but might be shipped with an older firmware which does not. In such a case you may want to upgrade the firmware manually yourself. +### Zigbee 3.0 support -Some other Zigbee coordinator hardware may not support a firmware that is capable of Zigbee 3.0 at all but can still be fully functional and feature-complete for your needs. This is very common as many, if not most, Zigbee devices do not yet Zigbee 3.0. As a general rule, newer Zigbee coordinator hardware generally supports Zigbee 3.0 firmware and it is up to its manufacturer to make such firmware available for them. +Some coordinators may not support firmware capable of Zigbee 3.0, but they can still be fully functional and feature-complete for your needs. Support for Zigbee 3.0 depends primarily on your coordinator hardware and firmware. + +{% note %} +Newer coordinators generally support Zigbee 3.0 firmware, but it is up to the manufacturer to make such firmware available to them. If your coordinator was shipped with an older firmware version, you may want to manually upgrade the firmware. +{% endnote %} ### Recommended Zigbee radio adapters and modules @@ -104,31 +108,62 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl ### Other supported but not recommended Zigbee radio adapters or modules -- Silicon Labs EmberZNet based radios using legacy hardware using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy) - - [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs-usb-adapter.html)/POPP ZB-Stick (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility)) - - [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs-zigbee-shield.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility)) - - [ITead Sonoff ZBBridge](https://itead.cc/product/sonoff-zbbridge/) (Note! [WiFi-based bridges are not recommended for ZHA with EZSP radios](https://github.com/home-assistant/home-assistant.io/issues/17170). Also, this first has to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware to use as Serial-to-IP adapter](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html)) - - [Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee Ember 3581 USB Adapter)](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/walthowd/husbzb-firmware)) - - [Bitron Video/Smabit BV AV2010/10 USB-Stick](https://manuals.smabit.eu/len/av2010_10.html) with Silicon Labs Ember 3587 - - Telegesis ETRX357USB/ETRX357USB-LR/ETRX357USB-LRS+8M (Note! These first have to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware)) -- Texas Instruments based radios using legacy hardware (via the [zigpy-znp](https://github.com/zigpy/zigpy-znp) library for zigpy) - - [CC2538 USB stick, module, or dev board hardware flashed with Z-Stack coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters) (no longer recommended as only got deprecated old end-of-life firmware) - - [CC2530/CC2531 USB stick, module, or dev board hardware flashed with Z-Stack coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters) (no longer recommended as uses deprecated hardware and very old end-of-life firmware, plus will not work properly at all if the whole Zigbee network has more than 15-20 devices) -- dresden elektronik deCONZ based Zigbee radios using legacy hardware (via the [zigpy-deconz](https://github.com/zigpy/zigpy-deconz) library for zigpy) - - [ConBee II (a.k.a. ConBee 2) USB adapter from dresden elektronik](https://phoscon.de/conbee2) - - [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee2) - - [ConBee USB adapter from dresden elektronik](https://phoscon.de/conbee) - - [RaspBee Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee) -- Digi XBee Zigbee based radios (via the [zigpy-xbee](https://github.com/zigpy/zigpy-xbee) library for zigpy) - - [Digi XBee Series 3 (xbee3-24)](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee3-zigbee-3) and [Digi XBee Series S2C](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee-zigbee) modules - - Note! While not a must, [it is recommend to upgrade XBee Series 3 and S2C to newest firmware using XCTU](https://www.digi.com/resources/documentation/Digidocs/90002002/Default.htm#Tasks/t_load_zb_firmware.htm) - - [Digi XBee Series 2 (S2)](https://www.digi.com/support/productdetail?pid=3430) modules (Note! This first have to be [flashed with Zigbee Coordinator API firmware](https://www.digi.com/support/productdetail?pid=3430)) -- ZiGate based radios (via the [zigpy-zigate](https://github.com/zigpy/zigpy-zigate) library for zigpy and require firmware 3.1d or later) - - [ZiGate USB](https://zigate.fr/produit/zigate-usb/) - - [ZiGate USB-DIN](https://zigate.fr/produit/zigatev2-usb-din/) - - [PiZiGate (ZiGate Raspberry Pi module)](https://zigate.fr/produit/pizigatev2/) - - [ZiGate-Ethernet (Ethernet gateway board for PiZiGate)](https://zigate.fr/produit/zigate-ethernet/) - - [ZiGate + WiFi Pack](https://zigate.fr/produit/zigatev2-pack-wifi/) +{% details "List of hardware that is not recommended" %} + +{% warning %} + +The following hardware is supported, but _not recommended_. Specific models and details are noted where available in each section. + +{% endwarning %} + +**Silicon Labs EmberZNet based radios using legacy hardware using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)** + +- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs-usb-adapter.html)/POPP ZB-Stick + - It is suggested to [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility) +- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs-zigbee-shield.html) + - It is suggested to [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility) +- [ITead Sonoff ZBBridge](https://itead.cc/product/sonoff-zbbridge/) + - Note: [WiFi-based bridges are not recommended for ZHA with EZSP radios](https://github.com/home-assistant/home-assistant.io/issues/17170). + - These first need to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware to use as Serial-to-IP adapter](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html) +- [Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee Ember 3581 USB Adapter)](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) + - It is suggested to [upgrade the EmberZNet NCP application firmware](https://github.com/walthowd/husbzb-firmware) +- [Bitron Video/Smabit BV AV2010/10 USB-Stick](https://manuals.smabit.eu/len/av2010_10.html) with Silicon Labs Ember 3587 +- Telegesis ETRX357USB/ETRX357USB-LR/ETRX357USB-LRS+8M + - These first need to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware) + +**Texas Instruments based radios using legacy hardware (via the [zigpy-znp](https://github.com/zigpy/zigpy-znp) library for zigpy)** + +- [CC2538 USB stick, module, or dev board hardware flashed with Z-Stack coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters) + - This is no longer recommended as it can only run deprecated (old/end-of-life) firmware. +- [CC2530/CC2531 USB stick, module, or dev board hardware flashed with Z-Stack coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters) + - This is no longer recommended as it uses deprecated hardware and very old, end-of-life firmware. + - This will not work properly if the Zigbee network has more than 15-20 devices. + +**dresden elektronik deCONZ based Zigbee radios using legacy hardware (via the [zigpy-deconz](https://github.com/zigpy/zigpy-deconz) library for zigpy)** + +- [ConBee II (a.k.a. ConBee 2) USB adapter from dresden elektronik](https://phoscon.de/conbee2) +- [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee2) +- [ConBee USB adapter from dresden elektronik](https://phoscon.de/conbee) +- [RaspBee Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee) + +**Digi XBee Zigbee based radios (via the [zigpy-xbee](https://github.com/zigpy/zigpy-xbee) library for zigpy)** + +- [Digi XBee Series 3 (xbee3-24)](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee3-zigbee-3) and [Digi XBee Series S2C](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee-zigbee) modules + - It is suggested to [upgrade XBee Series 3 and S2C to newest firmware using XCTU](https://www.digi.com/resources/documentation/Digidocs/90002002/Default.htm#Tasks/t_load_zb_firmware.htm) +- [Digi XBee Series 2 (S2)](https://www.digi.com/support/productdetail?pid=3430) modules + - These first need to be [flashed with Zigbee Coordinator API firmware](https://www.digi.com/support/productdetail?pid=3430) + +**ZiGate based radios (via the [zigpy-zigate](https://github.com/zigpy/zigpy-zigate) library for zigpy and require firmware 3.1d or later)** + +- [ZiGate USB](https://zigate.fr/produit/zigate-usb/) +- [ZiGate USB-DIN](https://zigate.fr/produit/zigatev2-usb-din/) +- [PiZiGate (ZiGate Raspberry Pi module)](https://zigate.fr/produit/pizigatev2/) +- [ZiGate-Ethernet (Ethernet gateway board for PiZiGate)](https://zigate.fr/produit/zigate-ethernet/) +- [ZiGate + WiFi Pack](https://zigate.fr/produit/zigatev2-pack-wifi/) + +{% enddetails %} + +If you find an opportunity to improve this information, refer to the section on how to [add support for new and unsupported devices](#how-to-add-support-for-new-and-unsupported-devices). {% caution %} @@ -572,7 +607,7 @@ ZHA does not currently support devices that can only use the ZSE ("Zigbee Smart ### Knowing which devices are supported Home Assistant's ZHA {% term integration %} supports all standard Zigbee device types. It should be compatible with most Zigbee devices as long as they fully conform to the official ZCL (Zigbee Cluster Library) specifications defined by the [CSA (Connectivity Standards Alliance, formerly the Zigbee Alliance)](https://csa-iot.org/all-solutions/zigbee/). There is therefore no official compatibility list of devices that will work out-of-the-box with the ZHA {% term integration %} -Not all hardware manufacturers always fully comply with the standard specifications. Sometimes, they may also implement unique features. For this reason, some Zigbee devices pair/join fine with ZHA but then only show none or only a few entities in the {% term integration %}. Developers can work around most such interoperability issues by adding conversion/translation code in custom device handlers. For more information, refer to the section below on _How to add support for new and unsupported devices_. +Not all hardware manufacturers always fully comply with the standard specifications. Sometimes, they may also implement unique features. For this reason, some Zigbee devices pair/join fine with ZHA but then only show none or only a few entities in the {% term integration %}. Developers can work around most such interoperability issues by adding conversion/translation code in custom device handlers. For more information, refer to the section below on [How to add support for new and unsupported devices](#how-to-add-support-for-new-and-unsupported-devices). For clarification, normally only devices that do not fully conform to CSA's ZCL specifications that will not present all standard attributes as entities for configuration in the ZHA {% term integration %}. Zigbee devices that only use the standard clusters and attributes that are Zigbee specifications set by the Connectivity Standards Alliance should not need custom device handlers. From abbd14c23dcd9583f44e5898ba524fb20315fded Mon Sep 17 00:00:00 2001 From: elmurato <1382097+elmurato@users.noreply.github.com> Date: Tue, 25 Feb 2025 15:32:20 +0100 Subject: [PATCH 18/19] Add removal instructions to minecraft_server.markdown (#37691) --- source/_integrations/minecraft_server.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/minecraft_server.markdown b/source/_integrations/minecraft_server.markdown index e37e18d7d9d..d3d74c75154 100644 --- a/source/_integrations/minecraft_server.markdown +++ b/source/_integrations/minecraft_server.markdown @@ -77,3 +77,9 @@ For Bedrock Edition servers following sensors are provided additionally: {% note %} Player names are only available on Java Edition servers. Depending on the server, the player names list may not be shown completely. Some servers and plugins limit or completely hide this list or even replace the player names with fake ones to show some custom messages there. {% endnote %} + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %} From 9d24e3b112b477707742ccbbc48f0caec2454350 Mon Sep 17 00:00:00 2001 From: kylehakala Date: Tue, 25 Feb 2025 13:07:16 -0600 Subject: [PATCH 19/19] ZHA: refine docs for groups and binding (#37500) * ZHA groups and binding revisions * ZHA: simplify group/binding subheadings * Add steps for binding, refine steps for groups * Capitalize Zigbee * Fix typo, fix bold syntax slip * Revise some language --- source/_integrations/zha.markdown | 45 ++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index e9b557c3460..b20477ce374 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -69,7 +69,7 @@ This {% term integration %} currently supports the following device types within - [Switch](/integrations/switch/) - [Update](/integrations/update/) -In addition, it has support for "Zigbee groups" that enable native on-device grouping of multiple Zigbee lights, switches, and fans that enable controlling all entities for those devices in those groups with one command. At least two entities must be added to a Zigbee group inside the ZHA {% term integration %} before a group entity is created. There is also support for native on-device Zigbee [binding and unbinding (i.e. bind a remote to a lightbulb or group)](#zigbee-binding-and-unbinding). +In addition, it has support for "Zigbee groups" that enable native on-device grouping of multiple Zigbee lights, switches, and fans that enable controlling all entities for those devices in those groups with one command. At least two entities must be added to a Zigbee group inside the ZHA {% term integration %} before a group entity is created. There is also support for native on-device binding. Refer to the [Zigbee groups and binding devices](#zigbee-groups-and-binding-devices) section for more information. ## Introduction @@ -501,27 +501,52 @@ In practice, you will likely need to add a lot more Zigbee router devices than i ## Zigbee groups and binding devices -ZHA supports Zigbee groups and binding devices to each other. These features can be used separately or combined. For example, binding a remote to a bulb or group has the benefit of faster response time and smoother control, as the remote directly controls the bound devices. +ZHA supports the creation of Zigbee groups (different from Home Assistant's [Group](/integrations/group/) integration), as well as binding devices to each other. Groups and device binding can be set up independently of each other, but they can be also used in combination (such as binding a device to another group of devices). -### Zigbee group +### Groups -A Zigbee group enables the grouping of multiple Zigbee lights, switches, and fans. This allows you to control those devices with only one command/entity. +A Zigbee group is a collection of two or more Zigbee lights, switches, or fans. A Zigbee group can then be controlled using only one command/entity. {% note %} While using a native Zigbee group instead of Home Assistant's [Group](/integrations/group/) integration can improve the visual responsiveness, the broadcast commands issued can flood the Zigbee network if issued repeatedly. {% endnote %} -To create a Zigbee Group, press the "Configure" button on the ZHA integration config page. At the top, choose "Groups" and select "Create Group". Set a group name and choose which devices to include in the group. +#### To create a Zigbee group -The group should consist of products of the same device type (e.g. all lights, switches, or fans), and at least two devices must be added to a Zigbee group before a group entity is created. +1. Select the **Configure** button on the ZHA integration page, +2. Choose **Groups** and select **Create Group**, +3. Enter a name for the group, +4. Select which devices to include in the group: + - At least two devices must be added to a Zigbee Group before a group entity is created. + - The group should consist of products of the same device type (all lights, all switches, or all fans). -### Zigbee binding and unbinding +### Binding -Binding is an on-device feature for Zigbee devices. It provides a mechanism for attaching an endpoint of one Zigbee device to an endpoint of another Zigbee device or to a Zigbee group. +Binding a Zigbee device attaches an endpoint from one device to an endpoint of another device (or group). -For example, binding a "target destination" Zigbee device like a remote to a Zigbee light bulb, switch or group of light bulbs allows direct control of the "target" device (light, switch, shade) from the "remote" Zigbee device, bypassing ZHA. This means that the remote can control the light bulb or group even when ZHA is not active. +Commands sent between bound devices bypass ZHA (even when ZHA is not active) and directly control the targeted device. Binding devices can allow for faster response times and smoother control. -Note that not all devices support binding. By default, ZHA binds remotes to the coordinator, so click events are forwarded to HA. As some remotes can only be bound to a single destination, you might need to unbind the remote from the coordinator before binding it to another device or group. +Before binding devices, note the following: + +- ZHA binds remotes to the Zigbee coordinator by default in order to forward click events to Home Assistant. +- Some remotes can only be bound to a single target; you might need to unbind the remote from the coordinator before binding it to another target. +- Not all devices support binding. Refer to the device manufacturer's documentation to confirm features. + +#### To manage bindings of a Zigbee device + +{% note %} +**This section only outlines how to manage bindings in general. It will not cover all use cases.** + +Prerequisites and steps can vary depending on the device type, manufacturer, and your desired end result. +{% endnote %} + +1. Navigate to the Zigbee device's configuration page, +2. In the options menu (the "three-dots" icon), select **Manage Zigbee device**, +3. Select the **Bindings** tab in the pop-up dialog, +4. Choose the device from the dropdown list of _Bindable devices_ (or _Bindable groups_), +5. Confirm the Bind or Unbind action: + - To bind devices: select **Bind** (or **Bind group**), or + - To unbind devices, select **Unbind** (or **Unbind group**). ## Backups and migration