From 7f4fad74c2801169ba51365139a39d8aea6782ce Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 24 Dec 2025 22:07:35 -1000 Subject: [PATCH] fixes --- esphome/components/api/api_pb2.cpp | 4 ++-- script/api_protobuf/api_protobuf.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/esphome/components/api/api_pb2.cpp b/esphome/components/api/api_pb2.cpp index 058a722483..1c7012370b 100644 --- a/esphome/components/api/api_pb2.cpp +++ b/esphome/components/api/api_pb2.cpp @@ -1149,7 +1149,7 @@ void ExecuteServiceResponse::calculate_size(ProtoSize &size) const { size.add_bool(1, this->success); size.add_length(1, this->error_message_ref_.size()); #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON - size.add_length(4, this->response_data_len); + size.add_length(1, this->response_data_len); #endif } #endif @@ -3399,7 +3399,7 @@ void ZWaveProxyRequest::encode(ProtoWriteBuffer buffer) const { } void ZWaveProxyRequest::calculate_size(ProtoSize &size) const { size.add_uint32(1, static_cast(this->type)); - size.add_length(2, this->data_len); + size.add_length(1, this->data_len); } #endif diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index 89f9ecaf4a..af7d6af954 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -907,7 +907,7 @@ class PointerToBytesBufferType(PointerToBufferTypeBase): ) def get_size_calculation(self, name: str, force: bool = False) -> str: - return f"size.add_length({self.number}, this->{self.field_name}_len);" + return f"size.add_length({self.calculate_field_id_size()}, this->{self.field_name}_len);" class PointerToStringBufferType(PointerToBufferTypeBase): @@ -932,7 +932,6 @@ class PointerToStringBufferType(PointerToBufferTypeBase): @property def decode_length_content(self) -> str | None: return f"""case {self.number}: {{ - // Use raw data directly via StringRef to avoid allocation this->{self.field_name} = StringRef(reinterpret_cast(value.data()), value.size()); break; }}"""