From 29016b6342a3b07981dc9df623d17f274c034130 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 29 Oct 2024 09:28:11 +0100 Subject: [PATCH] fix check telegrams for remote --- src/roomcontrol.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/roomcontrol.cpp b/src/roomcontrol.cpp index 9e68c10bc..72e8de6b2 100644 --- a/src/roomcontrol.cpp +++ b/src/roomcontrol.cpp @@ -166,12 +166,10 @@ void Roomctrl::check(uint8_t addr, const uint8_t * data, const uint8_t length) { // empty message back if temperature not set or unknown message type if (data[2] == EMSdevice::EMS_TYPE_VERSION) { version(addr, data[0], hc); - } else if (length == 6) { // ems query - unknown(addr, data[0], data[2], data[3]); - } else if (length == 8) { - unknown(addr, data[0], data[3], data[5], data[6]); } else if (data[2] == 0xAF && data[3] == 0) { temperature(addr, data[0], hc); + } else if (length == 6) { // all other ems queries + unknown(addr, data[0], data[2], data[3]); } else if (length == 8 && data[2] == 0xFF && data[3] == 0 && data[5] == 0 && data[6] == 0x23) { // Junkers temperature(addr, data[0], hc); } else if (length == 8 && data[2] == 0xFF && data[3] == 0 && data[5] == 3 && data[6] == 0x2B + hc) { // EMS+ temperature @@ -182,6 +180,8 @@ void Roomctrl::check(uint8_t addr, const uint8_t * data, const uint8_t length) { unknown(addr, data[0], data[3], data[5], data[6]); } else if (data[2] == 0xF7) { // ems+ query with 3 bytes type src dst 7F offset len=FF FF HIGH LOW replyF7(addr, data[0], data[3], data[5], data[6], data[7], hc); + } else if (length == 8) { + unknown(addr, data[0], data[3], data[5], data[6]); } }