[lcn] Fix RVar setpoint modification for modules before 2006 ()

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
This commit is contained in:
Fabian Wolter 2021-02-13 22:55:21 +01:00 committed by GitHub
parent b4ca793963
commit 1604149f5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 20 deletions
bundles/org.openhab.binding.lcn/src
main/java/org/openhab/binding/lcn/internal/subhandler
test/java/org/openhab/binding/lcn/internal/subhandler

@ -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

@ -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