Anker PowerConf S500 Voice Assistant on a Raspberry Pi 4 with Home Assistant OS

For many months, I’ve been wanting a decent voice assistant, but I dislike how off-the-shelf options use my user data to influence my spending decisions. As a result, I’ve been on the lookout for a reliable and private alternative. I eventually opted for the Anker PowerConf S500—a professional-grade speakerphone with excellent noise-filtering capabilities. While it’s not a cheap option, but I need a device that works across the room, even with the TV on and the dishwasher running.

I connected the PowerConf S500 to a Raspberry Pi 4 running Home Assistant OS. This setup suits me as it leverages a low-power server I already use. However, the setup was not quite plug-and-play, so I’m sharing how I diagnosed and solved the issues I encountered.


About the Anker PowerConf S500

The Anker PowerConf S500 offers two connection methods:

  • USB-C: Connect directly to a PC or device using the included USB-C cable.
  • Bluetooth: Pair with a device like a PC or phone.

What’s great about the PowerConf S500 is the included Bluetooth dongle, which abstracts away the complexities of Bluetooth by presenting the device as a USB soundcard. This makes it easier to integrate with systems like Home Assistant.


Setting Up in Home Assistant

To use the PowerConf S500 as a speakerphone, you’ll need the following Home Assistant add-ons:

OpenWakeWord

This add-on worked out of the box:

  1. Start the add-on.
  2. Home Assistant will automatically detect the Wyoming Wake Word service and prompt you to install the integration.
  3. Add the integration, and you’re done!

Assist Microphone

This add-on required a bit of configuration:

  1. Specify the input and output devices in the Audio section of the add-on configuration:
  • Input: Anker Soundsync Mono
  • Output: Anker Soundsync Analog Stereo
  1. Start the add-on.
  2. Home Assistant will detect the Wyoming Protocol service and prompt you to install the integration. No additional configuration is needed.

Configuring the Voice Assistant

To enable a wake word:

  1. Go to the Voice Assistant configuration page.
  2. Open the menu (three dots) and enable the wake word feature.
  3. Select a wake word model from the available options (e.g., “Hey Jarvis,” “OK Nabu,” etc.).

After making these changes, it’s a good idea to restart Home Assistant to ensure the configuration is applied.


Troubleshooting

If everything works as expected, great! If not, here are some steps to help diagnose and resolve issues.

Step 1: Check Audio Devices

Run the following command to list audio devices detected by Home Assistant OS:

bash

Copy code

ha audio info

Verify that your PowerConf S500 is listed as both an input (Anker Soundsync Mono) and output (Anker Soundsync Analog Stereo) device. If not configured correctly, set the defaults:

bash

Copy code

ha audio default output --name alsa_output.usb-sky_wing_Anker_Soundsync_202011171638200-01.analog-stereo
ha audio default input --name alsa_input.usb-sky_wing_Anker_Soundsync_202011171638200-01.mono-fallback

Unmute and set the input volume:

bash

Copy code

ha audio volume --index 31 --input --unmute
ha audio volume --index 31 --input --level 1

Replace 31 with the device index from ha audio list.

Step 2: Test Audio Output

Download a test WAV file and play it using aplay:

bash

Copy code

curl -o audio.wav https://file-examples.com/storage/fefaeec240676402c9bdb74/2017/11/file_example_WAV_1MG.wav
aplay audio.wav

You should hear the audio through the PowerConf S500.

Step 3: Test Audio Input

Record a test audio clip using arecord:

bash

Copy code

arecord -D default -f cd -d 5 test.wav
aplay test.wav

Speak during the recording and check that playback works.

Step 4: Check Logs for Assist Microphone

Enable logging in the Assist Microphone add-on to debug issues. Here’s an example of logs during normal operation:

css

Copy code

DEBUG:root:Wake word detected
DEBUG:root:Event(type='transcript', data={'text': "What's the time?"}, payload=None)
INFO:root:Streaming audio
DEBUG:root:Event(type='synthesize', data={'text': '2:49 PM', 'voice': {'language': 'en'}}, payload=None)

Look for messages like “Wake word detected” and “Streaming audio” to ensure proper functionality.


Final Notes

The Anker PowerConf S500 combined with Home Assistant provides a robust and private voice assistant experience. It might require a bit of configuration, but the results are worth it. I hope this guide helps you get your setup working smoothly. Good luck!


DISCLAIMER: I wrote this out by hand and then checked the content with ChatGPT. I’ve kept the recommended edits because this is more concise and very close to the original.