From 982a43b8d438e3d2926bd038f4c971139702b66b Mon Sep 17 00:00:00 2001 From: marcel Date: Sun, 26 Mar 2023 17:47:01 +0200 Subject: [PATCH 1/3] Fix Exhaust Temperature for Logano plus GB125 with Logamatic MC110. Exhaust Temperature was always zero prior to fix. On the setup - Logano plus GB125 with Logamatic MM110 (SW-Version 02.10) - Logamatic RC310 (SW-Version 74.03) - MM100 (SW-Version 24.05) the exhaust temperature ist found in telegram type 0xe4 at offset 31. The original location in telegram 0xe5, offset 6 is always zero. --- src/devices/boiler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 488a7fcbf..87d9c232e 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -1032,6 +1032,8 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr telegram //has_update(telegram, temperatur_, 13); // unknown temperature //has_update(telegram, temperatur_, 27); // unknown temperature + has_update(telegram, exhaustTemp_, 31); + // read 3 char service code / installation status as appears on the display if ((telegram->message_length > 3) && (telegram->offset == 0)) { char serviceCode[4] = {0}; @@ -1096,7 +1098,7 @@ void Boiler::process_UBAMonitorSlowPlus(std::shared_ptr telegram has_bitupdate(telegram, ignWork_, 2, 3); has_bitupdate(telegram, heatingPump_, 2, 5); has_bitupdate(telegram, wwCirc_, 2, 7); - has_update(telegram, exhaustTemp_, 6); + //has_update(telegram, exhaustTemp_, 6); has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes From 5c59a207147563a122a486f6ebdd74c091e0aa6c Mon Sep 17 00:00:00 2001 From: marcel Date: Mon, 27 Mar 2023 21:57:31 +0200 Subject: [PATCH 2/3] Accept exhaustTemp_ update from telegram 0xE5 if value is unequal zero. --- src/devices/boiler.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 87d9c232e..7f9d721a5 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -1098,7 +1098,13 @@ void Boiler::process_UBAMonitorSlowPlus(std::shared_ptr telegram has_bitupdate(telegram, ignWork_, 2, 3); has_bitupdate(telegram, heatingPump_, 2, 5); has_bitupdate(telegram, wwCirc_, 2, 7); - //has_update(telegram, exhaustTemp_, 6); + + /* Update exhaust temperature if it is unequal 0 */ + const uint8_t exhaustTempOffset{6}; + uint16_t exhaustTemp{0}; + if (telegram->read_value(exhaustTemp, exhaustTempOffset)) + has_update(telegram, exhaustTemp_, exhaustTempOffset); + has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes From e2fec03a2184de2fe2fed262dc7b003e660cb8f1 Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 1 Apr 2023 19:15:54 +0200 Subject: [PATCH 3/3] Use exhaust temperature from 0xe4, remove from 0xe5 until verified, closes #1147. --- src/devices/boiler.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 7f9d721a5..2d0cbb4bb 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -1098,13 +1098,7 @@ void Boiler::process_UBAMonitorSlowPlus(std::shared_ptr telegram has_bitupdate(telegram, ignWork_, 2, 3); has_bitupdate(telegram, heatingPump_, 2, 5); has_bitupdate(telegram, wwCirc_, 2, 7); - - /* Update exhaust temperature if it is unequal 0 */ - const uint8_t exhaustTempOffset{6}; - uint16_t exhaustTemp{0}; - if (telegram->read_value(exhaustTemp, exhaustTempOffset)) - has_update(telegram, exhaustTemp_, exhaustTempOffset); - + // has_update(telegram, exhaustTemp_, 6); // Disabled until verified as valid location, see #1147. has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes