State update = level == 0 ? OnOffType.OFF : OnOffType.ON;
sendUpdate(config, update);
} else if (type == BindingType.DIMMER
&& updateType == InsteonHubLevelUpdateType.STATUS_CHANGE) {
// dimmer => 0-255 to percent
State update = new PercentType(levelToPercent(level));
sendUpdate(config, update);
} else if (type == BindingType.INPUT_ON_OFF
&& updateType == InsteonHubLevelUpdateType.STATUS_CHANGE) {
// on/off input => translate
Integer onValue = config.getOnValue();
Integer offValue = config.getOffValue();
State update = parseDigitalUpdate(level, onValue, offValue,
OnOffType.ON, OnOffType.OFF);
sendUpdate(config, update);
} else if (type == BindingType.INPUT_OPEN_CLOSED
&& updateType == InsteonHubLevelUpdateType.STATUS_CHANGE) {
// open/closed input => translate
Integer openValue = config.getOpenValue();
Integer closedValue = config.getClosedValue();
State update = parseDigitalUpdate(level, openValue,
closedValue, OpenClosedType.OPEN,
OpenClosedType.CLOSED);
sendUpdate(config, update);
} else if (type == BindingType.INPUT_UBYTE) {
// analog byte value => 0-255
sendUpdate(config, new DecimalType(level));
} else if (type == BindingType.INPUT_PERCENT) {
// analog percentage => 0-255 to percent
sendUpdate(config, new PercentType(levelToPercent(level)));
}
}
}