Zum Inhalt springen
Alles Automatisch

Erweiterungen

Home Assistant Voice PE einrichten: Sprachsteuerung lokal

Für alle ab
Für Mitglieder freigeschaltet

Früher Zugang für Kanalmitglieder

Das Video läuft schon, nur noch nicht für alle.

Kanalmitglieder sehen es jetzt. Für alle erscheint es am Sonntag, 25. Oktober, um 9 Uhr. Die komplette Anleitung kannst du heute schon lesen, sie steht direkt darunter.

Mitglieder seit 15. Sep.Für alle am So., 25. Okt.
noch 29 Tage

Sprachsteuerung im Smart Home heißt für die meisten: ein Lautsprecher von Amazon oder Google im Wohnzimmer, der alles, was du sagst, in eine fremde Cloud schickt. Home Assistant kann das seit einer Weile selbst, und mit der Voice Preview Edition gibt es passende Hardware dazu. Ich zeige dir, wie du das einrichtest, was die verschiedenen Wege an Geschwindigkeit kosten und wo du an Grenzen stößt.

Was du brauchst

Bevor wir anfangen, kurz die Voraussetzungen. Du brauchst Home Assistant in einer aktuellen Version, und zwar Home Assistant OS oder Supervised, weil Whisper und Piper als Apps laufen. Die Voice PE selbst kostet um die 59 Euro UVP, wobei der Preis je nach Händler etwas schwankt. Amazon ist dabei tatsächlich oft die teuerste Option. Dazu brauchst du ein USB-C-Netzteil mit 5 V und 2 A und ein WLAN-Netz auf 2,4 GHz. Das Gerät kann kein 5 GHz.

Für die vollständig lokale Spracherkennung mit Whisper brauchst du außerdem eine Maschine mit etwas mehr Dampf. Ein Intel N100 ist so ungefähr das Minimum, auf dem das noch flott genug läuft. Auf einem Raspberry Pi 4 dauert ein Befehl rund acht Sekunden, was sich in der Praxis lang anfühlt.

Und noch eine Sache: Die Voice PE ist der bequeme Weg, nicht der einzige. Die Assist-Pipeline funktioniert genauso über die Home Assistant App auf dem Handy oder im Browser. Du brauchst das Gerät also nicht zwingend, um Sprachsteuerung auszuprobieren.

Die Hardware in Kürze

Im Gehäuse steckt ein ESP32-S3 mit 16 MB Flash und 8 MB PSRAM. Dazu kommt ein XMOS XU316 als Audioprozessor, der sich um Echokompensation und Rauschunterdrückung kümmert. Das ist der Grund, warum dich das Gerät auch noch versteht, wenn Musik läuft. Zwei Mikrofone, ein LED-Ring als Rückmeldung, ein Drehrad für die Lautstärke und eine Multifunktionstaste oben drauf.

Das interessanteste Bauteil sitzt an der Seite: ein physischer Mute-Schalter, der den Mikrofonen tatsächlich den Strom abdreht. Kein Software-Schalter, dem du einfach vertrauen musst. Wenn der auf Rot steht, ist das Ding tatsächlich taub, weil die Mikrofone physisch von der Platine getrennt werden.

Dazu noch ein 3,5-mm-Klinkenausgang für einen externen Lautsprecher und ein Grove-Port für Sensoren. Funk läuft über WLAN auf 2,4 GHz und Bluetooth 5.0.

Schritt 1: Gerät anschließen und einrichten

Die Voice PE per USB-C mit Strom versorgen. Beim ersten Start meldet sich das Gerät im Netz, Home Assistant findet es und führt dich durch den Einrichtungsassistenten. Du brauchst dafür nichts zu flashen und nichts zusammenzubauen. Falls das Gerät in Home Assistant nicht auftaucht, hilft die Companion App auf dem Handy: Einstellungen, Geräte und Dienste, und dort sollte die Voice PE dann schon aufgelistet sein.

Im Assistenten hinterlegst du die WLAN-Zugangsdaten. Achte darauf, ein 2,4-GHz-Netz auszuwählen. Danach wird noch eine Autorisierungstaste gedrückt, und das Gerät verbindet sich. ESPHome erkennt es automatisch und richtet die Firmware ein. Mehr Handarbeit ist für den Grundbetrieb nicht nötig.

Danach tauchen in Home Assistant unter Geräte und Dienste die neuen Entitäten auf: ein Media Player, Ereignisse für Button-Presse, der Assist-Satellit und Steueroptionen für den LED-Ring und den Mute-Toggle.

Schritt 2: Die Assist-Pipeline verstehen

Eine Pipeline in Home Assistant besteht aus vier Stufen, und jede kannst du einzeln austauschen.

  1. Aktivierungswort. Das Signalwort, auf das gehört wird. Werkseitig dabei sind Okay Nabu, Hey Jarvis und Hey Mycroft. Es läuft auf dem Gerät selbst, nicht auf dem Server. In der Community heißt es Wake Word, die Oberfläche sagt Aktivierungswort.
  2. Sprache-zu-Text. Aus deiner Stimme wird Text.
  3. Konversationsagent. Der Text wird zu einer Aktion, entweder über die eingebauten Satzvorlagen von Home Assistant oder über ein Sprachmodell.
  4. Text-zu-Sprache. Die Antwort wird vorgelesen.

Die Pipeline legst du unter Einstellungen, Sprachassistenten an. Dort kannst du mehrere Pipelines nebeneinander betreiben und dem Gerät jeweils eine davon zuweisen. Du könntest also einen Assistenten für einfache Schaltbefehle haben und einen anderen für komplexere Anfragen mit einem Sprachmodell dahinter.

Schritt 3: Den passenden Weg für Sprache zu Text wählen

Hier entscheidet sich, wie schnell und wie privat das Ganze wird. Der Einrichtungsassistent stellt genau diese Frage und bietet drei Antworten an.

Home Assistant Cloud ist der bequemste Weg. Spracherkennung und Sprachausgabe laufen über Nabu Casa, dafür ist es schnell und du musst nichts installieren. Kostet das Abo, wobei du dafür auch noch Remote-Zugriff, Cloud-Backup und andere Services bekommst. Wer Home Assistant ernsthaft betreibt, kommt mit dem Abo eigentlich ganz gut weg.

Gezielte lokale Verarbeitung, im Hintergrund Speech-to-Phrase, ist der unterschätzte Mittelweg. Statt beliebige Sätze zu erkennen, trainiert sich dieses Modell auf deine freigegebenen Entitäten, Bereiche und Etagen. Es versteht danach genau die Befehle, die in deinem Haus Sinn ergeben. Für Licht, Rollläden und Szenen reicht das völlig aus, es läuft lokal und ist deutlich genügsamer als Whisper. Gut zwanzig Sprachen werden unterstützt, Deutsch dabei.

Vollständig lokale Verarbeitung, technisch Whisper, versteht freie Sprache statt fester Phrasen und läuft über das Wyoming-Protokoll als eigene App. Dafür will es Rechenleistung. Home Assistant selbst nennt für einen Raspberry Pi 4 rund acht Sekunden pro Befehl, auf einem Intel NUC unter einer Sekunde. Ich würde nicht unter einem Intel N100 anfangen. Beim Modell gilt: tiny ist schnell und ungenau, gerade bei deutschen Gerätenamen. small ist der brauchbare Kompromiss, medium ist genauer und will spürbar mehr RAM und CPU.

Für die Sprachausgabe ist Piper das lokale Gegenstück, mit ordentlichen deutschen Stimmen.

Schritt 4: Whisper und Piper installieren

Meistens brauchst du diesen Schritt nicht. Wählst du im Einrichtungsassistenten eine der beiden lokalen Varianten, installiert Home Assistant Whisper, Piper und Speech-to-Phrase selbst, richtet sie ein und legt die Pipeline gleich mit an. Du siehst das an den Meldungen während der Einrichtung.

Von Hand geht es, wenn du den Assistenten übersprungen hast oder das Modell wechseln willst. Unter Einstellungen, Apps, App-Store findest du beide. Nach Installation und Start meldet sich die Wyoming-Integration von selbst unter Geräte und Dienste, und beide Dienste stehen in der Pipeline zur Auswahl.

In der Whisper-App stellst du Sprache und Modellgröße ein. Fang mit small an und geh nur runter, wenn es zu langsam ist.

yaml
# Beispiel-Konfiguration Whisper-App
language: de
model: small
task: transcribe

Für Piper wählst du eine Stimme aus der Liste. Für Deutsch gibt es mehrere Optionen, kerstin_low ist ein brauchbarer Einstieg. Watchdog und automatische Updates kannst du dabei gleich aktivieren.

Nach dem Start beider Apps gehst du zu Geräte und Dienste, wo das Wyoming-Protokoll bereits als neue Integration aufgetaucht sein sollte. Dort noch auf Hinzufügen klicken, fertig. Jetzt kannst du unter Einstellungen, Sprachassistenten eine neue Pipeline anlegen, Whisper Piper oder wie auch immer du sie nennen möchtest, und dort Sprache-zu-Text auf Whisper und Text-zu-Sprache auf Piper stellen.

Schritt 5: Ein Sprachmodell als Konversationsagent

Die eingebaute Sprachverarbeitung versteht feste Satzmuster. Sie schaltet zuverlässig Licht, scheitert aber an allem, was frei formuliert ist. Fragst du wie warm ist es im Büro, kommt die Antwort, dass kein Bereich mit dem Namen Temperaturen gefunden wurde. Das ist kein Bug, das ist einfach die Grenze des Konversationsagenten.

Wenn du richtig mit deinem Haus reden willst, hängst du als Conversation Agent ein Sprachmodell ein und gibst ihm die Entitäten frei, die es sehen darf.

Zwei Wege dafür gibt es:

  • Über OpenRouter mit Cloud-Modellen, günstig und schnell.
  • Vollständig lokal mit Ollama, wobei du dort mit längeren Antwortzeiten rechnen musst.

Beide Wege sind eigene Themen, die den Rahmen hier sprengen würden. Für einfache Schaltbefehle brauchst du das sowieso nicht.

Was das an Zeit kostet

Hier die ehrliche Zahl, die in vielen Anleitungen fehlt. Bei Messungen mit Ollama auf einem Mac Mini lagen die Antwortzeiten je nach Modell zwischen 9 und 34 Sekunden pro Anfrage. Für eine Unterhaltung ist das zu langsam, für einen Schaltbefehl sowieso.

Cloud-Modelle sind deutlich flotter. Und wenn du ohnehin nur schalten willst, ist die eingebaute Verarbeitung zusammen mit Speech-to-Phrase mit Abstand die schnellste Lösung, weil gar kein Sprachmodell dazwischenhängt.

Die Entscheidung ist also nicht lokal gegen Cloud, sondern: Willst du reden oder willst du schalten. Für Schalten reicht lokal völlig. Fürs Reden brauchst du entweder Geduld oder die Cloud.

Entitäten freigeben und Aliase vergeben

Alles, was der Assistent steuern soll, muss ihm erst bekannt gemacht werden. Unter Einstellungen, Sprachassistenten, verfügbare Entitäten fügst du hinzu, was er sehen darf. Standardmäßig ist nicht alles exponiert, und wenn eine Entität dort nicht auftaucht, wird der Assistent sagen, dass er sie nicht kennt.

Genauso wichtig sind Aliase. Whisper hat bei deutschen Eigennamen manchmal Mühe, vor allem mit dem tiny-Modell. Wenn du einer Entität einen einfacheren Sprachbefehl mitgibst, versteht er dich zuverlässiger. Aliase vergibst du direkt an der Entität, indem du unter verfügbare Entitäten auf die einzelne Entität klickst und dort weitere Namen hinzufügst.

Ein Rolladen, der intern cover.wohnzimmer_links heißt, kann für den Assistenten einfach Wohnzimmer links heißen. Klingt banal, macht aber einen wahnsinnigen Unterschied in der Praxis.

Eigene Sprachbefehle als Automation

Wenn du den eingebauten Konversationsagenten nutzt und trotzdem auf bestimmte Formulierungen reagieren willst, gibt es noch einen weiteren Weg: Automatisierungen mit dem Auslöser Satz.

yaml
1automation:
2  - alias: "Kaffeemaschine per Sprachbefehl"
3    trigger:
4      - platform: conversation
5        command:
6          - "Mach mir Kaffee"
7          - "Starte die Kaffeemaschine"
8    action:
9      - service: switch.turn_on
10        target:
11          entity_id: switch.kaffeevollautomat
12      - service: conversation.set_response
13        data:
14          response: "Der Kaffee läuft."

Du verknüpfst also einfache Kommandos, die dir liegen, mit beliebigen Aktionen. Das funktioniert allerdings nur, wenn du den Satz wirklich exakt so sagst. Weichst du auch nur ein bisschen ab, triggert die Automation nicht. Das ist die Grenze dieser Methode, und gleichzeitig ihr Vorteil: Du weißt genau, was passiert und was nicht.

Tipps und Troubleshooting

Das Aktivierungswort wird nicht erkannt. Der Abstand macht viel aus, und ein Fernseher in derselben Ecke stört mehr als gedacht. Probier ein anderes Aktivierungswort. Hey Jarvis liegt akustisch weiter weg vom Alltagsdeutsch als Okay Nabu.

Gerätenamen werden falsch verstanden. Das ist fast immer das Whisper-Modell. Deutsche Eigennamen sind bei tiny chancenlos. Entweder auf small hochgehen oder den Geräten Aliase geben, die einfacher zu sprechen sind.

Die Antwort kommt, aber nichts passiert. Dann versteht die Spracherkennung dich zwar, der Conversation Agent findet aber die Entität nicht. Prüf unter Einstellungen, Sprachassistenten, welche Entitäten überhaupt freigegeben sind.

Alles ist quälend langsam. Miss zuerst, welche Stufe bremst. Meistens ist es Whisper auf zu schwacher Hardware. Speech-to-Phrase statt Whisper löst das in den meisten Fällen, wenn du ohnehin nur Geräte steuerst.

Der Mute-Schalter. Wenn das Gerät gar nicht reagiert, schau zuerst dort hin, bevor du in den Protokollen suchst. Der Schalter trennt die Mikrofone physisch, davon merkt die Software nichts.

Nutzt du die Voice PE schon, und wenn ja, mit welcher Pipeline? Ich bin gespannt, was für Setups ihr so betreibt.

Diskussion im Forum

Hast du Fragen oder Ideen zu diesem Thema?

Diskutiere im Forum

Video teilen

Community

Unterstütze den Kanal

Hat dir der Beitrag geholfen? Es gibt zwei Wege, etwas zurückzugeben.