homeassistant триггер в автоматизациях Home Assistant

homeassistant — это один из триггеров которые можно использовать в автоматизациях Home Assistant (список всех триггеров).

С помощью этого триггера можно запустить автоматизацию при старте Home Assistant или при штатном завершении работы.

Если вам нужна базовая информация про автоматизации в Home Assistant — прочитайте этот текст.

Пример автоматизации про запуск Home Assistant

automation:
  - trigger:
      platform: homeassistant
      event: start
    action:
      service: system_log.write
      data:
        message: Home assistant has started

Это автоматизация будет выполняться при каждом запуске Home Assistant.

Запуск Home Assistant это процесс состоящий из многих элементов. Этот триггер стреляет когда Home Assistant полностью запущен.

В процессе запуска Home Assistant в интерфейсе сначала появляется сообщение: "Home Assistant is starting, not everything will be available until it is finished." (при использовании интерфейса на русском языке — "Home Assistant запускается, пока что не всё может быть доступно.")

Этот триггер стреляет когда это сообщение пропадает и появляется сообщнеие "Home Assistant has started!" ("Home Assistant работает!").

Пример автоматизации про остановку Home Assistant

automation:
  - trigger:
      platform: homeassistant
      event: shutdown
    action:
      service: system_log.write
      data:
        message: Home assistant shutdown

Эта автоматизация выполнится при штатной остановке Home Assistant. Если сервер с Home Assistant просто выключить из розетки, то это автоматизация не выполнится.

Штатная остановка происходит при нажатии на кнопки Restart или Stop на странице http://IP:8123/config/server_control

Переменная trigger

После того как триггер сработал в блоках condition и action становится доступна специальная переменная с именем trigger. Вот что находится в этой переменной при использовании event: start:

{
    'platform': 'homeassistant',
    'event': 'start',
    'description': 'Home Assistant starting'
}

Мне не удалось использовать переменную trigger при использовании event: shutdown, возможно это баг в Home Assistant.

Примеры использования

Бывает очень удобно настроить чтобы Home Assistant мог отправить сообщения в телеграм и написать автоматизации которые будут отправлять в телеграм сообщение про запуск Home Assistant и про его остановку.

automation:
  - alias: Notify about HA start
    trigger:
      platform: homeassistant
      event: start
    action:
      service: notify.me
      data:
        message: "Home Assistant - start"

  - alias: Notify about HA shutdown
    trigger:
      platform: homeassistant
      event: shutdown
    action:
      service: notify.me
      data:
        message: "Home Assistant - shutdown"

Если вдруг приходит сообщение "Home Assistant - start" это значит что был какой-то сбой (например, пропадало электричество). Home Assistant выключался, а вот сейчас снова включился. Это сообщение — это не замена полноценному мониторингу, но иногда это может быть полезно.

Редактировать страницу на GitHub