[hdpowerview] Add support for enabling/disabling automations (#11637)

* Add support for enabling/disabling automations.

Fixes #11516

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix class description.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Document automation channel and channel groups.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Update scene example in documentation.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Consolidate method for getting channel map.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Extract channel updating from data fetching methods.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Draft implementation of better automation description.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Simplify and optimize building weekday string.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Further simplify building weekday string.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Update scheduled event channels when modified.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Update scene channels when modified.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Update scene group channels when modified.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix cache synchronization during initialization.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Reduced code duplication.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Shorten time formatting.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Danish translations for dynamic channels.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Simplify, optimize and fix dynamic channel creation.

Channel order is now preserved when updating an existing channel.

Scenes and scene collection are sorted correctly.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Provide backwards compatibility for deprecated channels.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Document purpose of createDeprecatedSceneChannels.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Cleaned up poll method for improved readability.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix potential race condition when initialize() is called while updating channels.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This commit is contained in:
jlaur
2021-12-11 17:20:11 +01:00
committed by GitHub
parent 145bd0ec97
commit 9f339c8ec4
11 changed files with 633 additions and 101 deletions

View File

@@ -60,13 +60,15 @@ However, the configuration parameters are described below:
### Channels for PowerView Hub
Scene and scene group channels will be added dynamically to the binding as they are discovered in the hub.
Each scene/scene group channel will have an entry in the hub as shown below, whereby different scenes/scene groups
Scene, scene group and automation channels will be added dynamically to the binding as they are discovered in the hub.
Each will have an entry in the hub as shown below, whereby different scenes, scene groups and automations
have different `id` values:
| Channel | Item Type | Description |
|----------|-----------| ------------|
| id | Switch | Turning this to ON will activate the scene/scene group. Scenes/scene groups are stateless in the PowerView hub; they have no on/off state. Note: include `{autoupdate="false"}` in the item configuration to avoid having to reset it to off after use. |
| Channel Group | Channel | Item Type | Description |
|---------------|---------|-----------|-------------|
| scenes | id | Switch | Setting this to ON will activate the scene. Scenes are stateless in the PowerView hub; they have no on/off state. Note: include `{autoupdate="false"}` in the item configuration to avoid having to reset it to off after use. |
| sceneGroups | id | Switch | Setting this to ON will activate the scene group. Scene groups are stateless in the PowerView hub; they have no on/off state. Note: include `{autoupdate="false"}` in the item configuration to avoid having to reset it to off after use. |
| automations | id | Switch | Setting this to ON will enable the automation, while OFF will disable it. |
### Channels for PowerView Shade
@@ -181,7 +183,7 @@ Switch Living_Room_Shade_Battery_Low_Alarm "Living Room Shade Battery Low Alarm
Scene items:
```
Switch Living_Room_Shades_Scene_Heart "Living Room Shades Scene Heart" <blinds> (g_Shades_Scene_Trigger) {channel="hdpowerview:hub:g24:22663", autoupdate="false"}
Switch Living_Room_Shades_Scene_Heart "Living Room Shades Scene Heart" <blinds> (g_Shades_Scene_Trigger) {channel="hdpowerview:hub:g24:scenes#22663", autoupdate="false"}
```
### `demo.sitemap` File