Автоматизация

Структура automations — это ядро ​​сценария автоматизации. Здесь указывается поведение автоматизации, включая стартеры, условия и действия. В совокупности они также называются правилом автоматизации.

Структура automations содержит одно или несколько правил автоматизации, и каждое правило всегда содержит набор стартеров и действий. Правило может дополнительно содержать условия — дополнительные квалификаторы, которые должны быть соблюдены для выполнения сценария.

Ключ Тип Описание

name

Нить

Необязательный

Название автоматики.

Это не отображается пользователям, оно предназначено только для справки для разработчиков.

starters

[ Стартер ]

Необходимый

Список стартовиков.

condition

Состояние

Необязательный

Состояние

actions

[ Действие ]

Необходимый

Список действий

Примеры

Ниже приведены два вводных примера структур automations .

В первом примере автоматизация запускается при включении TV с именем «Мой ТВ».

При срабатывании выполняются следующие действия:

Два устройства LIGHT , названные «Light A» и «Light B», включены и настроены на уровень яркости 50.

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

Во втором примере та же автоматизация запускается на закате каждый понедельник и четверг:

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

Закуска

Стартовая структура — это место, где вы указываете стартеры, которые вызывают выполнение сценария автоматизации. Каждая automation может содержать один или несколько пускателей, и по крайней мере один пускатель должен иметь true для оценки последующих условий.

Пример стартера time.schedule :

type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE

Пример стартера при изменении состояния устройства:

type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10

Пример стартера по событию устройства:

type: device.event.DoorbellPress
device: My doorbell - Frontdoor

Пример стартера по изменению режима присутствия дома:

type: home.state.HomePresence
state: homePresenceMode
is: HOME

Посмотреть полный список стартеров .

Состояние

Условия можно комбинировать с логическими операторами and , or , а not выражать более сложную логику.

В следующем примере имеется структура condition с одним условием time и одним условием device.state . Эта структура позволяет запустить сценарий, если он происходит между закатом и восходом солнца в понедельник или вторник или если громкость телевизора находится в диапазоне от 1 до 10:

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

Пример базового time условия, ограничивающего выполнение сценария автоматизации выходными днями до 10:00 утра:

type: time.between
before: 10am
weekdays:
- SAT
- SUN

Температурный режим датчика устройства термостата:

type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F

Пример условия home.state.HomePresence :

type: home.state.HomePresence
state: homePresenceMode
is: AWAY

Посмотреть полный список условий .

Действия

Как и стартеры и условия, каждое действие имеет type , который указывает, какой тип действия указывается.

Наиболее важными и наиболее полезными являются типы команд device.command . Пример действия по выключению света.

type: device.command.OnOff
devices:
- Light A - Living Room
on: false

Действие, добавляющее задержку между несколькими другими действиями.

type: time.delay
for: 5min

Посмотреть полный список действий .