Die automations
-Struktur ist der Kern eines Automatisierungsskripts. Hier wird das Verhalten der Automatisierung festgelegt, einschließlich Auslöser, Bedingungen und Aktionen.
Zusammen werden diese auch als Automatisierungsregel bezeichnet.
Eine automations
-Struktur enthält eine oder mehrere Automatisierungsregeln, wobei jede Regel immer eine Reihe von Auslösern und Aktionen enthält. Eine Regel kann optional Bedingungen enthalten. Das sind zusätzliche Qualifizierer, die vorhanden sein müssen, damit das Skript ausgeführt wird.
Key | Typ | Beschreibung |
---|---|---|
|
Optional Name der Automatisierung. Dieser Name wird Nutzern nicht angezeigt, sondern dient nur als Referenz für Entwickler. |
|
|
[Auslöser] |
Erforderlich Eine Liste mit Auslösern. |
|
Optional Bedingung |
|
|
[Aktion] |
Erforderlich Eine Liste mit Aktionen |
Beispiele
Im Folgenden finden Sie zwei einführende Beispiele für automations
-Strukturen.
Im ersten Beispiel wird die Automatisierung gestartet, wenn ein TV
namens „Mein Fernseher“ aktiviert wird.
Nach dem Auslösen werden folgende Aktionen ausgeführt:
Zwei LIGHT
-Geräte mit den Namen „Light A“ und „Light B“ sind eingeschaltet und auf die Helligkeitsstufe 50 eingestellt.
automations:
- name: Dim the lights
starters:
- type: device.state.OnOff
device: My TV - Living Room
state: on
is: true
actions:
- type: device.command.OnOff
devices:
- Light A - Living Room
- Light B - Living Room
on: true
- type: device.command.BrightnessAbsolute
devices:
- Light A - Living Room
- Light B - Living Room
brightness: 50
Im zweiten Beispiel wird dieselbe Automatisierung jeden Montag und Donnerstag bei Sonnenuntergang gestartet:
automations:
- name: Dim the lights
starters:
- type: time.schedule
at: SUNSET
weekday:
- MONDAY
- THURSDAY
state: on
is: true
actions:
- type: device.command.OnOff
devices:
- Light A - Living Room
- Light B - Living Room
on: true
- type: device.command.BrightnessAbsolute
devices:
- Light A - Living Room
- Light B - Living Room
brightness: 50
Vorspeisen
In der Starter-Struktur geben Sie die Auslöser an, die die Ausführung des Automatisierungsskripts auslösen. Jeder automation
kann einen oder mehrere Auslöser enthalten. Mindestens ein Auslöser muss true
ergeben, damit die nachfolgenden Bedingungen ausgewertet werden.
Beispiel für einen time.schedule
-Auslöser:
type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE
Ein Beispiel für einen Auslöser bei Änderungen des Gerätestatus:
type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10
Beispiel für einen Auslöser auf einem Geräteereignis:
type: device.event.DoorbellPress
device: My doorbell - Frontdoor
Hier ein Beispiel für die Änderung des Auslösers für die Änderung des Anwesenheitsmodus:
type: home.state.HomePresence
state: homePresenceMode
is: HOME
Vollständige Liste der Auslöser
Bedingung
Bedingungen können mit den logischen Operatoren and
, or
und not
kombiniert werden, um eine komplexere Logik auszudrücken.
Das folgende Beispiel enthält eine condition
-Struktur mit einer time
-Bedingung und einer device.state
-Bedingung. Diese Struktur ermöglicht die Ausführung des Skripts, wenn es an einem Montag oder Dienstag zwischen Sonnenuntergang und -aufgang ist oder wenn die TV-Lautstärke zwischen 1 und 10 liegt:
type: or
conditions:
- type: time.between
before: sunrise
after: sunset
weekdays:
- MON
- TUE
- type: device.state
device: My TV - Living Room
trait: Volume
state: currentVolume
greaterThanOrEqualTo: 1
lessThanOrEqualTo: 10
Ein einfaches Beispiel für eine time
-Bedingung, das die Ausführung eines Automatisierungsskripts auf das Wochenende vor 10:00 Uhr morgens begrenzt:
type: time.between
before: 10am
weekdays:
- SAT
- SUN
Die Temperaturbedingung eines Thermostat-Gerätesensors:
type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F
Beispiel für eine home.state.HomePresence
-Bedingung:
type: home.state.HomePresence
state: homePresenceMode
is: AWAY
Vollständige Liste der Bedingungen ansehen
Aktionen
Wie Auslöser und Bedingungen hat jede Aktion eine type
, die angibt, welche Art von Aktion angegeben wird.
Die wichtigsten und nützlichsten sind die device.command
-Befehlstypen. Ein Aktionsbeispiel für das Ausschalten von Licht.
type: device.command.OnOff
devices:
- Light A - Living Room
on: false
Eine Aktion zum Hinzufügen einer Verzögerung zwischen mehreren anderen Aktionen.
type: time.delay
for: 5min