diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 0774c133a..dc8af7844 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -725,8 +725,8 @@ void publishEMSValues(bool force) { for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; - // only send if we have an active Heating Circuit with actual temperature values - if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) && (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET)) { + // only send if we have an active Heating Circuit with an actual setpoint temp temperature values + if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { // build new json object char hc[10]; // hc{1-4} strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); diff --git a/src/ems.cpp b/src/ems.cpp index 960cabde5..b5a015cc1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1269,7 +1269,7 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte } - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 - or 0x7D00 if thermostat is mounted on boiler _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_RC35StatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].holiday_mode, EMS_OFFSET_RC35StatusMessage_mode1, 5); @@ -1338,6 +1338,7 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { if (hc >= EMS_THERMOSTAT_MAXHC) { return; // invalid type } + EMS_Thermostat.hc[hc].active = true; // the whole telegram