Тема 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
387 lines
14 KiB
YAML
387 lines
14 KiB
YAML
# =============================================================================
|
|
# dashboard.yaml — дашборд «Тёплый дом» (Lovelace, YAML-режим)
|
|
# -----------------------------------------------------------------------------
|
|
# Крупные читаемые тайлы для всей семьи. Только стандартные карточки HA —
|
|
# работает из коробки, без сторонних модулей (HACS не требуется).
|
|
#
|
|
# Подключение (см. docs/SETUP.md):
|
|
# lovelace:
|
|
# mode: yaml
|
|
# dashboards:
|
|
# warm-home:
|
|
# mode: yaml
|
|
# title: Тёплый дом
|
|
# icon: mdi:home-heart
|
|
# show_in_sidebar: true
|
|
# filename: lovelace/dashboard.yaml
|
|
#
|
|
# ⚠️ Все entity_id ниже — ПЛЕЙСХОЛДЕРЫ (light.gostinaya, climate.detskaya_1…).
|
|
# Замените на свои: Инструменты разработчика → Состояния.
|
|
# Несуществующие сущности покажутся серым «недоступно» и не сломают панель.
|
|
#
|
|
# Совет: назначьте тему «warm_home» этому дашборду в его настройках (⋮ →
|
|
# «Изменить дашборд» → «Заголовок» → тема), чтобы всё было в тёплой палитре.
|
|
# =============================================================================
|
|
|
|
title: Тёплый дом
|
|
views:
|
|
|
|
# ───────────────────────────── ГЛАВНАЯ ─────────────────────────────────
|
|
- title: Дом
|
|
path: dom
|
|
icon: mdi:home-heart
|
|
type: sections
|
|
max_columns: 3
|
|
sections:
|
|
|
|
# ── Крупные кнопки-сцены ──
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Сцены дома
|
|
heading_style: title
|
|
icon: mdi:gesture-tap-button
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: button
|
|
name: Утро
|
|
icon: mdi:weather-sunset-up
|
|
tap_action: { action: perform-action, perform_action: script.utro_budni }
|
|
show_state: false
|
|
- type: button
|
|
name: Вечер
|
|
icon: mdi:weather-night-partly-cloudy
|
|
tap_action: { action: perform-action, perform_action: script.vecher }
|
|
- type: button
|
|
name: Отбой
|
|
icon: mdi:weather-night
|
|
tap_action: { action: perform-action, perform_action: script.noch_otboj }
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: button
|
|
name: Ушли
|
|
icon: mdi:exit-run
|
|
tap_action: { action: perform-action, perform_action: script.uhod_iz_doma }
|
|
- type: button
|
|
name: Вернулись
|
|
icon: mdi:home-import-outline
|
|
tap_action: { action: perform-action, perform_action: script.vozvrashchenie_domoj }
|
|
- type: button
|
|
name: Кино
|
|
icon: mdi:movie-open
|
|
tap_action: { action: perform-action, perform_action: script.kino }
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: button
|
|
name: Гости
|
|
icon: mdi:account-group
|
|
tap_action: { action: perform-action, perform_action: script.gosti }
|
|
- type: button
|
|
name: Спать детям
|
|
icon: mdi:sleep
|
|
tap_action: { action: perform-action, perform_action: script.ukladyvanie_detej }
|
|
- type: button
|
|
name: Праздник
|
|
icon: mdi:party-popper
|
|
tap_action: { action: perform-action, perform_action: script.prazdnik }
|
|
|
|
# ── Погода ──
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Погода
|
|
icon: mdi:weather-partly-cloudy
|
|
- type: weather-forecast
|
|
entity: weather.dom # замените на свою weather.*
|
|
show_current: true
|
|
show_forecast: true
|
|
forecast_type: daily
|
|
|
|
# ── Кто дома (presence) ──
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Кто дома
|
|
icon: mdi:account-multiple
|
|
- type: glance
|
|
show_state: true
|
|
columns: 3
|
|
entities:
|
|
- entity: person.mama # замените на своих людей
|
|
name: Мама
|
|
- entity: person.papa
|
|
name: Папа
|
|
- entity: person.rebenok_1
|
|
name: Старший
|
|
- entity: person.rebenok_2
|
|
name: Средний
|
|
- entity: person.rebenok_3
|
|
name: Младший
|
|
- type: entities
|
|
title: Режимы дома
|
|
entities:
|
|
- input_boolean.family_mode
|
|
- input_boolean.guests
|
|
- input_boolean.eco
|
|
- input_boolean.quiet_hours
|
|
- input_boolean.night
|
|
|
|
# ───────────────────────────── КОМНАТЫ ─────────────────────────────────
|
|
- title: Комнаты
|
|
path: komnaty
|
|
icon: mdi:floor-plan
|
|
type: sections
|
|
max_columns: 3
|
|
sections:
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Гостиная
|
|
icon: mdi:sofa
|
|
- type: tile
|
|
entity: light.gostinaya
|
|
name: Свет
|
|
features: [{ type: light-brightness }]
|
|
- type: thermostat
|
|
entity: climate.gostinaya
|
|
- type: tile
|
|
entity: cover.gostinaya
|
|
name: Шторы
|
|
features: [{ type: cover-position }]
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Кухня
|
|
icon: mdi:silverware-fork-knife
|
|
- type: tile
|
|
entity: light.kuhnya
|
|
name: Свет
|
|
features: [{ type: light-brightness }]
|
|
- type: thermostat
|
|
entity: climate.kuhnya
|
|
- type: tile
|
|
entity: switch.kofemashina
|
|
name: Кофемашина
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Детские
|
|
icon: mdi:teddy-bear
|
|
- type: tile
|
|
entity: light.detskaya_1
|
|
name: Детская 1 · свет
|
|
features: [{ type: light-brightness }]
|
|
- type: tile
|
|
entity: light.nochnik_detskaya_1
|
|
name: Детская 1 · ночник
|
|
features: [{ type: light-brightness }]
|
|
- type: thermostat
|
|
entity: climate.detskaya_1
|
|
- type: tile
|
|
entity: light.detskaya_2
|
|
name: Детская 2 · свет
|
|
features: [{ type: light-brightness }]
|
|
- type: tile
|
|
entity: light.detskaya_3
|
|
name: Детская 3 · свет
|
|
features: [{ type: light-brightness }]
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Спальня
|
|
icon: mdi:bed-king
|
|
- type: tile
|
|
entity: light.spalnya
|
|
name: Свет
|
|
features: [{ type: light-brightness }]
|
|
- type: thermostat
|
|
entity: climate.spalnya
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Ванная
|
|
icon: mdi:shower
|
|
- type: tile
|
|
entity: light.vannaya
|
|
name: Свет
|
|
- type: thermostat
|
|
entity: climate.vannaya_teplyj_pol
|
|
name: Тёплый пол
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Прихожая
|
|
icon: mdi:coat-rack
|
|
- type: tile
|
|
entity: light.prihozhaya
|
|
name: Свет
|
|
- type: tile
|
|
entity: lock.vhodnaya_dver
|
|
name: Замок
|
|
|
|
# ───────────────────────── ДЕТСКАЯ ЗОНА ────────────────────────────────
|
|
- title: Дети
|
|
path: deti
|
|
icon: mdi:teddy-bear
|
|
type: sections
|
|
max_columns: 2
|
|
sections:
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Быстрые сцены для детей
|
|
icon: mdi:baby-face-outline
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: button
|
|
name: Ночники
|
|
icon: mdi:lightbulb-night
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: light.turn_on
|
|
target:
|
|
entity_id:
|
|
- light.nochnik_detskaya_1
|
|
- light.nochnik_detskaya_2
|
|
- light.nochnik_detskaya_3
|
|
data: { brightness_pct: 10, kelvin: 2200 }
|
|
- type: button
|
|
name: Тихий час
|
|
icon: mdi:volume-off
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: input_boolean.toggle
|
|
target: { entity_id: input_boolean.quiet_hours }
|
|
- type: button
|
|
name: Спать
|
|
icon: mdi:sleep
|
|
tap_action: { action: perform-action, perform_action: script.ukladyvanie_detej }
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Ночники и климат детских
|
|
icon: mdi:thermometer
|
|
- type: entities
|
|
entities:
|
|
- light.nochnik_detskaya_1
|
|
- light.nochnik_detskaya_2
|
|
- light.nochnik_detskaya_3
|
|
- climate.detskaya_1
|
|
- climate.detskaya_2
|
|
- climate.detskaya_3
|
|
- input_boolean.sick_child
|
|
- input_select.sick_child_room
|
|
|
|
# ─────────────────────── БЕЗОПАСНОСТЬ ──────────────────────────────────
|
|
- title: Безопасность
|
|
path: bezopasnost
|
|
icon: mdi:shield-home
|
|
type: sections
|
|
max_columns: 2
|
|
sections:
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Охрана
|
|
icon: mdi:shield-lock
|
|
- type: alarm-panel
|
|
entity: alarm_control_panel.dom
|
|
states: [arm_home, arm_away, arm_night]
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Двери и окна
|
|
icon: mdi:door
|
|
- type: entities
|
|
entities:
|
|
- binary_sensor.dver_vhodnaya
|
|
- binary_sensor.okno_gostinaya
|
|
- binary_sensor.okno_kuhnya
|
|
- binary_sensor.okno_detskaya_1
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Дым · CO · протечка
|
|
icon: mdi:smoke-detector-variant
|
|
- type: glance
|
|
columns: 3
|
|
entities:
|
|
- entity: binary_sensor.dym_kuhnya
|
|
name: Дым кухня
|
|
- entity: binary_sensor.dym_gostinaya
|
|
name: Дым гост.
|
|
- entity: binary_sensor.co_kotelnaya
|
|
name: CO
|
|
- entity: binary_sensor.protechka_vannaya
|
|
name: Протечка ванная
|
|
- entity: binary_sensor.protechka_kuhnya
|
|
name: Протечка кухня
|
|
- entity: switch.klapan_vody
|
|
name: Клапан воды
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Камеры
|
|
icon: mdi:cctv
|
|
- type: picture-glance
|
|
title: Прихожая
|
|
camera_image: camera.prihozhaya
|
|
entities:
|
|
- binary_sensor.dver_vhodnaya
|
|
- type: picture-glance
|
|
title: Двор
|
|
camera_image: camera.dvor
|
|
entities: []
|
|
|
|
# ─────────────────────── ЭНЕРГО / ЭКО ──────────────────────────────────
|
|
- title: Энергия
|
|
path: energiya
|
|
icon: mdi:leaf
|
|
type: sections
|
|
max_columns: 2
|
|
sections:
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Потребление
|
|
icon: mdi:flash
|
|
- type: gauge
|
|
entity: sensor.moshchnost_dom # текущая мощность, Вт
|
|
name: Сейчас
|
|
unit: W
|
|
min: 0
|
|
max: 8000
|
|
severity: { green: 0, yellow: 3000, red: 6000 }
|
|
- type: statistics-graph
|
|
title: За неделю (кВт·ч)
|
|
chart_type: bar
|
|
period: day
|
|
stat_types: [change]
|
|
entities:
|
|
- sensor.energiya_dom_kwh # накопленный счётчик, кВт·ч
|
|
|
|
- type: grid
|
|
cards:
|
|
- type: heading
|
|
heading: Эко и тариф
|
|
icon: mdi:transmission-tower
|
|
- type: entities
|
|
entities:
|
|
- input_boolean.eco
|
|
- input_boolean.night_tariff
|
|
- input_number.eco_temperature
|
|
- input_number.comfort_temperature
|