]> git.basschouten.com Git - openhab-addons.git/commitdiff
[lcn] Fix RVar setpoint modification for modules before 2006 (#10115)
authorFabian Wolter <github@fabian-wolter.de>
Sat, 13 Feb 2021 21:55:21 +0000 (22:55 +0100)
committerGitHub <noreply@github.com>
Sat, 13 Feb 2021 21:55:21 +0000 (13:55 -0800)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/subhandler/LcnModuleRvarSetpointSubHandler.java
bundles/org.openhab.binding.lcn/src/test/java/org/openhab/binding/lcn/internal/subhandler/LcnModuleRvarSetpointSubHandlerTest.java

index 4cf96729bd0069607cadb3daac3266da2539531e..19370b2c58540a43e7bdaaef2023688f13f73778 100644 (file)
@@ -21,7 +21,6 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.openhab.binding.lcn.internal.LcnBindingConstants;
 import org.openhab.binding.lcn.internal.LcnModuleHandler;
 import org.openhab.binding.lcn.internal.common.LcnChannelGroup;
-import org.openhab.binding.lcn.internal.common.LcnDefs;
 import org.openhab.binding.lcn.internal.common.LcnException;
 import org.openhab.binding.lcn.internal.common.PckGenerator;
 import org.openhab.binding.lcn.internal.common.Variable;
@@ -51,21 +50,7 @@ public class LcnModuleRvarSetpointSubHandler extends AbstractLcnModuleVariableSu
     @Override
     public void handleCommandDecimal(DecimalType command, LcnChannelGroup channelGroup, int number)
             throws LcnException {
-        Variable variable = getVariable(channelGroup, number);
-
-        if (info.hasExtendedMeasurementProcessing()) {
-            handler.sendPck(PckGenerator.setSetpointAbsolute(number, command.intValue()));
-        } else {
-            try {
-                int relativeVariableChange = getRelativeChange(command, variable);
-                handler.sendPck(
-                        PckGenerator.setSetpointRelative(number, LcnDefs.RelVarRef.CURRENT, relativeVariableChange));
-            } catch (LcnException e) {
-                // current value unknown for some reason, refresh it in case we come again here
-                info.refreshVariable(variable);
-                throw e;
-            }
-        }
+        handler.sendPck(PckGenerator.setSetpointAbsolute(number, command.intValue()));
     }
 
     @Override
index a142c771b67423becddfb947296d18f3f16462bb..f1f49d617c8baa13588966d99f7e342f23d3be11 100644 (file)
@@ -74,7 +74,7 @@ public class LcnModuleRvarSetpointSubHandlerTest extends AbstractTestLcnModuleSu
         when(info.getVariableValue(Variable.RVARSETPOINT1)).thenReturn(1000L);
         when(info.hasExtendedMeasurementProcessing()).thenReturn(false);
         l.handleCommandDecimal(new DecimalType(1100), LcnChannelGroup.RVARSETPOINT, 0);
-        verify(handler).sendPck("REASA+100");
+        verify(handler).sendPck("X2030032100");
     }
 
     @Test
@@ -82,7 +82,7 @@ public class LcnModuleRvarSetpointSubHandlerTest extends AbstractTestLcnModuleSu
         when(info.getVariableValue(Variable.RVARSETPOINT2)).thenReturn(1000L);
         when(info.hasExtendedMeasurementProcessing()).thenReturn(false);
         l.handleCommandDecimal(new DecimalType(1100), LcnChannelGroup.RVARSETPOINT, 1);
-        verify(handler).sendPck("REBSA+100");
+        verify(handler).sendPck("X2030096100");
     }
 
     @Test
@@ -90,7 +90,7 @@ public class LcnModuleRvarSetpointSubHandlerTest extends AbstractTestLcnModuleSu
         when(info.getVariableValue(Variable.RVARSETPOINT1)).thenReturn(1000L);
         when(info.hasExtendedMeasurementProcessing()).thenReturn(false);
         l.handleCommandDecimal(new DecimalType(900), LcnChannelGroup.RVARSETPOINT, 0);
-        verify(handler).sendPck("REASA-100");
+        verify(handler).sendPck("X2030040100");
     }
 
     @Test
@@ -98,7 +98,7 @@ public class LcnModuleRvarSetpointSubHandlerTest extends AbstractTestLcnModuleSu
         when(info.getVariableValue(Variable.RVARSETPOINT2)).thenReturn(1000L);
         when(info.hasExtendedMeasurementProcessing()).thenReturn(false);
         l.handleCommandDecimal(new DecimalType(900), LcnChannelGroup.RVARSETPOINT, 1);
-        verify(handler).sendPck("REBSA-100");
+        verify(handler).sendPck("X2030104100");
     }
 
     @Test