Home Assistant

Home Assistant Voice lokal einrichten

Einen Lautsprecher ins Wohnzimmer stellen, der auf Zuruf das Licht schaltet, und dabei niemandem außer dem eigenen Server zuhören lassen. Das geht mit Home Assistant seit einiger Zeit ohne Bastelei, und die nötige Hardware kostet weniger als ein Echo.

Wie die Kette aufgebaut ist

Bis aus einem gesprochenen Satz eine geschaltete Lampe wird, laufen vier Schritte ab. Wer die kennt, findet später auch die Stelle, an der es klemmt.

Das Weckwort erkennt, dass jemand den Assistenten anspricht. Erst danach wird überhaupt aufgezeichnet.

Die Spracherkennung macht aus dem Gesagten einen Text.

Assist sucht in diesem Text nach einem bekannten Befehl und führt ihn aus.

Die Sprachausgabe formuliert die Antwort und spricht sie aus.

Alle vier Schritte laufen auf der eigenen Hardware. Nichts davon verlässt das Haus.

Die Hardware im Raum

Home Assistant Voice Preview Edition. Der offizielle Lautsprecher von Nabu Casa, im Handel für etwa 60 bis 65 Euro. Darin steckt ein ESP32-S3 mit einem eigenen Audio-Chip von XMOS für die Geräuschunterdrückung. ESPHome ist vorinstalliert, die Firmware ist offen.

Ein selbstgebauter Satellit. Mit einem ESP32 samt Mikrofon und kleinem Lautsprecher kommt man auf etwa 13 Dollar Materialkosten. Die Sprachqualität liegt unter der des fertigen Geräts, für einen Nebenraum reicht es.

Das Handy. Die Companion-App kann als Satellit dienen und erkennt das Weckwort direkt auf dem Gerät. Praktisch zum Ausprobieren, bevor Hardware angeschafft wird.

Schritt 1: Die Add-ons installieren

Unter Einstellungen > Add-ons > Add-on-Store werden zwei Bausteine gebraucht. Für die Sprachausgabe Piper, für die Spracherkennung entweder Whisper oder Speech-to-Phrase.

Beide installieren, starten und die Option zum automatischen Start aktivieren.

Die Entscheidung, die den Unterschied macht

Bei der Spracherkennung stehen zwei Wege zur Wahl, und die Wahl entscheidet über die Alltagstauglichkeit.

Speech-to-Phrase kennt nur die Befehle, die Home Assistant ohnehin versteht, und ist genau darauf trainiert. Das macht es extrem schnell. Auf einem Home Assistant Green oder einem Raspberry Pi 4 liegt die Erkennung unter einer Sekunde. Unterstützt werden sechs Sprachen, Deutsch ist dabei.

Die Kehrseite: Freie Formulierungen kann es nicht. Einträge für die Einkaufsliste, Namen für einen Timer oder Durchsagen fallen aus dem Rahmen dessen, was es abdeckt.

Whisper versucht dagegen alles zu transkribieren, was gesagt wird. Das ist flexibler und beherrscht deutlich mehr Sprachen. Dafür braucht es Rechenleistung. Auf einem Raspberry Pi 4 dauert die Erkennung etwa acht Sekunden, auf einem Intel NUC liegt sie unter einer Sekunde.

Die Empfehlung: Wer auf einem Raspberry Pi oder einem Home Assistant Green arbeitet und in erster Linie Geräte steuern will, nimmt Speech-to-Phrase. Wer einen kräftigen Rechner betreibt oder freie Sätze braucht, nimmt Whisper. Beide lassen sich installiert lassen und in verschiedenen Assistenten verwenden.

Schritt 2: Die Dienste anbinden

Nach dem Start melden sich die Add-ons von selbst. Unter Einstellungen > Geräte & Dienste erscheinen sie als gefundene Wyoming-Integrationen und werden mit einem Klick hinzugefügt.

Wyoming ist dabei das Protokoll, über das Home Assistant mit den Sprachdiensten redet. Es erlaubt später auch, einzelne Dienste auf einen anderen Rechner auszulagern, etwa Whisper auf eine Maschine mit Grafikkarte.

Schritt 3: Den Assistenten zusammenstellen

Unter Einstellungen > Sprachassistenten auf Assistent hinzufügen klicken. Einzutragen sind:

  • Ein Name, etwa „Lokal Deutsch“
  • Die Sprache
  • Als Gesprächsagent Home Assistant
  • Als Spracherkennung Whisper oder Speech-to-Phrase samt Sprache
  • Als Sprachausgabe Piper mit einer deutschen Stimme

Für Piper stehen mehrere deutsche Stimmen zur Auswahl. Sie unterscheiden sich hörbar, ein kurzes Durchprobieren lohnt sich. Auf einem Raspberry Pi erzeugt ein Modell mittlerer Qualität etwa 1,6 Sekunden Sprache pro Sekunde Rechenzeit, was für kurze Antworten ausreicht.

Schritt 4: Geräte freigeben

Assist steuert nur, was freigegeben ist. Die Freigabe liegt ebenfalls unter Einstellungen > Sprachassistenten im Reiter für die freigegebenen Entitäten.

Anders als beim Betrieb mit einem Sprachmodell gibt es hier keine enge Obergrenze. Trotzdem lohnt es sich, aufzuräumen. Jede freigegebene Entität braucht einen Namen, den man auch aussprechen mag. „Steckdose Wohnzimmer 2″ wird im Alltag niemand sagen.

Aliasnamen helfen dabei. Eine Lampe kann zusätzlich als „Leselampe“ ansprechbar sein, ohne dass ihr eigentlicher Name geändert wird.

Schritt 5: Das Weckwort

Beim Weckwort gibt es drei Wege, und sie unterscheiden sich darin, wo die Erkennung läuft.

microWakeWord arbeitet direkt auf dem Gerät. Das ist der Weg der Voice Preview Edition und sparsam, weil nichts gestreamt wird, solange niemand spricht. Zur Auswahl stehen „okay nabu“, „hey jarvis“ und „alexa“.

openWakeWord läuft auf dem Server und erlaubt eigene Weckwörter. Es funktioniert allerdings nur mit englischen Begriffen, weil für andere Sprachen die nötigen Trainingsdaten fehlen.

Porcupine in der ersten Version bringt 29 fertige Weckwörter mit, darunter auch deutsche.

Eingestellt wird das Weckwort pro Sprachgerät. Bei der Voice Preview Edition führt der Weg über die Geräteseite in Home Assistant.

Schritt 6: Das Gerät einrichten

Die Voice Preview Edition wird eingesteckt und meldet sich über einen Assistenten in Home Assistant. Abgefragt werden WLAN-Zugangsdaten und der Assistent, der verwendet werden soll.

Danach steht die Kette. Ein „Okay Nabu, schalte das Licht im Wohnzimmer ein“ sollte funktionieren.

Wenn nicht, hilft die Ansicht Einstellungen > Sprachassistenten mit dem Debug-Werkzeug. Dort ist Schritt für Schritt zu sehen, was erkannt wurde, welcher Text daraus entstand und ob Assist einen passenden Befehl gefunden hat. In den meisten Fällen scheitert es am Namen des Geräts, nicht an der Erkennung.

Was realistisch zu erwarten ist

Die Geschwindigkeit hängt fast ausschließlich an der Spracherkennung. Mit Speech-to-Phrase auf schwacher Hardware ist die Antwort in etwa einer Sekunde da. Mit Whisper auf einem Raspberry Pi wartet man deutlich länger, was den Spaß schnell verdirbt.

Die Erkennungsqualität auf Deutsch ist bei Speech-to-Phrase im Rahmen der bekannten Befehle sehr gut, weil das Modell genau darauf zugeschnitten ist. Whisper tut sich mit Deutsch schwerer als mit Englisch, besonders bei Gerätenamen mit Fantasiebezeichnungen.

Die Reichweite des Mikrofons liegt bei der Voice Preview Edition bei einem normalen Wohnzimmer. Bei laufendem Fernseher wird es schwieriger, hier hilft die eingebaute Geräuschunterdrückung nur bis zu einem gewissen Punkt.

Erweiterung mit einem Sprachmodell

Wer über die festen Befehle hinaus will, kann als Gesprächsagent statt Home Assistant ein lokal laufendes Sprachmodell einsetzen, etwa über Ollama. Damit versteht der Assistent auch Sätze, die niemand vorher definiert hat.

Der Preis dafür sind Rechenleistung und längere Antwortzeiten. Für die reine Gerätesteuerung ist die eingebaute Variante schneller und zuverlässiger. Beide Assistenten lassen sich parallel anlegen und je nach Gerät zuweisen.

Fazit

Ein lokaler Sprachassistent kostet rund 60 Euro Hardware und eine halbe Stunde Einrichtung. Die entscheidende Weiche ist die Wahl der Spracherkennung, und für die meisten Aufbauten mit schwacher Hardware ist Speech-to-Phrase die bessere.

Der Rest ist Namenspflege. Wer seinen Geräten aussprechbare Namen und passende Aliasnamen gibt, hat einen Assistenten, der im Alltag zuverlässig funktioniert und nichts nach draußen meldet.


Transparenzhinweis KI

Auf dieser Website werden vereinzelt Texte, Bilder und Grafiken mit Unterstützung künstlicher Intelligenz erstellt oder bearbeitet. Alle Inhalte werden vor der Veröffentlichung sorgfältig geprüft, redaktionell überarbeitet und verantwortet.

Transparenzhinweis: Die Amazon-Links in diesem Artikel sind Partnerlinks. Wenn Sie darüber bestellen, erhalten wir eine kleine Provision. Für Sie ändert sich am Preis nichts.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert