コード例 #1
0
ファイル: PTCResistanceImpl.java プロジェクト: ptrvif/openhab
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 public void fetchSensorValue() {
   try {
     int resistance = tinkerforgeDevice.getResistance();
     DecimalValue value = Tools.calculate(resistance);
     setSensorValue(value);
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #2
0
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public void fetchDigitalValue() {
   HighLowValue pinValue = HighLowValue.UNDEF;
   try {
     pinValue = extractValue(getMbrick().getTinkerforgeDevice().getPort(getPort()));
     setDigitalState(pinValue);
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #3
0
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public void enable() {
   logger.debug("{} enable called on DigitalActor", LoggerConstants.TFINIT);
   if (tfConfig != null) {
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("defaultState"))) {
       logger.debug("{} setDefaultState: {}", LoggerConstants.TFINIT, tfConfig.getDefaultState());
       setDefaultState(tfConfig.getDefaultState());
     }
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("keepOnReconnect"))) {
       logger.debug(
           "{} keepOnReconnect: {}", LoggerConstants.TFINIT, tfConfig.isKeepOnReconnect());
       setKeepOnReconnect(tfConfig.isKeepOnReconnect());
     }
   }
   String defaultState = getDefaultState();
   try {
     // there seems to be no interrupt support in the upstream api
     if (getMbrick().getBrickd().isReconnected() && isKeepOnReconnect()) {
       logger.debug(
           "{} reconnected: no new port configuration set for {}",
           LoggerConstants.TFINIT,
           getSubId());
     } else if (defaultState == null || defaultState.equals("keep")) {
       logger.debug("{} keep: no new port configuration set", LoggerConstants.TFINIT);
     } else if (defaultState.equals("true")) {
       logger.debug("{} setPortconfiguration to state: true", LoggerConstants.TFINIT);
       getMbrick()
           .getTinkerforgeDevice()
           .setPortConfiguration(getPort(), (short) mask, BrickletIO16.DIRECTION_OUT, true);
     } else if (defaultState.equals("false")) {
       logger.debug("{} setPortconfiguration to state: false", LoggerConstants.TFINIT);
       getMbrick()
           .getTinkerforgeDevice()
           .setPortConfiguration(getPort(), (short) mask, BrickletIO16.DIRECTION_OUT, false);
     }
     fetchDigitalValue();
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #4
0
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public void turnDigital(HighLowValue digitalState) {
   BrickletIO16 brickletIO16 = getMbrick().getTinkerforgeDevice();
   try {
     if (digitalState == HighLowValue.HIGH) {
       brickletIO16.setSelectedValues(getPort(), (short) mask, (short) mask);
     } else if (digitalState == HighLowValue.LOW) {
       brickletIO16.setSelectedValues(getPort(), (short) mask, (short) 0);
     } else {
       logger.error("{} unkown digitalState {}", LoggerConstants.TFMODELUPDATE, digitalState);
     }
     setDigitalState(digitalState);
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #5
0
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public void enable() {
   if (tfConfig != null) {
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("sampleRate"))) {
       Short sampleRate = tfConfig.getSampleRate();
       logger.debug("sampleRate {}", sampleRate);
       setSampleRate(sampleRate);
     }
   }
   try {
     tinkerforgeDevice = new BrickletIndustrialDualAnalogIn(getUid(), getIpConnection());
     tinkerforgeDevice.setSampleRate(getSampleRate());
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #6
0
ファイル: PTCResistanceImpl.java プロジェクト: ptrvif/openhab
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 public void enable() {
   tinkerforgeDevice = getMbrick().getTinkerforgeDevice();
   if (tfConfig != null) {
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("threshold"))) {
       setThreshold(tfConfig.getThreshold());
     }
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("callbackPeriod"))) {
       setCallbackPeriod(tfConfig.getCallbackPeriod());
     }
   }
   try {
     tinkerforgeDevice.setResistanceCallbackPeriod(getCallbackPeriod());
     listener = new ResistanceListener();
     tinkerforgeDevice.addResistanceListener(listener);
     fetchSensorValue();
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #7
0
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public void enable() {
   if (tfConfig != null) {
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("threshold"))) {
       setThreshold(tfConfig.getThreshold());
     }
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("callbackPeriod"))) {
       setCallbackPeriod(tfConfig.getCallbackPeriod());
     }
   }
   try {
     tinkerforgeDevice = new BrickletDustDetector(getUid(), getIpConnection());
     tinkerforgeDevice.setDustDensityCallbackPeriod(getCallbackPeriod());
     listener = new DustDensityListener();
     tinkerforgeDevice.addDustDensityListener(listener);
     fetchSensorValue();
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }
コード例 #8
0
  /**
   *
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated NOT
   */
  @Override
  public void setSelectedColor(HSBType color, DeviceOptions opts) {
    logger.debug("setSelectedColor called");
    // ColorMapping may be overridden by itemConfiguration
    char[] colorMapping = getColorMapping().toCharArray();
    String leds = null;

    // handle options
    if (opts != null) {
      if (opts.containsKey(COLOR_MAPPING)) {
        logger.debug("custom color mapping {} ", opts.getOption(COLOR_MAPPING));
        colorMapping = opts.getOption(COLOR_MAPPING).toCharArray();
      }
      if (opts.containsKey(LEDS)) {
        leds = opts.getOption(LEDS).trim();
        logger.debug("leds: {}", leds);
      }
    }
    if (leds == null || leds.length() == 0) {
      logger.error("\"leds\" option missing or empty, items configuration has to be fixed!");
      return;
    }

    // get the rgb values from HSBType
    Color rgbColor = color.toColor();
    short red = (short) rgbColor.getRed();
    short green = (short) rgbColor.getGreen();
    short blue = (short) rgbColor.getBlue();
    logger.debug("rgb is: {}:{}:{}", red, green, blue);

    // construct the values for the setRGBValues call
    HashMap<Character, short[]> colorMap = new HashMap<Character, short[]>(3);
    short[] reds = {red, red, red, red, red, red, red, red, red, red, red, red, red, red, red, red};
    short[] greens = {
      green, green, green, green, green, green, green, green, green, green, green, green, green,
      green, green, green
    };
    short[] blues = {
      blue, blue, blue, blue, blue, blue, blue, blue, blue, blue, blue, blue, blue, blue, blue, blue
    };
    colorMap.put('r', reds);
    colorMap.put('g', greens);
    colorMap.put('b', blues);
    LedList ledList = Tools.parseLedString(leds);

    try {
      if (ledList.hasLedRanges()) {
        Map<Integer, Short> ledRanges = ledList.getLedRanges();
        for (Integer led : ledRanges.keySet()) {
          tinkerforgeDevice.setRGBValues(
              led,
              ledRanges.get(led),
              colorMap.get(colorMapping[0]),
              colorMap.get(colorMapping[1]),
              colorMap.get(colorMapping[2]));
        }
      }
      if (ledList.hasLeds()) {
        for (Integer led : ledList.getLedNumbers()) {
          tinkerforgeDevice.setRGBValues(
              led,
              (short) 1,
              colorMap.get(colorMapping[0]),
              colorMap.get(colorMapping[1]),
              colorMap.get(colorMapping[2]));
        }
      }
      setColor(new HSBValue(color));
    } catch (TimeoutException e) {
      TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
    } catch (NotConnectedException e) {
      TinkerforgeErrorHandler.handleError(
          this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
    }
  }
コード例 #9
0
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public void enable() {
   logger.trace("enabling");
   int chipType = BrickletLEDStrip.CHIP_TYPE_WS2801;
   int frameDuration = 100;
   Long clockFrequency = null;
   tinkerforgeDevice = new BrickletLEDStrip(getUid(), getIpConnection());
   if (tfConfig != null) {
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("chiptype"))) {
       String chipTypeString = tfConfig.getChiptype();
       if (chipTypeString.equalsIgnoreCase("ws2801")) {
         chipType = BrickletLEDStrip.CHIP_TYPE_WS2801;
       } else if (chipTypeString.equalsIgnoreCase("ws2811")) {
         chipType = BrickletLEDStrip.CHIP_TYPE_WS2811;
       } else if (chipTypeString.equalsIgnoreCase("ws2812")) {
         chipType = BrickletLEDStrip.CHIP_TYPE_WS2812;
       } else {
         logger.error("Unknown ChipType {}", chipTypeString);
         // TODO raise configuration error
       }
     }
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("frameduration"))) {
       frameDuration = tfConfig.getFrameduration();
     }
     if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("clockfrequency"))) {
       clockFrequency = tfConfig.getClockfrequency();
     }
     // config Handling for ColorMapping must be before adding the
     // subdevices because subdevices use the ColorMapping
     if (tfConfig.eIsSet(
         tfConfig
             .eClass()
             .getEStructuralFeature(ModelPackage.LED_STRIP_CONFIGURATION__COLOR_MAPPING))) {
       colorMapping = tfConfig.getColorMapping();
     }
     if (tfConfig.eIsSet(
         tfConfig
             .eClass()
             .getEStructuralFeature(ModelPackage.LED_STRIP_CONFIGURATION__SUB_DEVICES))) {
       String[] subdevices = tfConfig.getSubDevices().trim().split("\\s+");
       for (String subId : subdevices) {
         addSubdevice(subId);
       }
     }
   }
   logger.debug("chipType is {}", chipType);
   logger.debug("frameDuration is {}", frameDuration);
   logger.debug("colorMapping is {}", colorMapping);
   try {
     tinkerforgeDevice.setChipType(chipType);
     tinkerforgeDevice.setFrameDuration(frameDuration);
     if (clockFrequency != null) {
       logger.debug("clockFrequency is {}", clockFrequency);
       tinkerforgeDevice.setClockFrequency(clockFrequency);
     } else {
       logger.debug("clockFrequency is not set");
     }
   } catch (TimeoutException e) {
     TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
   } catch (NotConnectedException e) {
     TinkerforgeErrorHandler.handleError(
         this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
   }
 }