Home Assistant Wake word is here, finally! Few weeks earlier I released an article where you had to press a button, so you can issue a voice commands, today the things are changed, for good, and they are actually much better, because now it is possible to use a Home Assistant wake word to do the same. it’s just like a commercial smart speaker!
Stay with me and you will see how I set my M5 ATOM Echo for voice controlling my Home Assistant using wake words. Everything will be in an organized way, with no confusing words, just clear instructions to set up my own smart speaker and get it working. Of course, you can do one or more for yourself. So, let’s dive in!
Table of Contents
DIY Smart Speaker Requirements
The needed things for voice controlling Home Assistant with a waking word are not much different than before:
- An ESP32 device with built in mic, this could be the tiny titan M5 ATOM Echo or Muse Luxe or something similar.
- The latest Home Assistant is also needed and if you don’t have it yet, don’t worry check my Webinar and see what are the best options for you. The webinar is all free – https://automatelike.pro/webinar
- And The final requirement is the openWakeWord add-on available as one-click install in Home Assistant add-on store.
- This is the new stuff that allows magic to happen. All my respect goes to the Home Assistant guys contributing for this to become reality. Hats off fellas! I really believe this is a big step to brighter Home Assistant and Smart Home future. Now let’s install that openWakeWord add-on. But enough talking, let’s start installing
Here is what I did to install and start the openWakeWord add-on
- I Installed the openWakeWord add-on from the Home Assistant add-on store. This my Home Assistant link can be used as well – https://my.home-assistant.io/redirect/supervisor_addon/?addon=core_openwakeword
- I started the add-on.
- I went to the Settings > Devices & Services menu.
- I searched for Wyoming/openWakeWord discovery and I configured it.
When I have the openWakeWord in place I need to quickly re-configure or to create a new Voice Assistant pipeline. Let me explain.
Adding the Home Assistant Wake Word
At this step you need a Voice Assistant Pipeline that utilize the openWakeWord add-on. This pipeline can use local or Cloud Speech-To-Text & Text-To-Speech processing.
There are two options here:
- If you choose Cloud then everything is easy, you have to pay a monthly subscription fee to Nabu Casa and the Cloud Voice Pipeline will be ready for use to you.
- If you choose Local then please Install and Configure Piper & Whisper add-ons and make a local voice pipeline as described here – https://www.home-assistant.io/voice_control/voice_remote_local_assistant Then come back here and make sure you include the following in the pipeline:
- Go to your Voice Assistant settings.
- Edit the pipeline(s) you wish to use with your ATOM Echo.
- Configure the Wake Word engine and wake word to use.
- Choose openwakeword as Wake Word Engine.
- Pick one of the available wake words.
- After changing wake words, you may need to press the button on the ATOM Echo.
Flashing the ATOM Echo
Time to give some love to our hardware of choice. In my case it is M5 ATOM Echo.
Remember this is simply an ESP32 board with embedded microphone. If you have something similar like the bigger and louder ESP Muse Luxe you can use the next steps the same way.
f you don’t have such devices yet, you can buy them from the affiliate links below. That way, this website will receive a small commission from your purchases with no additional cost for you.
- M5Stack Atom Echo (Amazon Affiliate) – https://amzn.to/3F7C6fO
- Raspiaudio ESPMUSE Proto esp32 (Amazon Affiliate) – https://amzn.to/3RLWfjo
Anyways, here is what I did to install ESPHome on the ATOM Echo. I basically followed this process – https://www.home-assistant.io/voice_control/thirteen-usd-voice-remote/#installing-the-software-onto-the-atom-echo
Remember: Only Chrome and Edge browsers are supported. Otherwise you will not see the Connect button at all on the above page.
Testing the ATOM Echo
Now here comes the fun part, testing the Home Assistant wake word and issuing voice commands that will control Home Assistant and my Smart Home.
– If everything is installed correctly, the ATOM Echo will be flashing blue.
– If I now say the waking word, which in my case is “ok, nabu”.
– The Assist in progress sensor will become on, that means our DIY Smart Speaker is thinking.
– This thinking phase could take some time. It all depends of the machine that runs Home Assistant. in my case this takes up to 45seconds, because I’m running this on a Raspberry Pi 4 8GB.
– So after some time, If everything is fine I should hear a voice response and my voice command gets executed.
Troubleshooting the ATOM Echo
Here are some more tips that you can try if the things are not quite right with your personal voice assistant and with the Home Assistant wake word.
– You can save the audio from Assist pipeline runs by editing your configuration.yaml file and adding the provided YAML code.
# configuration.yaml entry assist_pipeline: debug_recording_dir: /share/assist_pipeline
– Then, you can Use the Samba add-on to access and listen to the saved WAV audio which will be located in /share/assist_pipeline folder on your Home Assistant server.
– If needed you can adjust audio clean-up by editing the ESPHome YAML for the M5 ATOM Echo and changing some settings in the voice_assistant section:
– If the audio is too noisy, increase noise_suppression_level (max of 4).
– If the audio is too quiet, increase either auto_gain (max 31) or volume_multiplier (no max, but watch out for distortion).
At this point your M5 ATOM Echo is all set up for seamless voice controlling Home Assistant using only your voice and a waking word! If you found this guide helpful, but some of the words inside are not so clear, don’t forget to download my Smart Home Glossary from here – https://automatelike.pro/glossary
I’m Kiril, Happy automating and until next time.