renamed parameter data to message

This commit is contained in:
ElVit 2026-03-26 21:49:38 +01:00
parent 8b5311450a
commit 1c9fffccae
1 changed files with 14 additions and 14 deletions

View File

@ -285,49 +285,49 @@ int PanasonicHeatpumpComponent::get_extra_response_byte(const int index) {
return -1; return -1;
} }
ResponseType PanasonicHeatpumpComponent::check_response(const std::vector<uint8_t>& data) { ResponseType PanasonicHeatpumpComponent::check_response(const std::vector<uint8_t>& message) {
// Read response message: // Read response message:
// format: 0x71 [payload_length] 0x01 [0x10 || 0x21] [[TOP0 - TOP114] ...] 0x00 [checksum] // format: 0x71 [payload_length] 0x01 [0x10 || 0x21] [[TOP0 - TOP114] ...] 0x00 [checksum]
// payload_length: payload_length + 3 = packet_length // payload_length: payload_length + 3 = packet_length
// checksum: if (sum(all bytes) & 0xFF == 0) ==> valid packet // checksum: if (sum(all bytes) & 0xFF == 0) ==> valid packet
if (data.empty()) if (message.empty())
return ResponseType::UNKNOWN; return ResponseType::UNKNOWN;
if (data[0] != 0x71) if (message[0] != 0x71)
return ResponseType::UNKNOWN; return ResponseType::UNKNOWN;
if (this->response_receiving_) if (this->response_receiving_)
return ResponseType::RECEIVING; return ResponseType::RECEIVING;
if (data.size() != RESPONSE_MSG_SIZE) { if (message.size() != RESPONSE_MSG_SIZE) {
ESP_LOGW(TAG, "Invalid response message length: recieved %d - expected %d", data.size(), RESPONSE_MSG_SIZE); ESP_LOGW(TAG, "Response message too short: received %u - expected %u", message.size(), RESPONSE_MSG_SIZE);
delay(10); // NOLINT delay(10); // NOLINT
return ResponseType::UNKNOWN; return ResponseType::UNKNOWN;
} }
// Verify checksum // Verify checksum
uint8_t checksum = 0; uint8_t checksum = 0;
for (int i = 0; i < data.size(); i++) { for (int i = 0; i < message.size(); i++) {
checksum += data[i]; checksum += message[i];
} }
// all bytes (including checksum byte) shall be 0x00 // all bytes (including checksum byte) shall be 0x00
if (checksum != 0) { if (checksum != 0) {
ESP_LOGW(TAG, "Invalid response message: checksum = 0x%02X, last_byte = 0x%02X", checksum, data[202]); ESP_LOGW(TAG, "Invalid response message: checksum = 0x%02X, last_byte = 0x%02X", checksum, message[202]);
delay(10); // NOLINT delay(10); // NOLINT
return ResponseType::UNKNOWN; return ResponseType::UNKNOWN;
} }
this->send_extra_request_ = data[3] == 0x10 && data[199] > 0x02 && this->send_extra_request_ == false ? true : false; this->send_extra_request_ = message[3] == 0x10 && message[199] > 0x02 && this->send_extra_request_ == false ? true : false;
// Get response type and save the response // Get response type and save the response
auto responseType = ResponseType::UNKNOWN; auto responseType = ResponseType::UNKNOWN;
if (data[3] == 0x10) { if (message[3] == 0x10) {
responseType = ResponseType::STANDARD; responseType = ResponseType::STANDARD;
this->heatpump_default_message_ = data; this->heatpump_default_message_ = message;
} else if (data[3] == 0x21) { } else if (message[3] == 0x21) {
responseType = ResponseType::EXTRA; responseType = ResponseType::EXTRA;
this->heatpump_extra_message_ = data; this->heatpump_extra_message_ = message;
} }
if (responseType == ResponseType::UNKNOWN) { if (responseType == ResponseType::UNKNOWN) {
ESP_LOGW(TAG, "Unknown response type (4. byte): 0x%02X. Expected 0x10 or 0x21.", data[3]); ESP_LOGW(TAG, "Unknown response type (4. byte): 0x%02X. Expected 0x10 or 0x21.", message[3]);
delay(10); // NOLINT delay(10); // NOLINT
return responseType; return responseType;
} }