From: Hans-Jörg Merk Date: Fri, 15 Oct 2021 17:37:07 +0000 (+0200) Subject: [wemo] fix wrong brightness value for dimmer switch (#11385) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=42c830bfda6a288fd8a5046715ab71758e171642;p=openhab-addons.git [wemo] fix wrong brightness value for dimmer switch (#11385) * [wemo] fix wrong brightness value for dimmer switch Signed-off-by: Hans-Jörg Merk * Update bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java Co-authored-by: Hilbrand Bouwkamp * Remove @Nullable on simple variable Co-authored-by: Hilbrand Bouwkamp --- diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java index 3496ae3e3f..6bec2aa34e 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java @@ -333,16 +333,17 @@ public class WemoDimmerHandler extends AbstractWemoHandler implements UpnpIOPart new Object[] { variable, value, service, this.getThing().getUID() }); updateStatus(ThingStatus.ONLINE); if (variable != null && value != null) { + String oldBinaryState = this.stateMap.get("BinaryState"); this.stateMap.put(variable, value); - } - if (variable != null && value != null) { switch (variable) { case "BinaryState": - State state = value.equals("0") ? OnOffType.OFF : OnOffType.ON; - logger.debug("State '{}' for device '{}' received", state, getThing().getUID()); - updateState(CHANNEL_BRIGHTNESS, state); - if (state.equals(OnOffType.OFF)) { - updateState(CHANNEL_TIMERSTART, OnOffType.OFF); + if (oldBinaryState == null || !oldBinaryState.equals(value)) { + State state = value.equals("0") ? OnOffType.OFF : OnOffType.ON; + logger.debug("State '{}' for device '{}' received", state, getThing().getUID()); + updateState(CHANNEL_BRIGHTNESS, state); + if (state.equals(OnOffType.OFF)) { + updateState(CHANNEL_TIMERSTART, OnOffType.OFF); + } } break; case "brightness":