diff --git a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/function/CreateVacationFunction.java b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/function/CreateVacationFunction.java index d1e9e7a1cf2..c602dcfaeca 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/function/CreateVacationFunction.java +++ b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/function/CreateVacationFunction.java @@ -51,8 +51,8 @@ public final class CreateVacationFunction extends AbstractFunction { if (convertedCoolHoldTemp == null || convertedHeatHoldTemp == null) { throw new IllegalArgumentException("coolHoldTemp or heatHoldTemp are not proper QuantityTypes"); } - params.put("coolHoldTemp", Integer.valueOf(convertedCoolHoldTemp.intValue())); - params.put("heatHoldTemp", Integer.valueOf(convertedHeatHoldTemp.intValue())); + params.put("coolHoldTemp", Integer.valueOf(convertedCoolHoldTemp.intValue() * 10)); + params.put("heatHoldTemp", Integer.valueOf(convertedHeatHoldTemp.intValue() * 10)); if (startDateTime != null) { params.put("startDate", YMD.format(startDateTime)); diff --git a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/handler/EcobeeThermostatBridgeHandler.java b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/handler/EcobeeThermostatBridgeHandler.java index 5147be09c5e..df4be5f4d6f 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/handler/EcobeeThermostatBridgeHandler.java +++ b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/handler/EcobeeThermostatBridgeHandler.java @@ -87,6 +87,8 @@ public class EcobeeThermostatBridgeHandler extends BaseBridgeHandler { private final Logger logger = LoggerFactory.getLogger(EcobeeThermostatBridgeHandler.class); + private static final int MIN_VALID_ACTUAL_TEMPERATURE = 0; + private TimeZoneProvider timeZoneProvider; private ChannelTypeRegistry channelTypeRegistry; @@ -396,7 +398,12 @@ public class EcobeeThermostatBridgeHandler extends BaseBridgeHandler { EcobeeUtils.undefOrDate(runtime.lastStatusModified, timeZoneProvider)); updateChannel(grp + CH_RUNTIME_DATE, EcobeeUtils.undefOrString(runtime.runtimeDate)); updateChannel(grp + CH_RUNTIME_INTERVAL, EcobeeUtils.undefOrDecimal(runtime.runtimeInterval)); - updateChannel(grp + CH_ACTUAL_TEMPERATURE, EcobeeUtils.undefOrTemperature(runtime.actualTemperature)); + if (runtime.actualTemperature > MIN_VALID_ACTUAL_TEMPERATURE) { + updateChannel(grp + CH_ACTUAL_TEMPERATURE, EcobeeUtils.undefOrTemperature(runtime.actualTemperature)); + } else { + logger.debug("Skipping update of actual temperature because temperature {} below min threshold of {}", + runtime.actualTemperature, MIN_VALID_ACTUAL_TEMPERATURE); + } updateChannel(grp + CH_ACTUAL_HUMIDITY, EcobeeUtils.undefOrQuantity(runtime.actualHumidity, Units.PERCENT)); updateChannel(grp + CH_RAW_TEMPERATURE, EcobeeUtils.undefOrTemperature(runtime.rawTemperature)); updateChannel(grp + CH_SHOW_ICON_MODE, EcobeeUtils.undefOrDecimal(runtime.showIconMode));