1. Einführung
Lerninhalte
- Scriptbasierte Automatisierung planen und schreiben
- Scriptbasierte Automatisierung testen
Voraussetzungen
- Ein Android- oder iOS-Smartphone mit der Google Home App.
- 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 dein Gerät noch nicht eingerichtet ist, kannst du es jetzt bei dir zu Hause einrichten.
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
Zuerst überlegen wir, was unsere scriptbasierte Automatisierung tun soll. Dazu gehören unter anderem:
- Welche Geräte du automatisieren möchtest
- Auslöser (oder Ereignis) soll die Ausführung der scriptbasierten Automatisierung auslösen.
- Welche zusätzlichen Bedingungen beeinflussen, ob die scriptbasierte Automatisierung nach dem Auslösen ausgeführt wird oder nicht.
- Welche Aktionen durchgeführt werden sollen.
Für dieses Codelab planen wir, mit der scriptbasierten Automatisierung zwei Dinge zu tun:
- Sie können die Lampe oder ein anderes Smart-Home-Gerät zu einer bestimmten Zeit einschalten.
- Schalte dein Gerät zu einer bestimmten Zeit aus.
Jetzt wissen wir, wozu unsere scriptbasierte Automatisierung dienen soll. Als Nächstes öffnen wir den Script-Editor und schreiben die scriptbasierte Automatisierung.
4. Scriptbasierte Automatisierung schreiben
Skriptbasierte Automatisierungen werden deklarativ unter Verwendung der YAML-Datenserialisierungssprache geschrieben.
Eine scriptbasierte Automatisierung besteht aus zwei Hauptabschnitten:
- Metadaten: Name der scriptbasierten Automatisierung und eine Beschreibung ihrer Funktion.
- Automatisierungsregeln: Definiert die Initiierungslogik und das Verhalten der Automatisierung.
Metadaten
Aus den Metadaten unserer Automatisierung erfährst du, wie die Automatisierung heißt und wie sie funktioniert. Metadaten werden im Block metadata
angegeben, der so aussieht:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Automatisierungsregeln
Eine Automatisierungsregel ist der Ort, an dem die eigentliche Arbeit stattfindet. 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 der Initiator der Automatisierung. Für die Auswertung nachfolgender Bedingungen muss mindestens ein Auslöser den Wert | 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 einschließen, trennen Sie sie durch die Schlüsselwörter 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 eventuelle 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 der ersten wird die Lampe eingeschaltet und mit der zweiten deaktiviert. - Jede Regel hat eine einzige Aktion.
on: true
bedeutet, dass du das Licht einschalten möchtest. Gleichermaßen bedeuteton: false
, dass das Licht ausschalten wird.- Jede Regel hat einen einzelnen
time.schedule
-Auslöser, der der Automatisierung mitteilt, wann die Automatisierung gestartet werden soll. - Für diese Automatisierung gibt es keine Bedingungen.
5. Vollständige scriptbasierte Automatisierung
Die vollständige scriptbasierte Automatisierung setzt sich aus all diesen Teilen zusammen:
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 (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 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 unterstreichen Sie Bereiche Ihrer scriptbasierten Automatisierung, die Fehler enthalten. Beheben Sie alle auftretenden Fehler und prüfen und beheben Sie so lange, bis keine weiteren Fehler mehr vorliegen. Beispielsweise kann der Gerätename abweichen. 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 des Scripts auf der Position Ein befindet:
6. Automatisierung testen
- Prüfen Sie, ob Ihr Gerät angeschlossen und in der Google Home App sichtbar ist.
- Falls das Gerät derzeit eingeschaltet ist, schalten Sie es aus.
- Klicken Sie in der Google Home-Webversion auf der Seite Automatisierungen auf das Symbol „Ausführen“. neben der Automatisierung.
- Das Gerät sollte jetzt eingeschaltet werden.
Jetzt testen wir die Automatisierung.
- Schalten Sie das Gerät aus.
- Automatisierung bearbeiten und „Gerät an“ ändern Zeit in Zeile 7 bis fünf Minuten in der Zukunft.
- „Gerät ausschalten“ ändern Zeit in Zeile 14 bis zu einer Zeit kurz nach „pünktlich“.
- Klicke auf Validieren. Beheben Sie alle eventuell auftretenden Fehler.
- Klicken Sie auf Speichern.
- Achten Sie darauf, dass der Schalter zum Aktivieren auf An steht.
- Warten Sie, bis die beiden Auslöserzeiten verstrichen sind. Das Gerät sollte sich zu den angegebenen Zeiten ein- und wieder ausschalten.
7. Glückwunsch!
Sie haben eine scriptbasierte Automatisierung erstellt.
In diesem Codelab haben Sie gelernt, wie Sie:
- Automatisierung entwerfen und schreiben
- Automatisierung testen
Nächste Schritte
In diesem Codelab haben wir eine sehr einfache Automatisierung erstellt. Automatisierte Abläufe können viel mehr, als nur das Ein- und Ausschalten eines Ein-/Aus-Schalters zu planen. Du kennst jetzt die Grundlagen zum Erstellen einer Automatisierung und kannst dir die verschiedenen Arten von Auslösern, Bedingungen und Aktionen ansehen, die im Google Home-System verfügbar sind.
Probieren Sie die folgenden Übungen aus:
- Füge der Automatisierung weitere
time.schedule
-Auslöser hinzu. - Du kannst die Automatisierung ändern, um ein anderes Gerät nach demselben Zeitplan ein- und auszuschalten.
- Ä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. Sehen Sie sich die Beispielskripts an, in denen die Klauselcondition
verwendet wird. - Du kannst die Automatisierung so ändern, dass die Geräte nur eingeschaltet werden, wenn jemand zu Hause ist.
Weitere Informationen
Weitere Informationen zu automatisierten Abläufen für Google Home finden Sie in der Referenzdokumentation zu Automatisierungen: