Сценарии умного дома: режимы, состояния, приоритеты
Система управления режимами и сценариями умного дома. Курс научит проектировать, внедрять и тестировать сложную логику состояний, приоритетов и ручного управления. Основное внимание уделяется надежности, предсказуемости и удобству для конечного пользователя. Вы научитесь создавать отказоустойчивые сценарии для управления климатом, освещением и безопасностью, а также вести журнал событий для аудита и отладки.
Чему вы научитесь
- Проектировать и реализовывать конечные автоматы (state machines) для управления режимами объекта (Home, Away, Night, Vacation).
- Управлять приоритетами сценариев и обеспечивать корректный ручной override (ручное управление).
- Применять техники антифлаппинга (гистерезис, задержки) для стабильной работы автоматики.
- Разрабатывать и внедрять не менее 10 комплексных сценариев для управления освещением, климатом и безопасностью.
- Создавать структурированный журнал событий (audit log) для отладки и анализа инцидентов.
- Формировать и применять тест-план сдачи объекта, включая "тренировочные" аварийные ситуации.
- Интегрировать сценарный слой с пользовательскими интерфейсами (кнопки, дашборды) с учетом UX.
- Обеспечивать отказоустойчивость сценариев с помощью safe-state и детерминированной логики.
- Управлять состояниями системы через персистентные контекстные переменные в Node-RED.
- Разрабатывать "сценарный слой" как единый артефакт с версионированием и документацией.
- Проводить диагностику и отладку сложных сценарных взаимодействий.
- Создавать и использовать шаблоны сценариев (Flow templates) для ускорения разработки.
Программа курса
- Урок 0. Проблема 'дребезга' (flapping) в автоматизации: источники и последствия
- Урок 0. SCN-CLIMATE-001: Поддержание температуры (термостат с гистерезисом)
- Урок 0. Режим 'Отпуск': имитация присутствия, отключение потребителей, климат-контроль
- Урок 0. Описание задачи и требований к проекту
- Урок 0. Типы тестирования: модульное, интеграционное, сценарное
- Урок 0. SCN-SAFETY-001: Защита от протечки (перекрытие воды, оповещение)
- Урок 0. Проектирование графа состояний: Home, Away, Night
- Урок 0. SCN-LIGHT-001: Включение света по движению с учетом освещенности
- Урок 0. Что такое 'сценарный слой' и зачем он нужен?
- Урок 0. Зачем нужен журнал событий? (Audit Trail)
- Урок 1. SCN-CLIMATE-004: Управление вентиляцией по датчику CO2/влажности
- Урок 1. Режимы vs. Сцены: определения, примеры, иерархия
- Урок 1. Триггеры для смены режимов: геопозиция, время, ручные кнопки, датчики
- Урок 1. SCN-SAFETY-003: Контроль датчиков дыма/газа
- Урок 1. Режим 'Гость': ограниченные сценарии, упрощенное управление
- Урок 1. SCN-LIGHT-005: Управление диммированием в зависимости от времени суток
- Урок 1. Шаг 1: Проектирование графа состояний и приоритетов
- Урок 1. Разработка Тест-плана сдачи объекта (пример на 30+ пунктов)
- Урок 1. Структура записи в журнале: 'контракт' для логов
- Урок 1. Техника 'Задержка на включение/выключение' (Delay On/Off)
- Урок 2. Концепция конечного автомата (State Machine) для управления домом
- Урок 2. Реализация в Node-RED: Subflow для управления режимами
- Урок 2. Узел 'node-red-contrib-trigger' для подавления шума
- Урок 2. SCN-SAFETY-014: Имитация присутствия в режиме 'Отпуск'
- Урок 2. SCN-CLIMATE-008: 'Проветривание' (отключение отопления при открытом окне)
- Урок 2. Реализация: запись логов в MySQL/MQTT
- Урок 2. SCN-LIGHT-012: Сцена 'Я ушел' (выключение всего света)
- Урок 2. Приоритеты сценариев: кто главный? (Ручное управление > Безопасность > Режимы > Расписание)
- Урок 2. Симуляция событий для тестирования (виртуальные датчики)
- Урок 2. Шаг 2: Реализация state machine и журнала событий
- Урок 3. Управление устройствами при смене режима (выключить все, активировать охрану)
- Урок 3. SCN-ENERGY-001: Отключение розеток в режиме 'Away' или 'Night'
- Урок 3. Обзор архитектуры: глобальные переменные, Flow/Subflow, управление состоянием
- Урок 3. Уровни логирования: Debug, Info, Warning, Error, Critical
- Урок 3. SCN-LIGHT-023: Ночная подсветка (коридоры, санузлы) на 15% яркости
- Урок 3. SCN-SAFETY-015: Аварийное освещение (включение света при срабатывании датчиков безопасности)
- Урок 3. Проведение 'учений': имитация аварийных ситуаций (протечка, пропажа сети)
- Урок 3. Гистерезис для аналоговых датчиков (температура, влажность, освещенность)
- Урок 3. Шаг 3: Реализация 3+ аварийных и 5+ штатных сценариев
- Урок 3. Реализация механизма приоритетов и блокировок в Node-RED
- Урок 4. Контракты сообщений для управления режимами
- Урок 4. Обработка невалидных или отсутствующих данных с датчиков (safe-state)
- Урок 4. SCN-ENERGY-005: Управление нагрузкой (отключение неприоритетных потребителей при пиковой мощности)
- Урок 4. Чек-лист Production Readiness: бэкапы, безопасность, документация
- Урок 4. Ручной Override: как временно отключить автоматику и корректно вернуться
- Урок 4. Шаг 4: Разработка тест-плана и проведение само-тестирования
- Урок 4. SCN-SAFETY-020: Контроль доступа (уведомления об открытии дверей/окон в режиме 'Away')
- Урок 4. Настройка проекта: структура Flow, персистентный контекст, стандарты именования
- Урок 4. SCN-COMFORT-002: Управление шторами (восход/закат)
- Урок 4. Отладка в Node-RED: узлы Debug, Catch, Status
- Урок 5. Практика: Создание Flow для переключения Home/Away
- Урок 5. Watchdog: контроль зависания сценариев и устройств
- Урок 5. Разбор инцидента: как найти причину сбоя по логам
- Урок 5. SCN-COMFORT-007: Сцена 'Кино' (закрытие штор, приглушение света)
- Урок 5. Практика: Написание тест-кейсов для сценария 'Я ушел'
- Урок 5. Шаг 5: Подготовка артефактов к сдаче (экспорт flow, документация, видео-демо)
- Урок 5. Практика: Создание базового Flow для управления состоянием (инициализация)
- Урок 5. SCN-CLIMATE-011: Интеграция с прогнозом погоды для управления отоплением/поливом
- Урок 5. Реализация на ARM32/ПЛК для критичных сценариев
- Урок 5. UX для жильца: предсказуемость, обратная связь, управление 'сложными' режимами
- Урок 6. Практика: Реализация FLOW-AUTO-LIGHT-012
- Урок 6. Практика: Проведение 'учений' по сценарию протечки
- Урок 6. Практика: Реализация 'Проветривания'
- Урок 6. Практика: Добавление режима 'Ночь' и управление ночным освещением
- Урок 6. Практика: Flow для режима 'Отпуск' с имитацией присутствия
- Урок 6. Практика: FLOW-SAFETY-LEAK-PROTECTION
- Урок 6. Практика: Создание универсального Subflow для логирования
- Урок 6. Практика: Сценарий управления отоплением с гистерезисом
- Урок 7. Практика: Настройка аварийного оповещения через MQTT/GSM
- Урок 7. Практика: Flow для отключения розеток
- Урок 7. Практика: Анализ логов для поиска ошибки в сценарии
- Урок 7. Практика: Реализация сценария управления шторами
- Урок 7. Практика: Реализация ручного override для группы света
- Урок 7. Практика: Flow управления светом по датчику движения с антифлаппингом
Главы учебника по теме курса
- Глава 19. Сценарии, которые реально нужны
Сценарий — это набор правил, который описывает системе, что делать в определённых условиях. Грубо, каждый сценарий состоит из трёх частей: