diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index f52c5fd3d..462bcbbaa 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -48,6 +48,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const // the telegram handlers... // common for all boilers + register_telegram_type(0xBF, F("ErrorMessage"), false, MAKE_PF_CB(process_ErrorMessage)); register_telegram_type(0x10, F("UBAErrorMessage1"), false, MAKE_PF_CB(process_UBAErrorMessage)); register_telegram_type(0x11, F("UBAErrorMessage2"), false, MAKE_PF_CB(process_UBAErrorMessage)); register_telegram_type(0xC2, F("UBAErrorMessage3"), false, MAKE_PF_CB(process_UBAErrorMessage2)); @@ -872,6 +873,11 @@ void Boiler::process_UBAMaintenanceStatus(std::shared_ptr telegr } } +// 0xBF +void Boiler::process_ErrorMessage(std::shared_ptr telegram) { + EMSESP::send_read_request(0xC2, device_id()); // read last errorcode +} + // 0x10, 0x11 void Boiler::process_UBAErrorMessage(std::shared_ptr telegram) { if (telegram->offset > 0 || telegram->message_length < 11) { diff --git a/src/devices/boiler.h b/src/devices/boiler.h index a6e90b44f..d83821457 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -210,6 +210,7 @@ class Boiler : public EMSdevice { void process_MC110Status(std::shared_ptr telegram); void process_UBAMaintenanceStatus(std::shared_ptr telegram); void process_UBAMaintenanceData(std::shared_ptr telegram); + void process_ErrorMessage(std::shared_ptr telegram); void process_UBAErrorMessage(std::shared_ptr telegram); void process_UBAErrorMessage2(std::shared_ptr telegram); void process_UBAMonitorWWPlus(std::shared_ptr telegram);