1. Einführung
Lerninhalte
- Automatisierungsvorlagen entwerfen und schreiben
- Automatisierungsvorlage mit der Google Home Developer Console testen
Voraussetzungen
- Ein Android- oder iOS-Smartphone mit der Google Home App.
- Entweder eine intelligente Lampe, die in deinem Zuhause eingerichtet ist, oder ein simuliertes Gerät im Google Home Playground.
Vorbereitung
Sie sollten wissen, wie man einen automatisierten Google Home-Ablauf erstellt. Wenn Sie noch nie eine Automatisierung geschrieben haben, sollten Sie das Codelab zum Erstellen einer scriptbasierten Automatisierung durcharbeiten, bevor Sie mit diesem fortfahren.
2. Automatisierungsvorlagen und ‑instanzen
Entwickler erstellen Automatisierungsvorlagen mit dem Automatisierungsvorlagen-Editor in der Google Home Developer Console. Automatisierungsvorlagen enthalten die wesentliche Script-Logik und verweisen auf Gerätetypen, aber nicht auf bestimmte Geräte.
Mit dem Automatisierungs-Script-Editor in der Google Home-Webversion können Endnutzer eine Automatisierungsvorlage verwenden und eine personalisierte Instanz erstellen, die auf die spezifischen Geräte in ihrem eigenen Zuhause reagiert. Nach dem Speichern wird die Instanz in der Google Home App (GHA) unter Haushaltsabläufe angezeigt.
3. Automatisierungsvorlage planen
Wenn Sie eine Automatisierung erstellen, sollten Sie zuerst darüber nachdenken, welches Problem Sie lösen möchten und wie die Automatisierung dazu beitragen kann. Dazu gehören unter anderem folgende Aspekte:
- Welche Geräte du automatisieren möchtest.
- Welcher Starter (oder welches Ereignis) soll die Ausführung der Automatisierung auslösen?
- Welche zusätzlichen Bedingungen, falls vorhanden, steuern, ob die Automatisierung nach dem Auslösen ausgeführt wird.
- Welche Aktionen ausgeführt werden sollen.
In diesem Codelab führt die Automatisierung zwei Aktionen aus:
- Eine Lampe zu einer bestimmten Zeit einschalten
- Schalte dieselbe Lampe zu einer bestimmten Zeit aus.
Jetzt können Sie den Vorlagen-Editor öffnen und die Automatisierung schreiben.
4. Automatisierungsvorlage schreiben
Automatisierte Abläufe werden deklarativ mit der YAML-Datenserialisierungssprache geschrieben.
Eine Automatisierungsvorlage hat drei Hauptabschnitte:
- Metadaten: Der Name der Automatisierung, eine Beschreibung der Funktion und optional einige Tags, mit denen die Automatisierung klassifiziert wird. Die Keywords sind:
- BELEUCHTUNG UND STECKDOSEN
- KLIMA- UND ENERGIEGERÄTE
- SICHERHEIT UND UMFELDWAHRNEHMUNG
- UNTERHALTUNG
- HAUSHALTSGERÄTE UND MEHR
- Eingabe: Definiert, welche Art von Gerät(en) durch die Automatisierung gesteuert werden soll. Die Automatisierungs-Engine verwendet diese Informationen, um zu wissen, welche Arten von Aktionen für die vorgesehenen Geräte gültig sind.
- Automatisierungsregeln: Definieren die Initiierungslogik und das Verhalten der Automatisierung.
Das ist die Automatisierungsvorlage, mit der Sie arbeiten werden:
metadata:
name:
en: Scheduled light
description:
en: Turn the light on and off at specific times
tags:
- LIGHTING AND PLUGS
input:
the_light:
metadata:
name:
en: The light
description:
en: The light to be controlled
selector:
type: device
multiSelect: true
supportedTypes:
- LIGHT
time_on:
metadata:
name:
en: Time to turn on the light.
description:
en: The time of day to turn on the selected light.
selector:
type: time
default: sunset+30min
time_off:
metadata:
name:
en: Time to turn off the light.
description:
en: The time of day to turn off the selected light.
selector:
type: time
default: 10:00 pm
automations:
- name: Turn on the light
starters:
- type: time.schedule
at: $time_on
actions:
- type: device.command.OnOff
devices: $the_light
on: true
- name: Turn off the light
starters:
- type: time.schedule
at: $time_off
actions:
- type: device.command.OnOff
devices: $the_light
on: false
Lesen Sie die Vorlage sorgfältig durch und beachten Sie Folgendes:
- Der Abschnitt
metadataenthält den Namen und die Beschreibung dieser Automatisierung. - Im Abschnitt
inputwird eine Variable mit dem Namenthe_lightdefiniert, die ein Gerät vom TypLIGHTangibt. Das bedeutet, dass diese Vorlage nur für Lampen und nicht für andere Gerätetypen verwendet werden darf. Wenn ein Nutzer also beim Einrichten Ihrer Automatisierung in seinem Zuhause aufgefordert wird, ein Gerät für$the_lightauszuwählen, ist seine Auswahl auf Geräte des von Ihnen angegebenen Typs beschränkt. - Im Abschnitt
inputsind auch zwei Variablen mit den Namentime_onundtime_offdefiniert. Damit kann der Nutzer festlegen, wann die Automatisierungen gestartet werden sollen.time_onsteht für die Uhrzeit, zu der das Licht eingeschaltet wird, undtime_offfür die Uhrzeit, zu der das Licht ausgeschaltet wird. Wenn der Nutzer den Wert vontime_onodertime_offnicht festlegt, werden die Standardwerte verwendet. - Der Abschnitt
automationsunserer Automatisierung enthält zwei Automatisierungsregeln. Jede Regel hat einen einzelnentime.schedule-Auslöser, der der Automatisierung mitteilt, wann sie gestartet werden soll.
Der Vorlageneditor
Der Editor für Automatisierungsvorlagen ist das Tool, mit dem Sie Automatisierungsvorlagen schreiben.
- Rufen Sie die Google Home Developer Console auf.
- Melden Sie sich mit dem Konto an, mit dem Ihr Gerät in der Google Home App eingerichtet ist.
- Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt aus.
- Klicken Sie unter Automatisierungen auf Entwickeln.
- Klicken Sie auf Vorlage erstellen.
- Kopieren Sie die Automatisierungsvorlage „Geplante Beleuchtung“.
- Fügen Sie die Automatisierungsvorlage „Geplante Beleuchtung“ in den Vorlageneditor ein.
- Klicken Sie auf Validieren. Beheben Sie alle Fehler, die möglicherweise auftreten, und fahren Sie mit der Validierung und Fehlerbehebung fort, bis keine Fehler mehr gemeldet werden.
- Klicken Sie auf Speichern, um die Vorlage zu speichern.
5. Vorlage testen
Sie können die Vorlage jetzt in der Console testen.
- Prüfe, ob deine Lampe eingesteckt und in der Google Home App sichtbar ist.
- Wenn die Lampe leuchtet, schalten Sie sie aus.
- Rufen Sie die Google Home Developer Console auf.
- Öffnen Sie das Projekt, in dem Sie die Vorlage erstellt haben.
- Wählen Sie Automatisierungen und dann den Tab Testen aus.
- Klicken Sie neben der Automatisierungsvorlage „Geplante Beleuchtung“ auf Öffnen.
- Wählen Sie die Struktur aus, in der Sie die Vorlage testen möchten, und klicken Sie auf Weiter.
- Geben Sie im Editor InputValue den Namen der Lampe an. Wenn deine Lampe beispielsweise „Schreibtischlampe – Büro“ heißt, wählst du
Desk light - Officeaus dem Drop-down-Menü aus, das angezeigt wird, wenn du rechts nebenlightsklickst. Alternativ können Sie den Namen des Geräts eingeben. - Geben Sie auch im InputValue-Editor die
time_on-Zeit auf eine Zeit fest, die beispielsweise fünf Minuten in der Zukunft liegt, und ändern Sie dietime_off-Zeit in eine Zeit kurz nach dertime_on-Zeit. - Wenn Sie fertig sind, sollte der Editor für InputValue in etwa so aussehen:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am - Klicken Sie auf Test aktivieren.
- Warten Sie, bis die beiden Startzeiten verstrichen sind. Die Lampe sollte zu den angegebenen Zeiten an- und ausgehen.
Nachdem Sie Ihre Vorlage erfolgreich getestet haben, wissen Sie, dass Ihre Automatisierung funktionsfähig ist.
6. Glückwunsch!
Sie haben erfolgreich eine Automatisierungsvorlage erstellt. Sehr gut!
In diesem Codelab haben Sie Folgendes gelernt:
- Automatisierungsvorlagen entwerfen und schreiben
- So testen Sie es in der Google Home Developer Console.
Nächste Schritte
In diesem Codelab haben Sie eine sehr einfache Automatisierung erstellt. Automatisierungen können viel mehr als nur das Ein- und Ausschalten von Lichtern planen. Nachdem Sie nun die Grundlagen zum Erstellen und Testen einer Automatisierungsvorlage kennen, können Sie Automatisierungsvorlagen für andere Gerätetypen mit verschiedenen Startern, Bedingungen und Aktionen erstellen.
Weitere Informationen
Weitere Informationen zu automatisierten Abläufen in Google Home findest du in der Referenzdokumentation zu automatisierten Abläufen: