diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index bcb1413b1..de1847d08 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -162,6 +162,7 @@ Thermostat::Thermostat(uint8_t device_type, uint8_t device_id, uint8_t product_i for (uint8_t i = 0; i < set_typeids.size(); i++) { EMSESP::send_read_request(set_typeids[i], device_id); + EMSESP::send_read_request(set_typeids[i], device_id, 0x1B); } for (uint8_t i = 0; i < summer_typeids.size(); i++) { diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index 162d950d4..f69b81e11 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -334,7 +334,7 @@ bool EMSdevice::handle_telegram(std::shared_ptr telegram) { if (tf.telegram_type_id_ == telegram->type_id) { // if the data block is empty, assume that this telegram is not recognized by the bus master // so remove it from the automatic fetch list - if (telegram->message_length == 0) { + if (telegram->message_length == 0 && telegram->offset == 0) { LOG_DEBUG(F("This telegram (%s) is not recognized by the EMS bus"), uuid::read_flash_string(tf.telegram_type_name_).c_str()); toggle_fetch(tf.telegram_type_id_, false); return false;