Base station move, doesn't seem to subscribe to satellites

I was working over the weekend to move my rhasspy server instance. But something is off and I just can’t seem to locate it. I even copied the profile from my raspberry pi i had been using and still no go.

So here is what I have.

pi0w running satellite. Here is the config for that one.

and now for the server.

So here is what I am seeing

I have the satellite using the UDP audio to keep the audio local until the wake word is detected.

So when I say the wake word and im monitoring the mqtt broker. I see no audio frames being sent to the broker until the wake word has been detected. Ok, this is as expected. The next step seems to be the problem. I see the audio frames hitting the mqtt broker and I say my request. The frames keep hitting the server, but nothing happens, until it times out, then the audio frames stop and I get the little error sound.

It seems that the server is not picking up the audio frames and processing. When I do a restart on the server, I don’t see it subscribing to any topics that include the site_id = sat1.

The only error I am seeing in the server log is

[ERROR:2022-02-21 15:07:05,413] rhasspyserver_hermes: on_message
Traceback (most recent call last):
  File "/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/", line 1260, in on_message
    for queue in self.message_queues:
RuntimeError: Set changed size during iteration
[DEBUG:2022-02-21 15:07:05,408] rhasspyserver_hermes: Sent 307 char(s) to websocket

But I am unsure if that’s related to the audio frame or not. I am thinking not, because if I switch my speech to text to local, I am getting basically the same result, so I believe the issue to be on the server side in that it doesn’t seem to be subscribing to satellite topics.

Any thoughts or suggestions?


The MQTT host is not the same on the server and the satellite. Maybe they are not connected to the same broker.

There is only 1 mqtt server. one is accessing it by dns from inside the cluster, 1 is from outside the cluster via IP. I can see messages from both base station and sat1 talking to it. I just don’t see in the base station logs it subscribing to the sat1 topics, which i thought was odd.

Yep. The audioFrame topics are not subscribed. I’d put MQTT/Hermes for Audio Input on the base config.

So adding the sat1 id to the satellite siteids: on the speech to text setting doesn’t subscribe to that satellite?

Ok. I was able to get it figured out. The problem was that the model was failing so it was trying to listen to the audio, but audio frames being sent didn’t match up to anything so it just errored out.