From e242962c05b90a9a5e8710a1ae3e3a50d64c468d Mon Sep 17 00:00:00 2001 From: ElVit Date: Thu, 19 Mar 2026 10:22:42 +0100 Subject: [PATCH] Avoid too many warnings if checksum of response message is invalid --- components/panasonic_heatpump/panasonic_heatpump.cpp | 6 +++++- components/panasonic_heatpump/panasonic_heatpump.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/components/panasonic_heatpump/panasonic_heatpump.cpp b/components/panasonic_heatpump/panasonic_heatpump.cpp index d9e75f3..8329e1a 100644 --- a/components/panasonic_heatpump/panasonic_heatpump.cpp +++ b/components/panasonic_heatpump/panasonic_heatpump.cpp @@ -43,6 +43,10 @@ void PanasonicHeatpumpComponent::loop() { this->current_response_ = this->check_response(this->response_message_); switch (this->current_response_) { case ResponseType::UNKNOWN: + this->response_message_.clear(); + this->loop_state_ = LoopState::SEND_REQUEST; + break; + case ResponseType::RECEIVING: this->loop_state_ = LoopState::SEND_REQUEST; break; case ResponseType::STANDARD: @@ -285,7 +289,7 @@ ResponseType PanasonicHeatpumpComponent::check_response(const std::vectorresponse_receiving_) - return ResponseType::UNKNOWN; + return ResponseType::RECEIVING; if (data.size() != RESPONSE_MSG_SIZE) { ESP_LOGW(TAG, "Invalid response message length: recieved %d - expected %d", data.size(), RESPONSE_MSG_SIZE); delay(10); // NOLINT diff --git a/components/panasonic_heatpump/panasonic_heatpump.h b/components/panasonic_heatpump/panasonic_heatpump.h index 0e985c9..2d75ea2 100644 --- a/components/panasonic_heatpump/panasonic_heatpump.h +++ b/components/panasonic_heatpump/panasonic_heatpump.h @@ -44,6 +44,7 @@ enum RequestType : uint8_t { enum ResponseType : uint8_t { UNKNOWN, + RECEIVING, STANDARD, EXTRA, };