read thermostat errorlog 0xC0 on 0xBF

This commit is contained in:
MichaelDvP
2025-04-23 09:36:00 +02:00
parent e719dd963d
commit f9ebe33a7d
2 changed files with 8 additions and 0 deletions

View File

@@ -194,6 +194,7 @@ Thermostat::Thermostat(uint8_t device_type, uint8_t device_id, uint8_t product_i
register_telegram_type(0x269, "RC300Holiday", true, MAKE_PF_CB(process_RC300Holiday)); register_telegram_type(0x269, "RC300Holiday", true, MAKE_PF_CB(process_RC300Holiday));
} }
register_telegram_type(0x16E, "Absent", true, MAKE_PF_CB(process_Absent)); register_telegram_type(0x16E, "Absent", true, MAKE_PF_CB(process_Absent));
register_telegram_type(0xBF, "ErrorMessage", false, MAKE_PF_CB(process_ErrorMessageBF));
register_telegram_type(0xC0, "RCErrorMessage", false, MAKE_PF_CB(process_RCErrorMessage2)); register_telegram_type(0xC0, "RCErrorMessage", false, MAKE_PF_CB(process_RCErrorMessage2));
EMSESP::send_read_request(0xC0, device_id); // read last errorcode on start (only published on errors) EMSESP::send_read_request(0xC0, device_id); // read last errorcode on start (only published on errors)
@@ -1757,6 +1758,12 @@ void Thermostat::process_RCErrorMessage(std::shared_ptr<const Telegram> telegram
} }
} }
} }
// 0xBF
void Thermostat::process_ErrorMessageBF(std::shared_ptr<const Telegram> telegram) {
EMSESP::send_read_request(0xC0, device_id(), 0, 20); // read last errorcode
}
// 0xC0 error log for RC300 // 0xC0 error log for RC300
void Thermostat::process_RCErrorMessage2(std::shared_ptr<const Telegram> telegram) { void Thermostat::process_RCErrorMessage2(std::shared_ptr<const Telegram> telegram) {
if (telegram->offset > 0 || telegram->message_length < 20) { if (telegram->offset > 0 || telegram->message_length < 20) {

View File

@@ -412,6 +412,7 @@ class Thermostat : public EMSdevice {
void process_RCError(std::shared_ptr<const Telegram> telegram); void process_RCError(std::shared_ptr<const Telegram> telegram);
void process_RCErrorMessage(std::shared_ptr<const Telegram> telegram); void process_RCErrorMessage(std::shared_ptr<const Telegram> telegram);
void process_RCErrorMessage2(std::shared_ptr<const Telegram> telegram); void process_RCErrorMessage2(std::shared_ptr<const Telegram> telegram);
void process_ErrorMessageBF(std::shared_ptr<const Telegram> telegram);
void process_RC35wwSettings(std::shared_ptr<const Telegram> telegram); void process_RC35wwSettings(std::shared_ptr<const Telegram> telegram);
void process_RC35wwTimer(std::shared_ptr<const Telegram> telegram); void process_RC35wwTimer(std::shared_ptr<const Telegram> telegram);
void process_RC35Monitor(std::shared_ptr<const Telegram> telegram); void process_RC35Monitor(std::shared_ptr<const Telegram> telegram);