diff --git a/bundles/org.openhab.binding.radiothermostat/src/main/java/org/openhab/binding/radiothermostat/internal/handler/RadioThermostatHandler.java b/bundles/org.openhab.binding.radiothermostat/src/main/java/org/openhab/binding/radiothermostat/internal/handler/RadioThermostatHandler.java index 99b3e201b9c01..5a13607284bec 100644 --- a/bundles/org.openhab.binding.radiothermostat/src/main/java/org/openhab/binding/radiothermostat/internal/handler/RadioThermostatHandler.java +++ b/bundles/org.openhab.binding.radiothermostat/src/main/java/org/openhab/binding/radiothermostat/internal/handler/RadioThermostatHandler.java @@ -371,14 +371,18 @@ public void onNewMessageEvent(RadioThermostatEvent event) { switch (evtKey) { case DEFAULT_RESOURCE: rthermData.setThermostatData(gson.fromJson(evtVal, RadioThermostatTstatDTO.class)); - updateAllChannels(); + // if thermostat returned -1 for temperature, skip this update + if (rthermData.getThermostatData().getTemperature() >= 0) { + updateAllChannels(); + } break; case HUMIDITY_RESOURCE: RadioThermostatHumidityDTO dto = gson.fromJson(evtVal, RadioThermostatHumidityDTO.class); - if (dto != null) { + // if thermostat returned -1 for humidity, skip this update + if (dto != null && dto.getHumidity() >= 0) { rthermData.setHumidity(dto.getHumidity()); + updateChannel(HUMIDITY, rthermData); } - updateChannel(HUMIDITY, rthermData); break; case RUNTIME_RESOURCE: rthermData.setRuntime(gson.fromJson(evtVal, RadioThermostatRuntimeDTO.class));