From 00000e0ea813ab1bf3a0ef8eb5f0a2445d7621ad Mon Sep 17 00:00:00 2001 From: Kevin Ahrendt Date: Wed, 12 Mar 2025 19:35:10 -0500 Subject: [PATCH] [api] add voice assistant announce to the api (#8395) --- esphome/components/api/api.proto | 2 ++ esphome/components/api/api_pb2.cpp | 24 ++++++++++++++++++++++++ esphome/components/api/api_pb2.h | 3 +++ 3 files changed, 29 insertions(+) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index 8b7fdf8b11..d59b5e0d3e 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -1567,6 +1567,8 @@ message VoiceAssistantAnnounceRequest { string media_id = 1; string text = 2; + string preannounce_media_id = 3; + bool start_conversation = 4; } message VoiceAssistantAnnounceFinished { diff --git a/esphome/components/api/api_pb2.cpp b/esphome/components/api/api_pb2.cpp index 771f029eae..8001a74b6d 100644 --- a/esphome/components/api/api_pb2.cpp +++ b/esphome/components/api/api_pb2.cpp @@ -7094,6 +7094,16 @@ void VoiceAssistantTimerEventResponse::dump_to(std::string &out) const { out.append("}"); } #endif +bool VoiceAssistantAnnounceRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { + switch (field_id) { + case 4: { + this->start_conversation = value.as_bool(); + return true; + } + default: + return false; + } +} bool VoiceAssistantAnnounceRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 1: { @@ -7104,6 +7114,10 @@ bool VoiceAssistantAnnounceRequest::decode_length(uint32_t field_id, ProtoLength this->text = value.as_string(); return true; } + case 3: { + this->preannounce_media_id = value.as_string(); + return true; + } default: return false; } @@ -7111,6 +7125,8 @@ bool VoiceAssistantAnnounceRequest::decode_length(uint32_t field_id, ProtoLength void VoiceAssistantAnnounceRequest::encode(ProtoWriteBuffer buffer) const { buffer.encode_string(1, this->media_id); buffer.encode_string(2, this->text); + buffer.encode_string(3, this->preannounce_media_id); + buffer.encode_bool(4, this->start_conversation); } #ifdef HAS_PROTO_MESSAGE_DUMP void VoiceAssistantAnnounceRequest::dump_to(std::string &out) const { @@ -7123,6 +7139,14 @@ void VoiceAssistantAnnounceRequest::dump_to(std::string &out) const { out.append(" text: "); out.append("'").append(this->text).append("'"); out.append("\n"); + + out.append(" preannounce_media_id: "); + out.append("'").append(this->preannounce_media_id).append("'"); + out.append("\n"); + + out.append(" start_conversation: "); + out.append(YESNO(this->start_conversation)); + out.append("\n"); out.append("}"); } #endif diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index 1f96e2c151..455e3ff6cf 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -1832,6 +1832,8 @@ class VoiceAssistantAnnounceRequest : public ProtoMessage { public: std::string media_id{}; std::string text{}; + std::string preannounce_media_id{}; + bool start_conversation{false}; void encode(ProtoWriteBuffer buffer) const override; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; @@ -1839,6 +1841,7 @@ class VoiceAssistantAnnounceRequest : public ProtoMessage { protected: bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override; + bool decode_varint(uint32_t field_id, ProtoVarInt value) override; }; class VoiceAssistantAnnounceFinished : public ProtoMessage { public: