-
Notifications
You must be signed in to change notification settings - Fork 181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebSocket API doesn't catch intents on base, only on satellite #31
Comments
Pushing a new Docker image with a fix for the missing siteId. Added in the sessionId, customData, and wakewordId for good measure. The master/satellite issue needs some more thought. The easy fix is to have the master web server automatically listen for siteIds from all satellites. Is there ever a case where a user would not want to do this? |
I'm not sure about all possible cases (Rhasspy allows a lot ;-)), but the most common case seems to be that the master does intent recognition and the satellites are just audio receivers and players with wake word recognition. So at least for that case, I would expect that listening to the I can't find a case where this behaviour is not wanted. But maybe I'm thinking about this with my MQTT hat on, which I'm much more accustomed to than WebSockets. Maybe @ulno has more experience with this? |
I'll plan to add it in for now. We just need to be extra careful about which messages the master web server responds to. Me forgetting small things tends to lead to some service duplicating a response :/ |
tried a new version today in venv and still had no siteId - i am now using change nodes in Node-Red and remember the siteid myself based on teh websocket I am listening to. |
I got this working this morning for the wake/text/intent websocket messages. The base station will now check the satellite site ids for the respective wake/ASR/NLU system and forward those events to the base websocket clients. This seems to be a problem only with MQTT base/satellite set ups. Using remote HTTP works because the base handles all the requests as if they were its own. |
Should be in the main Docker image now. |
I have this Node-RED flow gettime-flow.json to handle the GetTime intent.
Last time I tried this flow, this was with a basic setup of one Rhasspy machine and this worked: it could recognize the GetTime intent and reply.
Now I'm testing the same flow on a base/satellite MQTT setup:
If I enter the master's WebSocket URL in the websocket in node and I talk to the satellite, the websocket in node doesn't get the recognized intents. Only if I use the satellite's WebSocket URL and talk to the satellite, the recognized intents are coming in.
Of course for this to work I also need the siteID, which is missing (see #30), but this flow doesn't even get the recognized intent.
The text was updated successfully, but these errors were encountered: