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

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

Зміст

Основи автоматизації світла в Home Assistant

Перш ніж копіювати готові скрипти, варто розуміти їхню структуру. Це дозволить вам адаптувати будь-який приклад під своє обладнання і не губитися, коли щось піде не так.

Структура automation у YAML: trigger, condition, action

Кожна автоматизація в Home Assistant складається з трьох ключових блоків:

  • trigger — що запускає автоматизацію (час, подія, зміна стану пристрою)
  • condition — необов’язковий фільтр: автоматизація спрацює лише якщо умова істинна
  • action — що виконати (увімкнути світло, надіслати сповіщення, викликати сервіс)

Ось найпростіший приклад — мінімальна автоматизація, яка вмикає світло о 19:00:

automation:
  alias: "Вечірнє світло о 19:00"
  trigger:
    - platform: time
      at: "19:00:00"
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room

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

Як налаштувати автоматизацію світла в Home Assistant

Є два способи додати автоматизацію:

Спосіб 1 — через інтерфейс (UI): Налаштування → Автоматизації та сцени → Додати автоматизацію. Зручно для початківців, але обмежує гнучкість.

Спосіб 2 — через YAML: додайте код безпосередньо у файл `automations.yaml` або в секцію `automation:` файлу `configuration.yaml`. Після внесення змін виконайте Developer Tools → Check Configuration → Restart або використайте команду `ha core restart` у терміналі.

Усі скрипти нижче написані у форматі YAML і протестовані на Home Assistant 2024.x. ID пристроїв (`entity_id`) замінюйте на свої — знайти їх можна у розділі Developer Tools → States.

YAML-скрипт автоматизації освітлення Home Assistant з підсвіткою синтаксису в редакторі коду

Скрипт увімкнення світла: базові приклади YAML

Починаємо з найбільш затребуваних сценаріїв — простого увімкнення та вимкнення світла, а також управління його параметрами.

Увімкнути або вимкнути одне світло чи групу

Увімкнути одне світло:

automation:
  alias: "Увімкнути світло у вітальні"
  trigger:
    - platform: state
      entity_id: input_boolean.evening_mode
      to: "on"
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room

Вимкнути всі світла у групі:

automation:
  alias: "Вимкнути все світло о 23:30"
  trigger:
    - platform: time
      at: "23:30:00"
  action:
    - service: light.turn_off
      target:
        entity_id:
          - light.living_room
          - light.bedroom
          - light.kitchen
          - light.hallway

Перемикати стан (toggle) за допомогою фізичної кнопки:

automation:
  alias: "Кнопка — toggle вітальні"
  trigger:
    - platform: state
      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%) і теплим білим:

automation:
  alias: "Вечірній релакс — тепле світло"
  trigger:
    - platform: time
      at: "21:00:00"
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room
      data:
        brightness_pct: 50
        color_temp: 370  # у міредах: 153=холодний, 500=теплий

Встановити колір RGB (наприклад, синій для нічного режиму):

automation:
  alias: "Нічний режим — синє підсвічування"
  trigger:
    - platform: time
      at: "22:30:00"
  action:
    - service: light.turn_on
      target:
        entity_id: light.bedroom_strip
      data:
        rgb_color: [0, 0, 255]
        brightness_pct: 10

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

automation:
  alias: "Ранковий підйом — плавне увімкнення"
  trigger:
    - platform: time
      at: "07:00:00"
  action:
    - service: light.turn_on
      target:
        entity_id: light.bedroom
      data:
        brightness_pct: 80
        color_temp: 200  # холодно-денне
        transition: 5    # плавний перехід 5 секунд

Якщо ви хочете розширити автономність свого освітлення на випадок відключення електрики — читайте нашу інструкцію про автономне освітлення квартири на 12 годин за 500 грн: там описано бюджетне рішення, яке добре поєднується з Home Assistant.

Датчик руху в коридорі автоматично вмикає розумне LED-освітлення в Home Assistant

Автоматизація по розкладу та часу доби

Розклад — найпоширеніший тип автоматизації освітлення. Home Assistant підтримує як жорсткий час (`time`), так і астрономічні події (`sun`).

Увімкнення по часу: time trigger YAML

Різний розклад для будніх і вихідних:

automation:
  - alias: "Ранок будні — увімкнути кухню"
    trigger:
      - platform: time
        at: "06:30:00"
    condition:
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
    action:
      - service: light.turn_on
        target:
          entity_id: light.kitchen
        data:
          brightness_pct: 100
          color_temp: 200

  - alias: "Ранок вихідні — увімкнути кухню пізніше"
    trigger:
      - platform: time
        at: "09:00:00"
    condition:
      - condition: time
        weekday:
          - sat
          - sun
    action:
      - service: light.turn_on
        target:
          entity_id: light.kitchen
        data:
          brightness_pct: 70
          color_temp: 300

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

automation:
  alias: "Ніч — вимкнути все"
  trigger:
    - platform: time
      at: "00:00:00"
  action:
    - service: light.turn_off
      target:
        area_id: home  # або перерахуйте конкретні entity_id

Схід і захід сонця як тригер: sun trigger

Астрономічні тригери — найрозумніший спосіб керувати освітленням: воно автоматично адаптується до сезонних змін.

Увімкнути вуличне або балконне світло на заході:

automation:
  alias: "Захід — вуличне підсвічування"
  trigger:
    - platform: sun
      event: sunset
      offset: "+00:30:00"  # через 30 хвилин після заходу
  action:
    - service: light.turn_on
      target:
        entity_id: light.balcony
      data:
        brightness_pct: 60

Вимкнути зовнішнє світло на сході сонця:

automation:
  alias: "Схід — вимкнути зовнішнє світло"
  trigger:
    - platform: sun
      event: sunrise
      offset: "+00:15:00"  # через 15 хвилин після сходу
  action:
    - service: light.turn_off
      target:
        entity_id: light.balcony

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

automation:
  alias: "Авто-яскравість по люксу"
  trigger:
    - platform: numeric_state
      entity_id: sensor.living_room_illuminance
      below: 50  # якщо рівень освітленості нижче 50 люкс
  condition:
    - condition: time
      after: "08:00:00"
      before: "22:00:00"
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room
      data:
        brightness_pct: 80

Керування яскравістю і колірною температурою розумної лампи через додаток Home Assistant

Автоматизація по датчику руху

Датчик руху + автоматизація освітлення — класичний сценарій «розумного будинку». Основний виклик: зробити так, щоб світло вимикалося не одразу, а через певний час після того, як рух припинився.

Увімкнути світло при виявленні руху

Базовий скрипт: рух → світло ввімкнути:

automation:
  alias: "Рух у коридорі — увімкнути світло"
  trigger:
    - platform: state
      entity_id: binary_sensor.hallway_motion
      to: "on"
  condition:
    - condition: state
      entity_id: sun.sun
      state: "below_horizon"  # тільки якщо надворі темно
  action:
    - service: light.turn_on
      target:
        entity_id: light.hallway
      data:
        brightness_pct: 70

Вимкнути після N хвилин без руху

Це найважливіша частина: потрібно вимкнути світло через певний час після того, як датчик перестав фіксувати рух. Є два підходи.

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

automation:
  alias: "Немає руху 5 хвилин — вимкнути коридор"
  trigger:
    - platform: state
      entity_id: binary_sensor.hallway_motion
      to: "off"
      for:
        minutes: 5
  action:
    - service: light.turn_off
      target:
        entity_id: light.hallway

Підхід 2 — через Helper Timer (гнучкий, керований з UI):

automation:
  - alias: "Рух — старт таймера"
    trigger:
      - platform: state
        entity_id: binary_sensor.hallway_motion
        to: "on"
    action:
      - service: light.turn_on
        target:
          entity_id: light.hallway
      - service: timer.cancel
        target:
          entity_id: timer.hallway_light
      - service: timer.start
        target:
          entity_id: timer.hallway_light
        data:
          duration: "00:05:00"

  - alias: "Таймер завершився — вимкнути"
    trigger:
      - platform: event
        event_type: timer.finished
        event_data:
          entity_id: timer.hallway_light
    action:
      - service: light.turn_off
        target:
          entity_id: light.hallway

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

Повний сценарій коридору: рух вмикає, відсутність вимикає, вночі — приглушено:

automation:
  alias: "Коридор — розумне світло"
  trigger:
    - platform: state
      entity_id: binary_sensor.hallway_motion
      to: "on"
  action:
    - choose:
        - conditions:
            - condition: time
              after: "22:00:00"
              before: "07:00:00"
          sequence:
            - service: light.turn_on
              target:
                entity_id: light.hallway
              data:
                brightness_pct: 15
                color_temp: 500  # максимально теплий
        - conditions:
            - condition: time
              after: "07:00:00"
              before: "22:00:00"
          sequence:
            - service: light.turn_on
              target:
                entity_id: light.hallway
              data:
                brightness_pct: 80
                color_temp: 250

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

Умови (`condition`) дозволяють зробити автоматизацію справді розумною: вона спрацює лише за певних обставин. Це дозволяє уникнути небажаних спрацювань — наприклад, не вмикати світло вдень або коли всі сплять.

Умови condition: якщо темно або якщо вдома

Умова «якщо хтось вдома» (через device_tracker або person):

automation:
  alias: "Прихід додому — увімкнути привітальне світло"
  trigger:
    - platform: state
      entity_id: person.john
      to: "home"
  condition:
    - condition: state
      entity_id: sun.sun
      state: "below_horizon"  # тільки після заходу сонця
  action:
    - service: light.turn_on
      target:
        entity_id:
          - light.hallway
          - light.living_room
      data:
        brightness_pct: 70
        color_temp: 370

Умова «якщо всі пішли» — вимкнути все:

automation:
  alias: "Усі пішли — вимкнути все світло"
  trigger:
    - platform: state
      entity_id: group.all_persons
      to: "not_home"
  action:
    - service: light.turn_off
      target:
        entity_id: all

Складна умова: і темно, і хтось вдома, і не пізніше 23:00:

automation:
  alias: "Вечірнє автосвітло — усі умови"
  trigger:
    - platform: numeric_state
      entity_id: sensor.living_room_illuminance
      below: 30
  condition:
    - condition: state
      entity_id: person.john
      state: "home"
    - condition: time
      before: "23:00:00"
    - condition: state
      entity_id: light.living_room
      state: "off"
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room
      data:
        brightness_pct: 60
        color_temp: 350

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

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

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

blueprint:
  name: "Світло по руху з таймером"
  description: "Вмикає світло при русі, вимикає через N хвилин"
  domain: automation
  input:
    motion_sensor:
      name: Датчик руху
      selector:
        entity:
          domain: binary_sensor
          device_class: motion
    light_target:
      name: Світло
      selector:
        target:
          entity:
            domain: light
    no_motion_wait:
      name: Час вимкнення (хв)
      default: 5
      selector:
        number:
          min: 1
          max: 60
          unit_of_measurement: хв
    brightness:
      name: Яскравість (%)
      default: 80
      selector:
        number:
          min: 1
          max: 100

trigger:
  - platform: state
    entity_id: !input motion_sensor
    to: "on"

action:
  - service: light.turn_on
    target: !input light_target
    data:
      brightness_pct: !input brightness
  - wait_for_trigger:
      - platform: state
        entity_id: !input motion_sensor
        to: "off"
        for:
          minutes: !input no_motion_wait
  - service: light.turn_off
    target: !input light_target

Після збереження файлу перезавантажте HA — blueprint з’явиться в розділі Налаштування → Blueprints, і ви зможете створювати автоматизації на його основі через UI.

Якщо ви розбираєтеся з розміщенням розеток і вимикачів для інтеграції розумного будинку — зверніть увагу на нашу статтю про карту розеток на кухні зі стандартами розмірів і висоти: правильне розташування виходів живлення критично важливе для підключення контролерів розумного освітлення.

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

FAQ: часті запитання про автоматизацію світла в Home Assistant

Де знайти entity_id мого світильника в Home Assistant?

Перейдіть у Developer Tools → States (або Налаштування → Стани). У пошуку введіть назву пристрою або «light» — усі світильники відображаться зі своїми entity_id у форматі `light.назва_пристрою`. Також можна знайти через Налаштування → Пристрої та служби → конкретний пристрій → Entities.

Чому автоматизація не спрацьовує після збереження YAML?

Найчастіше причина — Home Assistant не перезавантажився після змін. Виконайте Developer Tools → Check Configuration (щоб перевірити синтаксис YAML), потім Settings → System → Restart. Якщо є синтаксична помилка — HA покаже повідомлення з вказівкою рядка. Також перевірте відступи: YAML суворо вимагає пробіли (не табуляцію).

Як зробити, щоб автоматизація не вмикала світло вдень?

Додайте умову `condition` з перевіркою стану сонця або часу. Найпростіший варіант — умова `sun.sun` у стані `below_horizon` (сонце нижче горизонту). Або через `condition: time` з параметрами `after` і `before`. Обидва варіанти показані у розділі «Умовна автоматизація» вище.

Яка різниця між automation і script у 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`:

action:
  - parallel:
      - service: light.turn_on
        target:
          entity_id: light.living_room
      - service: light.turn_on
        target:
          entity_id: light.kitchen
      - service: media_player.play_media
        target:
          entity_id: media_player.speaker

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *