Home Assistant: готовые YAML-скрипты для автоматизации света

Если вы уже установили Home Assistant и хотите наконец заставить свое «умное» освещение работать действительно разумно - эта статья для вас. Здесь собраны готовые YAML-скрипты для автоматизации света в Home Assistant: от простейшего включения по времени до сложных сценариев с датчиком движения, условиями и динамическим управлением яркостью и цветом. Каждый скрипт можно скопировать и вставить непосредственно в ваш `configuration.yaml` или редактор автоматизаций - без лишнего набора кода.

содержание

Основы автоматизации света в Home Assistant

Прежде чем копировать готовые скрипты, стоит понимать их структуру. Это позволит вам адаптировать любой пример под свое оборудование и не теряться, когда что-то пойдет не так.

Структура automation в YAML: триггер, условие, действие

Каждая автоматизация в Home Assistant состоит из трех ключевых блоков:

  • спусковой крючок - что запускает автоматизацию (время, событие, изменение состояния устройства)
  • условие - необязательный фильтр: автоматизация сработает только если условие истинно
  • действие - что выполнить (включить свет, отправить оповещение, вызвать сервис)

Вот самый простой пример - минимальная автоматизация, которая включает свет в 19:00:

автоматизация:
  alias: "Вечерний свет в 19:00"
  триггер:
    - платформа: время
      at: "19:00:00"
  действие:
    - service: light.turn_on
      цель:
        entity_id: light.living_room

Замените `light.living_room` на ID вашего светильника - и автоматизация готова.

Как настроить автоматизацию света в Home Assistant

Есть два способа добавить автоматизацию:

Способ 1 - через интерфейс (UI): Настройки → Автоматизации и сцены → Добавить автоматизацию. Удобно для начинающих, но ограничивает гибкость.

Способ 2 - через YAML: добавьте код непосредственно в файл `automations.yaml` или в секцию `automation:` файла `configuration.yaml`. После внесения изменений выполните Инструменты разработчика → Проверка конфигурации → Перезапуск или используйте команду `ha core restart` в терминале.

Все скрипты ниже написаны в формате YAML и протестированы на Home Assistant 2024.x. ID устройств (`entity_id`) заменяйте на свои - найти их можно в разделе Инструменты для разработчиков → Государства.

YAML-скрипт автоматизации освещения Home Assistant с подсветкой синтаксиса в редакторе кода

Скрипт включения света: базовые примеры YAML: базовые примеры YAML

Начинаем с самых востребованных сценариев - простого включения и выключения света, а также управления его параметрами.

Включить или выключить один свет или группу

Включить один свет:

автоматизация:
  alias: "Включить свет в гостиной"
  триггер:
    - платформа: состояние
      entity_id: input_boolean.evening_mode
      to: "on"
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room

Выключить все световые приборы в группе:

автоматизация:
  alias: "Выключить весь свет в 23:30"
  триггер:
    - платформа: время
      at: "23:30:00"
  действие:
    - service: light.turn_off
      цель:
        entity_id:
          - light.living_room
          - свет.спальня
          - свет.кухня
          - свет.прихожая

Переключать состояние (toggle) с помощью физической кнопки:

автоматизация:
  alias: "Кнопка - toggle гостиной"
  триггер:
    - платформа: состояние
      entity_id: binary_sensor.wall_switch_button
      to: "on"
  action:
    - service: light.toggle
      target:
        entity_id: light.living_room

Автоматизация яркости, температуры и цвета

Современные умные лампы поддерживают управление яркостью (`brightness`), цветовой температурой (`color_temp`) и цветом (`rgb_color`). Вот готовые примеры для каждого параметра.

Включить с конкретной яркостью (50%) и теплым белым:

автоматизация:
  alias: "Вечерний релакс - теплый свет"
  триггер:
    - платформа: время
      at: "21:00:00"
  действие:
    - service: light.turn_on
      цель:
        entity_id: light.living_room
      данные:
        brightness_pct: 50
        color_temp: 370 # в миредах: 153=холодный, 500=теплый

Установить цвет RGB (например, синий для ночного режима):

автоматизация:
  alias: "Ночной режим - синяя подсветка"
  триггер:
    - платформа: время
      at: "22:30:00"
  действие:
    - service: light.turn_on
      цель:
        entity_id: light.bedroom_strip
      data:
        rgb_color: [0, 0, 255]
        brightness_pct: 10

Плавный переход (transition) за 5 секунд:

автоматизация:
  alias: "Утренний подъем - плавное включение"
  триггер:
    - платформа: время
      at: "07:00:00"
  действие:
    - service: light.turn_on
      target:
        entity_id: light.bedroom
      данные:
        brightness_pct: 80
        color_temp: 200 # холодно-дневной
        transition: 5 # плавный переход 5 секунд

Если вы хотите расширить автономность своего освещения на случай отключения электричества - читайте нашу инструкцию о автономное освещение квартиры на 12 часов за 500 грн.Там описано бюджетное решение, которое хорошо сочетается с Home Assistant.

Датчик движения в коридоре автоматически включает умное LED-освещение в Home Assistant

Автоматизация по расписанию и времени суток

Расписание - самый распространенный тип автоматизации освещения. Home Assistant поддерживает как жесткое время (`time`), так и астрономические события (`sun`).

Включение по времени: time trigger YAML

Разное расписание для будних и выходных:

автоматизация:
  - alias: "Утро будни - включить кухню"
    триггер:
      - платформа: время
        at: "06:30:00"
    условие:
      - условие: время
        день недели:
          - пн.
          - вторник
          - среда
          - четверг
          - пятница
    действие:
      - service: light.turn_on
        цель:
          entity_id: light.kitchen
        данные:
          brightness_pct: 100
          цвет_температура: 200

  - alias: "Утро выходные - включить кухню позже"
    trigger:
      - платформа: время
        at: "09:00:00"
    условие:
      - условие: время
        будний день:
          - суббота
          - солнце
    действие:
      - услуга: свет.включение
        цель:
          entity_id: light.kitchen
        данные:
          brightness_pct: 70
          цвет_температура: 300

Автоматическое выключение всего света ночью:

автоматизация:
  alias: "Ночь - выключить все"
  триггер:
    - платформа: время
      at: "00:00:00"
  действие:
    - service: light.turn_off
      target:
        area_id: home # или перечислите конкретные entity_id

Восход и закат солнца как триггер: sun trigger

Астрономические триггеры - самый умный способ управлять освещением: оно автоматически адаптируется к сезонным изменениям.

Включить уличный или балконный свет на закате:

автоматизация:
  alias: "Запад - уличная подсветка"
  триггер:
    - платформа: солнце
      событие: закат
      offset: "+00:30:00" # через 30 минут после заката
  действие:
    - service: light.turn_on
      target:
        entity_id: light.balcony
      data:
        brightness_pct: 60

Выключить наружный свет на восходе солнца:

автоматизация:
  alias: "Восток - выключить наружный свет"
  триггер:
    - платформа: солнце
      событие: восход солнца
      offset: "+00:15:00" # через 15 минут после восхода
  действие:
    - service: light.turn_off
      target:
        entity_id: light.balcony

Адаптивная яркость в зависимости от уровня освещенности (если есть датчик люкс):

автоматизация:
  alias: "Авто-яркость по люксу"
  trigger:
    - платформа: numeric_state
      entity_id: sensor.living_room_illuminance
      below: 50 # если уровень освещенности ниже 50 люкс
  условие:
    - условие: время
      after: "08:00:00"
      before: "22:00:00"
  действие:
    - service: light.turn_on
      target:
        entity_id: light.living_room
      данные:
        brightness_pct: 80

Управление яркостью и цветовой температурой умной лампы через приложение Home Assistant

Автоматизация по датчику движения

Датчик движения + автоматизация освещения - классический сценарий «умного дома». Основной вызов: сделать так, чтобы свет выключался не сразу, а через определенное время после того, как движение прекратилось.

Включить свет при обнаружении движения

Базовый скрипт: движение → свет включить:

автоматизация:
  alias: "Движение в коридоре - включить свет"
  триггер:
    - платформа: состояние
      entity_id: binary_sensor.hallway_motion
      to: "on"
  condition:
    - условие: состояние
      entity_id: sun.sun
      state: "below_horizon" # только если на улице темно
  действие:
    - service: light.turn_on
      target:
        entity_id: light.hallway
      data:
        brightness_pct: 70

Выключить после N минут без движения

Это самая важная часть: нужно выключить свет через определенное время после того, как датчик перестал фиксировать движение. Есть два подхода.

Подход 1 - через `for` в триггере (простой):

автоматизация:
  alias: "Нет движения 5 минут - выключить коридор"
  триггер:
    - платформа: состояние
      entity_id: binary_sensor.hallway_motion
      to: "off"
      for:
        минуты: 5
  действие:
    - service: light.turn_off
      цель:
        entity_id: light.hallway

Подход 2 - через Helper Timer (гибкий, управляемый из UI):

автоматизация:
  - alias: "Движение - старт таймера"
    триггер:
      - платформа: состояние
        сущность_ид: binary_sensor.hallway_motion
        to: "on"
    action:
      - service: light.turn_on
        target:
          entity_id: light.hallway
      - услуга: таймер.отмена
        цель:
          entity_id: timer.hallway_light
      - сервис: таймер.запуск
        target:
          entity_id: timer.hallway_light
        data:
          duration: "00:05:00"

  - alias: "Таймер завершился - выключить"
    триггер:
      - платформа: событие
        тип_события: timer.finished
        event_data:
          entity_id: timer.hallway_light
    action:
      - service: light.turn_off
        цель:
          entity_id: light.hallway

Для второго подхода предварительно создайте Helper Timer в Настройки → Помощники → Добавить помощника → Таймер, назовите его `timer.hallway_light`.

Полный сценарий коридора: движение включает, отсутствие выключает, ночью - приглушено:

автоматизация:
  alias: "Коридор - умный свет"
  триггер:
    - платформа: состояние
      entity_id: binary_sensor.hallway_motion
      to: "on"
  действие:
    - choose:
        - условия:
            - условие: время
              после: "22:00:00"
              до: "07:00:00"
          последовательность:
            - service: light.turn_on
              цель:
                entity_id: light.hallway
              данные:
                brightness_pct: 15
                color_temp: 500 # максимально теплый
        - условия:
            - условие: время
              после: "07:00:00"
              до: "22:00:00"
          последовательность:
            - service: light.turn_on
              цель:
                entity_id: light.hallway
              данные:
                brightness_pct: 80
                цвет_температура: 250

Условная автоматизация и сценарии освещения

Условия (`condition`) позволяют сделать автоматизацию действительно умной: она сработает только при определенных обстоятельствах. Это позволяет избежать нежелательных срабатываний - например, не включать свет днем или когда все спят.

Условия состояния: если темно или если дома

Условие «если кто-то дома» (через device_tracker или person):

автоматизация:
  alias: "Приход домой - включить приветственный свет"
  триггер:
    - платформа: состояние
      entity_id: person.john
      to: "home"
  условие:
    - условие: состояние
      entity_id: sun.sun
      state: "below_horizon" # только после захода солнца
  действие:
    - service: light.turn_on
      цель:
        entity_id:
          - light.hallway
          - свет.гостиная_комната
      данные:
        brightness_pct: 70
        цвет_температура: 370

Условие «если все ушли» - выключить все:

автоматизация:
  alias: "Все ушли - выключить весь свет"
  триггер:
    - платформа: состояние
      entity_id: group.all_persons
      to: "not_home"
  action:
    - service: light.turn_off
      target:
        entity_id: all

Сложное условие: и темно, и кто-то дома, и не позже 23:00:

автоматизация:
  alias: "Вечерний автосвет - все условия"
  триггер:
    - платформа: numeric_state
      entity_id: sensor.living_room_illuminance
      ниже: 30
  условие:
    - условие: состояние
      сущность_ид: человек.джон
      состояние: "дом"
    - условие: время
      before: "23:00:00"
    - условие: состояние
      entity_id: light.living_room
      состояние: "выключен"
  действие:
    - service: light.turn_on
      цель:
        entity_id: light.living_room
      данные:
        brightness_pct: 60
        цвет_температура: 350

Blueprint: готовые шаблоны автоматизации освещения

Blueprint - это шаблоны автоматизаций, которые можно импортировать одним кликом и настроить через UI без написания YAML. Официальный репозиторий находится по адресу ha.io/blueprints.

Вот пример собственного blueprint для автоматизации света по датчику движения с таймером - сохраните его в папке `blueprints/automation/` вашего HA-конфига:

чертеж:
  имя: "Свет по движению с таймером"
  description: "Включает свет при движении, выключает через N минут"
  domain: automation
  input:
    motion_sensor:
      name: Датчик движения
      селектор:
        entity:
          домен: binary_sensor
          класс_устройства: движение
    light_target:
      имя: Свет
      селектор:
        target:
          сущность:
            домен: свет
    no_motion_wait:
      имя: Время выключения (мин)
      по умолчанию: 5
      selector:
        number:
          min: 1
          max: 60
          единица_измерения: мин
    яркость:
      название: Яркость (%)
      default: 80
      селектор:
        кол-во:
          min: 1
          max: 100

триггер:
  - платформа: состояние
    entity_id: !input motion_sensor
    на: "вкл."

action:
  - service: light.turn_on
    цель: !input light_target
    data:
      brightness_pct: !input brightness
  - wait_for_trigger:
      - платформа: состояние
        entity_id: !input motion_sensor
        на: "выключен"
        for:
          minutes: !input no_motion_wait
  - сервис: light.turn_off
    цель: !input light_target

После сохранения файла перезагрузите HA - blueprint появится в разделе Настройки → Blueprints, и вы сможете создавать автоматизации на его основе через UI.

Если вы разбираетесь с размещением розеток и выключателей для интеграции умного дома - обратите внимание на нашу статью о карту розеток на кухне со стандартами размеров и высотыПравильное расположение выходов питания критически важно для подключения контроллеров умного освещения.

Схема логики Blueprint автоматизации освещения в Home Assistant: триггер, условие, действие

FAQ: частые вопросы об автоматизации света в Home Assistant

Где найти entity_id моего светильника в Home Assistant?

Перейдите в Инструменты для разработчиков → Государства (или Настройки → Состояния). В поиске введите название устройства или «light» - все светильники отобразятся со своими entity_id в формате `light.название_устройства`. Также можно найти через Настройки → Устройства и службы → конкретное устройство → Entities.

Почему автоматизация не срабатывает после сохранения YAML?

Чаще всего причина - Home Assistant не перезагрузился после изменений. Выполните Инструменты разработчика → Проверка конфигурации (чтобы проверить синтаксис YAML), затем Настройки → Система → Перезагрузка. Если есть синтаксическая ошибка - HA покажет сообщение с указанием строки. Также проверьте отступы: YAML строго требует пробелы (не табуляцию).

Как сделать, чтобы автоматизация не включала свет днем?

Добавьте условие `condition` с проверкой состояния солнца или времени. Самый простой вариант - условие `sun.sun` в состоянии `below_horizon` (солнце ниже горизонта). Или через `condition: time` с параметрами `after` и `before`. Оба варианта показаны в разделе «Условная автоматизация» выше.

Какая разница между автоматизацией и скриптом в Home Assistant?

`Automation` срабатывает автоматически по триггеру. `Script` - это набор действий, который выполняется вручную или вызывается из автоматизации через`service:script.turn_on`. Скрипты удобны для повторяющихся последовательностей действий: например, «вечерний режим» может быть скриптом, который вызывают несколько разных автоматизаций.

Можно ли управлять яркостью лампочки Philips Hue или IKEA Tradfri через HA?

Да, обе интеграции поддерживают полное управление: `brightness`, `color_temp`, `rgb_color`, `transition`. Для Hue нужна интеграция через Hue Bridge или через Zigbee2MQTT (если используете USB Zigbee-донгл). IKEA Tradfri подключается либо через шлюз ИКЕА, либо напрямую через Zigbee2MQTT. Все YAML-примеры из статьи совместимы с обоими вариантами.

Как запустить несколько действий одновременно в автоматизации?

По умолчанию действия в `action` выполняются последовательно. Чтобы выполнить их параллельно - используйте блок `parallel`:

действие:
  - параллельное:
      - сервис: light.turn_on
        цель:
          entity_id: light.living_room
      - услуга: light.turn_on
        target:
          entity_id: light.kitchen
      - сервис: media_player.play_media
        target:
          entity_id: media_player.speaker

Автоматизация освещения в Home Assistant - это не сложно, если есть готовые скрипты как отправная точка. Начните с самого простого: включение по времени или по датчику движения. Затем добавляйте условия, Blueprint и более сложные сценарии. Сохраните эту страницу в закладки - здесь есть готовые YAML-скрипты для большинства типовых сценариев. А если возникнут вопросы по конкретному оборудованию - официальная документация HA на home-assistant.io и сообщество на форуме community.home-assistant.io всегда помогут.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *