Automatisierungen

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

name

String

Optional

Name der Automatisierung.

Dieser Name wird Nutzern nicht angezeigt, sondern dient nur als Referenz für Entwickler.

starters

[Auslöser]

Erforderlich

Eine Liste mit Auslösern.

condition

Zustand

Optional

Bedingung

actions

[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

Vollständige Liste der Aktionen ansehen