mirror of
https://github.com/esphome/esphome.git
synced 2026-08-22 22:26:21 +00:00
[api] Stop advertising external wake words the device cannot load (#17926)
This commit is contained in:
@@ -1329,7 +1329,8 @@ void APIConnection::on_voice_assistant_announce_request(const VoiceAssistantAnno
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool APIConnection::send_voice_assistant_get_configuration_response_(const VoiceAssistantConfigurationRequest &msg) {
|
bool APIConnection::send_voice_assistant_get_configuration_response_(
|
||||||
|
const VoiceAssistantConfigurationRequest & /*msg*/) {
|
||||||
VoiceAssistantConfigurationResponse resp;
|
VoiceAssistantConfigurationResponse resp;
|
||||||
if (!this->check_voice_assistant_api_connection_()) {
|
if (!this->check_voice_assistant_api_connection_()) {
|
||||||
// send_message encodes synchronously, so this stack local outlives the encode
|
// send_message encodes synchronously, so this stack local outlives the encode
|
||||||
@@ -1349,22 +1350,6 @@ bool APIConnection::send_voice_assistant_get_configuration_response_(const Voice
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter external wake words
|
|
||||||
for (auto &wake_word : msg.external_wake_words) {
|
|
||||||
if (wake_word.model_type != "micro") {
|
|
||||||
// microWakeWord only
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
resp.available_wake_words.emplace_back();
|
|
||||||
auto &resp_wake_word = resp.available_wake_words.back();
|
|
||||||
resp_wake_word.id = StringRef(wake_word.id);
|
|
||||||
resp_wake_word.wake_word = StringRef(wake_word.wake_word);
|
|
||||||
for (const auto &lang : wake_word.trained_languages) {
|
|
||||||
resp_wake_word.trained_languages.push_back(lang);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
resp.active_wake_words = &config.active_wake_words;
|
resp.active_wake_words = &config.active_wake_words;
|
||||||
resp.max_active_wake_words = config.max_active_wake_words;
|
resp.max_active_wake_words = config.max_active_wake_words;
|
||||||
return this->send_message(resp);
|
return this->send_message(resp);
|
||||||
|
|||||||
Reference in New Issue
Block a user