]> git.basschouten.com Git - openhab-addons.git/commitdiff
Fix Global off blocks lights turning on (#11797)
authorMatthew Skinner <matt@pcmus.com>
Thu, 16 Dec 2021 07:58:51 +0000 (18:58 +1100)
committerGitHub <noreply@github.com>
Thu, 16 Dec 2021 07:58:51 +0000 (08:58 +0100)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
bundles/org.openhab.binding.wled/src/main/java/org/openhab/binding/wled/internal/WLedHandler.java

index 9a77d7fddff01afb72c074754a651ee6f5981400..c145f1c93f26c52a1e179955d56c7099b4f26dfb 100644 (file)
@@ -139,6 +139,10 @@ public class WLedHandler extends BaseThingHandler {
                     break;
                 case CHANNEL_MASTER_CONTROLS:
                     if (command instanceof OnOffType) {
+                        if (OnOffType.ON.equals(command)) {
+                            // global may be off, but we don't want to switch global off and affect other segments
+                            localApi.setGlobalOn(true);
+                        }
                         localApi.setMasterOn(OnOffType.ON.equals(command), config.segmentIndex);
                     } else if (command instanceof IncreaseDecreaseType) {
                         if (IncreaseDecreaseType.INCREASE.equals(command)) {
@@ -159,6 +163,7 @@ public class WLedHandler extends BaseThingHandler {
                             localApi.setMasterOn(false, config.segmentIndex);
                             return;
                         }
+                        localApi.setGlobalOn(true);
                         primaryColor = (HSBType) command;
                         if (primaryColor.getSaturation().intValue() < config.saturationThreshold && hasWhite) {
                             localApi.setWhiteOnly((PercentType) command, config.segmentIndex);