Шаги автоматизации¶
Блок «Тогда» — это список шагов. Они выполняются сверху вниз, один за другим: пока шаг не закончился, следующий не начинается.
Шаг добавляют кнопкой «Добавить» и настраивают, нажав на его строку. Порядок меняют стрелками.
Действие¶
Отдаёт команду. У шага два подтипа.
Устройство¶
Выберите Помещение, затем Устройство, нажмите «Установить состояние» и задайте параметры: включить или выключить, яркость, температуру — смотря что устройство умеет. Строк «Установить состояние» может быть несколько.
Значение не обязано быть постоянным. У каждой строки есть выбор источника:
Значение — то, что вы задали руками;
Параметр — значение параметра автоматизации;
Свойство — значение из сообщения устройства-триггера или устройства, статус которого дождался шаг «Ожидание».
Так одна автоматизация с параметром «яркость» заменяет десяток одинаковых.
Предупреждение
Подставленное значение уходит в устройство как есть, без пересчёта, который панель делает для введённого руками. У ламп Zigbee яркость на проводе задаётся в шкале 0–254, а не 0–100, поэтому такой параметр удобно сразу объявить в шкале 0–254.
Примечание
Выключение каминов Milafire отправляется отдельным сообщением. Оставьте в шаге только его, а остальные значения задайте следующим шагом. Параметром или свойством такое выключение не отдать: подставленное значение уходит как есть, а «OFF» превращается в отдельную команду только у введённого руками значения — для выключения выбирайте источник «Значение».
Ту же команду можно набрать руками: переключатель </> рядом с типом действия показывает топик и
сообщение как текст. Иконка (x) в поле вставляет параметр или свойство на место курсора; в
свёрнутом виде вместо подставленного значения видна метка вроде @яркость.
Публикация в топик¶
Отправляет своё сообщение по своему адресу — например устройству за чужим мостом или собственному контроллеру.
Адрес пишется хвостом, без префикса дома: его подставляет брокер. Шаблоны + и # недопустимы —
публиковать можно в конкретный адрес, а не в маску.
Пауза¶
Задержка перед следующим шагом: включить свет, подождать пять минут, выключить.
Часы, минуты и секунды, максимум 12 часов. Вместо постоянной длительности можно выбрать «Параметр» — тогда длину назовёт человек при запуске.
Третий режим, «Переменная», доступен только внутри фоновой задачи.
Ожидание¶
Пауза ждёт время, а ожидание ждёт событие: пока устройство не отчитается нужным состоянием. Этим проверяют, что команда действительно выполнена — печь включилась, помещение прогрелось.
Выберите Помещение и Устройство. Групп в списке нет: у группы нет своего адреса, и ожидание на ней досидело бы до конца таймаута.
Дальше:
«Дождаться условия» — соберите условие по свойству этого устройства. Если оставить его пустым, шаг продолжится, как только устройство пришлёт любой новый статус. Этот статус доступен следующим шагам — его можно подставить в команду или в текст сообщения.
«Таймаут ожидания» — сколько ждать, максимум 12 часов.
«Перед проверкой» — что сделать в момент входа в шаг:
«Ничего не делать» — просто ждать, пока устройство пришлёт статус само;
«Запросить статус устройства» — попросить его отчитаться сейчас;
«Отдать команду устройству» — шаг сам отправит команду и будет ждать подтверждения. Кнопка «Подставить условие по команде» соберёт условие из этой же команды.
«Принимать последний полученный статус» — не ждать нового, если устройство присылало статус недавно. Рядом задаётся, насколько старый статус ещё годится. Полезно для устройств, которые сами отчитываются редко.
Если не дождались¶
Отдельный выбор из четырёх пунктов — что делать, когда таймаут истёк, а нужного статуса не было:
Продолжить сценарий — идти дальше по списку;
Закончить сценарий — оставшиеся шаги не выполняются;
Выполнить шаги и продолжить сценарий;
Выполнить шаги и закончить сценарий.
В двух последних появляется свой короткий список шагов. Он играется до того, как решится судьба цепочки, — так пишут «напиши, что печь не отвечает, и заканчивай». Ждать внутри этих шагов нельзя: они отвечают на то, что ждать уже перестали.
Сообщение¶
Отправляет уведомление и, если нужно, спрашивает человека.
Канал выбирается в поле «Канал»:
Email — письмо на ваш подтверждённый адрес (подтвердить его можно в профиле). Задаются тема и текст.
Push — уведомление в браузеры, где вы разрешили их показывать.
Telegram и MAX — сообщение в мессенджер, только текст.
Совет
Как подтвердить email и привязать мессенджер — в разделе Уведомления.
Что сделать¶
Поле «Что сделать» решает, ждёт ли автоматизация ответа.
Сообщить — односторонняя телеграмма. Кнопок нет, автоматизация идёт дальше сразу.
Запросить подтверждение — спрашивает «да» или «нет».
Запросить значения — то же, плюс поля: например, на сколько минут включить.
В двух последних режимах в сообщение добавляется ссылка на страницу ответа. Отвечает тот, у кого эта ссылка, — авторизация не требуется, поэтому пересылать её не стоит. Отвечает первый: повторный переход ничего не переигрывает.
Настраиваются:
«Кнопка согласия» и «Кнопка отказа» — что будет на них написано. Оставите пустыми — подставится текст по умолчанию.
«Какие параметры запросить» — для режима «Запросить значения».
«Ждать ответа, минут». Пока ответа нет, автоматизация занята и повторно не срабатывает, поэтому ждать можно не дольше часа.
«Если ответа не будет» — продолжить прогон или прервать его.
«Если ответят отказом» — прервать прогон целиком или пропустить только этот шаг.
Примечание
Значений по умолчанию у двух последних настроек нет намеренно. «Не дозвонились, значит не открываем ворота» и «не дозвонились, значит греем как обычно» одинаково законны — выбрать должен автор.
Подстановки в тексте¶
В тему и текст можно вставлять значения: параметры автоматизации, свойства устройства, по которому она сработала, и свойства устройств, статус которых дождался шаг «Ожидание».
Поставьте курсор в нужное место, нажмите иконку (x) и выберите значение. Под текстом видно превью с подстановками.
Отдельный пункт «Статус целиком (JSON)» вставит всё сообщение устройства, например
{"battery":87,"state":"ON","temperature":23.5}. Учтите: это ровно то, чем устройство отчиталось,
включая служебные поля, а Telegram обрежет отправку на 4096 символах.
Ветвление¶
Развилка внутри цепочки. Внутри — те же блоки «Если → Тогда»: работает первая подошедшая ветка, ветка без условия подходит всегда и означает «иначе». Не подошла ни одна — шаг ничего не делает.
Чем ветвление отличается от блоков «Если» самой автоматизации: те выбираются один раз, при срабатывании, а ветка — в тот момент, когда цепочка до неё дошла. После получасовой паузы или ожидания обстановка уже другая, и решать надо заново.
Пустая ветка законна и означает «в этом случае — ничего». Ветвление последним шагом с пустой веткой обрывает цепочку по условию.
Ограничения: ветвление внутри ветвления невозможно; в условии ветки нельзя пользоваться операторами
изменения (CHANGED_TO, CHANGED_FROM_TO, CROSSES_UP, CROSSES_DOWN); внутри ветки не
бывает «Регулятора» и сообщения с вопросом — оба ждут или пишут в переменную круга, а до ветки
цепочка могла и не дойти. Внутри фоновой задачи ветвления нет вовсе — у неё развилка верхнего
уровня.
Настройки ждущих шагов¶
Пауза, ожидание и сообщение с вопросом — это шаги, на которых прогон ждёт. «Отменять по событию» есть у всех трёх; «Продлевать при повторном срабатывании» — только у паузы и ожидания.
Отменять по событию¶
Событие досрочно прекращает ожидание. В диалоге выбирается источник — «Устройство» (каскад Помещение → Устройство) или «Сообщение в топик» (адрес, который вы пишете сами) — и что делать дальше:
«Снять ожидание и доиграть остальные действия» — «движение прекратилось, выключить сразу»;
«Прервать прогон, остальные действия не выполнять» — «протечку устранили, перестать звонить».
Правило действует, только пока прогон стоит на этом шаге. У адреса-топика условие необязательно: без него шаг отменит любое сообщение по этому адресу.
Продлевать при повторном срабатывании¶
Обычно новое срабатывание триггера, пока прогон спит, просто отбрасывается. С этой настройкой оно перевзводит срок шага на полную длительность.
Так пишется «выключить через десять минут после последнего движения»: каждое новое движение отодвигает выключение, а его отсутствие — нет.
Настройка есть у паузы и ожидания — только у них есть срок, который можно перевзвести, — и только у автоматизаций по событию: следующее срабатывание расписания паузу не продлевает.
Шаги внутри прибора-группы¶
У приборов, собранных из нескольких устройств, есть свои шаги. «Регулятор» доступен только в фоновой задаче, «Применить умолчание» — только в обработчике записи регистра, «Ответить» — только в ветке «Чтение» логики прибора. Шаг «Регистр группы» предлагается везде: им кладут значение в регистр прибора и из обычной автоматизации — но чтобы просто включить прибор, хватает обычного «Действия», как любому устройству.
Что такое регистры прибора и где живут эти шаги — на странице Группы и фоновые задачи.