Тема warm_home, дашборд «Тёплый дом», сценарии (scripts+automations) и helpers. Все entity_id — плейсхолдеры, деплоя нет. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Up44uyffFr8MuxiqfB61Uv
699 lines
30 KiB
YAML
699 lines
30 KiB
YAML
# =============================================================================
|
||
# family_scenarios.yaml — сценарии тёплого дома для многодетной семьи
|
||
# -----------------------------------------------------------------------------
|
||
# Это HA-«пакет»: один файл собирает сценарии (script:) и автоматизации
|
||
# (automation:) в одном месте. Подключается через packages, см. docs/SETUP.md:
|
||
# homeassistant:
|
||
# packages: !include_dir_named packages
|
||
#
|
||
# ВАЖНО ПРО ENTITY_ID:
|
||
# Все light.*, climate.*, cover.*, media_player.*, switch.*, binary_sensor.* и
|
||
# прочее ниже — ПЛЕЙСХОЛДЕРЫ с понятными именами (гостиная, детская_1 и т.п.).
|
||
# Ничего не привязано к реальному дому. Замените их на свои сущности:
|
||
# - откройте Инструменты разработчика → Состояния, найдите свои entity_id;
|
||
# - через «Найти и заменить» в редакторе поменяйте, например,
|
||
# light.gostinaya → light.vasha_gostinaya.
|
||
# Пока сущности не существуют — сценарий просто ничего не сделает с ней и не
|
||
# сломает остальное (для чистоты можно закомментировать неиспользуемые строки).
|
||
#
|
||
# Стиль: тёплый свет вечером 2700K, мягкие подъёмы, тихие ночи, спокойные дети.
|
||
# =============================================================================
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# СЦЕНАРИИ (scripts) — то, что можно запустить кнопкой с панели или из автоматизаций
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
script:
|
||
|
||
# === ПО ВРЕМЕНИ СУТОК =====================================================
|
||
|
||
utro_budni:
|
||
alias: "Утро · будни"
|
||
icon: mdi:weather-sunset-up
|
||
description: >
|
||
Плавный школьный подъём: мягко разгораются детские, поднимаются шторы,
|
||
греется пол в ванной, приходит погода на сегодня, включается кофе.
|
||
mode: restart
|
||
sequence:
|
||
# 1) Мягко разгораем свет в детских за 3 минуты — без резкого «щёлк».
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.detskaya_1 # замените на свои детские
|
||
- light.detskaya_2
|
||
- light.detskaya_3
|
||
data:
|
||
brightness_pct: 45
|
||
kelvin: 3200 # тёплый утренний
|
||
transition: 180
|
||
# 2) Приоткрываем шторы в детских (естественный свет будит мягче).
|
||
- service: cover.set_cover_position
|
||
target:
|
||
entity_id:
|
||
- cover.detskaya_1
|
||
- cover.detskaya_2
|
||
data:
|
||
position: 60
|
||
# 3) Тёплый пол в ванной — чтобы босиком было не холодно.
|
||
- service: climate.set_temperature
|
||
target:
|
||
entity_id: climate.vannaya_teplyj_pol
|
||
data:
|
||
temperature: 24
|
||
# 4) Погода на сегодня — уведомлением взрослым (настройте notify.*).
|
||
- service: notify.family_adults # см. docs/SETUP.md — группа взрослых
|
||
data:
|
||
title: "Доброе утро ☀️"
|
||
message: >
|
||
Сегодня: {{ states('weather.dom') }},
|
||
{{ state_attr('weather.dom','temperature') }}°.
|
||
Подъём в школу — не проспите!
|
||
# 5) Кофе (умная розетка кофемашины). Уберите, если нет.
|
||
- service: switch.turn_on
|
||
target:
|
||
entity_id: switch.kofemashina
|
||
# 6) Тихо снимаем ночной режим.
|
||
- service: input_boolean.turn_off
|
||
target:
|
||
entity_id:
|
||
- input_boolean.night
|
||
- input_boolean.quiet_hours
|
||
|
||
utro_vyhodnye:
|
||
alias: "Утро · выходные"
|
||
icon: mdi:weather-sunset
|
||
description: "Позже, тише, без будильников — пусть все высыпаются."
|
||
mode: restart
|
||
sequence:
|
||
# Свет в детских не трогаем — будим только гостиную/кухню, и то нежно.
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id: light.kuhnya
|
||
data:
|
||
brightness_pct: 40
|
||
kelvin: 3000
|
||
transition: 240
|
||
# Шторы в детских НЕ открываем автоматически — пусть спят.
|
||
- service: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.night
|
||
- service: notify.family_adults
|
||
data:
|
||
title: "Доброе выходное утро 🌤️"
|
||
message: "Спешить некуда. Сегодня {{ states('weather.dom') }}."
|
||
|
||
den_nikogo_net:
|
||
alias: "День · никого нет"
|
||
icon: mdi:home-export-outline
|
||
description: "Эко-режим: климат в экономию, свет гаснет, напоминание проветрить."
|
||
mode: single
|
||
sequence:
|
||
- service: light.turn_off
|
||
target:
|
||
entity_id: all
|
||
- service: climate.set_temperature
|
||
target:
|
||
entity_id:
|
||
- climate.gostinaya
|
||
- climate.kuhnya
|
||
- climate.detskaya_1
|
||
- climate.detskaya_2
|
||
- climate.detskaya_3
|
||
- climate.spalnya
|
||
data:
|
||
temperature: "{{ states('input_number.eco_temperature') | float(18) }}"
|
||
- service: input_boolean.turn_on
|
||
target:
|
||
entity_id: input_boolean.eco
|
||
# Ненавязчивое напоминание проветрить (раз в день хватает).
|
||
- service: notify.family_adults
|
||
data:
|
||
message: "Дома никого — самое время проветрить, когда вернётесь 🍃"
|
||
|
||
vecher:
|
||
alias: "Вечер"
|
||
icon: mdi:weather-night-partly-cloudy
|
||
description: "Тёплый свет 2700K, сцена ужина на кухне, подсветка за ТВ."
|
||
mode: restart
|
||
sequence:
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.gostinaya
|
||
- light.kuhnya
|
||
- light.prihozhaya
|
||
data:
|
||
brightness_pct: 70
|
||
kelvin: 2700 # тёплый вечерний
|
||
transition: 5
|
||
# Подсветка за телевизором — уютный фон.
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id: light.tv_podsvetka
|
||
data:
|
||
brightness_pct: 40
|
||
rgb_color: [255, 170, 90]
|
||
- service: climate.set_temperature
|
||
target:
|
||
entity_id:
|
||
- climate.gostinaya
|
||
- climate.kuhnya
|
||
data:
|
||
temperature: "{{ states('input_number.comfort_temperature') | float(22) }}"
|
||
- service: input_boolean.turn_off
|
||
target:
|
||
entity_id: input_boolean.eco
|
||
|
||
noch_otboj:
|
||
alias: "Ночь · отбой"
|
||
icon: mdi:weather-night
|
||
description: "Всё приглушаем, детские ночники, охрана периметра, проверка «всё выключено?»."
|
||
mode: restart
|
||
sequence:
|
||
# Гасим основной свет плавно.
|
||
- service: light.turn_off
|
||
target:
|
||
entity_id:
|
||
- light.gostinaya
|
||
- light.kuhnya
|
||
- light.prihozhaya
|
||
- light.tv_podsvetka
|
||
data:
|
||
transition: 8
|
||
# Детские ночники — тёплые и очень тусклые.
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.nochnik_detskaya_1
|
||
- light.nochnik_detskaya_2
|
||
- light.nochnik_detskaya_3
|
||
data:
|
||
brightness_pct: 8
|
||
kelvin: 2200
|
||
# Охрана периметра (двери/окна/уличные датчики) — только по периметру,
|
||
# чтобы движение внутри ночью не поднимало тревогу.
|
||
- service: alarm_control_panel.alarm_arm_night
|
||
target:
|
||
entity_id: alarm_control_panel.dom
|
||
data:
|
||
code: "!secret alarm_code" # задайте код в secrets.yaml
|
||
- service: input_boolean.turn_on
|
||
target:
|
||
entity_id:
|
||
- input_boolean.night
|
||
- input_boolean.quiet_hours
|
||
# Мягкая проверка: не остались ли включёнными «тяжёлые» приборы.
|
||
- if:
|
||
- condition: state
|
||
entity_id: switch.uteg # пример: утюг
|
||
state: "on"
|
||
then:
|
||
- service: notify.family_adults
|
||
data:
|
||
message: "⚠️ Кажется, утюг ещё включён. Заглянуть перед сном?"
|
||
|
||
# === СИТУАЦИИ =============================================================
|
||
|
||
uhod_iz_doma:
|
||
alias: "Уход из дома"
|
||
icon: mdi:exit-run
|
||
description: "Все ушли: свет off, климат эко, охрана, проверка окон, пылесосы."
|
||
mode: single
|
||
sequence:
|
||
- service: light.turn_off
|
||
target: { entity_id: all }
|
||
- service: climate.set_temperature
|
||
target:
|
||
entity_id:
|
||
- climate.gostinaya
|
||
- climate.kuhnya
|
||
- climate.detskaya_1
|
||
- climate.detskaya_2
|
||
- climate.detskaya_3
|
||
- climate.spalnya
|
||
data:
|
||
temperature: "{{ states('input_number.eco_temperature') | float(18) }}"
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.eco }
|
||
# Проверка окон/дверей — если что-то открыто, предупреждаем, но не блокируем.
|
||
- variables:
|
||
otkryto: >
|
||
{{ states.binary_sensor
|
||
| selectattr('attributes.device_class','in',['window','door'])
|
||
| selectattr('state','eq','on')
|
||
| map(attribute='name') | list | join(', ') }}
|
||
- if: "{{ otkryto | length > 0 }}"
|
||
then:
|
||
- service: notify.family_adults
|
||
data:
|
||
title: "Уходите — а тут открыто:"
|
||
message: "Проверьте: {{ otkryto }}"
|
||
# Ставим охрану на «отсутствие».
|
||
- service: alarm_control_panel.alarm_arm_away
|
||
target: { entity_id: alarm_control_panel.dom }
|
||
data:
|
||
code: "!secret alarm_code"
|
||
# Запускаем роботов-пылесосов — уборка, пока никого нет.
|
||
- service: vacuum.start
|
||
target: { entity_id: vacuum.robot }
|
||
|
||
vozvrashchenie_domoj:
|
||
alias: "Возвращение домой"
|
||
icon: mdi:home-import-outline
|
||
description: "Свет по времени суток, климат в комфорт, тёплое приветствие."
|
||
mode: single
|
||
sequence:
|
||
- service: alarm_control_panel.alarm_disarm
|
||
target: { entity_id: alarm_control_panel.dom }
|
||
data:
|
||
code: "!secret alarm_code"
|
||
- service: input_boolean.turn_off
|
||
target: { entity_id: input_boolean.eco }
|
||
# Свет зависит от времени суток: днём — прихожая, вечером — тёплый уют.
|
||
- choose:
|
||
- conditions:
|
||
- condition: sun
|
||
after: sunset
|
||
sequence:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.vecher }
|
||
default:
|
||
- service: light.turn_on
|
||
target: { entity_id: light.prihozhaya }
|
||
data: { brightness_pct: 60 }
|
||
- service: climate.set_temperature
|
||
target:
|
||
entity_id:
|
||
- climate.gostinaya
|
||
- climate.kuhnya
|
||
data:
|
||
temperature: "{{ states('input_number.comfort_temperature') | float(22) }}"
|
||
- service: notify.family_adults
|
||
data:
|
||
message: "С возвращением! Дом уже согревается 🏡"
|
||
|
||
gosti:
|
||
alias: "Гости"
|
||
icon: mdi:account-group
|
||
description: "Приветливый ровный свет, музыка, комфортный климат."
|
||
mode: restart
|
||
sequence:
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.gostinaya
|
||
- light.kuhnya
|
||
- light.prihozhaya
|
||
data:
|
||
brightness_pct: 85
|
||
kelvin: 2900
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.guests }
|
||
- service: media_player.play_media
|
||
target: { entity_id: media_player.gostinaya }
|
||
data:
|
||
media_content_id: "Playlist: Вечер с друзьями" # замените на свой источник
|
||
media_content_type: playlist
|
||
- service: climate.set_temperature
|
||
target: { entity_id: climate.gostinaya }
|
||
data: { temperature: 23 }
|
||
|
||
kino:
|
||
alias: "Кино"
|
||
icon: mdi:movie-open
|
||
description: "Затемнить гостиную, включить подсветку ТВ, режим «не беспокоить»."
|
||
mode: restart
|
||
sequence:
|
||
- service: light.turn_off
|
||
target: { entity_id: light.gostinaya }
|
||
data: { transition: 3 }
|
||
- service: light.turn_on
|
||
target: { entity_id: light.tv_podsvetka }
|
||
data:
|
||
brightness_pct: 25
|
||
rgb_color: [120, 90, 200]
|
||
- service: cover.close_cover
|
||
target: { entity_id: cover.gostinaya }
|
||
- service: input_boolean.turn_on
|
||
target:
|
||
entity_id:
|
||
- input_boolean.movie
|
||
- input_boolean.quiet_hours # уведомления притихают, см. автоматизацию тихого режима
|
||
|
||
ukladyvanie_detej:
|
||
alias: "Укладывание детей"
|
||
icon: mdi:sleep
|
||
description: "Ночники warm dim, колыбельная / белый шум, дом притихает, тихий режим."
|
||
mode: restart
|
||
sequence:
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.nochnik_detskaya_1
|
||
- light.nochnik_detskaya_2
|
||
- light.nochnik_detskaya_3
|
||
data:
|
||
brightness_pct: 12
|
||
kelvin: 2200
|
||
transition: 30
|
||
# Основной свет в детских гасим совсем.
|
||
- service: light.turn_off
|
||
target:
|
||
entity_id:
|
||
- light.detskaya_1
|
||
- light.detskaya_2
|
||
- light.detskaya_3
|
||
data: { transition: 20 }
|
||
# Белый шум / колыбельная на тихой громкости.
|
||
- service: media_player.volume_set
|
||
target: { entity_id: media_player.detskaya_1 }
|
||
data: { volume_level: 0.18 }
|
||
- service: media_player.play_media
|
||
target: { entity_id: media_player.detskaya_1 }
|
||
data:
|
||
media_content_id: "Белый шум" # замените: колыбельная / дождь / white noise
|
||
media_content_type: music
|
||
# Приглушаем остальной дом.
|
||
- service: light.turn_on
|
||
target: { entity_id: light.gostinaya }
|
||
data: { brightness_pct: 30, kelvin: 2500 }
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.quiet_hours }
|
||
|
||
rebenok_prosnulsya:
|
||
alias: "Ребёнок проснулся ночью"
|
||
icon: mdi:weather-night
|
||
description: "Мягкая подсветка пути в туалет 10–15%, без яркого света."
|
||
mode: single
|
||
sequence:
|
||
# Тусклая тёплая «дорожка» коридор → санузел.
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.koridor
|
||
- light.sanuzel
|
||
data:
|
||
brightness_pct: 12
|
||
kelvin: 2200
|
||
# Через 3 минуты гасим — если снова уснул, свет не мешает.
|
||
- delay: "00:03:00"
|
||
- service: light.turn_off
|
||
target:
|
||
entity_id:
|
||
- light.koridor
|
||
- light.sanuzel
|
||
data: { transition: 10 }
|
||
|
||
trevoga:
|
||
alias: "Тревога"
|
||
icon: mdi:alarm-light
|
||
description: "Дым/протечка/CO/взлом: яркий свет везде, голос, уведомление взрослым, вода off."
|
||
mode: restart
|
||
sequence:
|
||
# Свет — ярко и максимально, чтобы найти дорогу и детей.
|
||
- service: light.turn_on
|
||
target: { entity_id: all }
|
||
data:
|
||
brightness_pct: 100
|
||
kelvin: 4000
|
||
# Голосовое оповещение по дому.
|
||
- service: tts.speak
|
||
target: { entity_id: tts.home_assistant_cloud } # замените на свой TTS
|
||
data:
|
||
cache: false
|
||
media_player_entity_id: media_player.ves_dom # мультирум «весь дом»
|
||
message: "Внимание. Сработала система безопасности. Все спокойно к выходу."
|
||
# Уведомление ВСЕМ взрослым (критично).
|
||
- service: notify.family_adults
|
||
data:
|
||
title: "🚨 ТРЕВОГА В ДОМЕ"
|
||
message: "Сработал датчик безопасности. Проверьте детей и дом."
|
||
data:
|
||
priority: high
|
||
# При протечке — перекрываем воду (клапан). Безопасно и в остальных случаях.
|
||
- service: switch.turn_off
|
||
target: { entity_id: switch.klapan_vody }
|
||
|
||
ekonomiya_nochnoj_tarif:
|
||
alias: "Экономия · ночной тариф"
|
||
icon: mdi:transmission-tower-export
|
||
description: "Тяжёлые нагрузки — на ночной тариф, климат в эко на ночь."
|
||
mode: single
|
||
sequence:
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.night_tariff }
|
||
# Включаем «тяжёлые» приборы, которые ждали дешёвого времени.
|
||
- service: switch.turn_on
|
||
target:
|
||
entity_id:
|
||
- switch.bojler # бойлер / водонагреватель
|
||
- switch.posudomojka # посудомойка (отложенный старт)
|
||
- switch.stiralnaya # стиральная машина
|
||
# Климат на ночь — экономнее.
|
||
- service: climate.set_temperature
|
||
target:
|
||
entity_id:
|
||
- climate.gostinaya
|
||
- climate.kuhnya
|
||
data:
|
||
temperature: "{{ states('input_number.eco_temperature') | float(18) }}"
|
||
|
||
boleet_rebenok:
|
||
alias: "Болеет ребёнок"
|
||
icon: mdi:emoticon-sick-outline
|
||
description: "Климат/увлажнитель в комнате ребёнка, мягкий свет, тихий режим."
|
||
mode: restart
|
||
sequence:
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.sick_child }
|
||
# Определяем комнату из input_select и настраиваем её.
|
||
# (Для простоты пример на детскую 1 — размножьте под свои комнаты.)
|
||
- service: climate.set_temperature
|
||
target: { entity_id: climate.detskaya_1 }
|
||
data: { temperature: 22 }
|
||
- service: humidifier.turn_on
|
||
target: { entity_id: humidifier.detskaya_1 }
|
||
- service: humidifier.set_humidity
|
||
target: { entity_id: humidifier.detskaya_1 }
|
||
data: { humidity: 55 }
|
||
- service: light.turn_on
|
||
target: { entity_id: light.detskaya_1 }
|
||
data: { brightness_pct: 25, kelvin: 2500 }
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.quiet_hours }
|
||
|
||
prazdnik:
|
||
alias: "Праздник · День рождения"
|
||
icon: mdi:party-popper
|
||
description: "Праздничная цветная сцена, музыка, веселье."
|
||
mode: restart
|
||
sequence:
|
||
- service: input_boolean.turn_on
|
||
target: { entity_id: input_boolean.party }
|
||
# Цветная динамичная сцена по гостиной/кухне.
|
||
- service: light.turn_on
|
||
target:
|
||
entity_id:
|
||
- light.gostinaya
|
||
- light.tv_podsvetka
|
||
data:
|
||
brightness_pct: 90
|
||
effect: "colorloop" # если лампы умеют; иначе задайте rgb_color
|
||
- service: media_player.play_media
|
||
target: { entity_id: media_player.ves_dom }
|
||
data:
|
||
media_content_id: "Playlist: Праздник"
|
||
media_content_type: playlist
|
||
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# АВТОМАТИЗАЦИИ (automation) — что срабатывает само, по триггерам
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
automation:
|
||
|
||
# --- Утро будни: за N минут до подъёма запускаем плавный подъём ------------
|
||
- id: warm_family_utro_budni
|
||
alias: "Тёплый дом · Утро будни (по расписанию школы)"
|
||
description: "В будни в указанное время запускает сценарий «Утро · будни»."
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.school_wake_weekday
|
||
condition:
|
||
# Только по будням (пн–пт).
|
||
- condition: time
|
||
weekday: [mon, tue, wed, thu, fri]
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.utro_budni }
|
||
|
||
# --- Утро выходные ---------------------------------------------------------
|
||
- id: warm_family_utro_vyhodnye
|
||
alias: "Тёплый дом · Утро выходные"
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.weekend_wake
|
||
condition:
|
||
- condition: time
|
||
weekday: [sat, sun]
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.utro_vyhodnye }
|
||
|
||
# --- Вечер: включаем тёплый свет на закате ---------------------------------
|
||
- id: warm_family_vecher_zakat
|
||
alias: "Тёплый дом · Вечер на закате"
|
||
description: "На закате, если кто-то дома, включает вечернюю тёплую сцену."
|
||
trigger:
|
||
- platform: sun
|
||
event: sunset
|
||
offset: "-00:20:00" # за 20 минут до заката
|
||
condition:
|
||
# Кто-то дома (см. group.family — настройте под своих людей).
|
||
- condition: state
|
||
entity_id: group.family
|
||
state: home
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.vecher }
|
||
|
||
# --- Отбой детей по расписанию (подсказка, не насильно) --------------------
|
||
- id: warm_family_kids_bedtime_hint
|
||
alias: "Тёплый дом · Пора укладывать детей"
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.kids_bedtime
|
||
action:
|
||
- service: notify.family_adults
|
||
data:
|
||
message: "🌙 Пора укладывать детей. Нажмите «Укладывание детей» на панели."
|
||
|
||
# --- Все ушли → «Уход из дома» ---------------------------------------------
|
||
- id: warm_family_vse_ushli
|
||
alias: "Тёплый дом · Все ушли (presence)"
|
||
description: "Когда последний человек покинул зону дома — запускает уход."
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.family
|
||
to: not_home
|
||
for: "00:05:00" # 5 минут, чтобы не срабатывать на «вышел к машине»
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.uhod_iz_doma }
|
||
|
||
# --- Кто-то вернулся → «Возвращение домой» ---------------------------------
|
||
- id: warm_family_kto_to_vernulsya
|
||
alias: "Тёплый дом · Возвращение домой (presence)"
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.family
|
||
from: not_home
|
||
to: home
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.vozvrashchenie_domoj }
|
||
|
||
# --- Ребёнок проснулся ночью: движение в детской/коридоре ночью -------------
|
||
- id: warm_family_rebenok_prosnulsya
|
||
alias: "Тёплый дом · Движение ночью в детской зоне"
|
||
description: "Ночью мягко подсвечивает путь, если ребёнок встал."
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.dvizhenie_koridor
|
||
- binary_sensor.dvizhenie_detskaya_1
|
||
- binary_sensor.dvizhenie_detskaya_2
|
||
- binary_sensor.dvizhenie_detskaya_3
|
||
to: "on"
|
||
condition:
|
||
# Только когда включён ночной режим (или input_boolean.night).
|
||
- condition: state
|
||
entity_id: input_boolean.night
|
||
state: "on"
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.rebenok_prosnulsya }
|
||
|
||
# --- ТРЕВОГА: дым / CO / протечка / взлом -----------------------------------
|
||
- id: warm_family_trevoga
|
||
alias: "Тёплый дом · ТРЕВОГА (дым/CO/протечка/взлом)"
|
||
description: "Любой из критических датчиков → сценарий «Тревога»."
|
||
mode: single
|
||
trigger:
|
||
- platform: state
|
||
entity_id:
|
||
- binary_sensor.dym_kuhnya # дым
|
||
- binary_sensor.dym_gostinaya
|
||
- binary_sensor.co_kotelnaya # угарный газ
|
||
- binary_sensor.protechka_vannaya # протечка
|
||
- binary_sensor.protechka_kuhnya
|
||
to: "on"
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.trevoga }
|
||
|
||
# --- Взлом при поставленной охране ------------------------------------------
|
||
- id: warm_family_vzlom
|
||
alias: "Тёплый дом · Взлом (охрана сработала)"
|
||
trigger:
|
||
- platform: state
|
||
entity_id: alarm_control_panel.dom
|
||
to: triggered
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.trevoga }
|
||
|
||
# --- Ночной тариф: включить/выключить по времени ----------------------------
|
||
- id: warm_family_nochnoj_tarif_on
|
||
alias: "Тёплый дом · Ночной тариф — старт"
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.night_tariff_start
|
||
action:
|
||
- service: script.turn_on
|
||
target: { entity_id: script.ekonomiya_nochnoj_tarif }
|
||
|
||
- id: warm_family_nochnoj_tarif_off
|
||
alias: "Тёплый дом · Ночной тариф — конец"
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.night_tariff_end
|
||
action:
|
||
- service: input_boolean.turn_off
|
||
target: { entity_id: input_boolean.night_tariff }
|
||
# Останавливаем «тяжёлые» нагрузки, чтобы не работали по дневному тарифу.
|
||
- service: switch.turn_off
|
||
target:
|
||
entity_id:
|
||
- switch.bojler
|
||
- switch.stiralnaya
|
||
|
||
# --- Тихий режим: пока включён quiet_hours, уведомления не шумят -------------
|
||
# (Практика: в самих notify-сценариях можно проверять это состояние.
|
||
# Здесь — пример: приглушаем громкость мультирума при входе в тихий час.)
|
||
- id: warm_family_quiet_hours_volume
|
||
alias: "Тёплый дом · Тихий час — приглушить звук"
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.quiet_hours
|
||
to: "on"
|
||
action:
|
||
- service: media_player.volume_set
|
||
target: { entity_id: media_player.ves_dom }
|
||
data: { volume_level: 0.12 }
|
||
|
||
# --- Напоминание проветрить, когда днём долго никого нет ---------------------
|
||
- id: warm_family_provetrit
|
||
alias: "Тёплый дом · Напоминание проветрить"
|
||
trigger:
|
||
- platform: state
|
||
entity_id: group.family
|
||
to: not_home
|
||
for: "04:00:00"
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.eco
|
||
state: "on"
|
||
action:
|
||
- service: notify.family_adults
|
||
data:
|
||
message: "🍃 Дома давно никого — не забудьте проветрить по возвращении."
|