1. Einführung
Lerninhalte
- Scriptbasierte Automatisierung planen und schreiben
- Scriptbasierte automatisierte Abläufe testen
Voraussetzungen
- Ein Android- oder iOS-Smartphone mit der Google Home App.
- Eine Smart-Home-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, richte es in deinem Zuhause ein.
Prüfe, ob das Gerät in der Google Home App angezeigt wird und ob du es über die Home App ein- und ausschalten kannst.
3. Scriptbasierte Automatisierung planen
Zuerst müssen wir uns überlegen, was unsere scriptbasierte Automatisierung tun soll. Dazu gehören folgende Überlegungen:
- Welche Geräte du automatisieren möchtest.
- Welcher Starter (oder welches Ereignis) soll die Ausführung der skriptbasierten Automatisierung auslösen?
- Welche zusätzlichen Bedingungen, falls vorhanden, steuern, ob die skriptbasierte Automatisierung nach dem Auslösen ausgeführt wird.
- Welche Aktionen ausgeführt werden sollen.
In diesem Codelab soll die scriptbasierte Automatisierung zwei Dinge tun:
- Schalte deine Lampe (oder ein anderes Smart-Home-Gerät) zu einer bestimmten Zeit ein.
- Gerät zu einer bestimmten Zeit ausschalten
Nachdem wir genau wissen, was unser scriptbasierter automatisierter Ablauf tun soll, öffnen wir den Script-Editor und schreiben den scriptbasierten automatisierten Ablauf.
4. Scriptbasierte Automatisierung schreiben
Automatisierte Abläufe mit Scripts werden deklarativ mit der YAML-Datenserialisierungssprache geschrieben.
Eine skriptbasierte Automatisierung besteht aus zwei Hauptabschnitten:
- Metadaten: Der Name der scriptbasierten Automatisierung und eine Beschreibung ihrer Funktion.
- Automatisierungsregeln: Definieren die Initiierungslogik und das Verhalten der Automatisierung.
Metadaten
Die Metadaten unserer Automatisierung informieren den Nutzer darüber, wie die Automatisierung 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
Die eigentliche Arbeit findet in einer Regel für die Automatisierung statt. Sie besteht aus drei Teilen, die in der folgenden Reihenfolge ausgewertet werden: Auslöser, Bedingungen und Aktionen.
1 Auslöser | 2 Bedingungen | 3 Aktionen |
Auslöser sind die Bedingungen, durch die eine Automatisierung ausgelöst wird. Mindestens eine Starter-Bedingung muss | Diese sind optional und bestehen aus einer oder mehreren zusätzlichen Einschränkungen, die nach der Aktivierung eines Starters ausgewertet werden. Wenn die Bedingungen zu Wenn Sie mehrere Einschränkungen einbeziehen, trennen Sie sie mit den Schlüsselwörtern Eine Bedingung ist nicht dasselbe wie eine Benachrichtigung über eine Statusänderung:
| Aktionen sind Vorgänge, die ausgeführt werden, wenn der Starter und alle Einschränkungsbedingungen erfüllt sind. |
Der Block automations unseres automatisierten Ablaufs 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. Der erste schaltet das Licht ein, der zweite schaltet es aus. - Jede Regel hat eine einzelne Aktion.
on: truebedeutet schalte das Licht ein. Entsprechend bedeuteton: falseschalte das Licht aus.- Jede Regel hat einen einzelnen
time.schedule-Auslöser, der der Automatisierung mitteilt, zu welcher Uhrzeit sie gestartet werden soll. - Diese Automatisierung hat keine Bedingungen.
5. Die vollständige scriptbasierte Automatisierung
So sieht die vollständige skriptbasierte Automatisierung 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 den automatisierten Ablauf (siehe oben).
- Rufen Sie Google Home für das Web auf.
- Wählen Sie den Tab „Automatisierungen“ aus. Er wird durch ein Symbol mit drei Sternen dargestellt:

- 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 - Officedurch den Namen und den Standort Ihres Geräts. - Klicken Sie auf Validieren. Im Skriptbearbeiter werden Abschnitte Ihrer scriptbasierten Automatisierung, die Fehler enthalten, unterstrichen. Beheben Sie alle Fehler, die auftreten, und validieren und korrigieren Sie die Datei so lange, bis keine Fehler mehr vorhanden sind. Der Name Ihres Geräts kann beispielsweise abweichen. In diesem Fall können Sie die automatische Vervollständigung verwenden, um einen gültigen Gerätenamen auszuwählen.
- Klicken Sie auf Speichern.
- Der Schalter Aktivieren unter dem Text des Skripts muss sich in der Position Ein befinden:

6. Automatisierung testen
- Prüfe, ob dein Gerät eingesteckt und in der Google Home App sichtbar ist.
- Wenn das Gerät eingeschaltet ist, schalten Sie es aus.
- Klicken Sie auf der Seite Automatisierungen in der Google Home-Webversion neben der gewünschten Automatisierung auf die Schaltfläche „Ausführen“.

- Das Gerät sollte sich einschalten.
Jetzt testen wir die Automatisierung.
- Schalte das Gerät aus.
- Bearbeite die Automatisierung und ändere die Zeit für „Gerät ein“ in Zeile 7 in eine Zeit, die fünf Minuten in der Zukunft liegt.
- Ändern Sie die Zeit für „Gerät aus“ in Zeile 14 in eine Zeit kurz nach der Zeit für „Ein“.
- Klicken Sie auf Validieren. Beheben Sie alle Fehler, die möglicherweise auftreten.
- Klicken Sie auf Speichern.
- Der Schalter Aktivieren muss sich in der Position Ein befinden.
- Warten Sie, bis die beiden Startzeiten verstrichen sind. Das Gerät sollte zu den von Ihnen angegebenen Zeiten ein- und ausgeschaltet werden.
7. Glückwunsch!
Sie haben erfolgreich eine scriptbasierte Automatisierung erstellt.
In diesem Codelab haben Sie Folgendes gelernt:
- Automatisierung entwerfen und schreiben
- So testen Sie eine Automatisierung.
Nächste Schritte
In diesem Codelab haben wir eine sehr einfache Automatisierung erstellt. Automatisierungen können viel mehr als nur das Ein- und Ausschalten eines Schalters planen. Nachdem du nun die Grundlagen zum Erstellen eines automatisierten Ablaufs kennst, kannst du dir die verschiedenen Arten von Auslösern, Bedingungen und Aktionen ansehen, die im Google Home-Ökosystem verfügbar sind.
Probieren Sie die folgenden Übungen aus:
- Fügen Sie der Automatisierung weitere
time.schedule-Auslöser hinzu. - Du kannst die Automatisierung so ändern, dass ein anderes Gerät nach demselben Zeitplan ein- und ausgeschaltet wird.
- Ändere die Automatisierung, sodass die Geräte nur eingeschaltet werden, wenn ein anderes Gerät eingeschaltet wird, ohne die
time.schedule-Auslöser zu entfernen. Beispielskripts, in denen diecondition-Klausel verwendet wird - Ändere den automatisierten Ablauf so, dass die Geräte nur eingeschaltet werden, wenn jemand zu Hause ist.
Weitere Informationen
Weitere Informationen zu automatisierten Abläufen in Google Home findest du in der Referenzdokumentation zu automatisierten Abläufen: