Exemplo n.º 1
0
 private static FS20Command convertPercentType(PercentType percentType) {
   double percentValue = percentType.doubleValue();
   int step = (int) (percentValue / 6.25);
   String hexValue = Integer.toHexString(step);
   if (hexValue.length() == 1) {
     hexValue = "0" + hexValue;
   }
   return FS20Command.getFromHexValue(hexValue);
 }
Exemplo n.º 2
0
  public static State getStateFromFS20Command(FS20Command command) {

    switch (command) {
      case ON_OLD_DIM_VALUE:
      case ON:
        return OnOffType.ON;
      case OFF:
        return OnOffType.OFF;
      case DIM_UP:
        return UpDownType.UP;
      case DIM_DOWN:
        return UpDownType.DOWN;
      case DIM_1:
      case DIM_2:
      case DIM_3:
      case DIM_4:
      case DIM_5:
      case DIM_6:
      case DIM_7:
      case DIM_8:
      case DIM_9:
      case DIM_10:
      case DIM_11:
      case DIM_12:
      case DIM_13:
      case DIM_14:
      case DIM_15:
        double value = Integer.parseInt(command.getHexValue(), 16) * 6.25;
        PercentType percent = new PercentType(BigDecimal.valueOf(value));
        return percent;
      case TOGGLE:
        return OnOffType.ON;
      default:
        return UnDefType.UNDEF;
    }
  }