Automatisierungsskript

Die Scriptsprache für automatisierte Abläufe basiert auf YAML und hat ein hierarchisches Schema. Die grundlegende Struktur sieht so aus:

metadata enthält den Namen der Automatisierung und eine Beschreibung
automations definiert die Logik der Automatisierung
starters definiert die Bedingungen, die die Automatisierung auslösen
condition definiert zusätzliche Bedingungen, die für den Start der Automatisierung ausgewertet werden
actions die zu ergreifenden Maßnahmen auflistet

Konventionen

Jedes Feld ist ein Schlüssel/Wert-Paar:

<key>: <value> # <comments>

Wobei:

  • <key> ist ein literales Keyword.

  • <value> kann Folgendes sein:

    • Ein primitiver Typ: bool, number, string, time usw.

    • Ein STRUCT-Typ: eine Sammlung von Feldern.

    • Ein Array des Datentyps. Beispiel: - string ist ein Array von Strings.

    • Ein Verweis auf einen Datenwert, der an anderer Stelle definiert ist. In device: $tv ist tv beispielsweise eine Variable, die sich auf Gerätedaten bezieht.

  • <comments> werden für zusätzliche Informationen für den Autor verwendet. Die Script-Engine ignoriert Kommentare. Sie haben keinen Einfluss auf die Ausführung des Scripts.