🟦 Этап 3. Автоматизация в Home Assistant
Автоматизация — это основа умного дома. Она позволяет выполнять действия автоматически: включать свет, когда ты приходишь домой, отправлять уведомление при утечке воды, снижать температуру ночью и многое другое.
🔹 Что такое автоматизация?
Автоматизация состоит из трёх частей:
-
Триггер (Trigger) — что запускает автоматизацию
Примеры: датчик движения, изменение температуры, приход домой, время, включение устройства. -
Условие (Condition) — дополнительная проверка
Примеры: только ночью, только когда дома кто-то есть, если влажность ниже 50%. -
Действие (Action) — что выполнить
Примеры: включить свет, отправить сообщение, воспроизвести звук, активировать сцену.
🔹 Создание автоматизации через визуальный редактор
-
Перейди в Настройки → Автоматизации
-
Нажми Создать автоматизацию
-
Выбери «Начать с пустого шаблона»
-
Заполни:
-
Имя автоматизации
-
Триггер (например, датчик движения)
-
Условие (необязательно)
-
Действие (включить свет)
-
-
Нажми Сохранить и Активировать
📝 Визуальный редактор подходит большинству пользователей. Автоматизация будет сохранена в
automations.yaml
.
🔹 Примеры простых автоматизаций
🕯 Включение света при движении
-
Триггер: обнаружено движение
-
Условие: время между 20:00 и 06:00
-
Действие: включить свет в коридоре
📱 Уведомление о высокой температуре
-
Триггер:
sensor.temperature > 30
-
Условие: дом не пустой
-
Действие: отправить уведомление в Telegram
🔹 Ручное написание в YAML
Для сложных сценариев удобно писать автоматизации вручную.
Пример:
alias: Включить свет при движении ночью
trigger:
- platform: state
entity_id: binary_sensor.motion_kitchen
to: 'on'
condition:
- condition: time
after: '21:00:00'
before: '06:00:00'
action:
- service: light.turn_on
target:
entity_id: light.kitchen
Файл: automations.yaml
🔹 Скрипты
Скрипты — это заранее подготовленные действия, которые можно запускать вручную или из автоматизации.
Пример скрипта:
alias: Сценарий "Доброе утро"
sequence:
- service: light.turn_on
target:
entity_id: light.bedroom
- service: media_player.play_media
data:
entity_id: media_player.speaker
media_content_id: "https://radio-url"
media_content_type: "music"
🔹 Сцены
Сцена — это сохранённый набор состояний устройств.
Пример:
scene:
- name: Вечер
entities:
light.living_room:
state: on
brightness: 80
media_player.tv:
state: off
🔹 Шаблоны (optional)
Для более сложных условий и действий можно использовать Jinja2-шаблоны.
Пример: включать свет только если никто не спит:
condition:
– condition: template
value_template: “{{ not is_state(‘input_boolean.sleep_mode’, ‘on’) }}”
✅ Итого
После третьего этапа ты:
-
Научился создавать автоматизации в визуальном редакторе и YAML
-
Понимаешь структуру: триггер → условие → действие
-
Умеешь использовать скрипты, сцены и шаблоны
-
Готов автоматизировать повседневные процессы в своём доме
Следующий этап — Этап 4. Интерфейс и визуализация: настройка удобных панелей и отображения данных.