Package org.openhab.core.library.types

Examples of org.openhab.core.library.types.DecimalType


      throws RFXComException {
    org.openhab.core.types.State state = UnDefType.UNDEF;

    if (valueSelector.getItemClass() == NumberItem.class) {
      if (valueSelector == RFXComValueSelector.SIGNAL_LEVEL) {
        state = new DecimalType(signalLevel);
      } else {
        throw new RFXComException("Can't convert " + valueSelector
            + " to NumberItem");
      }
View Full Code Here


      String rfAddress = device.getRFAddress();
      String commandString = null;

      if (command instanceof DecimalType || command instanceof OnOffType) {
        DecimalType decimalType = DEFAULT_OFF_TEMPERATURE;
        if (command instanceof DecimalType) {
          decimalType = (DecimalType) command;
        } else if (command instanceof OnOffType) {
          decimalType = OnOffType.ON.equals(command) ? DEFAULT_ON_TEMPERATURE : DEFAULT_OFF_TEMPERATURE;
        }

        S_Command cmd = new S_Command(rfAddress, device.getRoomId(), decimalType.doubleValue());
        commandString = cmd.getCommandString();
      } else if (command instanceof StringType) {
        String commandContent = command.toString().trim().toUpperCase();
        ThermostatModeType commandThermoType = null;
        if (commandContent.contentEquals(ThermostatModeType.AUTOMATIC.toString())) {
View Full Code Here

  private void receivedNewValveOpening(String device, int actuatorNumber, double valve) {
    String fullAddress = device + "0" + actuatorNumber;
    FHTBindingConfig config = getConfig(fullAddress, Datapoint.VALVE);
    if (config != null) {
      logger.debug("Updating item " + config.getItem().getName() + " with new valve opening");
      DecimalType state = new DecimalType(valve);
      eventPublisher.postUpdate(config.getItem().getName(), state);
    } else {
      logger.debug("Received valve opening of unkown actuator with address " + fullAddress);
    }
  }
View Full Code Here

  private void receivedNewMeasuredTemperature(String deviceAddress, double temperature) {
    FHTBindingConfig config = getConfig(deviceAddress, Datapoint.MEASURED_TEMP);
    if (config != null) {
      logger.debug("Updating item " + config.getItem().getName() + " with new measured temperature "
          + temperature);
      DecimalType state = new DecimalType(temperature);
      eventPublisher.postUpdate(config.getItem().getName(), state);
    } else {
      logger.debug("Received new measured temp for unkown device with address " + deviceAddress);
    }
  }
View Full Code Here

  private void receivedNewDesiredTemperature(String deviceAddress, double temperature) {
    FHTBindingConfig config = getConfig(deviceAddress, Datapoint.DESIRED_TEMP);
    if (config != null) {
      logger.debug("Updating item " + config.getItem().getName() + " with new desired temperature " + temperature);
      DecimalType state = new DecimalType(temperature);
      eventPublisher.postUpdate(config.getItem().getName(), state);
    } else {
      logger.debug("Received new desired temperature for currently unknown device with address " + deviceAddress);
    }
  }
View Full Code Here

    long pid;

    try {
      switch (commandType) {
      case LOAD_AVERAGE_1MIN:
        state = new DecimalType(sigar.getLoadAverage()[0]);
        break;
      case LOAD_AVERAGE_5MIN:
        state = new DecimalType(sigar.getLoadAverage()[1]);
        break;
      case LOAD_AVERAGE_15MIN:
        state = new DecimalType(sigar.getLoadAverage()[2]);
        break;

      case CPU_COMBINED:
        state = new DecimalType(sigar.getCpuPerc().getCombined() * 100);
        break;
      case CPU_USER:
        state = new DecimalType(sigar.getCpuPerc().getUser() * 100);
        break;
      case CPU_SYSTEM:
        state = new DecimalType(sigar.getCpuPerc().getSys() * 100);
        break;
      case CPU_NICE:
        state = new DecimalType(sigar.getCpuPerc().getNice() * 100);
        break;
      case CPU_WAIT:
        state = new DecimalType(sigar.getCpuPerc().getWait() * 100);
        break;

      case UPTIME:
        state = new DecimalType(sigar.getUptime().getUptime());
        break;
      case UPTIME_FORMATTED:
        state = new StringType(getElapsedTime((long) sigar.getUptime().getUptime()));
        break;

      case MEM_FREE_PERCENT:
        state = new DecimalType(sigar.getMem().getFreePercent());
        break;
      case MEM_USED_PERCENT:
        state = new DecimalType(sigar.getMem().getUsedPercent());
        break;
      case MEM_FREE:
        state = new DecimalType(formatBytes(sigar.getMem().getFree(), units));
        break;
      case MEM_USED:
        state = new DecimalType(formatBytes(sigar.getMem().getUsed(), units));
        break;
      case MEM_ACTUAL_FREE:
        state = new DecimalType(formatBytes(sigar.getMem().getActualFree(), units));
        break;
      case MEM_ACTUAL_USED:
        state = new DecimalType(formatBytes(sigar.getMem().getActualUsed(), units));
        break;
      case MEM_TOTAL:
        state = new DecimalType(formatBytes(sigar.getMem().getTotal(), units));
        break;

      case SWAP_FREE:
        state = new DecimalType(formatBytes(sigar.getSwap().getFree(), units));
        break;
      case SWAP_TOTAL:
        state = new DecimalType(formatBytes(sigar.getSwap().getTotal(), units));
        break;
      case SWAP_USED:
        state = new DecimalType(formatBytes(sigar.getSwap().getUsed(), units));
        break;
      case SWAP_PAGE_IN:
        state = new DecimalType(formatBytes(sigar.getSwap().getPageIn(), units));
        break;
      case SWAP_PAGE_OUT:
        state = new DecimalType(formatBytes(sigar.getSwap().getPageOut(), units));
        break;

      case NET_RX_BYTES:
        state = new DecimalType(formatBytes(
            sigar.getNetInterfaceStat(target).getRxBytes(), units));
        break;
      case NET_TX_BYTES:
        state = new DecimalType(formatBytes(
            sigar.getNetInterfaceStat(target).getTxBytes(), units));
        break;

      case DISK_READS:
        state = new DecimalType(sigar.getDiskUsage(target).getReads());
        break;
      case DISK_WRITES:
        state = new DecimalType(sigar.getDiskUsage(target).getWrites());
        break;
      case DISK_READ_BYTES:
        state = new DecimalType(formatBytes(sigar.getDiskUsage(target).getReadBytes(), units));
        break;
      case DISK_WRITE_BYTES:
        state = new DecimalType(formatBytes(sigar.getDiskUsage(target).getWriteBytes(), units));
        break;

      case DIR_USAGE:
        state = new DecimalType(formatBytes(sigar.getDirUsage(target).getDiskUsage(), units));
        break;
      case DIR_FILES:
        state = new DecimalType(sigar.getDirUsage(target).getFiles());
        break;

      case PROCESS_REAL_MEM:
        pid = getPid(target);
        state = new DecimalType(formatBytes(sigar.getProcMem(pid).getResident(), units));
        break;
      case PROCESS_VIRTUAL_MEM:
        pid = getPid(target);
        state = new DecimalType(formatBytes(sigar.getProcMem(pid)
            .getSize(), units));
        break;
      case PROCESS_CPU_PERCENT:
        pid = getPid(target);
        state = new DecimalType(
            sigar.getProcCpu(pid).getPercent() * 100);
        break;
      case PROCESS_CPU_SYSTEM:
        pid = getPid(target);
        state = new DecimalType(sigar.getProcCpu(pid).getSys());
        break;
      case PROCESS_CPU_USER:
        pid = getPid(target);
        state = new DecimalType(sigar.getProcCpu(pid).getUser());
        break;
      case PROCESS_CPU_TOTAL:
        pid = getPid(target);
        state = new DecimalType(sigar.getProcCpu(pid).getTotal());
        break;
      case PROCESS_UPTIME:
        pid = getPid(target);
        state = new DecimalType(getProcessUptime(pid));
        break;
      case PROCESS_UPTIME_FORMATTED:
        pid = getPid(target);
        state = new StringType(getElapsedTime(getProcessUptime(pid)));
        break;
View Full Code Here

        logger.warn("Unsupported type for item {}, only DateTimeType and OnOffType supported!", item.getName());
      }
    } else if (value instanceof Number) {
      if (item.getAcceptedDataTypes().contains(DecimalType.class)) {
        BigDecimal decimalValue = new BigDecimal(value.toString()).setScale(2, RoundingMode.HALF_UP);
        context.getEventPublisher().postUpdate(item.getName(), new DecimalType(decimalValue));
      } else if (value instanceof Long && item.getAcceptedDataTypes().contains(StringType.class)
          && "duration".equals(bindingConfig.getProperty())) {
        // special case, transforming duration to minute:second string
        context.getEventPublisher().postUpdate(item.getName(), new StringType(durationToString((Long) value)));
      } else {
View Full Code Here

    }
  }

  private DecimalType extractStateFromRegisters(InputRegister[] registers, int index, String type) {
    if (type.equals(ModbusBindingProvider.VALUE_TYPE_BIT)) {
      return new DecimalType((registers[index / 16].toUnsignedShort() >> (index % 16)) & 1);
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_INT8)) {
      return new DecimalType(registers[index / 2].toBytes()[1 - (index % 2)]);
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_UINT8)) {
      return new DecimalType((registers[index / 2].toUnsignedShort() >> (8 * (index % 2))) & 0xff);
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_INT16)) {
      ByteBuffer buff = ByteBuffer.allocate(2);
      buff.put(registers[index].toBytes());
      return new DecimalType(buff.order(ByteOrder.BIG_ENDIAN).getShort(0));
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_UINT16)) {
      return new DecimalType(registers[index].toUnsignedShort());
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_INT32)) {
      ByteBuffer buff = ByteBuffer.allocate(4);
      buff.put(registers[index * 2 + 0].toBytes());
      buff.put(registers[index * 2 + 1].toBytes());
      return new DecimalType(buff.order(ByteOrder.BIG_ENDIAN).getInt(0));
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_UINT32)) {
      ByteBuffer buff = ByteBuffer.allocate(8);
      buff.position(4);
      buff.put(registers[index * 2 + 0].toBytes());
      buff.put(registers[index * 2 + 1].toBytes());
      return new DecimalType(buff.order(ByteOrder.BIG_ENDIAN).getLong(0));
    }
    else if (type.equals(ModbusBindingProvider.VALUE_TYPE_FLOAT32)) {
      ByteBuffer buff = ByteBuffer.allocate(4);
      buff.put(registers[index * 2 + 0].toBytes());
      buff.put(registers[index * 2 + 1].toBytes());
      return new DecimalType(buff.order(ByteOrder.BIG_ENDIAN).getFloat(0));
    }
    else {
      throw new IllegalArgumentException();
    }
  }
View Full Code Here

        // decimals
        double d = ((WSFloatingPointValue) value)
            .getFloatingPointValue();
        BigDecimal bd = new BigDecimal(d).setScale(2,
            RoundingMode.HALF_EVEN);
        state = new DecimalType(bd);
      }

      else if (value.getClass() == WSBooleanValue.class) {
        state = new DecimalType(((WSBooleanValue) value).isValue() ? 1 : 0);
      }
     
      else if (value.getClass() == WSIntegerValue.class) {
        state = new DecimalType(((WSIntegerValue) value).getInteger());
      }
     
      else if (value.getClass() == WSTimerValue.class) {
        state = new DecimalType(((WSTimerValue) value).getMilliseconds());
      }
     
      else if (value.getClass() == WSEnumValue.class) {
        state = new DecimalType(((WSEnumValue) value).getEnumValueID());
      }
     
      else if (value.getClass() == WSWeekdayValue.class) {
        state = new DecimalType(((WSWeekdayValue) value).getWeekdayNumber());
      }
     
      else {
        throw new NumberFormatException("Can't convert "
            + value.getClass().toString() + " to NumberItem");
View Full Code Here

    if(config != null) {
      if(config.getDSCAlarmItemType() != null) {
        switch(config.getDSCAlarmItemType()) {
          case PANEL_CONNECTION:
            state = panelProperties.getSystemConnection();
            publisher.postUpdate(item.getName(), new DecimalType(state));
            break;
          case PANEL_MESSAGE:
            str = panelProperties.getSystemMessage();
            publisher.postUpdate(item.getName(), new StringType(str));
            break;
          case PANEL_SYSTEM_ERROR:
            str = String.format("%03d", panelProperties.getSystemErrorCode()) + ": " + panelProperties.getSystemErrorDescription();
            publisher.postUpdate(item.getName(), new StringType(str));
            break;
          case PANEL_TIME_DATE:
            str = panelProperties.getTimeDate();
            publisher.postUpdate(item.getName(), new StringType(str));
            break;
          case PANEL_COMMAND:
            state = panelProperties.getSystemCommand();
            publisher.postUpdate(item.getName(), new DecimalType(state));
            break;
          default:
            logger.debug("refreshItem(): Panel item not updated.");
            break;
        }
View Full Code Here

TOP

Related Classes of org.openhab.core.library.types.DecimalType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.