How to debug Wyoming satellite containers? Everything seems to be working seperately but I don't hear anything when I speak my wake word

I’m running the dockerized version of home assistant on a raspberry pi 4b 8gb with containers for Piper, Whisper, Openwakeword, Wyoming-Satellite, Wyoming-external-mic, and wyoming-external-snd

My compose.yaml looks like this:

services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /opt/stacks/hass/hass-config:/config
      - /etc/localtime:/etc/localtime:ro
    devices:
      - /dev/snd
    restart: unless-stopped
    privileged: true
    network_mode: host

  nodered:
    container_name: nodered
    image: nodered/node-red
    ports:
      - 1880:1880
    volumes:
      - /opt/stacks/hass/nodered:/data
    depends_on:
      - homeassistant
      - mosquitto
    environment:
      - TZ=America/New_York
    restart: unless-stopped

  mosquitto:
    image: eclipse-mosquitto
    container_name: mosquitto
    restart: unless-stopped
    ports:
      - 1883:1883
      - 9001:9001
    volumes:
      - "/opt/stacks/hass/mosquitto/config:/mosquitto/config"
      - "/opt/stacks/hass/mosquitto/data:/mosquitto/data"
      - "/opt/stacks/hass/mosquitto/log:/mosquitto/log"
    environment:
      - TZ=America/New_York
    user: "1000:1000"

  hass-configurator:
    image: "causticlab/hass-configurator-docker:latest"
    restart: always
    ports:
      - "3218:3218/tcp"
    volumes:
      - "/opt/stacks/hass/configurator-config:/config"
      - "/opt/stacks/hass/hass-config:/hass-config"

  whisper:
    container_name: whisper
    image: rhasspy/wyoming-whisper
    command: --model tiny-int8 --language en
    volumes:
      - /opt/stacks/hass/whisper:/data
    environment:
      - TZ=America\New_York
    restart: unless-stopped
    ports:
      - 10300:10300

  piper:
    container_name: piper
    image: rhasspy/wyoming-piper
    command: --voice en_US-lessac-medium
    volumes:
      - /opt/stacks/hass/piper:/data
    environment:
      - TZ=America\New_York
    restart: unless-stopped
    ports:
      - 10200:10200

  openwakeword:
    container_name: openwakeword
    image: rhasspy/wyoming-openwakeword
    volumes:
      - /opt/stacks/hass/openwakeword/custom:/custom
      - /opt/stacks/hass/openwakeword/config:/config
      - /opt/stacks/hass/openwakeword/data:/data
    environment:
      TZ: "America/New_York"
    depends_on:
      - homeassistant
    ports:
      - 10400:10400
      - 10400:10400/udp
    command: --preload-model 'hey_jarvis' --custom-model-dir /custom
    restart: unless-stopped

  wyoming-microphone:
    build: url-removed-automod-wouldn't-let-me-post
    ports:
      - "10600:10600"
    devices:
      - /dev/snd:/dev/snd
    volumes:
      - /opt/stacks/hass/wyoming-alsa-config/asound.conf:/etc/asound.conf
    group_add:
      - audio
    command:
      - "--device"
      - "sysdefault"
      - --debug

  wyoming-playback:
    build: url-removed-automod-wouldn't-let-me-post
    ports:
      - "10601:10601"
    devices:
      - /dev/snd:/dev/snd
    volumes:
      - /opt/stacks/hass/wyoming-alsa-config/asound.conf:/etc/asound.conf
    group_add:
      - audio
    command:
      - "--device"
      - "sysdefault"
      - "--debug"

  wyoming-satellite:
    build: url-removed-automod-wouldn't-let-me-post
    ports:
      - "10700:10700"
    command:
      - "--name"
      - "my satellite"
      - "--uri"
      - "tcp://0.0.0.0:10700"
      - "--mic-command"
      - "arecord -r 16000 -c 1 -f S16_LE -t raw"
      - "--snd-command"
      - "aplay -r 22050 -c 1 -f S16_LE -t raw"
      - "--mic-uri"
      - "tcp://192.168.50.3:10600"
      - "--snd-uri"
      - "tcp://192.168.50.3:10601"
      - "--debug"
      - "--wake-uri"
      - "tcp://192.168.50.3:10400"
      - "--wake-word-name"
      - "hey_jarvis"
      - "--awake-wav"
      - "sounds/awake.wav"
      - "--done-wav"
      - "sounds/done.wav"

The assistant I created:

This assistant works fine from the web console. I can use chat, sst works with the little microphone button to the right of the chat box, and tts works as the assistant replies to me.

The issue is with the wyoming satellite. From the playback container I can speaker-test or aplay and I hear it from the USB speakers plugged into the pi. From the mic container, I can arecord output.wav, then playback the output.wav and I heard it.

However with everything running as shown above, if I say my wake word nothing happens.

I know I’m missing a piece of the puzzle I just can’t figure out what – if anyone could help I would be very appreciative.

For any having the same issue:

I was able to “fix” this issue by using GitHub - sker65/wyoming-satellite: Remote voice satellite using Wyoming protocol with the following compose.yaml:

  wyoming-satellite:
    container_name: wyoming-satellite
    image: sker65/wyoming-satellite
    devices:
      - /dev/snd:/dev/snd
    volumes:
      - /opt/stacks/hass/wyoming-alsa-config/asound.conf:/etc/asound.conf
    ports:
      - "10700:10700"
    command:
      - "--name"
      - "test satellite"
      - "--uri"
      - "tcp://0.0.0.0:10700"
      - "--mic-command"
      - "arecord -r 16000 -c 1 -f S16_LE -t raw"
      - "--snd-command"
      - "aplay -r 22050 -c 1 -f S16_LE -t raw"
      - "--debug"
      - "--wake-uri"
      - "tcp://192.168.50.3:10400"
      - "--wake-word-name"
      - "hey_jarvis"

The wyoming-microphone and wyoming-playback containers are no longer required