Skip to content

Справочник сценариев ​

Всё, что можно выбрать в узлах «Когда», «Если», «Выбор», «Сделать» и «Дождаться». Как устроен сам холст — на странице Редактор сценариев.

Поводы ​

Повод — то, что случилось. В узле «Когда» их может быть несколько, сценарий начнётся от любого. Чего ждать в узле «Дождаться», выбирается из тех же поводов, кроме солнца и периода (в Android — только «вещь»).

ПоводКогда срабатываетПоля
вещьВещь включилась или выключилась: лампа, дверь, датчик движениявещь; включилась или выключилась; «и держится» — необязательно
датчикЧисло пересекло порог: стало теплее 25, влажность упала ниже 30датчик; выше и/или ниже
времяКаждый день в это времячасы и минуты
солнцеЗакат или рассвет, со смещениемзакат или рассвет; смещение в минутах, минус — раньше
кнопкаНажали кнопку Zigbeeкнопка; нажатие
периодРаз в столько-то минуткаждые N минут
MQTTПришло сообщение в тему MQTTтема; поле JSON; значение

Вещь ​

«И держится» — повод сработает, только если состояние продержалось столько. Без этого правило «нет движения — гасить» срабатывало бы в первую же секунду тишины между двумя шагами по коридору.

Датчик ​

Повод срабатывает один раз, на переходе через порог, а не на каждое показание выше порога. Правило «выше 25 — включить вентилятор» иначе срабатывало бы каждую минуту, пока жарко.

Солнце ​

Смещение нужно ради «за полчаса до заката»: зимой и летом это разные часы, а имеется в виду одно и то же. Минус — раньше события, плюс — позже.

Кнопка ​

Кнопки берутся из сети Zigbee, список нажатий — у каждой кнопки свой: одно нажатие, двойное, тройное, удержание, отпускание. Если кнопок нет, их видно в «Диагностике» → Zigbee.

Повод слушает тему моста zigbee2mqtt/<кнопка>, поэтому работает и тогда, когда нажатия не становятся сущностью Home Assistant.

MQTT ​

Любая тема брокера дома, не только Zigbee: датчик на ESP, чужой сервер, свой скрипт.

  • Тема. Можно с подстановками: + — один уровень (дом/+/движение), # — всё ниже (датчики/#).
  • Поле JSON — сравнивать не всё сообщение, а одно поле: action, state, occupancy. Только латиница, цифры и подчёркивание.
  • Значение — сработать только на него. Пусто — на любое сообщение.

Условия ​

Условие — то, что верно сейчас. Выбирается в узле «Если» и в каждом варианте «Выбора».

УсловиеЧто проверяет
вещьВещь сейчас включена или выключена
датчикПоказание сейчас выше и/или ниже порога
времяСейчас между «с» и «до». Через полночь работает: «с 22:00 до 07:00» значит ночь
дниСегодня один из выбранных дней недели
день/ночьСолнце сейчас над горизонтом или под ним
не чащеС прошлого запуска этого же сценария прошло больше заданного срока

«Не чаще» — ограничитель. Дребезжащая дверь или протечка, шлющая показание раз в минуту, дадут одно уведомление, а не сотню. Сценарий, который ещё не срабатывал, условие пропускает.

В свойствах условия виден живой ответ: «сейчас да», «сейчас нет» или «сейчас неизвестно».

Действия ​

Действие выбирается в узле «Сделать». Один узел — одно действие.

ДействиеЧто делает
переключитьВключить, выключить или переключить вещи
зажечьЗажечь лампы с яркостью и тёплостью
пресетВключить пресет света
сказатьУведомление внутри Home Assistant
телефонУведомление на телефон
АлисаСказать через колонку Яндекса или дать ей команду
сценарийЗапустить другой сценарий
запомнить, вернутьСнимок вещей и возврат к нему
звукЗвук на колонках Хомера
MQTTОпубликовать сообщение в MQTT
HTTPЗапрос по адресу

Переключить ​

Включить, выключить или переключить одну или несколько вещей: лампы, реле, розетки вперемешку.

Зажечь ​

Только для ламп. Яркость от 1 до 100 % и, если нужно, тёплость в кельвинах. Цвет и тёплость вместе не работают: лампа, получившая оба, исполнит команду наполовину, поэтому проверка такой сценарий не пропустит.

Пресет ​

Включает пресет — сцену Home Assistant, которую вы сохранили в приложении. Перечислять лампы в сценарии не нужно. См. Пресеты света.

Сказать ​

Уведомление внутри Home Assistant: видно и на планшете, и в телефоне. Работает у всех без настройки. Заголовок — «Дом».

Телефон ​

Уведомление приложения Home Assistant на телефоне, придёт и вне дома. Телефон появляется в списке сам, когда приложение Home Assistant на нём вошло в этот дом.

Алиса ​

Колонка Яндекса из интеграции Яндекс Станции в Home Assistant. Три режима:

РежимЧто будет
сказатьКолонка прочтёт текст вслух
командаКак будто сказали ей: «включи Радио Рекорд», «поставь таймер на 10 минут»
спроситьСкажет и будет слушать ответ

Через облако

Это единственное действие, которое ходит через облако Яндекса. Без интернета колонка молчит — помните об этом, вешая на неё «протечку на кухне».

«Спросить» работает только с колонкой, к которой дом подключён напрямую. Если колонка на связи только через облако, панель предупредит красным: дом запишет сценарий, а колонка промолчит. Пропишите адрес колонки в настройках Яндекс Станции или выберите «сказать».

Сценарий ​

Запускает другой сценарий или любое правило дома. Позванный сценарий отработает целиком, даже если его собственный повод сейчас не подходит. Так рисуется общий хвост для двух веток: отдельным сценарием, который зовут обе.

Запомнить и вернуть ​

Запомнить снимает, как сейчас стоят выбранные вещи: включено ли, яркость, цвет. Вернуть ставит всё обратно — не «выключить», а именно как было.

Типичный пример: движение в коридоре → запомнить → зажечь → подождать 5 минут → вернуть.

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

Звук ​

Звук на колонках Хомера. Колонка играет его сама.

ЧтоВарианты
Звукзвонок, перелив, сигнал, тревога, сирена — синтезируются в колонке, файлы не нужны
Файладрес mp3, wav или ogg по http:// или https://; играет не дольше минуты
Гдеколонки Хомера этого дома, в любом сочетании; ни одна не выбрана — играют все

Маршрут описан в пакете Home Assistant ha/homer_speaker.yaml (скрипт script.homer_speaker_sound). Список колонок в сценарии — все колонки Хомера дома: компьютер с Homer Node, запасной узел, спутники.

  • Спутник, который ходит через несколько компьютеров, получит звук от того, к которому сейчас подключён.
  • Выключенная колонка не роняет сценарий: следующий шаг выполнится.

MQTT ​

Опубликовать сообщение в тему брокера дома.

  • Тема — без + и #: подстановки бывают только у подписки.
  • Сообщение — текст или JSON. Работают шаблоны Home Assistant: {{ states('sensor.x') }} подставится.
  • Разово или сохранить в брокере (retain): сохранённое сообщение брокер отдаст каждому, кто подпишется позже.

Мимо Home Assistant

Это тот же брокер, что у Zigbee2MQTT. Публикация в zigbee2mqtt/<лампа>/set переключит лампу мимо Home Assistant, и память ламп откатит такую яркость.

HTTP ​

Запрос делает сам дом: вебхук, чужой сервер, свой скрипт.

  • Метод: GET, POST или PUT.
  • Адрес — начинается с http:// или https://.
  • Тело запроса (JSON) — для POST и PUT. Уходит с типом application/json.
  • В адресе и теле работают шаблоны Home Assistant: {{ states('sensor.x') }}.
  • Ответа ждут до 15 секунд.

Нужен пакет ha/homer_http.yaml в Home Assistant: три команды rest_command.homer_http_get, …_post, …_put. Без него дом скажет, что такой службы нет. Пакет раскатывается tools/deploy-ha.py вместе с остальными homer_*.

Подождать и Дождаться ​

УзелПоля
Подождатьдлительность паузы
Дождатьсячего ждать: вещь, датчик, время, кнопка или MQTT (в Android — вещь); «ждать не дольше»

Длительности показываются по-человечески: «30 с», «10 мин», «1 ч 30 мин».