Skip to main content

Описание отличий Сцены от Скрипта, Автоматизации и Проекта

расскажи подробно где используется scene, а где script, а где автоматизации и проекты и как их писать

Отличный вопрос 👍
Это ключевая тема Home Assistant, и если понять её правильно, конфигурация становится простой, логичной и не разваливается со временем.

Я разложу по полочкам:

  1. Scene (Сцены)

  2. Script (Скрипты)

  3. Automation (Автоматизации)

  4. Packages (Проекты / пакеты)
    → когда что использовать
    → как писать правильно
    → типичные ошибки


1️⃣ Scene (СЦЕНЫ)

🔹 Что это такое

Scene — это моментальный снимок состояний.

👉 Ответ на вопрос:

«Как должно выглядеть всё прямо сейчас?»


✅ Когда использовать сцены

✔ Включить/выключить группу устройств
✔ Задать фиксированное состояние

  • свет

  • яркость

  • цвет

  • положение штор

✔ Быстрые режимы:

  • «Вечер»

  • «Ночь»

  • «Гости»

  • «Всё выключить»


❌ Когда НЕ использовать сцены

❌ Если есть:

  • задержки

  • условия

  • циклы

  • логика

  • проверки состояний


✍️ Как писать сцены (ПРАВИЛЬНО)


scene: - id: evening_light name: Вечерний свет entities: light.livingroom: state: "on" brightness: 120 light.kitchen: state: "off"

⚠️ ВАЖНО

  • минимум атрибутов

  • никаких supported_*

  • не редактировать в UI после ручной правки


2️⃣ Script (СКРИПТЫ)

🔹 Что это такое

Script — это последовательность действий.

👉 Ответ на вопрос:

«Что нужно СДЕЛАТЬ по шагам?»


✅ Когда использовать скрипты

✔ Последовательные действия
✔ Задержки (delay)
✔ Повторы (repeat)
✔ Вызов сервисов
✔ Параметры
✔ Логика (if / choose)

Примеры:

  • Включить свет → подождать → выключить

  • Открыть шторы → включить ТВ → приглушить свет

  • Универсальная кнопка


✍️ Как писать скрипты


script: movie_mode: alias: Режим кино sequence: - service: light.turn_off target: entity_id: light.livingroom - delay: "00:00:05" - service: media_player.turn_on target: entity_id: media_player.tv

🧠 Фишка

Скрипты можно:

  • запускать кнопкой

  • вызывать из автоматизаций

  • передавать параметры


3️⃣ Automation (АВТОМАТИЗАЦИИ)

🔹 Что это такое

Automation — это логика “если → то”.

👉 Ответ на вопрос:

«КОГДА и ПОЧЕМУ это должно произойти?»


🧩 Структура автоматизации


trigger → condition → action

✅ Когда использовать автоматизации

✔ Реакция на события:

  • время

  • датчик

  • кнопка

  • состояние

✔ Автоматическое поведение:

  • свет по движению

  • отключение при уходе

  • климат по температуре


✍️ Как писать автоматизации


automation: - alias: Свет в коридоре по движению trigger: - platform: state entity_id: binary_sensor.motion to: "on" condition: - condition: time after: "07:00" action: - service: light.turn_on target: entity_id: light.corridor

⚠️ Ошибка новичков

❌ Писать всю логику в automation
❌ Делать длинные action’ы

👉 Лучше вызывать script


4️⃣ Packages (ПАКЕТЫ / ПРОЕКТЫ)

🔹 Что это такое

Packages — это логическое объединение всего, что относится к одной задаче.

👉 Ответ:

«Всё, что связано с ванной — в одном месте»


✅ Когда использовать packages

✔ Большой проект
✔ Много комнат
✔ Повторяющиеся схемы
✔ Порядок в конфиге


📁 Структура


homeassistant: packages: !include_dir_named packages

packages/ ├── bathroom.yaml ├── kitchen.yaml ├── corridor.yaml

✍️ Пример package


# packages/bathroom.yaml light: - platform: group name: Свет в ванной entities: - light.vanna automation: - alias: Ванная — свет по движению trigger: - platform: state entity_id: binary_sensor.motion_bathroom to: "on" action: - service: light.turn_on target: entity_id: light.vanna

✔ Всё в одном файле
✔ Удобно переносить
✔ Не конфликтует


🧠 КОРОТКО: ЧТО КУДА

Задача Использовать
Фиксированное состояние Scene
Последовательность действий Script
Логика «если → то» Automation
Группировка логики Packages

🔥 РЕКОМЕНДОВАННАЯ АРХИТЕКТУРА


packages/ ├── lighting/ │ ├── corridor.yaml │ ├── kitchen.yaml ├── climate/ ├── security/
  • Automation → триггеры

  • Script → действия

  • Scene → состояния


Хочешь дальше?

Могу:

  • разобрать твой реальный сценарий и сказать что именно где писать

  • помочь перевести всё в packages

  • показать идеальную структуру для квартиры/дома

  • объяснить почему UI-автоматизации вредны в больших системах

Просто скажи 👍