fix RC35Monitor active detection

editied direct on github, delete branch after merge.
This commit is contained in:
MichaelDvP
2023-03-04 11:09:14 +01:00
committed by GitHub
parent f1bb2c75a6
commit 44056318fd

View File

@@ -1191,12 +1191,9 @@ void Thermostat::process_RC30Temp(std::shared_ptr<const Telegram> telegram) {
// type 0x3E (HC1), 0x48 (HC2), 0x52 (HC3), 0x5C (HC4) - data from the RC35 thermostat (0x10) - 16 bytes // type 0x3E (HC1), 0x48 (HC2), 0x52 (HC3), 0x5C (HC4) - data from the RC35 thermostat (0x10) - 16 bytes
void Thermostat::process_RC35Monitor(std::shared_ptr<const Telegram> telegram) { void Thermostat::process_RC35Monitor(std::shared_ptr<const Telegram> telegram) {
// Check if heatingciruit is active, see https://github.com/emsesp/EMS-ESP32/issues/786 // Check if heatingciruit is active, see https://github.com/emsesp/EMS-ESP32/issues/786
// some RC30_N have only 13 byte, use byte 0 for active detection. // roomtemp is measured value or 7D00 on active hc's, zero on inactive
if (telegram->offset > 0 || telegram->message_data[0] == 0x00) { uint16_t active = 0;
return; if (!telegram->read_value(active, 3)) {
}
if (telegram->message_data[14] == 0x00) {
return; return;
} }
@@ -4288,4 +4285,4 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
} }
} }
} // namespace emsesp } // namespace emsesp