Call on_error if no api client connected that handles voice (#4709)

This commit is contained in:
Jesse Hills 2023-04-20 08:56:37 +12:00 committed by GitHub
parent 3a587ea0d4
commit 4cea74ef3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 4 deletions

View File

@ -428,10 +428,12 @@ void APIServer::on_shutdown() {
} }
#ifdef USE_VOICE_ASSISTANT #ifdef USE_VOICE_ASSISTANT
void APIServer::start_voice_assistant() { bool APIServer::start_voice_assistant() {
bool result = false;
for (auto &c : this->clients_) { for (auto &c : this->clients_) {
c->request_voice_assistant(true); result |= c->request_voice_assistant(true);
} }
return result;
} }
void APIServer::stop_voice_assistant() { void APIServer::stop_voice_assistant() {
for (auto &c : this->clients_) { for (auto &c : this->clients_) {

View File

@ -96,7 +96,7 @@ class APIServer : public Component, public Controller {
#endif #endif
#ifdef USE_VOICE_ASSISTANT #ifdef USE_VOICE_ASSISTANT
void start_voice_assistant(); bool start_voice_assistant();
void stop_voice_assistant(); void stop_voice_assistant();
#endif #endif

View File

@ -63,7 +63,10 @@ void VoiceAssistant::start(struct sockaddr_storage *addr, uint16_t port) {
void VoiceAssistant::request_start() { void VoiceAssistant::request_start() {
ESP_LOGD(TAG, "Requesting start..."); ESP_LOGD(TAG, "Requesting start...");
api::global_api_server->start_voice_assistant(); if (!api::global_api_server->start_voice_assistant()) {
ESP_LOGW(TAG, "Could not request start.");
this->error_trigger_->trigger("not-connected", "Could not request start.");
}
} }
void VoiceAssistant::signal_stop() { void VoiceAssistant::signal_stop() {