Examples of OceanicValueSelector


Examples of org.openhab.binding.oceanic.OceanicValueSelector

  @Override
  protected void internalReceiveCommand(String itemName, Command command) {

    OceanicBindingProvider provider = findFirstMatchingBindingProvider(itemName);
    String serialPort = ((OceanicBindingProvider)provider).getSerialPort(itemName);
    OceanicValueSelector valueSelector = OceanicValueSelector.getValueSelector(((OceanicBindingProvider)provider).getValueSelector(itemName),ValueSelectorType.SET);
    SerialDevice serialDevice = serialDevices.get(serialPort);

    if(valueSelector.name().contains("set")) {
      String commandAsString = command.toString();
      switch(valueSelector) {
      case setSV1:
        commandAsString = valueSelector.name()+commandAsString;
      default:
        commandAsString = valueSelector.name();
        break;
      }
      String response = serialDevice.requestResponse(commandAsString);
      if(response.equals("ERR")) {
        logger.error("An error occurred while setting '{}' to {}",valueSelector.toString(),command.toString());
      }
    } else {
      // can not set the value of a read-only "get" variable
      logger.warn("An error occurred while trying to set the read-only variable '{}' to {}",valueSelector.toString(),command.toString());
   
  }
View Full Code Here

Examples of org.openhab.binding.oceanic.OceanicValueSelector

    public void execute(JobExecutionContext context)
        throws JobExecutionException {
      // get the reference to the Stick
      JobDataMap dataMap = context.getJobDetail().getJobDataMap();
      String serialPort = (String) dataMap.get("SerialPort");
      OceanicValueSelector valueSelector = (OceanicValueSelector) dataMap.get("ValueSelector");
      OceanicBinding theBinding = (OceanicBinding) dataMap.get("Binding");

      theBinding.lockSerialDevices();
      SerialDevice serialDevice = theBinding.serialDevices.get(serialPort);
      String response = null;
      if(serialDevice != null) {
        response = serialDevice.requestResponse(valueSelector.name());
        logger.debug("Requested '{}' from the oceanic unit, got '{}' back",valueSelector.name(),response);
      }
      theBinding.unlockSerialDevices();

      // process response etc

      if(response!=null) {
        for (OceanicBindingProvider provider : theBinding.providers) {
          for (String itemName : provider.getItemNames()) {
            String itemSerialPort = provider.getSerialPort(itemName);
            OceanicValueSelector itemSelector = OceanicValueSelector.getValueSelector(provider.getValueSelector(itemName),ValueSelectorType.GET);

            if (itemSerialPort.equals(serialPort) && itemSelector.equals(valueSelector)) {
              if(serialDevice.cachedValues.get(valueSelector)==null || !serialDevice.cachedValues.get(valueSelector).equals(response)) {
                serialDevice.cachedValues.put(valueSelector, response);
                State value;
                try {
                  value = createStateForType(valueSelector,response);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.