From 5fea7ee066910dcd32e5a531a06de03f701fdcbc Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 24 May 2023 22:06:58 +0200 Subject: [PATCH] Fix: Doublecheck if the MutiDataCommand begins with the correct ID ID is 0x15 | 0x80 --- lib/Hoymiles/src/commands/MultiDataCommand.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/Hoymiles/src/commands/MultiDataCommand.cpp b/lib/Hoymiles/src/commands/MultiDataCommand.cpp index c34ccd0..b25c902 100644 --- a/lib/Hoymiles/src/commands/MultiDataCommand.cpp +++ b/lib/Hoymiles/src/commands/MultiDataCommand.cpp @@ -68,6 +68,11 @@ bool MultiDataCommand::handleResponse(InverterAbstract* inverter, fragment_t fra uint16_t crc = 0xffff, crcRcv = 0; for (uint8_t i = 0; i < max_fragment_id; i++) { + // Doublecheck if correct answer package + if (fragment[i].mainCmd != (_payload[0] | 0x80)) { + return false; + } + if (i == max_fragment_id - 1) { // Last packet crc = crc16(fragment[i].fragment, fragment[i].len - 2, crc);