Skip to content

Редактор сценариев ​

Сценарий — правило вида «когда стемнело — включить свет в прихожей». Он рисуется на холсте карточками и связями между ними, а исполняет его сам дом.

ГдеКак открыть
AndroidНастройки → Устройства → Сценарии → «Открыть сценарии»
ВебДом → Сценарии → «+ Новый» или имя сценария

На телевизоре холста нет: рисовать пультом нельзя. Список сценариев с «включить» и «запустить» там есть.

Где живёт сценарий ​

Нарисованное компилируется в обычную автоматизацию Home Assistant. Поэтому:

  • сценарий работает без приложения: со спящим планшетом, телефоном в другой комнате и закрытым браузером;
  • в списке автоматизаций Home Assistant он подписан «Homer · <имя>», id — homer_flow_…;
  • рисунок хранится внутри самой автоматизации, в её переменных. По этой метке приложение узнаёт свои сценарии. Правила, написанные в Home Assistant руками, видно в списке, но холстом они не открываются.

Сценарий записывается в дом кнопкой «Сохранить» (в вебе ещё Ctrl+S). Над холстом видно, где он: «ещё не в доме», «не сохранено», «сохранено в доме».

Холст ​

  • Связь тянется из кружка внизу карточки. Брошена на карточку — соединяет, брошена в пустоту — открывает палитру «Что здесь будет», и новый узел встаёт уже подключённым.
  • «+ узел» внизу холста — то же, без связи.
  • Тап по карточке открывает её свойства. Вещи выбираются из дома по комнатам и именам с плана, вводить entity_id руками не нужно.
  • ✕ на связи убирает её. Узел удаляется корзиной в его свойствах, в вебе ещё клавишей Delete. Копия узла рядом — ⧉ в свойствах, только в вебе (Ctrl+D).
  • «Разложить» расставляет дерево аккуратно. Отмена и возврат — стрелки вверху (в вебе Ctrl+Z, Ctrl+Y).
  • Щипок или колесо мыши — масштаб. В вебе издалека карточки становятся цветными плашками с названием.

Только дерево ​

У автоматизации Home Assistant нет перехода в произвольное место и слияния веток. Поэтому сценарий — дерево:

  • в узел ведёт не больше одной связи;
  • из каждого выхода — не больше одной связи.

Общий хвост двух веток рисуется отдельным сценарием и зовётся из обеих действием «сценарий».

Узел, не связанный с «Когда», помечен «в стороне». Рисунок сохранится целиком, но в доме этого шага не будет, пока его не подключите.

Узлы ​

УзелЧто делаетВыходы
КогдаС чего начинается. Поводов может быть несколько — это «ИЛИ»: «стемнело или пришли домой»дальше
ЕслиПроверяет, стоит ли продолжатьда, нет
ВыборНесколько вариантов, исполняется первый подходящийпо варианту, иначе
СделатьЕдинственный узел, который что-то меняет в домедальше
ПодождатьПаузадальше
ДождатьсяЖдёт события, но не дольше срокадождались, не дождались
ПовторитьВетку «повторять» столько-то раз подрядповторять, потом
ХватитЗдесь ветка кончается намеренно—

Узел «Когда» один, он корень дерева и не удаляется. Ветка кончается и без «Хватит», если из выхода никуда не идёт связь. «Хватит» нужен, чтобы было видно: кончилась нарочно. Его причина пишется в журнал дома.

Если и повод — разные вещи. Повод — то, что случилось: «движение в коридоре». Условие — то, что верно сейчас: «в коридоре темно». Перепутав их, получите правило, которое ждёт темноты, чтобы включить свет в пустом коридоре.

Выбор читается лучше лестницы из «Если»: «утро / день / вечер / ночь» — один вопрос с четырьмя ответами. Варианты проверяются по порядку. У каждого есть подпись на связи. Ветка «иначе» есть всегда, даже пустая.

Дождаться нужен ради второго исхода. «Открыли дверь и не закрыли за пять минут» рисуется только им: ветка «не дождались».

Повторить — только с числом раз: «мигнуть трижды», «сказать дважды».

Все поводы, условия и действия — в справочнике.

Повод случился снова ​

Внизу холста — «Повод случился снова, пока идёт:». Это решает, что делать, если сценарий ещё не доиграл, а повод уже повторился.

ВыборЧто будетКогда нужен
пропуститьПовторный повод игнорируется. Так по умолчанию в Home Assistantкороткие сценарии без пауз
начать зановоИдущий запуск обрывается, начинается новыйпочти всякий сценарий с паузой
в очередьОтработать по разу на каждый повод, один за другимкогда важен каждый повод

Свет по движению

«Движение — зажечь, через пять минут погасить» ставьте на «начать заново». Иначе второе движение не продлит свет, и он погаснет человеку в лицо, потому что доигрывает первый запуск.

Проверка перед записью ​

Пока есть ошибки, «Сохранить» не нажимается. Ошибки видны красным над холстом и в свойствах узла:

  • нет названия, не выбран повод, вещь, датчик или порог;
  • в узел ведут несколько связей, из одного выхода уходят две;
  • пауза или срок ожидания нулевой, «повторить ноль раз»;
  • «вернуть» без «запомнить» в этом же сценарии;
  • у лампы выбраны и цвет, и тёплость.

Серым — подсказки, с ними записать можно: узел ни к чему не присоединён, сценарий ничего не делает, у развилки не заполнена ни одна ветка.

У условий в свойствах есть живой ответ: «сейчас да» или «сейчас нет» с текущим показанием. Так видно, пройдёт ли условие прямо сейчас.

След прошлого запуска ​

Открытый сценарий показывает, как прошёл его прошлый запуск, со слов самого дома:

  • строка над холстом: «Прошлый запуск: дошёл до конца», «условие на „…“ не сошлось, и ветка кончилась», «остановился на „…“, не дойдя до конца», «дом сообщил об ошибке»;
  • узлы, через которые прошёл запуск, подсвечены на холсте.

Это ответ на вопрос «почему он не сделал того, что я нарисовал». Чаще всего дело доходит до первой развилки и идёт не туда, куда ждали.

Если сценарий не открывается ​

  • «Сценарий записан приложением поновее» — обновите приложение или страницу. Правка старой версией стёрла бы то, чего она не понимает.
  • «Запись сценария испорчена» — рисунок прочитать не удалось. Само правило в доме цело и работает.
  • «Дом не принял: …» — Home Assistant отказался записать сценарий. Текст после двоеточия — его ответ.