diff --git a/esphome/components/api/api_pb2_dump.cpp b/esphome/components/api/api_pb2_dump.cpp index f9f45ad071..c47d95ed5d 100644 --- a/esphome/components/api/api_pb2_dump.cpp +++ b/esphome/components/api/api_pb2_dump.cpp @@ -913,9 +913,9 @@ void ListEntitiesLightResponse::dump_to(std::string &out) const { dump_field(out, "object_id", this->object_id_ref_); dump_field(out, "key", this->key); dump_field(out, "name", this->name_ref_); - out.append(" supported_color_modes: 0x"); - out.append(uint32_to_string(this->supported_color_modes)); - out.append("\n"); + char buffer[32]; + snprintf(buffer, sizeof(buffer), " supported_color_modes: 0x%08" PRIX32 "\n", this->supported_color_modes); + out.append(buffer); dump_field(out, "min_mireds", this->min_mireds); dump_field(out, "max_mireds", this->max_mireds); for (const auto &it : this->effects) { diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index 9e140ca9ce..8a841354a9 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -1564,9 +1564,9 @@ class RepeatedTypeInfo(TypeInfo): if self._use_bitmask: # For bitmask fields, dump the hex value of the bitmask return ( - f'out.append(" {self.field_name}: 0x");\n' - f"out.append(uint32_to_string(this->{self.field_name}));\n" - f'out.append("\\n");' + f"char buffer[32];\n" + f'snprintf(buffer, sizeof(buffer), " {self.field_name}: 0x%08" PRIX32 "\\n", this->{self.field_name});\n' + f"out.append(buffer);" ) if self._use_pointer: # For pointer fields, dereference and use the existing helper