← Back to blog

By the Outspoken Team · February 20, 2026

Wake Word Detection with Home Assistant

Home Assistant supports custom wake words through the openWakeWord integration. This guide walks you through setting up your trained ONNX model as a custom wake word in Home Assistant.

Prerequisites

Don't have a model yet?

You can train a custom wake word model in minutes using Outspoken. Sign up, enter your desired wake word, and download the ONNX model when training is complete.

Step 1: Install the openWakeWord add-on

In Home Assistant, navigate to Settings > Add-ons > Add-on Store and install openWakeWord.

Alternatively, if you're running Home Assistant in Docker, you can use the standalone Wyoming-openWakeWord container:

docker run -d \
  --name wyoming-openwakeword \
  -p 10400:10400 \
  -v /path/to/custom-models:/custom \
  rhasspy/wyoming-openwakeword \
  --custom-model-dir /custom

Step 2: Add your custom model

Copy your .onnx model file into the openWakeWord custom models directory.

For the Home Assistant add-on, place the file in:

/share/openwakeword/

For Docker, place it in the volume you mounted as /custom.

File naming

The model file name becomes the wake word identifier. Use a descriptive name like hey_jarvis.onnx rather than generic names.

Step 3: Configure the add-on

Restart the openWakeWord add-on to pick up the new model. Then go to Settings > Devices & Services > Wyoming and ensure the openWakeWord service is detected.

Your custom wake word should appear in the list of available wake words when configuring a voice assistant pipeline.

Step 4: Set up a voice assistant pipeline

Navigate to Settings > Voice assistants and create or edit a pipeline:

  1. Set the Wake word engine to openWakeWord
  2. Select your custom model from the dropdown
  3. Configure the rest of the pipeline (STT, conversation, TTS) as needed
# Example Assist pipeline configuration (for reference)
assist_pipeline:
  - name: "Custom Wake Word Assistant"
    wake_word:
      engine: openwakeword
      model: hey_jarvis
    stt:
      engine: whisper
    conversation:
      engine: homeassistant
    tts:
      engine: piper

Step 5: Test the wake word

Use the Assist panel in Home Assistant or a connected satellite device (like an ESP32 with ESPHome) to test your wake word. Say your wake phrase and verify it triggers the assistant.

Tuning sensitivity

If you're getting false activations or missed detections, adjust the detection threshold in the openWakeWord add-on settings. Lower values are more sensitive, higher values reduce false positives.

Troubleshooting


Want to run this on a standalone device? The Raspberry Pi guide walks through setting up an always-on voice trigger with a Pi and USB microphone.


Have questions? Join our Discord community for help with your integration.