[lcn] Fix RVar setpoint modification for modules before 2006 (#10115)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
This commit is contained in:
parent
b4ca793963
commit
1604149f5c
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user