Mit dem Home Assistant Voice Preview Edition (Voice PE) hat Nabu Casa Ende 2024 die erste eigene Hardware für Sprachsteuerung gelauncht – und seither läuft sie bei mir als assist_satellite.home_assistant_voice_0a204b_assist_satellit im Büro. Die Voice PE ist die direkte Alternative zu Alexa, Google und HomePod: kompakt, etwa CHF 70, und mit dem grossen Unterschied, dass alles lokal verarbeitet werden kann. Kein Wake Word, das Amazon hört. Keine Befehle, die in der Cloud landen. Für HA-Nutzer mit Privacy-Fokus ist sie 2026 das interessanteste Stück Hardware seit dem Skyconnect-Stick.
Was die Voice PE ist (und was nicht)
Die Voice PE ist ein Wyoming-Protokoll-Satellit mit ESP32-S3, eingebautem Lautsprecher und Mikrofon-Array. Sie macht selbst kein Speech-to-Text und kein Text-to-Speech – sie streamt nur Audio zur HA-Instanz, die dann eine sogenannte Voice Pipeline abarbeitet. Diese Pipeline besteht aus vier Stufen: Wake Word → STT (Speech-to-Text) → Intent (Conversation Agent) → TTS.
Out of the box reagiert die Voice PE auf «Okay Nabu», «Hey Jarvis» oder «Hey Mycroft» – das Wake-Word läuft on-device via microWakeWord, einer optimierten Variante von openWakeWord für Mikrocontroller. Der Rest der Pipeline ist konfigurierbar und genau hier wird es interessant.
Lokale Pipeline aufsetzen
Wer keine Cloud will, installiert drei Add-ons: Whisper (STT), Piper (TTS) und openWakeWord (für custom Wake Words). Auf einem Raspberry Pi 5 mit 8 GB läuft das Whisper-Modell tiny-int8 flüssig (~1.5 s Latenz), das base-int8 mit etwas mehr Druck (~3 s). Für deutsche Sprache empfehle ich den base-Tier, weil tiny bei Eigennamen wie Hue-Szenen versagt.
Die Konfiguration der Pipeline läuft komplett über die UI unter «Einstellungen → Sprachassistenten → Assistent hinzufügen». Wer es deklarativ haben will, kann die Wyoming-Endpoints in configuration.yaml deklarieren:
wyoming:
- name: Whisper Local
host: a0d7b954-whisper.local.hass.io
port: 10300
- name: Piper Local
host: a0d7b954-piper.local.hass.io
port: 10200
assist_pipeline:
- name: Local Pipeline
language: de
stt_engine: wyoming.whisper_local
tts_engine: wyoming.piper_local
wake_word_entity: wake_word.openwakeword_okay_nabu
Die Voice PE selber wird der Pipeline über die Geräte-Einstellungen zugewiesen: Gerät auswählen → «Sprachassistent» → die definierte Pipeline setzen.
LLM als Conversation Agent
Spannend wird es, wenn die Intent-Stufe nicht der eingebaute HA-Parser ist, sondern ein LLM. Mit der OpenAI Conversation Integration (oder Anthropic, Ollama, Google) lassen sich offene Befehle wie «Mach es in der Küche etwas gemütlicher» interpretieren, die der klassische Sentence-Parser nie verstehen würde.
In meiner Config läuft der Agent mit einer Prompt-Direktive, die jeden Befehl gegen die exposed Entities matcht. Eine minimale Automation, die den Voice-PE-Button als Trigger nutzt:
automation:
- alias: "Voice PE Button = Szene zyklus"
triggers:
- trigger: state
entity_id: event.home_assistant_voice_0a204b_button_press
actions:
- action: input_select.select_next
target:
entity_id: input_select.buero_szenen_zyklus
- action: scene.turn_on
target:
entity_id: "{{ states('input_select.buero_szenen_zyklus') }}"
Custom Wake Word trainieren
Mit openWakeWord lässt sich ein eigenes Wake Word in rund 20 Minuten trainieren. Die Anleitung von David Scripka (openWakeWord-Projekt) läuft über ein Google Colab Notebook: 100 positive und 100 negative Audio-Samples reichen für eine brauchbare Erkennungsrate. Das fertige Modell (.tflite) kommt in das openWakeWord-Add-on und steht in der Pipeline-Konfiguration sofort zur Verfügung.
Tipp: Wake Words mit drei Silben (z.B. «Hey Coremind») haben eine deutlich tiefere Fehlauslösungsrate als zweisilbige. Wer die Voice PE im Schlafzimmer einsetzt, sollte das berücksichtigen.
Multi-Room-Setup
Mehrere Voice PEs lassen sich pro Raum zuweisen und mit raumspezifischen Pipelines kombinieren. Die LED-Ring-Entität (light.home_assistant_voice_0a204b_led_ring) zeigt den Pipeline-Status farblich an – blaue Animation beim Listening, grüner Puls beim Verstehen, rote Pulse bei Fehler. Wer das mit der Adaptive Lighting Integration kombiniert, kann den LED-Ring abends automatisch dimmen.
Wer den Pipeline-Stack lieber auf einem dedizierten Satelliten testen will, findet im Artikel zu Raspiaudio Muse Luxe als Voice-Satellit eine günstigere ESPHome-Variante – die allerdings beim Mikrofon-Array klar hinter der Voice PE liegt.
Fazit
Die Voice PE ist die erste lokale Sprachsteuerung, die im Alltag tatsächlich funktioniert, ohne dass man im Geräteequivalent eines Stockholmer Datenzentrums landet. Wer schon HA-User ist und einen Pi 5 stehen hat, bekommt für CHF 70 das fehlende Stück Hardware. Drei Stolperfallen: Erstens, Whisper auf einem Pi 3 läuft nicht – mindestens N100/Pi 5. Zweitens, das ESPHome-Update der Voice PE läuft über die OTA-Pipeline von Nabu Casa, hier hilft kein lokales Manifest. Drittens, der LLM-Conversation-Agent verbraucht pro Befehl 200–500 Tokens – wer auf Anthropic oder OpenAI setzt, sollte die Kosten im Auge behalten. Für reine lokale Setups lohnt sich der Schritt zu Ollama mit Llama 3.2 parallel.