Автоматизация в Home Assistant: примеры, сторожа и грабли

Автоматизация в Home Assistant — это правило «когда случилось X, и если выполнено Y, то сделай Z»: включить свет по движению, прислать сообщение о протечке, выключить бойлер ночью. У нас на рабочем Home Assistant 167 автоматизаций. Для статьи мы собрали на тестовом Home Assistant 2026.10 три примера и проверили, как они ведут себя в неудобных ситуациях — повторное движение, температура, которая уже ниже порога, короткий провал значения. Ниже — как создать автоматизацию, готовые примеры в YAML и грабли, на которые мы наступили сами.

Автоматизации Home Assistant: когда, если, тогда
Автоматизация: триггер, условия, действия

Как устроена автоматизация

По документации Home Assistant, у автоматизации три части — в интерфейсе они так и называются:

  • Когда (триггеры) — событие, которое запускает правило: изменилось состояние, наступило время, значение перешло порог.
  • И если (условия, необязательно) — что должно быть верно в момент запуска: «после заката», «никого нет дома».
  • Тогда (действия) — что сделать: включить, подождать, отправить сообщение.

Как создать автоматизацию в Home Assistant

Настройки → Автоматизации и сцены → Создать автоматизацию → Создать новую автоматизацию. Дальше добавляете триггер, условия и действия кнопками — YAML знать не обязательно. Но у каждой автоматизации есть меню «Редактировать в YAML»: так удобно копировать готовые примеры, в том числе из этой статьи. Автоматизации из интерфейса сохраняются в файл automations.yaml в папке настроек.

Редактор автоматизации Home Assistant
Редактор автоматизации: «Когда», «И если», «Тогда»

Пример 1: свет по движению — и почему он гаснет раньше

Классика: движение — включить свет, через 20 секунд выключить (в жизни ставят минуты, нам для теста хватило секунд):

- alias: Свет по движению
  mode: restart
  triggers:
    - trigger: state
      entity_id: binary_sensor.dvizhenie_koridor
      to: "on"
  actions:
    - action: light.turn_on
      target:
        entity_id: light.koridor
    - delay: "00:00:20"
    - action: light.turn_off
      target:
        entity_id: light.koridor

Грабля — строка mode. Мы сделали две копии автоматизации: одну без mode, вторую с mode: restart. Включили движение, а через 11 секунд — ещё раз, будто человек прошёл обратно. Результат:

Время от первого движенияБез mode (по умолчанию single)mode: restart
22 ссвет уже выключенсвет горит
32 свыключенвыключен — ровно через 20 с после второго движения

В журнале по первой автоматизации — предупреждение:

WARNING ... Свет по движению (single): Already running

По документации о режимах, режим по умолчанию — single: пока автоматизация выполняется, новый запуск игнорируется. Поэтому второе движение ничего не продлило, и свет погас, пока человек ещё в коридоре. Режим restart останавливает текущий запуск вместе с ожиданием и начинает заново — именно то, что нужно для света. Есть ещё queued (очередь) и parallel (параллельные запуски).

Пример 2: сторож «холодно в котельной»

Автоматизации-сторожа следят за важным и пишут, когда что-то не так. Порог температуры с задержкой — чтобы не дёргаться от случайного скачка:

- alias: "Сторож: холодно в котельной"
  triggers:
    - trigger: numeric_state
      entity_id: sensor.temperatura_kotelnaya
      below: 5
      for: "00:10:00"
  actions:
    - action: telegram_bot.send_message
      continue_on_error: true
      data:
        message: >-
          В котельной {{ states('sensor.temperatura_kotelnaya') }} °C — ниже 5 °C уже 10 минут

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

  1. Температура уже была −10, потом стала 3. Сторож не сработал. Триггер numeric_state срабатывает, когда значение пересекает порог, а не когда оно просто ниже. Если на момент включения автоматизации в котельной уже холодно, сообщения не будет.
  2. 20 → 4 на 5 секунд → 6. Не сработал — значение пробыло ниже порога меньше заданного времени. Так и задумано: for отсекает кратковременные провалы.
  3. 6 → 4 на 13 секунд. Сработал один раз — это видно в трассировке.
Трассировка автоматизации в Home Assistant
Трассировка: триггер «меньше 5 в течение 10 секунд» и время срабатывания

Вывод по первому сценарию: для действительно важных сторожей добавьте второй триггер — запуск Home Assistant (trigger: homeassistant, event: start) — и условие на текущее значение. Тогда сторож проверит температуру и после перезагрузки.

Отправка в Telegram здесь — с continue_on_error: true: если сообщение не ушло, автоматизация не оборвётся. И не используйте в сторожах общее notify.notify — у нас из-за него четыре сторожа неизвестно сколько «оповещали» в пустоту. Эту историю и настройку бота мы разобрали в статье про уведомления Home Assistant.

Пример 3: по расписанию и с условием

- alias: Выключить бойлер ночью в будни
  triggers:
    - trigger: time
      at: "23:30:00"
  conditions:
    - condition: time
      weekday: [mon, tue, wed, thu, fri]
  actions:
    - action: switch.turn_off
      target:
        entity_id: switch.bojler

Здесь условие проверяется в момент запуска: в субботу и воскресенье правило запустится, но действие не выполнится. Это нормально — в трассировке будет видно, на каком условии оно остановилось. Названия объектов в примерах (switch.bojler и т. п.) — условные, подставьте свои.

Как проверять автоматизации

  • Трассировка — кнопка «Трассировка» в редакторе. Home Assistant хранит последние запуски: что сработало, какие условия прошли, где остановилось. Это первое, куда смотреть, если «не работает». Подробнее — в разделе об отладке.
  • Ручной запуск — пункт запуска в меню автоматизации (три точки в редакторе). Удобно проверить, что сообщение доходит, но учтите: триггер и условия при этом пропускаются.
  • Журнал — предупреждения вроде Already running подсказывают, что режим выбран не тот.
  • Тестовые переключатели. Мы проверяли всё на вспомогательных объектах (Настройки → Устройства и службы, вкладка «Вспомогательное»): переключатель вместо датчика движения, число вместо термометра. Так можно отладить логику, не бегая по коридору.

Если Home Assistant ещё не стоит — начните с установки Home Assistant; датчики для автоматизаций подключаются через Zigbee или MQTT.

Как выбрать и настроить датчик присутствия, две наши автоматизации и грабли с батарейками и зоной обнаружения — в статье датчик присутствия.

Как у нас устроено резервное питание — гибридный инвертор на весь дом, отдельный ИБП для сервера и мониторинг через NUT — в статье бесперебойник для котла.

Источники: Home Assistant: автоматизации, режимы автоматизаций, триггеры, отладка автоматизаций. Тест — Home Assistant 2026.10.2 в Docker. Проверено 21 октября 2026 года.

3 / 1
Оцените статью
Да будет Интернет!