1. Einführung
Lerninhalte
- Informationen zum Planen und Schreiben eines Scripts für eine scriptbasierte Automatisierung.
- Scriptbasierte automatisierte Abläufe testen
Voraussetzungen
- Ein Android- oder iOS-Smartphone mit der Google Home App
- Eine intelligente Glühbirne oder ein anderes Gerät, das für „Funktioniert mit Google Home“ zertifiziert ist und ein- und ausgeschaltet werden kann.
2. Gerät einrichten
Wenn Ihr Gerät noch nicht eingerichtet ist, richten Sie es in Ihrem Zuhause ein.
Prüfen Sie, ob das Gerät in der Google Home App angezeigt wird und ob Sie es über die Home App ein- und ausschalten können.
3. Scriptbasierte Automatisierung planen
Überlegen wir uns zuerst, was unsere scriptbasierte Automatisierung tun soll. Dazu gehören Überlegungen wie:
- Welche Geräte Sie automatisieren möchten.
- Welcher Auslöser (oder welches Ereignis) soll die Ausführung der skriptbasierten Automatisierung auslösen?
- Welche zusätzlichen Bedingungen steuern, ob die skriptbasierte Automatisierung nach dem Auslösen ausgeführt wird.
- Welche Aktionen ausgeführt werden sollen.
Für dieses Codelab soll die scriptbasierte Automatisierung zwei Dinge tun:
- Sie können die Lampe (oder ein anderes Smart-Home-Gerät) zu einer bestimmten Zeit einschalten.
- Ihr Gerät zu einer bestimmten Zeit ausschalten
Da wir jetzt genau wissen, was unsere scriptbasierte Automatisierung tun soll, öffnen wir den Script-Editor und erstellen die scriptbasierte Automatisierung.
4. Scriptbasierte Automatisierung schreiben
Scriptbasierte automatisierte Abläufe werden deklarativ mit der YAML-Datenserialisierungssprache geschrieben.
Eine scriptbasierte Automatisierung besteht aus zwei Hauptabschnitten:
- Metadaten: Der Name der scriptbasierten Automatisierung und eine Beschreibung ihrer Funktion.
- Automatisierungsregeln: Hiermit wird die Auslöselogik und das Verhalten der Automatisierung definiert.
Metadaten
Die Metadaten unserer Automatisierung geben dem Nutzer Aufschluss darüber, wie sie heißt und was sie tut. Metadaten werden im metadata
-Block angegeben, der so aussieht:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Automatisierungsregeln
In einer Automatisierungsregel wird die eigentliche Arbeit erledigt. Sie besteht aus drei Teilen: Auslösern, Bedingungen und Aktionen, die nacheinander ausgewertet werden:
1 Auslöser | 2 Bedingungen | 3 Aktionen |
Auslöser initiieren die Automatisierung. Mindestens ein Auslöser muss | Diese sind optional und bestehen aus einer oder mehreren zusätzlichen Einschränkungen, die nach der Aktivierung eines Auslösers ausgewertet werden. Wenn die Bedingungen zu Wenn Sie mehrere Einschränkungen angeben, trennen Sie sie mit den Keywords Eine Bedingung ist nicht dasselbe wie eine Benachrichtigung über eine Statusänderung:
| Aktionen sind Vorgänge, die ausgeführt werden, wenn der Auslöser und alle Einschränkungsbedingungen erfüllt sind. |
Der Block automations
unserer Automatisierung enthält zwei Regeln:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
Wichtige Hinweise:
- Es gibt zwei
automations
-Regeln. Mit dem ersten wird die Lampe eingeschaltet, mit dem zweiten ausgeschaltet. - Jede Regel hat eine einzelne Aktion.
on: true
bedeutet Licht an.on: false
bedeutet Licht aus.- Jede Regel hat einen einzelnen
time.schedule
-Auslöser, der der Automatisierung mitteilt, wann sie gestartet werden soll. - Diese Automatisierung enthält keine Bedingungen.
5. Die vollständige scriptbasierte Automatisierung
Zusammengenommen sieht der vollständige scriptbasierte automatisierte Ablauf so aus:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- Kopieren Sie die Automatisierung (siehe oben).
- Rufen Sie die Google Home-Webversion auf.
- Wählen Sie den Tab „Automatisierungen“ aus, der durch ein Symbol mit drei Sternen gekennzeichnet ist:
- Klicken Sie auf + Neuen Vergleich hinzufügen.
- Löschen Sie die Automatisierungsvorlage im Script-Editor.
- Fügen Sie die Automatisierung ein.
- Ersetzen Sie
Desk light - Office
durch den Namen und den Standort Ihres Geräts. - Klicke auf Validieren. Im Script-Editor werden Abschnitte Ihrer scriptbasierten Automatisierung, die Fehler enthalten, unterstrichen. Beheben Sie alle auftretenden Fehler und validieren und beheben Sie sie so lange, bis keine Fehler mehr auftreten. Der Gerätename kann beispielsweise abweichen. In diesem Fall können Sie mit der Autovervollständigungsfunktion einen gültigen Gerätenamen auswählen.
- Klicken Sie auf Speichern.
- Der Schalter Aktivieren unter dem Text des Scripts muss auf An gestellt sein:
6. Automatisierung testen
- Achten Sie darauf, dass Ihr Gerät angeschlossen und in der Google Home App sichtbar ist.
- Wenn das Gerät eingeschaltet ist, schalten Sie es aus.
- Klicken Sie in der Google Home-Webversion auf der Seite Automatisierungen neben der Automatisierung auf die Schaltfläche „Ausführen“.
- Das Gerät sollte eingeschaltet werden.
Testen wir jetzt die Automatisierung.
- Schalte das Gerät aus.
- Bearbeiten Sie die Automatisierung und ändern Sie die Zeit für „Gerät einschalten“ in Zeile 7 auf eine Zeit, die fünf Minuten in der Zukunft liegt.
- Ändern Sie die Uhrzeit für „device off“ (Gerät aus) in Zeile 14 in eine Uhrzeit kurz nach der „on time“ (Einschaltzeit).
- Klicke auf Validieren. Beheben Sie alle auftretenden Fehler.
- Klicken Sie auf Speichern.
- Der Schalter Aktivieren muss auf An stehen.
- Warten Sie, bis die beiden Startzeiten verstrichen sind. Das Gerät sollte zu den angegebenen Zeiten ein- und ausgeschaltet werden.
7. Glückwunsch!
Sie haben eine scriptbasierte Automatisierung erstellt. Super!
In diesem Codelab haben Sie Folgendes gelernt:
- Automatisierungen entwerfen und schreiben
- Automatisierung testen
Nächste Schritte
In diesem Codelab haben wir eine sehr einfache Automatisierung erstellt. Mit Automatisierungen lässt sich nicht nur das Ein- und Ausschalten eines Schalters planen. Nachdem Sie nun die Grundlagen zum Erstellen einer Automatisierung kennen, können Sie sich mit den verschiedenen Arten von Auslösern, Bedingungen und Aktionen vertraut machen, die im Google Home-System verfügbar sind.
Probieren Sie die folgenden Übungen aus:
- Fügen Sie der Automatisierung weitere
time.schedule
-Auslöser hinzu. - Ändern Sie die Automatisierung so, dass ein anderes Gerät nach demselben Zeitplan ein- und ausgeschaltet wird.
- Ändern Sie die Automatisierung, ohne die
time.schedule
-Auslöser zu entfernen, sodass die Geräte nur eingeschaltet werden, wenn ein anderes Gerät eingeschaltet ist. Weitere Informationen finden Sie in den Beispielscripts, in denen diecondition
-Klausel verwendet wird. - Ändern Sie die Automatisierung so, dass die Geräte nur eingeschaltet werden, wenn jemand zu Hause ist.
Weitere Informationen
Weitere Informationen zu Google Home-Automatisierungen finden Sie in der Referenzdokumentation zu Automatisierungen: