I tried to disable the wakeword over MQTT with
hermes/hotword/toggleOff
payload:
{“siteId”: “J4-K4”, “reason”: “xyz”}
and also over http with
J4-K4:12101/api/listen-for-wake
payload:
off
I’m watching the MQTT topics:
if i’m using mqtt method, nothing happens, but the wakeword is still active and works.
after reading the code, i found out, that i have to use
hermes/hotword/toggleOff
payload:
{“siteId”: “J4-K4”, “reason”: “”}
it seems that i can’t use a custom string for a reason.
If using that method, i can disable the wake word detection! =)
if i’m using the http api, i get the
hermes/hotword/toggleOff {“siteId”: “J4-K4”, “reason”: “”}
and immediately an
hermes/hotword/toggleOn {“siteId”: “J4-K4”, “reason”: “”}
Yes, the only supported reasons for hermes/hotword/toggleOn and hermes/hotword/toggleOff are:
UNKNOWN
Overrides all other reasons
DIALOGUE_SESSION
Dialogue session is active
PLAY_AUDIO
Audio is currently playing
TTS_SAY
Text to speech system is currently speaking
Je ne sais pas si il y à un moyen de vérifier si le wake word est On ou Off avec Rhasspy. mais avec le plugin mqtt sous jeedom on peut executer un sénario lorsque les évenements hermes/hotword/toggleOn ou hermes/hotword/toggleOff sont publiés pour le site concerné.
the wake word is really Off I have to reset it to On for it to work again.
I don’t know if there is a way to check if the wake word is On or Off with Rhasspy. but with the mqtt plugin under jeedom we can run a scenario when the hermes / hotword / toggleOn or hermes / hotword / toggleOff events are published for the site concerned.
Hi,
As we can now easily disable/enable wakeword listening with respeaker button or api, is there a way to get the listening state ? Can we know if wakeword is enable or disable ?
Why not allow GET on /api/listen-for-wake ? And get a 0 / 1 response ?
This is possible, but has some complications. The GET could simply return what Rhasspy’s HTTP server believes is the current wakeword state (enabled or disabled). But if the wake word service is restarted, it and the HTTP server could be out of sync.
The “best” solution would be to create a have the HTTP server ask the wake word service about its current state and wait for a response. That would require a new MQTT message or two and some timeout. Plus, it wouldn’t work with satellites that are only connected over HTTP