]> git.basschouten.com Git - openhab-addons.git/commitdiff
[lcn] Fix processing of logic function "all fulfilled" status message (#15649)
authorFabian Wolter <github@fabian-wolter.de>
Mon, 25 Sep 2023 17:27:26 +0000 (19:27 +0200)
committerGitHub <noreply@github.com>
Mon, 25 Sep 2023 17:27:26 +0000 (19:27 +0200)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/subhandler/LcnModuleLogicSubHandler.java
bundles/org.openhab.binding.lcn/src/test/java/org/openhab/binding/lcn/internal/subhandler/LcnModuleLogicSubHandlerTest.java

index 8f48646caadda32cbe548dfc61bfe11c991bbccf..75dacf05b5afe3cf7e642772445f67f6bf4394fc 100644 (file)
@@ -101,6 +101,7 @@ public class LcnModuleLogicSubHandler extends AbstractLcnModuleSubHandler {
                     state = LcnDefs.LogicOpStatus.OR;
                     break;
                 case "050":
+                case "200": // not documented, but seen in the field and confirmed by the LCN hotline
                     state = LcnDefs.LogicOpStatus.AND;
                     break;
                 default:
index 5cf7cb41dae86e7053bf522cfaa19c8bbce3c55f..755d56b909ec860fc1b7e552ec48fffc326046cc 100644 (file)
@@ -106,4 +106,11 @@ public class LcnModuleLogicSubHandlerTest extends AbstractTestLcnModuleSubHandle
         verify(handler).updateChannel(LcnChannelGroup.LOGIC, "3", AND);
         verify(handler).updateChannel(any(), any(), any());
     }
+
+    @Test
+    public void testStatusSingleLogic3And200() {
+        tryParseAllHandlers("=M000005S3200");
+        verify(handler).updateChannel(LcnChannelGroup.LOGIC, "3", AND);
+        verify(handler).updateChannel(any(), any(), any());
+    }
 }