How do I run the docker command to open a UDP port?

In the following thread, the instructions say to run this docker command. I have never done anything with docker and don’t even know where to begin. Can someone pointe on the right direction? I’m trying to set up wake word using UDP for my satellites to access.

First, we open a UDP port to the container. Add in the docker run command “-p 20000:20000/udp” (in my example I will use the port number 20000) you must open a UDP no TCP port.

https://community.rhasspy.org/t/udp-wakeword-detection-with-rhasspy-mobile-app/1795/2

When you run rhasspy in docker like explained in
https://rhasspy.readthedocs.io/en/latest/installation/#docker

you use the command (or it maybe looks a little bit different for you) :

$ docker run -d -p 12101:12101 \
      --name rhasspy \
      --restart unless-stopped \
      -v "$HOME/.config/rhasspy/profiles:/profiles" \
      -v "/etc/localtime:/etc/localtime:ro" \
      --device /dev/snd:/dev/snd \
      rhasspy/rhasspy \
      --user-profiles /profiles \
      --profile en

and there you already see that rhasspy opens the port 12101 for the web ui, you simply need to add your second port like so:

$ docker run -d -p 12101:12101 -p 20000:20000/udp \
      --name rhasspy \
      --restart unless-stopped \
      -v "$HOME/.config/rhasspy/profiles:/profiles" \
      -v "/etc/localtime:/etc/localtime:ro" \
      --device /dev/snd:/dev/snd \
      rhasspy/rhasspy \
      --user-profiles /profiles \
      --profile en

Thanks but the part I’m finding confusing is that looks like what one would type to setup the docker container in the first place. The Rhasspy add-on is already installed and working well – other than UDP wake word detection and remote dialog management.

I have the Terminal add-on installed and assume I’d use that to type in the appropriate docker lines.

This sounds like you use the homeassistant rhasspy addon.
There is a special field “Port for HTTP POST audio stream input” in the configuration where you can set the udp port.

This setting?

Yes exactly this one and then you need to set up this port inside the rhasspy base website

I did what I THOUGHT the instructions say to do and it’s not working – Rhasspy has no reaction at neither the satellite NOR the server – when I try to use the wake word.

Edit: yes the first screenshot was taken at my laptop and the others were on my phone. It was easier to get the screenshots that way.

This is the wake word settings area at the Rhasspy server WebUI.

This is the network settings section of the Rhasspy configuration page in the Home Assistant Rhasspy add-on.

And this is the wake word configuration in the Rhasspy Mobile app.

Try using 0.0.0.0:12333:base inside the rhasspy website (also works without :base ).
I also added more information on my wiki page Wake Word · Nailik/rhasspy_mobile Wiki · GitHub

Still no joy. :roll_eyes:

https://youtu.be/m869gbw8mYo

Could you setup a node in node-red to read udp input (on an open port maybe try 12334) and also change the port in the app to 12334. Then add a debug node to the udp input node.

This way we could debug if the audio is coming into the machine or not.

:face_exhaling:
https://youtu.be/m869gbw8mYo

Any other suggestions? I keep seeing port 20000 referenced in the docs and in the forums. But I don’t see anywhere to actually set it.

Could that be related?

You could try the addon Portainer Home Assistant Community Add-on: Portainer - Home Assistant OS - Home Assistant Community there you will see all docker containers and can check if the rhasspy addon really has the correct udp port opened

It appears the add-on is no longer available.

Then you should use the command line as described here

echo ] | (sudo docker ps --format "{ {{json .ID}} : {{json .Names}} }" | paste -sd',' && cat) | (echo [ && cat)

You should setup UDP Audio (Input) on each of your satellites, not on base. Do not add Satellite ID after port number.

Make sure you included satellite name in Satellite IDs row on base.

Also I would disable Hot Word detection on base

But you still need the server to be configured to receive the communications sent by the satellites.

I don’t remember I was configured something specific on the base container. Just followed tutorial to setup base with satellites. Perfectly worked for me