esphome / firmware

Holds firmware configuration files for projects that the ESPHome team provides.
https://esphome.io/projects
Apache License 2.0
128 stars 93 forks source link

on device wake word only works for first command - s3box3 wake word config #219

Open BigBobbas opened 3 days ago

BigBobbas commented 3 days ago

https://github.com/esphome/firmware/blob/main/wake-word-voice-assistant/esp32-s3-box-3.yaml micro wakeword does not start again after first command when using 'on device' wakeword.

removing line 223 - fixes the issue - lambda: return id(voice_assistant_phase) != ${voice_assist_timer_finished_phase_id};

DeveshwarH1996 commented 2 days ago

Hi, there is a little more happening for me. I belive the on device wake word recognition triggers something that eventually puts the device in WAITING_FOR_VAD state instead of just starting the audio pipeline. This means I have to use the wake word that is configured with openWakeWord after using the wake word that is used to trigger locally. For example if I use okay nabu on device and hey jarvis on the openWakeWord, for some reason after I say 'okay nabu' it waits for me to say 'hey jarvis' before it starts listening to any commands

HLandstrom commented 2 days ago

I actually never thought of that. I have the same wake word on device and in openWakeWord. It goes back to WAITING_FOR_VAD on the first try as you said but the second try it takes it and accepts voice input.

Here is logs for the first wake word so it goes back to WAITING_FOR VAD: https://pastebin.com/v7a7iCN0 and here is the logs for the second wake word that actually works: https://pastebin.com/iTwPSMtC

connelhooley commented 2 days ago

Hi, I had a similar issue except the device wasn't responding to any of my wake words. I'm an ESP Home newb, just sharing what happened in-case this is useful.

It's been quite unstable but the fact that switching the wake word engine location from and to on-device seemed to do something gives me hope that #220 might fix it.

voice-assistant.yml:

substitutions:
  name: voice-assistant
  friendly_name: Voice Assistant
  micro_wake_word_model: hey_jarvis
packages:
  esphome.voice-assistant: github://esphome/firmware/wake-word-voice-assistant/esp32-s3-box-3.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: some_secret_value

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Logs: device.log