Fixing Wyoming Satellite Disconnects From Home Assistant
Hey everyone! I've been wrestling with a frustrating issue involving my Wyoming Satellite setup and its connection to Home Assistant. I'm hoping some of you tech-savvy folks can lend a hand in troubleshooting this. I followed a tutorial to set up my Raspberry Pi 4B as a Wyoming-Satellite and Snapcast-Client, and it was running smoothly for months. But recently, the satellite started disconnecting repeatedly, which is messing with the intent recognition in Home Assistant. Let's dive into the details and see if we can figure this out together!
Understanding the Wyoming Satellite Disconnection Issue
When it comes to troubleshooting Wyoming Satellite disconnections, the core issue is that while the voice pipeline seems to be working fine, the satellite keeps disconnecting. This constant disconnection prevents Home Assistant from properly recognizing intents. You might see error messages like this in your logs:
2025-08-08 20:31:09.676 WARNING (MainThread) [homeassistant.components.wyoming.assist_satellite] Satellite has been disconnected. Reconnecting in 10 second(s)
2025-08-08 20:31:17.685 WARNING (MainThread) [homeassistant.components.wyoming.assist_satellite] Satellite has been disconnected. Reconnecting in 10 second(s)
2025-08-08 20:31:25.693 WARNING (MainThread) [homeassistant.components.wyoming.assist_satellite] Satellite has been disconnected. Reconnecting in 10 second(s)
This means that voice commands, whether processed locally by an Automation or by an LLM, aren't working as expected. For instance, the LLM might say that triggering scripts isn't possible, or Automations might just reply with "Done" without actually doing anything. This disconnection issue clearly impacts the reliability and functionality of the smart home setup, making it crucial to find a solution. It is essential to pinpoint the root cause of these disconnections to restore the system's stability and ensure seamless operation of voice commands and home automation features.
Steps Taken to Fix the Disconnection Problem
So, what have I tried so far to fix the Wyoming Satellite disconnection? I started by digging into the logs of the wyoming-satellite service, and I found these errors:
Aug 07 20:41:05 steini run[1153]: Thu 7 Aug 20:41:05 CEST 2025 [done.sh] ...Playing finish beep
Aug 07 20:41:05 steini run[1157]: open(): No such file or directory
Aug 07 20:41:06 steini run[1153]: Thu 7 Aug 20:41:06 CEST 2025 [done.sh] ...Killing silence pulseaudio client
Aug 07 20:41:06 steini sudo[1167]: root : PWD=/home/pi/wyoming-satellite ; USER=root ; COMMAND=/usr/bin/kill 1147
Aug 07 20:41:06 steini sudo[1167]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Aug 07 20:41:06 steini sudo[1167]: pam_unix(sudo:session): session closed for user root
Aug 07 20:41:05 steini run[1153]: Thu 7 Aug 20:41:05 CEST 2025 [done.sh] ...Starting done.sh script
Aug 07 20:41:05 steini run[1153]: Thu 7 Aug 20:41:05 CEST 2025 [done.sh] ...Playing finish beep
Aug 07 20:41:05 steini run[1157]: open(): No such file or directory
Aug 07 20:41:06 steini run[1153]: Thu 7 Aug 20:41:06 CEST 2025 [done.sh] ...Killing silence pulseaudio client
Aug 07 20:41:06 steini sudo[1167]: root : PWD=/home/pi/wyoming-satellite ; USER=root ; COMMAND=/usr/bin/kill 1147
Aug 07 20:41:06 steini sudo[1167]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Aug 07 20:41:06 steini sudo[1167]: pam_unix(sudo:session): session closed for user root
These logs pointed to an issue within the done.sh
script. Looking deeper into the script, I zeroed in on the command:
paplay --property=media.role=notification /home/pi/custom-sounds/done.wav
Initially, I removed this command, which stopped the disconnections, but then the replies stopped working altogether. Adding the sound file back and reinstating the command brought back the disconnections. I then fully removed the paplay
command, and while it worked somewhat, the satellite started replying again and the disconnects persisted. Even though my Bluetooth setup isn't the most reliable, it had been stable for months, so I'm suspecting a recent update to Wyoming-Satellite or something on the HA-side might be the culprit. I tried reviving the non-enhanced wyoming-sattelite.service
, and while adding just the paplay
command made it work, it didn't output any audio. It's a real head-scratcher, guys! This process has been a mix of trial and error, and while each step provides some insight, the ultimate solution to fix the Wyoming Satellite disconnection remains elusive.
The Systemctl File Configuration
To give you a clearer picture, here's the systemctl
file for the revived wyoming-satellite.service
:
[Unit]
Description=Wyoming Satellite
Wants=network-online.target
After=network-online.target
Requires=wyoming-openwakeword.service
Requires=2mic_leds.service
[Service]
Type=simple
ExecStart=/home/pi/wyoming-satellite/script/run \
--name 'my satellite' \
--v \
--uri 'tcp://0.0.0.0:10700' \
--mic-command 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command 'paplay --property=media.role=announce --rate=44100 --channels=1 --format=s16le --raw --latency-msec 10' \
--snd-command-rate 44100 \
--snd-volume-multiplier 0.1 \
--wake-uri 'tcp://127.0.0.1:10400' \
--wake-word-name 'ok_nabu' \
--event-uri 'tcp://127.0.0.1:10500'
WorkingDirectory=/home/pi/wyoming-satellite
Restart=always
RestartSec=1
[Install]
WantedBy=default.target
My pulseaudio default sink is set to:
bluez_sink.88_C6_26_AA_79_C2.a2dp_sink
This configuration highlights a specific detail: the inclusion of --snd-command-rate 44100
. As noted earlier, adding this parameter seems to trigger the disconnection issue. This could indicate a potential incompatibility or conflict within the audio processing pipeline, especially when interacting with Home Assistant. It's a crucial clue in troubleshooting why the Wyoming Satellite keeps disconnecting, and it suggests that further investigation into audio settings and configurations is necessary.
The Role of --snd-command-rate 44100
It seems like the --snd-command-rate 44100
parameter might be the troublemaker here. When I added this, the satellite started disconnecting from Home Assistant again. This suggests that there might be some kind of issue with the audio sampling rate. Perhaps Home Assistant or another component in the chain isn't playing nicely with this specific rate. The --snd-command-rate
option in the Wyoming Satellite service configuration specifies the audio sampling rate for the sound command. Setting it to 44100 Hz, which is a common rate for audio CDs, might be causing a conflict. This potential conflict with --snd-command-rate 44100
is a critical point in the troubleshooting process. It could be due to hardware limitations, software incompatibilities, or even a misconfiguration in PulseAudio or ALSA settings. Understanding the specific interaction between this parameter and the audio output system is essential for resolving the disconnections.
The Impact of paplay
on the Disconnections
Another piece of the puzzle involves the paplay
command. As mentioned, adding the paplay
command back into the configuration also brought back the disconnection issues. This might be because paplay
is interacting with the audio system in a way that's causing instability, especially when combined with the --snd-command-rate 44100
setting. The paplay
command is used to play audio through PulseAudio, and while it is generally reliable, specific configurations or interactions with other audio parameters can lead to issues. The fact that the disconnections resurface when paplay
is included, particularly alongside --snd-command-rate 44100
, suggests that paplay
is a key factor in the Wyoming Satellite disconnection problem. Further investigation is needed to determine the exact nature of this interaction and how to mitigate it.
Where to Go Next in Troubleshooting
I've already sunk about 3 hours into this, and I'm still scratching my head. So, where should I go from here? What troubleshooting steps should I try next? I'm open to any and all suggestions! Given the information available, there are several avenues to explore when further troubleshooting the Wyoming Satellite disconnections. Here are some potential next steps:
-
Check Audio Configuration:
- Review PulseAudio configuration: Examine the PulseAudio settings on the Raspberry Pi to ensure they are correctly configured and not conflicting with the Wyoming Satellite service. Look for any settings related to sample rates, default devices, or module loading that might be causing issues.
- ALSA settings: Similarly, check the ALSA (Advanced Linux Sound Architecture) settings, as PulseAudio relies on ALSA. Ensure that the correct sound card is selected and that there are no conflicts or misconfigurations.
-
Test Different Sample Rates:
- Experiment with
--snd-command-rate
: Try different sample rates other than 44100 Hz to see if a lower or higher rate resolves the disconnections. Common rates include 16000 Hz, 22050 Hz, and 48000 Hz.
- Experiment with
-
Examine Resource Usage:
- Monitor CPU and memory usage: High CPU or memory usage can cause the system to become unstable, leading to disconnections. Use tools like
top
orhtop
to monitor resource usage while the satellite is running.
- Monitor CPU and memory usage: High CPU or memory usage can cause the system to become unstable, leading to disconnections. Use tools like
-
Review Network Connectivity:
- Check network stability: Although the disconnections seem related to audio, it's worth ensuring that the network connection is stable, especially if the satellite communicates with other services over the network.
-
Investigate Bluetooth Connection:
- Test alternative audio output: Since Bluetooth is being used as the default sink, try using a wired audio output to see if the disconnections persist. This will help determine if the Bluetooth connection is contributing to the issue.
-
Wyoming Satellite and Home Assistant Compatibility:
- Check compatibility: Ensure that the versions of Wyoming Satellite and Home Assistant being used are compatible. Review release notes and community discussions for any known issues or required configurations.
-
Examine Logs in Detail:
- Home Assistant logs: Review the Home Assistant logs more closely for any additional error messages or warnings that might provide clues.
- Wyoming Satellite logs: Similarly, scrutinize the Wyoming Satellite logs for any specific errors or warnings related to audio processing or network communication.
-
Seek Community Assistance:
- Post on forums and communities: Share the troubleshooting steps taken and the results in relevant forums and communities, such as the Home Assistant forums or the Wyoming Satellite GitHub issues. Other users may have encountered similar issues and can offer valuable insights.
By systematically addressing these areas, the underlying cause of the Wyoming Satellite disconnections can hopefully be identified and resolved. Each step involves careful examination and testing to narrow down the possibilities and pinpoint the root of the problem.
Let's work together to crack this nut! Any advice or insights would be greatly appreciated. Thanks in advance for your help, guys!