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));