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