You will be provided with a reference and some statements. Please determine whether each statement is 'supported', 'unsupported', or 'unknown' with respect to the reference. Please note:
First, assess whether the reference contains any valid content. If the reference contains no valid information, such as a 'page not found' message, then all statements should be considered 'unknown'.
If the reference is valid, for a given statement: if the facts or data it contains can be found entirely or partially within the reference, it is considered 'supported' (data accepts rounding); if all facts and data in the statement cannot be found in the reference, it is considered 'unsupported'.

You should return the result in a JSON list format, where each item in the list contains the statement's index and the judgment result, for example:
[
    {
        "idx": 1,
        "result": "supported"
    },
    {
        "idx": 2,
        "result": "unsupported"
    }
]

Below are the reference and statements:
<reference>
Build a Fully Local Voice Assistant for Home Assistant: 2026 Build Log — Smart Home Field Guide

Step-by-step build log for adding local voice control to Home Assistant using the Voice Preview Edition, Whisper speech-to-text, Piper text-to-speech, and Ollama LLM as the conversation agent. Complete parts list, pipeline wiring, and real-world latency testing.

Smart Home Field Guide
Home
Blog
Arena
Guides
Jun 26, 2026
·
8 min read
Build a Fully Local Voice Assistant for Home Assistant: 2026 Build Log
build-log
home-assistant
voice-assistant
Build a Fully Local Voice Assistant for Home Assistant: 2026 Build Log

TL;DR

Amazon and Google voice assistants send audio to the cloud for processing — your voice commands, room conversations, and device history leave your network.

Home Assistant’s Assist pipeline now supports fully local processing: Whisper for speech-to-text, Piper for text-to-speech, and Ollama running a local LLM as the conversation agent.

The Home Assistant Voice Preview Edition ($59) gives you a purpose-built hardware endpoint with dual microphones, a speaker output, and an ESP32-S3 processor.

Total build cost: ~$59 (Voice PE) + existing Home Assistant server (Raspberry Pi 5 or N100 mini PC recommended for the LLM).

End-to-end latency averages 2–4 seconds — competitive with cloud assistants for basic commands.

Why Build a Local Voice Assistant in 2026?

The big three voice platforms — Alexa, Google Assistant, and Siri — all send your audio to cloud servers for processing. That means every “turn on the kitchen lights” command travels through a data center, gets transcribed, interpreted, and sent back. It works, but it comes with privacy tradeoffs: your voice recordings are stored, analyzed, and sometimes reviewed by humans [1].

Home Assistant’s Assist pipeline changed the equation. Instead of sending audio to the cloud, you run the entire stack on hardware you control. The pipeline has four stages:

Wake word detection
— listens for a trigger phrase like “Hey Assist” or “OK Nabu”

Speech-to-text (STT)
— converts your spoken command into text using Whisper

Conversation agent
— interprets the text using an LLM running locally via Ollama

Text-to-speech (TTS)
— responds using Piper’s neural voice synthesis

Every stage runs on your hardware. No audio ever leaves your network.

In mid-2026, this stack is finally practical. Home Assistant’s 2026.6 release streamlined the Wyoming protocol integrations for STT and TTS, and Ollama support is now built directly into the voice pipeline configuration UI — no YAML editing required [2].

Hardware Requirements

Component

Cost

Notes

Home Assistant Voice Preview Edition

$59

ESP32-S3, dual mics, 3.5mm audio out, USB powered

Home Assistant server

$0–500

Green ($199), Pi 5 8GB ($80), or N100 mini PC ($150–250)

LLM-capable hardware
(optional)

$0–800

For local LLM: Pi 5 8GB runs 3B models; N100 runs 7B models; dedicated GPU for 8B+

The Voice Preview Edition is the easiest way to add a voice endpoint. It’s an ESP32-S3 board in a compact enclosure with dual microphones, a 3.5mm audio jack for external speakers, and USB-C power. It connects to Home Assistant over WiFi and communicates using the Wyoming protocol
[3]
.

For the LLM component, you have options:

No LLM
— Use Home Assistant’s built-in conversation agent (handles basic device control like “turn off the living room lights”)

Local LLM (3B–7B)
— Run Ollama with Qwen2.5 3B or Llama 3.2 3B on the same Raspberry Pi 5 that runs Home Assistant

Local LLM (8B+)
— Requires an N100 mini PC or a machine with a dedicated GPU

Step-by-Step Build

Step 1: Set Up the Voice Preview Edition

Plug the Voice PE into USB power. In Home Assistant, go to
Settings → Devices & Services → Add Integration
and search for “Home Assistant Voice.” The discovery process finds the Voice PE on your network automatically.

The integration walks you through:

Selecting the audio output (built-in speaker or 3.5mm)

Choosing a wake word (“Hey Assist” or “OK Nabu”)

Picking the STT and TTS engines

The whole process takes about 5 minutes. The Voice PE appears as a media player entity and a conversation agent endpoint [4].

Step 2: Install and Configure Whisper for Speech-to-Text

Home Assistant includes a Wyoming protocol integration for Whisper. Go to
Settings → Add-ons
and install the
Whisper
add-on from the official repository.

Configuration options:

Model size
:
tiny
(~1GB RAM, fast),
base
(~1.5GB), or
small
(~3GB, most accurate)

Language
: Set to English (or your language) for better accuracy

Compute provider
: Use CPU on a Pi 5 or N100; GPU acceleration available on x86 with CUDA

On a Raspberry Pi 5 with the
tiny
model, transcription latency averages 300–500ms per spoken command. The
small
model takes 800ms–1.2s but handles accents and background noise better [5].

Step 3: Install Piper for Text-to-Speech

Piper is the official TTS engine for Home Assistant’s local voice pipeline. Install the
Piper
add-on from the same add-on store.

Piper ships with dozens of voice models in multiple languages. For English, the
low
quality voice uses ~200MB of RAM and sounds clear enough for smart home responses. The
medium
voice sounds nearly human but requires ~800MB.

The voice pipeline routes responses through Piper automatically once it’s configured as the TTS provider [6].

Step 4: Set Up Ollama as the Conversation Agent

This is where the stack gets interesting. Instead of Home Assistant’s basic intent parser, you use an LLM that understands natural language and can handle complex requests.

First, install Ollama on your Home Assistant server (or a separate machine):

curl
-fsSL
https://ollama.com/install.sh
|
sh

ollama
pull
qwen2.5:3b

Then in Home Assistant, go to
Settings → Devices & Services → Add Integration
and search for
Ollama
. Enter the server address (localhost:11434 if on the same machine) and select your model.

The integration exposes a conversation agent that Assist uses to interpret commands. The key configuration is the
system prompt
— this tells the LLM what devices it can control and how to behave:

You are a smart home assistant controlling a Home Assistant instance.

Keep responses under 15 words. Only control devices that exist.

If asked about a device you can't find, say "I don't see that device."

Use the available tools to turn lights on/off, set brightness, control locks, and query sensors.

Step 5: Wire the Voice Pipeline

Go to
Settings → Voice Assistants
and create a new assistant. Wire the pipeline:

Wake word
: “Hey Assist”

STT
: Whisper (Wyoming)

Conversation agent
: Ollama (qwen2.5:3b)

TTS
: Piper (Wyoming)

Voice
: Voice Preview Edition

Save and the pipeline is live. Say “Hey Assist, turn on the living room lights” — the Voice PE picks up the wake word, streams audio to Whisper for transcription, passes the text to Ollama, which calls the Home Assistant API to toggle the light, and Piper speaks the confirmation back through the speaker [7].

Real-World Testing

I tested the pipeline on two hardware configurations:

Setup

Hardware

Whisper Model

LLM Model

Avg Latency

Budget

Pi 5 8GB

tiny

None (built-in)

1.2s

Mid-range

Pi 5 8GB

tiny

Qwen2.5 3B

2.8s

Performance

N100 16GB

base

Llama 3.2 3B

3.1s

GPU

RTX 3060 PC

small

Qwen2.5 7B

1.8s

The Pi 5 without an LLM handles basic commands faster than Alexa. Adding a local 3B LLM increases latency to ~3 seconds but enables natural language commands like “dim the kitchen lights to 40% and set the thermostat to 72” in a single sentence (
Home Assistant Assist docs
).

The Voice PE’s dual microphones handle room-level pickup well — I could speak commands from 15 feet away at normal conversation volume. The 3.5mm output driving a small powered speaker provides clear responses [8].

The Verdict

The fully local voice pipeline in Home Assistant is production-ready in 2026. The Voice Preview Edition hardware is well-built, the Wyoming protocol integrations are stable, and Ollama brings genuine LLM-powered conversation without cloud dependency.

Three months of daily use confirms: local voice control is faster than cloud for simple commands, more private by design, and getting better with every Home Assistant release. The main limitation is hardware — running a 7B+ LLM requires a PC with a GPU, and even a 3B model pushes a Raspberry Pi 5 to its limits. But for basic voice control with natural language understanding, the Pi 5 + Voice PE + 3B LLM stack hits the sweet spot of cost, privacy, and capability.

📊 See how it compares → /comparisons/

[1] Amazon Alexa privacy documentation and third-party audits of voice data handling.
[2] Home Assistant release notes 2026.6 — “Pick a card, any card” — streaming Wyoming protocol improvements.
[3] Home Assistant Voice Preview Edition product page — ESP32-S3 specifications and Wyoming protocol support.
[4] Home Assistant documentation — Voice Preview Edition setup guide.
[5] Whisper add-on documentation — model size comparison and Raspberry Pi performance benchmarks.
[6] Piper TTS add-on documentation — voice model options and resource requirements.
[7] Home Assistant Assist pipeline documentation — wiring STT, conversation agent, and TTS in the voice assistant configuration.
[8] Community testing threads on Home Assistant forums — Voice PE microphone sensitivity and real-world latency measurements.

← Back to guides
Share
Copied!
Smart Home Field Guide
Practical reviews, comparisons, and build logs for smart home automation. Zigbee, Z-Wave, Matter, Home Assistant — what works and why.
Navigate
Home
All Posts
Reviews
Comparisons
Tutorials
Protocols
Zigbee
Z-Wave
Matter
Wi-Fi
Thread
Platforms
Home Assistant
Homey
Hubitat
SmartThings
Apple HomeKit
The Network
AIGamingDev
CodeIntel
CyberSec AI
Design Agent
Hermes Tutorials
NiteAgent
NoCode Insider
QuantBrainAI
SmartHome Field Guide
StacksFree
ToolBrain
© 2026 Smart Home Field Guide. All rights reserved.
</reference>

<statements>
1. By running speech-to-text models like Whisper, embedded intent recognizers, and low-latency text-to-speech engines like Piper entirely within local memory boundaries, next-generation voice interfaces execute multi-turn, contextual home automation commands in under 200 milliseconds
</statements>

Begin the assessment now. Output only the JSON list, without any conversational text or explanations.