Search in sources :

Example 1 with BrickletThermocouple

use of com.tinkerforge.BrickletThermocouple in project openhab1-addons by openhab.

the class MBrickletThermocoupleImpl method setTinkerforgeDevice.

/**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
@Override
public void setTinkerforgeDevice(BrickletThermocouple newTinkerforgeDevice) {
    BrickletThermocouple oldTinkerforgeDevice = tinkerforgeDevice;
    tinkerforgeDevice = newTinkerforgeDevice;
    if (eNotificationRequired()) {
        eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.MBRICKLET_THERMOCOUPLE__TINKERFORGE_DEVICE, oldTinkerforgeDevice, tinkerforgeDevice));
    }
}
Also used : ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl) MBrickletThermocouple(org.openhab.binding.tinkerforge.internal.model.MBrickletThermocouple) BrickletThermocouple(com.tinkerforge.BrickletThermocouple)

Example 2 with BrickletThermocouple

use of com.tinkerforge.BrickletThermocouple in project openhab1-addons by openhab.

the class MBrickletThermocoupleImpl method enable.

/**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated NOT
     */
@Override
public void enable() {
    List<Short> possibleAveragingValues = Arrays.asList(new Short[] { 1, 2, 4, 8, 16 });
    List<String> possibleTypeValues = Arrays.asList(new String[] { "B", "E", "J", "K", "N", "R", "S", "T", "G8", "G32" });
    List<String> possibleFilterValues = Arrays.asList(new String[] { "50", "60" });
    short averaging = BrickletThermocouple.AVERAGING_1;
    short thermocoupleTypeId = BrickletThermocouple.TYPE_K;
    short filterId = BrickletThermocouple.FILTER_OPTION_50HZ;
    if (tfConfig != null) {
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("threshold"))) {
            logger.debug("threshold {}", tfConfig.getThreshold());
            setThreshold(tfConfig.getThreshold());
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("callbackPeriod"))) {
            logger.debug("callbackPeriod {}", tfConfig.getCallbackPeriod());
            setCallbackPeriod(tfConfig.getCallbackPeriod());
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("averaging"))) {
            Short averagingConfig = tfConfig.getAveraging();
            if (!possibleAveragingValues.contains(averagingConfig)) {
                logger.error("invalid averaging configuration {}", averagingConfig);
                throw new ConfigurationException("invalid averaging configuration " + averagingConfig);
            }
            averaging = averagingConfig;
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("thermocoupleType"))) {
            String thermocoupleType = tfConfig.getThermocoupleType();
            if (!possibleTypeValues.contains(thermocoupleType)) {
                logger.error("invalid thermocoupleType {}", thermocoupleType);
                throw new ConfigurationException("invalid thermocoupleType" + thermocoupleType);
            }
            thermocoupleTypeId = getTypeId(thermocoupleType);
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("filter"))) {
            String filterConfig = tfConfig.getFilter();
            if (!possibleFilterValues.contains(filterConfig)) {
                logger.error("invalid filter configuration {}", filterConfig);
                throw new ConfigurationException("invalid filter configuration" + filterConfig);
            }
            filterId = filterConfig.equals("50") ? BrickletThermocouple.FILTER_OPTION_50HZ : BrickletThermocouple.FILTER_OPTION_60HZ;
        }
    }
    try {
        tinkerforgeDevice = new BrickletThermocouple(getUid(), getIpConnection());
        tinkerforgeDevice.setConfiguration(averaging, thermocoupleTypeId, filterId);
        tinkerforgeDevice.setTemperatureCallbackPeriod(getCallbackPeriod());
        listener = new TemperatureListener();
        tinkerforgeDevice.addTemperatureListener(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);
    }
}
Also used : NotConnectedException(com.tinkerforge.NotConnectedException) ConfigurationException(org.openhab.binding.tinkerforge.internal.config.ConfigurationException) MBrickletThermocouple(org.openhab.binding.tinkerforge.internal.model.MBrickletThermocouple) BrickletThermocouple(com.tinkerforge.BrickletThermocouple) TimeoutException(com.tinkerforge.TimeoutException)

Aggregations

BrickletThermocouple (com.tinkerforge.BrickletThermocouple)2 MBrickletThermocouple (org.openhab.binding.tinkerforge.internal.model.MBrickletThermocouple)2 NotConnectedException (com.tinkerforge.NotConnectedException)1 TimeoutException (com.tinkerforge.TimeoutException)1 ENotificationImpl (org.eclipse.emf.ecore.impl.ENotificationImpl)1 ConfigurationException (org.openhab.binding.tinkerforge.internal.config.ConfigurationException)1