1. Einführung
Lerninhalte
- Skriptbasierte Automatisierungen planen und schreiben
- Skriptbasierte Automatisierung testen
Voraussetzungen
- Ein Android- oder iOS-Smartphone, auf dem die Google Home App installiert ist.
- Eine intelligente Lampe oder ein anderes Gerät, das für „Funktioniert mit Google Home“ zertifiziert ist und ein- oder 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. Skriptbasierte Automatisierung planen
Als Erstes überlegen wir, was unsere skriptbasierte Automatisierung erreichen soll. Dazu gehören unter anderem folgende Punkte:
- Welche Geräte Sie automatisieren möchten.
- Welcher Auslöser (oder welches Ereignis) soll die Ausführung der skriptbasierten Automatisierung auslösen?
- Über welche zusätzlichen Bedingungen wird gegebenenfalls gesteuert, ob die skriptbasierte Automatisierung nach ihrem Auslösen ausgeführt wird?
- Welche Aktionen ausgeführt werden sollen.
Für dieses Codelab planen wir, die skriptbasierte Automatisierung zwei Dinge zu tun:
- Schalten Sie die Lampe oder ein anderes Smart-Home-Gerät zu einer bestimmten Zeit ein.
- Schalten Sie Ihr Gerät zu einer bestimmten Zeit aus.
Da wir nun wissen, was genau unsere skriptbasierte Automatisierung tun soll, öffnen wir den Script-Editor und schreiben die skriptbasierte Automatisierung.
4. Skriptbasierte Automatisierung schreiben
Skriptbasierte Automatisierungen werden deklarativ mit der YAML-Datenserialisierungssprache geschrieben.
Eine skriptbasierte Automatisierung besteht aus zwei Hauptabschnitten:
- Metadaten – Der Name der skriptbasierten Automatisierung und eine Beschreibung der Funktion.
- Automatisierungsregeln: Definiert die Initiierungslogik und das Verhalten der Automatisierung.
Metadaten
Die Metadaten unserer Automatisierung geben Nutzern Aufschluss darüber, wie die Automatisierung heißt und welche Funktion sie hat. 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 ausgeführt. Sie besteht aus drei Teilen, Auslöser, Bedingungen und Aktionen, die der Reihe nach ausgewertet werden:
1 Auslöser | 2 Bedingungen | 3 Aktionen |
Auslöser sind das Auslöser für die Automatisierung. Mindestens ein Auslöser muss | Diese sind optional und bestehen aus einer oder mehreren zusätzlichen Einschränkungen, die ausgewertet werden, nachdem ein Auslöser aktiviert wurde. Wenn die Bedingungen in Wenn du mehrere Einschränkungen einschließt, trenne sie durch die Schlüsselwörter Eine Bedingung ist nicht mit einer Statusänderungsbenachrichtigung identisch:
| Aktionen sind Vorgänge, die ausgeführt werden, wenn der Auslöser und jegliche Einschränkungsbedingungen erfüllt sind. |
Der automations
-Block 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
Hinweis:
- Es gibt zwei
automations
-Regeln. Mit dem ersten Gerät wird das Licht eingeschaltet und mit dem zweiten deaktiviert. - Jede Regel hat eine einzelne Aktion.
on: true
bedeutet, dass das Licht eingeschaltet wird.on: false
bedeutet auch, das Licht auszuschalten.- Jede Regel hat einen einzelnen
time.schedule
-Auslöser, der der Automatisierung mitteilt, zu welcher Zeit die Automatisierung gestartet werden soll. - In dieser Automatisierung sind keine Bedingungen vorhanden.
5. Die vollständige skriptbasierte Automatisierung
Mit all diesen Teilen sieht die vollständige skriptbasierte Automatisierung 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 dargestellt wird:
- Klicken Sie auf + Neuen Vergleich hinzufügen.
- Löschen Sie im Skripteditor die Automatisierungsvorlage.
- Fügen Sie Ihre Automatisierung ein.
- Ersetzen Sie
Desk light - Office
durch den Namen und den Standort Ihres Geräts. - Klicke auf Validieren. Im Script-Editor werden Bereiche Ihrer skriptbasierten Automatisierung unterstrichen, die Fehler enthalten. Beheben Sie alle auftretenden Fehler und führen Sie die Validierung und Behebung fort, bis keine weiteren Fehler mehr vorhanden sind. Beispielsweise kann Ihr Gerätename anders lauten. In diesem Fall können Sie mithilfe der Funktion zur automatischen Vervollständigung einen gültigen Gerätenamen auswählen.
- Klicken Sie auf Speichern.
- Achten Sie darauf, dass sich der Schalter Aktivieren unter dem Text Ihres Skripts auf der Position Ein befindet:
6. Automatisierung testen
- Prüfen Sie, ob Ihr Gerät angeschlossen und in der Google Home App sichtbar ist.
- Wenn das Gerät derzeit eingeschaltet ist, schalten Sie es aus.
- Klicken Sie auf der Seite Automatisierungen in der Google Home-Webversion neben Ihrer Automatisierung auf die Schaltfläche „Ausführen“.
- Das Gerät sollte dann eingeschaltet werden.
Jetzt testen wir die Automatisierung.
- Schalten Sie das Gerät aus.
- Bearbeite die Automatisierung und ändere die Zeit für „Gerät eingeschaltet“ in Zeile 7 auf fünf Minuten in der Zukunft.
- Ändern Sie die Auszeit des Geräts in Zeile 14 auf eine Zeit kurz nach der 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 Auslöserzeiten abgelaufen sind. Das Gerät sollte sich zu den angegebenen Zeiten ein- und ausschalten.
7. Glückwunsch!
Sie haben eine skriptbasierte Automatisierung erfolgreich erstellt.
In diesem Codelab haben Sie Folgendes gelernt:
- So entwerfen und schreiben Sie eine Automatisierung.
- Automatisierung testen
Nächste Schritte
In diesem Codelab haben wir eine sehr einfache Automatisierung erstellt. Automatisierungen können viel mehr, als ein Ein-/Aus-Schalter ein- und ausschalten. Jetzt kennen Sie die Grundlagen zum Erstellen einer Automatisierung. Als Nächstes 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. - Du kannst die Automatisierung ändern, um ein weiteres Gerät nach demselben Zeitplan ein- und auszuschalten.
- Ändere die Automatisierung, ohne die
time.schedule
-Auslöser zu entfernen, damit die Geräte nur dann eingeschaltet werden, wenn ein anderes Gerät eingeschaltet wird. Sehen Sie sich die Beispielskripts an, in denen diecondition
-Klausel verwendet wird. - Stelle die Automatisierung so ein, dass die Geräte nur dann eingeschaltet werden, wenn jemand zu Hause ist.
Weitere Informationen
Weitere Informationen zu Automatisierungen für Google Home finden Sie in der Referenzdokumentation zu Automatisierungen: