

Home Assistant bietet mit seiner Voice Control Integration zahlreiche Möglichkeiten zur Sprachsteuerung deiner Smart Home Geräte. Besonders leistungsstark wird es, wenn du eigene Sätze (Home Assistant Custom Sentences) und Intents definierst, um Sprachbefehle genau an deine Bedürfnisse anzupassen. Dieses Tutorial richtet sich an technisch versierte Anwender und zeigt dir detailliert, wie du in der configuration.yaml eigene Sprachbefehle einrichtest, Antworten individualisierst und Aktionen realisierst.
Inhaltsverzeichnis
1. Grundlagen: Sprachsteuerung in Home Assistant verstehen1.1 Was sind Intents und wie werden sie verwendet?
1.2 Eigene Intents anlegen mit intent_script
2. Custom Sentences im Config Directory anlegen2.1 Aufbau der Custom Sentences DateienErläuterungen:
2.2 Aktion und Antwort für den Intent definierenFunktionsweise:
3. Bestehende Antworten anpassen (Customizing Responses)3.1 Beispiel: Antwort für den Intent HassTurnOnDetails:
4. Praktischer Einsatz: Anwendungsfälle und Erweiterungen4.1 Sprachbefehle mit Parametern
4.2 Integration in Automatisierungen
4.3 KI-gesteuerte Personalisierung
5. Fazit
1. Grundlagen: Sprachsteuerung in Home Assistant verstehen
Die Sprachsteuerung in Home Assistant basiert auf Intents – vordefinierte Aufgaben, die durch bestimmte Sätze ausgelöst werden. Standardmäßig sind Intents mit festen Befehlen verknüpft, etwa HassTurnOn für „Licht einschalten“. Durch Custom Sentences kannst du diese Befehle erweitern oder komplett neue Intents definieren.
1.1 Was sind Intents und wie werden sie verwendet?
Ein Intent ist eine Absichtserklärung, z. B. „Licht anmachen“. Er verbindet einen oder mehrere Satzmuster mit einer Aktion oder Antwort. Intents werden in der conversation-Integration definiert:
conversation:
intents:
HassTurnOn:
- "turn on {name}"
- "activate {name}"
Im Beispiel wird der bereits vorhandene Intend HassTurnOn um den Satz „activate {name}“ ergänzt. So wird der Befehl „activate the kitchen lights“ genauso verstanden wie „turn on the kitchen lights“.
1.2 Eigene Intents anlegen mit intent_script
Neben der Erweiterung vorhandener Intents kannst du komplett neue Intents mit zugehörigen Aktionen und Antworten definieren, indem du die intent_script-Integration nutzt. Das folgende Beispiel zeigt, wie ein neuer Intent definiert wird, der eine Antwort zurückgibt:
conversation:
intents:
YearOfVoice:
- "how is the year of voice going"
intent_script:
YearOfVoice:
speech:
text: "Great! We're at over 40 languages and counting."
Du kannst in intent_script aber auch Home Assistant Services aufrufen oder Events auslösen – so automatisierst du beliebige Vorgänge per Sprachbefehl.
2. Custom Sentences im Config Directory anlegen
Für erweiterte Anpassungen bietet Home Assistant die Möglichkeit, Satzdefinitionen in separaten YAML-Dateien im Verzeichnis config/custom_sentences// abzulegen. Dies schafft Übersichtlichkeit, eine bessere Wartbarkeit und mehr Flexibilität.
2.1 Aufbau der Custom Sentences Dateien
Als Beispiel definieren wir einen neuen Intent SetVolume, der die Lautstärke eines bestimmten Media-Players setzt.
Datei: config/custom_sentences/en/media.yaml
language: "en"
intents:
SetVolume:
data:
- sentences:
- "(set|change) {media_player} volume to {volume} "
- "(set|change) volume for {media_player} to {volume} "
lists:
media_player:
values:
- in: "living room"
out: "media_player.living_room"
- in: "bedroom"
out: "media_player.bedroom"
volume:
range:
from: 0
to: 100
Erläuterungen:
- language: Sprachcode, hier „en“ für Englisch.
- intents: Definiert den Intent SetVolume.
- data.sentences: Enthält mögliche Satzmuster mit Platzhaltern ({media_player}, {volume}).
- lists: Definiert mögliche Werte für die Platzhalter, z. B. welche media_player angesprochen werden können und welcher Bereich für volume gültig ist.
2.2 Aktion und Antwort für den Intent definieren
Um die Verständlichkeit und Automatisierung abzuschließen, definierst du im intent_script den Ablauf, wenn der Intent ausgelöst wird:
intent_script:
SetVolume:
action:
service: "media_player.volume_set"
data:
entity_id: "{{ media_player }}"
volume_level: "{{ volume / 100.0 }}"
speech:
text: "Volume changed to {{ volume }}"
Funktionsweise:
- Die Lautstärke wird im Dienstaufruf (media_player.volume_set) skaliert (0 bis 1).
- Die Antwort spricht die Änderung zurück, z.B. „Volume changed to 25“.
3. Bestehende Antworten anpassen (Customizing Responses)
Home Assistant erlaubt es, auch die Antworten bei bestehenden Intents anzupassen, um eine persönlichere Interaktion zu gestalten.
3.1 Beispiel: Antwort für den Intent HassTurnOn
Datei: config/custom_sentences/en/responses.yaml
language: "en"
responses:
intents:
HassTurnOn:
default: "I have turned on the {{ slots.name }}"
Details:
- Die Standardantwort für den Intent wird überschrieben.
- Template-Variablen aus den Slots können für dynamische Antworten genutzt werden.
4. Praktischer Einsatz: Anwendungsfälle und Erweiterungen
Du kannst Custom Sentences in vielfältiger Weise nutzen:
4.1 Sprachbefehle mit Parametern
Ermögliche es, Geräte nach Raum, Namen oder anderen Attributen zu steuern, wie in „Set volume for bedroom to 50 percent“.
4.2 Integration in Automatisierungen
Nutze Intents als Trigger in Automatisierungen oder kombiniere sie mit komplexen Workflows, um ganz individuelle Steuerungen umzusetzen.
4.3 KI-gesteuerte Personalisierung
Kombiniere Custom Sentences mit AI-Personality Integrationen, um deine Sprachassistenz lebendiger und persönlicher zu machen.
5. Fazit
Mit der intelligenten Nutzung von Custom Sentences und Intents in Home Assistant baust du dir eine maßgeschneiderte, flexible und leistungsstarke Sprachsteuerung. Durch die Trennung von Satzdefinitionen in eigene Dateien und die Verbindung mit intent_script kannst du komplexe Aktionen und Rückmeldungen in natürlicher Sprache einrichten. Dieses Tutorial liefert dir die technische Grundlage, um eigene Sprachbefehle umzusetzen und dein Smart Home damit auf das nächste Level zu heben.
Nutze die Möglichkeiten, eigene Intents einzuführen, existierende zu erweitern und die Antworten zu personalisieren, um die Interaktion mit deinem Home Assistant so intuitiv wie möglich zu gestalten.
Dieses Tutorial basiert auf der folgenden Webseite: https://www.home-assistant.io/integrations/intent_script/ https://smarthome-assistant.info/?p=2395
Kommentare
Kommentar veröffentlichen