Сценарии¶
Сценарии позволяют автоматизировать действия в умном доме: выполнять команды устройствам по расписанию или при изменении состояния другого устройства.
Где находятся сценарии¶
В веб-приложении откройте раздел Сценарии. Список показывает все сценарии выбранной локации. Можно отфильтровать их по статусу: Все, Активные, Неактивные. Кнопка Обновить перезагружает список.
Создание и редактирование сценариев доступно только владельцу локации. Чтобы создать сценарий, нажмите кнопку + (внизу справа). Чтобы изменить существующий — нажмите на карточку сценария.
Переключатель на карточке включает или отключает сценарий без удаления (режим «Пауза»).
Общая схема¶
У каждого сценария есть:
Название — произвольное, для вашего удобства.
Когда — что запускает сценарий: одно из двух:
Устройство — срабатывание по изменению состояния выбранного устройства;
Расписания — запуск по времени (регулярно или один раз).
В зависимости от типа «Когда»:
для расписаний — блок Тогда (список действий);
для устройства — первый блок Если и при необходимости блоки Или если; в каждом задаётся условие и список Тогда (действия при выполнении условия).
Активен — включён ли сценарий.
После настройки нажмите Создать или Сохранить. Отмена закрывает панель без сохранения.
Сценарий по расписанию¶
Подходит для автоматизации по времени: включить свет в 7:00, отправить напоминание раз в день и т.п.
Шаги¶
В блоке Когда выберите вкладку Расписания.
Нажмите на поле расписания (или «Добавить», если список пуст).
В диалоге Расписание выберите тип:
Регулярное — повтор по расписанию:
Каждую минуту / Каждый час / Ежедневно / Еженедельно / Ежемесячно / Ежегодно — задайте интервал и время;
Пользовательское (CRON) — введите cron-выражение вручную.
Единовременное — один запуск в указанные дату и время (часы и минуты).
Сохраните расписание в диалоге.
При необходимости добавьте ещё расписания кнопкой Добавить (можно включать/выключать каждое переключателем).
В блоке Тогда добавьте одно или несколько действий (см. раздел «Действия» ниже).
Включите переключатель Активен и нажмите Создать или Сохранить.
Сценарий по устройству¶
Сценарий запускается при изменении состояния выбранного устройства (например, датчик движения сработал). Задаётся один блок Если и при необходимости дополнительные блоки Или если; в каждом — условие и список Тогда (действия при выполнении этого условия).
Важно
Порядок проверки блоков: Выполняется первый по порядку блок команд с истинным условием. Незаполненное условие считается истинным.
Шаги¶
В блоке Когда выберите вкладку Устройство.
Нажмите на поле и в диалоге выберите Помещение и Устройство — это триггер, по которому будет запускаться сценарий. Сохраните.
Добавьте хотя бы один блок Если: - Нажмите на область условия (или «Условие (если)» в диалоге). - В конструкторе условия соберите выражение: выберите объект (устройство), свойство (state, value, temperature и т.д.) и оператор/значение. Можно объединять условия в группы (И/ИЛИ). - Нажмите Сохранить в диалоге условия.
В блоке Тогда для этого блока добавьте действия (устройство, пауза, сообщение). При необходимости нажмите Добавить для нескольких действий.
Если нужно несколько разных условий с разными действиями — нажмите Добавить блок «Или если» и настройте условие и «Тогда» для нового блока (он будет проверяться только если все предыдущие условия ложны).
Включите Активен и нажмите Создать или Сохранить.
Заполнение логических выражений¶
В условиях Если и Или если вы задаёте выражения, которые проверяются по данным от устройства (по порядку; выполняется только первый блок с истинным условием, см. выше). Ниже — откуда берутся Свойства и какие функции можно применять к ним перед сравнением.
Откуда берутся «Свойства»¶
Свойства в условии — это поля из сообщения от устройства. Когда сценарий запускается по триггеру «Устройство», воркер получает сообщение (payload) от этого устройства по MQTT. В выражении вы выбираете объект (устройство/источник) и свойство — имя поля в этом сообщении. Примеры полей: state, value, temperature, illumination и т.п. — в зависимости от того, что устройство передаёт в payload. То есть свойства всегда привязаны к данным, пришедшим в сообщении от устройства при срабатывании сценария.
Функции над значениями свойств¶
К значению свойства (но не к константе/значению справа) перед сравнением можно применить функцию (в интерфейсе — выпадающий список «Функция» у операнда-свойства). Для констант (введённое вами значение) функции не предусмотрены.
Bool — привести значение свойства к логическому типу (истина/ложь).
Upper — привести строку к верхнему регистру (для сравнения без учёта регистра).
Lower — привести строку к нижнему регистру.
Round (0) … Round (3) — округление числа до 0, 1, 2 или 3 знаков после запятой.
Функция применяется только к операнду-свойству; вторым операндом может быть константа или другое свойство (у другого свойства при необходимости тоже можно задать функцию).
EXISTS¶
EXISTS проверяет, присутствует ли свойство в сообщении от устройства — независимо от его значения. Условие истинно, если поле есть в payload, даже если значение равно null, пустой строке, false, 0 и т.п.
В интерфейсе: кнопки EXISTS / NOT EXISTS (проверка наличия или отсутствия свойства «объект.свойство» в сообщении).
Действия (Тогда)¶
В блоке Тогда можно комбинировать действия. Типы:
- Устройство
Выберите помещение и устройство. Для управления состоянием нажмите Установить состояние и задайте параметры (питание вкл/выкл, яркость, температура и т.д. в зависимости от возможностей устройства). Можно добавить несколько строк «Установить состояние» для одного устройства.
- Пауза
Задержка перед следующим действием. Укажите часы, минуты и секунды (максимум 12 часов). Удобно для цепочек: включить свет → подождать 5 минут → выключить.
- Сообщение
Отправка письма на ваш email. Тема и текст задаются в форме. Отправка возможна только на подтверждённый email — укажите и подтвердите его в разделе «Профиль» → «Аккаунт».
Удаление сценария¶
В режиме редактирования сценария нажмите Удалить. Подтвердите удаление. Это действие необратимо.
Советы¶
Давайте сценариям понятные названия, чтобы потом легко найти нужный.
Если вы настраиваете отправку email‑уведомлений о событиях, но хотите избежать слишком частых сообщений, просто добавьте в конец сценария паузу необходимой длительности.
Если вам необходим более сложный сценарий - воспользуйтесь NodeRED https://rocket-home.ru/docs/nodered.html