From 4f0caf1a1feb2ef2cbf24b3585b8e26d058ebc6f Mon Sep 17 00:00:00 2001 From: J-N-K Date: Sun, 20 Dec 2020 13:22:59 +0100 Subject: [PATCH] [deconz] fix alert channel (#9441) Signed-off-by: Jan N. Klug --- bundles/org.openhab.binding.deconz/README.md | 2 +- .../deconz/internal/handler/GroupThingHandler.java | 4 ++-- .../deconz/internal/handler/LightThingHandler.java | 9 ++++++--- .../resources/OH-INF/thing/group-thing-types.xml | 9 ++++++++- .../resources/OH-INF/thing/light-thing-types.xml | 13 ++++++++++++- 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/bundles/org.openhab.binding.deconz/README.md b/bundles/org.openhab.binding.deconz/README.md index 62d56d096e..d0a4007e29 100644 --- a/bundles/org.openhab.binding.deconz/README.md +++ b/bundles/org.openhab.binding.deconz/README.md @@ -174,7 +174,7 @@ Other devices support | valve | Number:Dimensionless | R | Valve position in % | `thermostat` | | mode | String | R/W | Mode: "auto", "heat" and "off" | `thermostat` | | offset | Number | R | Temperature offset for sensor | `thermostat` | -| alert | Switch | R/W | Turn alerts on/off | `warningdevice`, `lightgroup` | +| alert | String | W | Turn alerts on. Allowed commands are `none`, `select` (short blinking), `lselect` (long blinking) | `warningdevice`, `lightgroup`, `dimmablelight`, `colorlight`, `extendedcolorlight`, `colortemperaturelight` | | all_on | Switch | R | All lights in group are on | `lightgroup` | | any_on | Switch | R | Any light in group is on | `lightgroup` | | scene | String | W | Recall a scene. Allowed commands are set dynamically | `lightgroup` | diff --git a/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/GroupThingHandler.java b/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/GroupThingHandler.java index bc59ebc3f8..1f9386ccaa 100644 --- a/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/GroupThingHandler.java +++ b/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/GroupThingHandler.java @@ -76,8 +76,8 @@ public class GroupThingHandler extends DeconzBaseThingHandler { } break; case CHANNEL_ALERT: - if (command instanceof OnOffType) { - newGroupAction.alert = command == OnOffType.ON ? "alert" : "none"; + if (command instanceof StringType) { + newGroupAction.alert = command.toString(); } else { return; } diff --git a/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/LightThingHandler.java b/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/LightThingHandler.java index fcacb90fcd..d03b4db9ba 100644 --- a/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/LightThingHandler.java +++ b/bundles/org.openhab.binding.deconz/src/main/java/org/openhab/binding/deconz/internal/handler/LightThingHandler.java @@ -132,8 +132,8 @@ public class LightThingHandler extends DeconzBaseThingHandler { switch (channelUID.getId()) { case CHANNEL_ALERT: - if (command instanceof OnOffType) { - newLightState.alert = command == OnOffType.ON ? "alert" : "none"; + if (command instanceof StringType) { + newLightState.alert = command.toString(); } else { return; } @@ -360,7 +360,10 @@ public class LightThingHandler extends DeconzBaseThingHandler { switch (channelId) { case CHANNEL_ALERT: - updateState(channelId, "alert".equals(newState.alert) ? OnOffType.ON : OnOffType.OFF); + String alert = newState.alert; + if (alert != null) { + updateState(channelId, new StringType(alert)); + } break; case CHANNEL_SWITCH: case CHANNEL_LOCK: diff --git a/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/group-thing-types.xml b/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/group-thing-types.xml index f8b1633f0d..f56d300fdc 100644 --- a/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/group-thing-types.xml +++ b/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/group-thing-types.xml @@ -25,9 +25,16 @@ - Switch + String Alarm + + + + + + + diff --git a/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/light-thing-types.xml b/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/light-thing-types.xml index 1e576e10f3..d9fa43f26e 100644 --- a/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/light-thing-types.xml +++ b/bundles/org.openhab.binding.deconz/src/main/resources/OH-INF/thing/light-thing-types.xml @@ -60,6 +60,7 @@ Lightbulb + uid @@ -77,6 +78,7 @@ + uid @@ -93,6 +95,7 @@ Lightbulb + uid @@ -110,6 +113,7 @@ + uid @@ -195,9 +199,16 @@ - Switch + String Alarm + + + + + + + -- 2.47.3