20 полезных автоматизаций Home Assistant для вашего умного дома

Подборка из 20 полезных автоматизаций Home Assistant для освещения, климата, безопасности и повседневных сценариев.
Всем привет! Сегодня мы погрузимся в сердце любого умного дома — автоматизации. Home Assistant без них был бы просто красивым дашбордом с переключателями. Именно автоматизации превращают набор разрозненных устройств в слаженную систему, которая предугадывает ваши желания и работает незаметно на фоне повседневной жизни.
Я помню, как начинал с простых сценариев вроде «включить свет по датчику движения», а сейчас мой дом живёт своей жизнью: утром будит меня постепенным наращиванием света, проветривает комнаты, когда никого нет, напоминает о поливе растений и даже выключает забытый утюг. В этой статье я собрал 20 самых полезных и проверенных на практике автоматизаций — от базовых до продвинутых. Каждый пример содержит готовый код, объяснения и советы по тестированию.
📋 Подготовка: среда и подход
Перед началом убедитесь, что у вас: - Работающий Home Assistant (если нет — смотрите руководство Home Assistant на Raspberry Pi: Полное руководство по установке с нуля в 2024) - Несколько устройств (лампы, датчики, выключатели) - Редактор кода или встроенный редактор Home Assistant
Важный момент: Я предпочитаю создавать автоматизации через YAML-конфигурации, а не визуальный редактор. Это даёт больше контроля, позволяет использовать версионный контроль (например, Git) и проще переносить настройки между системами. Все примеры ниже — это готовые YAML-блоки для вашего файла automations.yaml.
🏠 Базовые автоматизации для комфорта
1. Включение света при обнаружении движения
Самая распространённая автоматизация, но с важными нюансами.
- id: 'kitchen_light_motion'
alias: "Свет на кухне по движению"
description: "Включаем свет при движении, если темно"
trigger:
platform: state
entity_id: binary_sensor.kitchen_motion
to: "on"
condition:
- condition: state
entity_id: sun.sun
state: "below_horizon"
- condition: numeric_state
entity_id: sensor.kitchen_lux
below: 50
action:
- service: light.turn_on
target:
entity_id: light.kitchen_ceiling
dаta:
brightness_pct: 80
mode: single
Проверка результата: Подойдите к датчику движения в тёмное время суток. Свет должен плавно включиться на 80% яркости. Проверьте также, что днём при достаточном освещении (>50 люкс) свет не включается.
2. Отключение света при отсутствии движения
Не менее важная автоматизация для экономии энергии.
- id: 'kitchen_light_off_no_motion'
alias: "Выключение света на кухне при отсутствии движения"
trigger:
platform: state
entity_id: binary_sensor.kitchen_motion
to: "off"
for:
minutes: 5
condition:
condition: state
entity_id: light.kitchen_ceiling
state: "on"
action:
service: light.turn_off
target:
entity_id: light.kitchen_ceiling
mode: single
Типичная ошибка: Слишком короткий таймаут (например, 1 минута) приведёт к постоянному миганию света. На кухне 5-10 минут — оптимально.
3. Ночной режим освещения
Автоматическое приглушение света вечером для комфортного перехода ко сну.
- id: 'evening_lights_dim'
alias: "Вечернее приглушение света"
trigger:
platform: time
at: "21:30:00"
action:
- service: light.turn_on
target:
entity_id:
- light.living_room_main
- light.kitchen_ceiling
dаta:
brightness_pct: 40
color_temp: 300
mode: single
🔒 Автоматизации для безопасности
4. Имитация присутствия дома
Одна из моих любимых автоматизаций для отпуска.
- id: 'vacation_mode_lights'
alias: "Имитация присутствия в отпуске"
trigger:
platform: time
at:
- "19:00:00"
- "21:00:00"
- "23:00:00"
condition:
condition: state
entity_id: input_boolean.vacation_mode
state: "on"
action:
choose:
- conditions:
- condition: time
after: "19:00:00"
before: "21:00:00"
sequence:
- service: light.turn_on
target:
entity_id: light.living_room_main
dаta:
brightness_pct: 70
- delay:
minutes: 30
- service: light.turn_off
target:
entity_id: light.living_room_main
- conditions:
- condition: time
after: "21:00:00"
before: "23:00:00"
sequence:
- service: light.turn_on
target:
entity_id: light.bedroom
dаta:
brightness_pct: 50
- delay:
minutes: 45
- service: light.turn_off
target:
entity_id: light.bedroom
mode: single
Тестирование: Включите input_boolean.vacation_mode и наблюдайте за работой в течение вечера. Свет должен включаться в разное время и на разную продолжительность.
5. Уведомление об открытой двери
- id: 'front_door_open_notification'
alias: "Уведомление об открытой входной двери"
trigger:
platform: state
entity_id: binary_sensor.front_door
to: "on"
for:
minutes: 10
action:
- service: notify.mobile_app_phone
dаta:
message: "Входная дверь открыта более 10 минут!"
title: "⚠️ Проверьте дверь"
mode: single
💰 Энергосберегающие автоматизации
6. Автоматическое отключение обогрева при открытом окне
Реальная экономия на отоплении!
- id: 'heat_off_if_window_open'
alias: "Отключить обогрев при открытом окне"
trigger:
platform: state
entity_id: binary_sensor.living_room_window
to: "on"
condition:
condition: state
entity_id: climate.living_room_thermostat
state: "heat"
action:
- service: climate.set_hvac_mode
target:
entity_id: climate.living_room_thermostat
dаta:
hvac_mode: "off"
- service: notify.mobile_app_phone
dаta:
message: "Обогрев в гостиной отключён из-за открытого окна"
mode: single
7. Умные розетки с таймером
Для устройств, которые не должны работать постоянно (бойлер, утюг).
- id: 'water_heater_timer'
alias: "Таймер для водонагревателя"
trigger:
platform: state
entity_id: switch.water_heater
to: "on"
action:
- delay:
hours: 2
- service: switch.turn_off
target:
entity_id: switch.water_heater
- service: notify.mobile_app_phone
dаta:
message: "Водонагреватель отключён по таймеру"
mode: restart
Важно: mode: restart означает, что если вы включите нагреватель повторно до срабатывания, таймер перезапустится.
🌅 Сценарные автоматизации
8. Утренний сценарий «Доброе утро»
- id: 'good_morning_scene'
alias: "Сценарий 'Доброе утро'"
trigger:
- platform: time
at: "07:00:00"
- platform: state
entity_id: binary_sensor.bedroom_motion
to: "on"
after: "06:30:00"
before: "09:00:00"
condition:
condition: state
entity_id: input_boolean.workday
state: "on"
action:
- service: light.turn_on
target:
entity_id: light.bedroom
dаta:
brightness_pct: 10
transition: 30
- delay:
seconds: 30
- service: light.turn_on
target:
entity_id:
- light.bedroom
- light.hallway
dаta:
brightness_pct: 70
transition: 60
- service: media_player.play_media
target:
entity_id: media_player.kitchen_speaker
dаta:
media_content_id: "https://stream.example.com/morning"
media_content_type: "music"
- service: switch.turn_on
target:
entity_id: switch.coffee_machine
mode: single
9. Сценарий «Спокойной ночи»
- id: 'good_night_scene'
alias: "Сценарий 'Спокойной ночи'"
trigger:
platform: state
entity_id: input_button.good_night
to: "pressed"
action:
- service: light.turn_off
target:
entity_id: light.all_lights
- service: light.turn_on
target:
entity_id: light.bedroom_nightlight
dаta:
brightness_pct: 1
- service: climate.set_temperature
target:
entity_id: climate.bedroom
dаta:
temperature: 18
- service: alarm_control_panel.alarm_arm_home
target:
entity_id: alarm_control_panel.house
mode: single
📱 Уведомления и напоминания
10. Напоминание о поливе растений
- id: 'plants_watering_reminder'
alias: "Напоминание о поливе растений"
trigger:
platform: time
at: "19:00:00"
condition:
- condition: state
entity_id: binary_sensor.plant_moisture_1
state: "off"
- condition: time
weekday:
- mon
- thu
action:
service: notify.mobile_app_phone
dаta:
message: "Пора полить растения в гостиной!"
title: "🌱 Напоминание"
mode: single
11. Уведомление о доставке (по движению у двери)
- id: 'delivery_notification'
alias: "Уведомление о движении у входной двери"
trigger:
platform: state
entity_id: binary_sensor.front_door_motion
to: "on"
condition:
- condition: state
entity_id: device_tracker.my_phone
state: "not_home"
- condition: sun
state: "above_horizon"
action:
service: notify.mobile_app_phone
dаta:
message: "Обнаружено движение у входной двери"
title: "🚪 Кто-то у двери"
dаta:
image: "{{ states.camera.front_door.attributes.entity_picture }}"
mode: single
🌤️ Погодозависимые автоматизации
12. Закрытие штор при сильном солнце
- id: 'close_blinds_on_sun'
alias: "Закрыть шторы при ярком солнце"
trigger:
platform: numeric_state
entity_id: sensor.outside_lux
above: 50000
condition:
- condition: state
entity_id: sun.sun
state: "above_horizon"
- condition: time
after: "10:00:00"
before: "16:00:00"
action:
service: cover.set_cover_position
target:
entity_id: cover.living_room_blinds
dаta:
position: 30
mode: single
13. Включение обогрева перед похолоданием
- id: 'preheat_before_cold'
alias: "Прогрев перед похолоданием"
trigger:
platform: numeric_state
entity_id: sensor.weather_temperature
below: 5
condition:
- condition: state
entity_id: device_tracker.my_phone
state: "home"
- condition: numeric_state
entity_id: sensor.indoor_temperature
below: 18
action:
service: climate.set_hvac_mode
target:
entity_id: climate.living_room_thermostat
dаta:
hvac_mode: "heat"
temperature: 21
mode: single
🔌 Интеграции с внешними сервисами
14. Автоматизация на основе календаря
- id: 'calendar_based_automation'
alias: "Режим 'Не беспокоить' во время встреч"
trigger:
platform: calendar
event: "start"
entity_id: calendar.my_calendar
offset: "0:00"
condition:
condition: template
value_template: "{{ trigger.calendar_event.summary | lower | regex_findall('(meeting|call|conference)') | length > 0 }}"
action:
service: input_boolean.turn_on
target:
entity_id: input_boolean.do_not_disturb
mode: single
15. Уведомление о новых письмах
- id: 'important_email_notification'
alias: "Уведомление о важных письмах"
trigger:
platform: state
entity_id: sensor.unread_emails
condition:
condition: template
value_template: "{{ states('sensor.unread_emails') | int > 0 }}"
action:
choose:
- conditions:
- condition: template
value_template: "{{ 'urgent' in state_attr('sensor.unread_emails', 'latest_subject') | lower }}"
sequence:
service: notify.mobile_app_phone
dаta:
message: "Срочное письмо: {{ state_attr('sensor.unread_emails', 'latest_subject') }}"
title: "📧 СРОЧНО!"
mode: single
🎮 Продвинутые автоматизации с шаблонами
16. Адаптивное освещение по времени суток
- id: 'adaptive_lighting'
alias: "Адаптивное освещение"
trigger:
- platform: time_pattern
minutes: "/30"
- platform: homeassistant
event: start
action:
service: light.turn_on
target:
entity_id: light.adaptive_lamp
dаta:
brightness_pct: >
{% set hour = now().hour %}
{% if hour < 8 or hour > 22 %}
30
{% elif hour >= 8 and hour < 12 %}
70
{% elif hour >= 12 and hour < 18 %}
85
{% else %}
60
{% endif %}
color_temp: >
{% set hour = now().hour %}
{% if hour < 6 or hour > 20 %}
300
{% else %}
{{ 500 - (hour - 6) * 20 }}
{% endif %}
mode: single
17. Умный таймер для ванной
- id: 'broom_timer_with_motion'
alias: "Умный таймер для ванной"
variables:
timer_duration: >
{% set hour = now().hour %}
{% if hour > 22 or hour < 6 %}
10 # Ночью короче
{% else %}
20 # Днём дольше
{% endif %}
trigger:
platform: state
entity_id: binary_sensor.bathroom_motion
to: "on"
condition:
condition: state
entity_id: light.bathroom_main
state: "off"
action:
- service: light.turn_on
target:
entity_id: light.bathroom_main
- delay:
minutes: "{{ timer_duration }}"
- condition: state
entity_id: binary_sensor.bathroom_motion
state: "off"
- service: light.turn_off
target:
entity_id: light.bathroom_main
mode: restart
🛠️ Технические и служебные автоматизации
18. Автоматическое создание резервных копий
- id: 'auto_backup'
alias: "Автоматическое резервное копирование"
trigger:
platform: time
at: "02:00:00"
condition:
condition: time
weekday:
- mon
- thu
action:
- service: hassio.backup_full
dаta:
name: "AutoBackup {{ now().strftime('%Y-%m-%d') }}"
password: !secret backup_password
- delay:
minutes: 5
- service: notify.mobile_app_phone
dаta:
message: "Резервная копия Home Assistant создана"
mode: single
19. Перезагрузка зависших устройств
- id: 'restart_unresponsive_devices'
alias: "Перезагрузка зависших устройств"
trigger:
platform: time_pattern
hours: "/6"
action:
choose:
- conditions:
- condition: template
value_template: "{{ states('sensor.wifi_router_uptime') | int > 259200 }}"
sequence:
service: switch.toggle
target:
entity_id: switch.wifi_router
20. Очистка старых уведомлений
```yaml - id: 'clean_old_notifications' alias: "Очистка старых уведомлений" trigger: platform: time at: "04:30:00" action: service: persistent_notification.dismiss target: entity_id
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.
Home Assistant: А есть ли аналоги?
Matter и Thread в Home Assistant: новый стандарт умного дома 2024
Sonoff Zigbee 3.0 USB Dongle Plus в Home Assistant: настройка ZHA и Zigbee2MQTT
Xiaomi Miot Auto в Home Assistant: установка, настройка и подключение устройств Xiaomi
LocalTuya. Перепрошивка розеток Tuya: Как отвязать розетку от облака.
Node-RED + Home Assistant: Визуальная автоматизация умного дома без единой строчки кода