Local AI Voice Assistant Setup in Home Assistant (Offline Guide)

· by Maya Kapoor · 4 min read

Local AI Voice Assistant Setup in Home Assistant (Offline Guide)

Setting up a local AI voice assistant in Home Assistant means you can talk to your smart home without any of your words ever leaving your house. No cloud, no subscription fee, no “service unavailable” error because your ISP had a bad night. Every recording, every wake word, every command stays on your own network. This guide covers the whole stack, hardware, software, configuration, so you can have a working offline voice pipeline by the end of an afternoon.

Why Go Local Instead of Cloud-Based Voice Assistants

Cloud assistants like Alexa or Google Assistant ship every single thing you say off to a remote server somewhere. A few consequences follow from that:

A local setup does speech-to-text, intent recognition, and text-to-speech right there on your own hardware. Say “turn off the living room lights” and it’s done in under a second, even if your router’s internet light is blinking red.

The Core Components You’ll Need

Home Assistant’s voice pipeline is built from a handful of open-source pieces, most of them running on the Wyoming protocol (a lightweight network protocol built for streaming audio between voice services).

  1. Wake word detection – openWakeWord or Porcupine listen locally for a trigger phrase, something like “Hey Jarvis.”
  2. Speech-to-text (STT) – Whisper (via the faster-whisper add-on) turns spoken audio into text.
  3. Intent recognition – Home Assistant’s built-in conversation engine maps text to actions. Want something more conversational? Hook up a local LLM like Llama 3 through Ollama instead.
  4. Text-to-speech (TTS) – Piper, fast and surprisingly natural-sounding for an offline engine.
  5. Satellite hardware – a mic/speaker device running the Wyoming satellite software. Could be a Raspberry Pi with a ReSpeaker HAT, or the official Home Assistant Voice Preview Edition device if you’d rather not tinker.

Step-by-Step Setup

1. Install the Required Add-ons

On Home Assistant OS or Supervised installs, head to Settings → Add-ons → Add-on Store and grab:

Each one runs as its own local container, exposing a Wyoming-compatible endpoint.

2. Configure the Assist Pipeline

Go to Settings → Voice Assistants → Add Assistant, then set things up like this:

3. Set Up Your Satellite Device

Going the Raspberry Pi route?

If you’ve bought the Home Assistant Voice Preview Edition, skip all of that. It finds your instance on the network automatically.

4. Test and Tune

Say the wake word, then try a command, “set the thermostat to 70 degrees” works well as a test. Head to Settings → Voice Assistants → Debug afterward to check transcription accuracy and response time. A few common fixes:

Adding Smarter Conversations with a Local LLM

Rigid command phrasing gets old fast. Connect Home Assistant to a self-hosted LLM through Ollama, running Llama 3 or Mistral, and you can say something like “it’s a bit stuffy in here.” The assistant figures out you want the fan on, no need to recite an exact command.

Hardware Recommendations

Conclusion

A local AI voice assistant in Home Assistant gets you that Alexa-style convenience minus the part where your words get shipped to a data center. Whisper, Piper, and openWakeWord handle speech right on your own network, and if you want it to understand you a bit better, bolt on a self-hosted LLM. The payoff: quicker responses, actual privacy, and a system that keeps running even when the internet doesn’t. Start simple, get Whisper and Piper working as a basic pipeline, then once that’s solid, branch out into LLM-powered conversations.

#Home Assistant#Voice Assistant#Offline AI#Smart Home Privacy#Self-Hosting