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 Ihrem Zuhause eingerichtet ist, oder ein simuliertes Gerät im Google Home Playground.
Vorbereitung
Du solltest mit dem Erstellen einer Heimautomatisierung von Google Home vertraut sein. Wenn Sie noch keine Automatisierung geschrieben haben, sollten Sie das Codelab Skriptbasierte Automatisierung erstellen ausführen, bevor Sie mit diesem fortfahren.
2. Automatisierungsvorlagen und -instanzen
Entwickler können Automatisierungsvorlagen mit dem entsprechenden Editor in der Google Home Developer Console erstellen. Automatisierungsvorlagen enthalten das Wesentliche der Skriptlogik und verweisen auf Gerätetypen, jedoch nicht auf bestimmte Geräte.
Mit dem Script-Editor der Google Home-Webversion können Endnutzer anhand einer Automatisierungsvorlage eine personalisierte Instanz erstellen, die auf den jeweiligen Geräten in ihrem Zuhause ausgeführt wird. 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 sich zuerst Gedanken darüber machen, welches Problem gelöst werden soll und was die Automatisierung tun soll, um es zu lösen. Dazu gehören unter anderem:
- Welche Geräte du automatisieren möchtest
- Welcher Auslöser (oder Ereignis) die Ausführung der Automatisierung auslösen soll
- Welche zusätzlichen Bedingungen beeinflussen, ob die Automatisierung nach dem Auslösen ausgeführt wird oder nicht.
- Welche Aktionen durchgeführt werden sollen.
In diesem Codelab werden mit der Automatisierung zwei Schritte ausgeführt:
- Sie können eine Lampe zu einer bestimmten Zeit einschalten.
- Sie können dieselbe Lampe zu einer bestimmten Zeit ausschalten.
Vor diesem Hintergrund können Sie den Vorlageneditor öffnen und die Automatisierung schreiben.
4. Automatisierungsvorlage schreiben
Automatisierungen werden deklarativ unter Verwendung der YAML-Datenserialisierungssprache geschrieben.
Eine Automatisierungsvorlage besteht aus drei Hauptabschnitten:
- Metadaten: Der Name der Automatisierung, eine Beschreibung ihrer Funktion und optional einige Tags, die zur Klassifizierung der Automatisierung verwendet werden. Die Keywords sind:
- BELEUCHTUNG UND STÖCKER
- KLIMA UND ENERGIE
- SICHERHEIT UND BEKANNTHEIT
- UNTERHALTUNG
- GERÄTE UND MEHR
- Eingabe: Definiert, welche Art von Gerät(en) durch die Automatisierung gesteuert werden soll. Die Automatisierungs-Engine nutzt diese Informationen, um zu ermitteln, welche Arten von Aktionen für die jeweiligen Geräte gültig sind.
- Automatisierungsregeln: Definiert die Initiierungslogik und das Verhalten der Automatisierung.
Dies ist die Automatisierungsvorlage, mit der Sie arbeiten:
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 sich die Vorlage durch und beachten Sie Folgendes:
- Der Abschnitt
metadata
enthält den Namen und die Beschreibung dieser Automatisierung. - Im Abschnitt
input
wird eine Variable mit dem Namenthe_light
definiert, die ein Gerät vom TypLIGHT
angibt. 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 der Automatisierung in seinem Zuhause aufgefordert wird, ein Gerät für$the_light
auszuwählen, ist seine Auswahl auf Geräte des angegebenen Typs beschränkt. - Außerdem werden im Abschnitt
input
zwei Variablen mit den Namentime_on
undtime_off
definiert. Damit kann der Nutzer festlegen, wann die Automatisierungen gestartet werden sollen.time_on
gibt die Zeit an, zu der die Lampe eingeschaltet wird, undtime_off
die Zeit, zu der die Lampe ausgeschaltet ist. Wenn der Nutzer den Wert vontime_on
odertime_off
nicht festlegt, werden die Standardwerte verwendet. - Der Abschnitt „
automations
“ unserer Automatisierung enthält zwei Automatisierungsregeln. Jede Regel hat einen einzelnentime.schedule
-Auslöser, der der Automatisierung sagt, wann diese Automatisierung gestartet werden soll.
Der Vorlageneditor
Mit dem Editor für Automatisierungsvorlagen erstellen Sie Automatisierungsvorlagen.
- Rufen Sie die Google Home Developer Console auf.
- Melden Sie sich mit demselben Konto an, mit dem Ihr Gerät in der Google Home App eingerichtet ist.
- Erstellen Sie ein Projekt oder wählen Sie ein vorhandenes aus.
- Klicken Sie unter Automatisierungen auf Entwickeln.
- Klicken Sie auf Vorlage erstellen.
- „Geplantes Licht“ kopieren Automatisierungsvorlage.
- Fügen Sie das Feld „Geplantes Licht“ ein Automatisierungsvorlage in den Vorlageneditor.
- Klicke auf Validieren. Beheben Sie alle eventuell auftretenden Fehler und prüfen und beheben Sie so lange, bis keine Fehler mehr angezeigt werden.
- Klicken Sie auf Speichern, um die Vorlage zu speichern.
5. Vorlage testen
Jetzt können Sie die Vorlage in der Console testen.
- Die Lampe muss angeschlossen sein und in der Google Home App sichtbar sein.
- Wenn die Lampe an ist, 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 Test aus.
- Klicken Sie neben „Geplante LED“ auf Öffnen. Automatisierungsvorlage.
- Wählen Sie die Struktur aus, in der Sie die Vorlage testen möchten, und klicken Sie dann auf Weiter.
- Geben Sie im InputValue-Editor den Namen der Lampe an. Lautet der Name der Lampe beispielsweise „Tischlampe – Büro“, wählen Sie
Desk light - Office
aus dem Drop-down-Menü aus, das erscheint, wenn Sie rechts nebenlights
klicken. Sie können auch den Namen des Geräts eingeben. - Geben Sie im InputValue-Editor als
time_on
-Zeit beispielsweise fünf Minuten in der Zukunft an und ändern Sie dietime_off
-Zeit in einen Zeitpunkt kurz nachtime_on
. - Wenn Sie fertig sind, sollte der InputValue-Editor 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 Auslöserzeiten verstrichen sind. Die LED sollte zu den angegebenen Zeiten auf- und dann wieder erlöschen.
Nachdem Sie Ihre Vorlage erfolgreich getestet haben, wissen Sie, dass Ihre Automatisierung fehlerfrei funktioniert.
6. Glückwunsch!
Sie haben eine Automatisierungsvorlage erstellt. Super!
In diesem Codelab haben Sie gelernt, wie Sie:
- Automatisierungsvorlagen entwerfen und schreiben
- Test in der Google Home Developer Console
Nächste Schritte
In diesem Codelab haben Sie eine sehr einfache Automatisierung erstellt. Automatisierte Abläufe können viel mehr, als nur das Ein- und Ausschalten einer Lampe zu planen. Nachdem Sie nun mit den Grundlagen zum Erstellen und Testen einer Automatisierungsvorlage vertraut sind, können Sie versuchen, Automatisierungsvorlagen für andere Gerätetypen mit anderen Auslösern, Bedingungen und Aktionen zu erstellen.
Weitere Informationen
Weitere Informationen zu automatisierten Abläufen für Google Home finden Sie in der Referenzdokumentation zu Automatisierungen: