]> git.basschouten.com Git - openhab-addons.git/commitdiff
[openwebnet] Do not store dimmer brightness if already 0 (#14822)
authorM Valla <12682715+mvalla@users.noreply.github.com>
Fri, 21 Apr 2023 11:49:07 +0000 (13:49 +0200)
committerGitHub <noreply@github.com>
Fri, 21 Apr 2023 11:49:07 +0000 (13:49 +0200)
Fixes #14785

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
bundles/org.openhab.binding.openwebnet/src/main/java/org/openhab/binding/openwebnet/internal/handler/OpenWebNetLightingHandler.java

index be43aa5230ee6cea4b05acfdc8b55e0db31c47b8..639b16eead6655f2256d5b6deb54042845b631cd 100644 (file)
@@ -194,13 +194,16 @@ public class OpenWebNetLightingHandler extends OpenWebNetThingHandler {
     private void dimLightTo(int percent, Command command) {
         logger.debug("   DIM dimLightTo({}) bri={} briBeforeOff={}", percent, brightness, brightnessBeforeOff);
         int newBrightness = percent;
-        if (newBrightness == UNKNOWN_STATE) {
-            // we do not know last brightness -> set dimmer to 100%
+        if (newBrightness == UNKNOWN_STATE) { // we do not know last brightness -> set dimmer to 100%
             newBrightness = 100;
         } else if (newBrightness <= 0) {
-            newBrightness = 0;
-            brightnessBeforeOff = brightness;
-            logger.debug("   DIM saved bri before sending bri=0 command to device");
+            if (brightness == 0) {
+                logger.debug("   DIM bri already 0: no need to save it");
+            } else {
+                brightnessBeforeOff = brightness;
+                logger.debug("   DIM saved briBeforeOff={} before sending bri=0 command to device",
+                        brightnessBeforeOff);
+            }
         } else if (newBrightness > 100) {
             newBrightness = 100;
         }
@@ -280,8 +283,7 @@ public class OpenWebNetLightingHandler extends OpenWebNetThingHandler {
                     return;
                 } else {
                     // otherwise we interpret this ON event as the requestStatus response event with
-                    // level=1
-                    // so we proceed to call updateBrightnessState()
+                    // level=1 so we proceed to call updateBrightnessState()
                     logger.debug("  $BRI 'ON' is the requestStatus response level");
                 }
             }