Автоматизации

Автоматизация — это правило, по которому дом действует сам: включает свет на закате, пишет в мессенджер при протечке, прогревает баню к вашему приходу.

Всё это настраивается в одном разделе. И запуск по времени, и реакция на датчик — одна и та же форма; разница только в том, что выбрано в блоке «Когда».

Раздел большой, поэтому разделён на четыре страницы:

  • эта — где найти автоматизации, что их запускает и как задать условие;

  • Шаги автоматизации — что она умеет делать;

  • Группы и фоновые задачи — приборы, собранные из нескольких устройств, и циклы, которые повторяются, пока прибор включён;

  • Параметры и запуск — значения, которые спрашивают при запуске, разовые запуски, история и работа без интернета.

Примеры бытовых задач — в подборке идей.

Где найти

В веб-приложении откройте раздел Автоматизации. Список показывает все автоматизации выбранной локации. Его можно отфильтровать по Статусу («Все», «Активные», «На паузе») и по Типу («Все типы», «По событию», «По расписанию»).

На карточке видно название, метку состояния и — у запусков по времени — ближайшее срабатывание.

Метка

Что означает

Активно

Работает.

Пауза

Выключена переключателем. Сама не сработает.

В прошлом

Разовый запуск отработал, нового времени не задано.

Сломана

Остановлена сервером: в действиях осталось удалённое устройство. Откройте редактор, замените его и сохраните — метка снимется.

Создавать, редактировать и удалять автоматизации может только владелец локации. Кнопка + внизу справа создаёт новую. Нажатие на карточку открывает окно автоматизации, карандаш справа — редактор логики, корзина — удаление с подтверждением.

Переключатель слева от названия включает и выключает автоматизацию.

Предупреждение

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

Как она устроена

У автоматизации четыре части.

Название — произвольное, для вашего удобства.

Когда — что её запускает. Либо «Событие» (изменение состояния выбранного устройства), либо «Расписание» (время). Расписаний может быть несколько.

Если — условие. Блоков бывает несколько: первый «Если», следующие «Или если». У каждого блока своё условие и свой список действий.

Тогда — что сделать. Шаги выполняются сверху вниз; они описаны на странице Шаги автоматизации.

Готово — нажмите «Создать» или «Сохранить». «Отмена» закрывает редактор без сохранения.

Важно

Выполняется первый блок, чьё условие верно; остальные пропускаются. Блок с незаполненным условием верен всегда.

Примечание

Список блоков «Если» у автоматизации один на все её расписания и события. Своего «Тогда» у отдельного расписания нет. Поэтому «в 7 утра одно, а в 23 часа другое» — это либо две автоматизации, либо одна с двумя блоками, которые различают время в условии (см. «Время»).

Запуск по времени

Подходит для действий по часам: включить свет в 7:00, выключить обогреватель в 23:00, напомнить раз в день.

  1. В блоке «Когда» выберите вкладку Расписание.

  2. Нажмите на поле расписания (или «Добавить», если список пуст).

  3. Выберите Регулярное или Разовое, задайте время и сохраните.

  4. При необходимости добавьте ещё расписания — у каждого свой переключатель.

  5. Добавьте действия в блок «Тогда», включите «Активен» и сохраните.

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

Регулярное

  • Каждую минуту — интервал в минутах.

  • Каждый час — интервал в часах (1–12) и минута запуска.

  • Ежедневно — часы и минуты.

  • Еженедельно — дни недели и время.

  • Ежемесячно — день месяца (или «Последний день»), раз в 1–6 месяцев, время.

  • Ежегодно — месяц, день, время.

  • Пользовательское (CRON) — выражение минута час день месяц день_недели. Дни недели считаются от нуля, воскресенье — 0: «каждое воскресенье в 9 утра» это 0 9 * * 0.

Время считается в вашем часовом поясе — его определяет браузер.

Примечание

Последний день месяца. Выбирайте пункт «Последний день», а не число 31. Конкретное число понимается буквально, и месяц без такого дня пропускается: расписание «31-го» в феврале и апреле не сработает.

Разовое

Один запуск в указанные дату и время.

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

Чтобы отменить запланированный сеанс, снимите со взвода сам запуск — переключателем слева от него в редакторе или корзиной в окне автоматизации. Выключить целиком можно и всю автоматизацию, переключателем «Активен».

Восход и закат

Для «Ежедневно», «Еженедельно», «Ежемесячно», «Ежегодно» и для разового запуска вместо фиксированного времени можно выбрать Восход или Закат.

  • Смещение — «До» или «После» на заданное время, максимум 3 часа.

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

Время срабатывания само сдвигается в течение года.

Пример: уличный свет. Нужны две автоматизации: одна с расписанием «Ежедневно + Закат» свет включает, вторая с «Ежедневно + Восход» — выключает. Координаты у обеих одинаковые.

Нужно время на подготовку

Иногда важно не «начать в 18:00», а «быть готовым к 18:00»: баня прогревается, тёплый пол выходит на температуру.

Включите в редакторе «Нужно время на подготовку» и укажите, за сколько начинать. Автоматизация запустится заранее. Если до назначенного времени осталось меньше, запуск произойдёт сразу.

Настройка действует только на разовые запуски с фиксированным временем. У регулярных и солнечных расписаний опережение задают их собственным временем.

Запуск по событию устройства

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

  1. В блоке «Когда» выберите вкладку Событие.

  2. Нажмите на поле и выберите Помещение, затем Устройство. Список показывает только выбранное помещение, поэтому одноимённые устройства из разных комнат не спутать.

  3. Добавьте блок «Если» и соберите условие.

  4. Добавьте действия в блок «Тогда».

  5. Если нужны разные условия с разными действиями — нажмите «Добавить блок «Или если»».

  6. Включите «Активен» и сохраните.

Условия

Условие проверяется по сообщению от устройства — тому, которое оно только что прислало.

Свойство

Свойство — это поле в сообщении устройства: state, value, temperature, illumination и другие, смотря что устройство передаёт. В конструкторе вы выбираете источник («Сообщение» или конкретное устройство) и имя свойства.

Условия объединяются в группы связками И и ИЛИ.

Примечание

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

Функции

К значению свойства перед сравнением можно применить функцию — выпадающий список «функция» у операнда. В условии она показывается в виде вызова, например ROUND(temperature, 0).

  • BOOL — привести значение к «да/нет».

  • UPPER и LOWER — привести строку к верхнему или нижнему регистру.

  • ROUND (0)ROUND (3) — округлить число до 0–3 знаков после запятой.

Функция применяется только к свойству, но не к константе справа.

Примечание

Операторы и функции — это коды, они не переводятся. Именованные пишутся заглавными в виде вызова (CROSSES_UP(temperature, 24, 2)), сравнения — привычным знаком между операндами (=, <, >).

EXISTS

EXISTS проверяет, что свойство есть в сообщении, независимо от значения. Условие верно, даже если поле равно null, пустой строке, false или 0. В интерфейсе это кнопки EXISTS и NOT EXISTS.

Как изменилось значение

Можно проверять не «свойство равно X», а то, как именно оно изменилось. В момент срабатывания известны оба значения: «было» и «стало».

  • CHANGED_TO — свойство стало равно указанному. «Выключатель перешёл в ON»: CHANGED_TO(state, "ON").

  • CHANGED_FROM_TO — было одним значением, стало другим. «Было OFF, стало ON»: CHANGED_FROM_TO(state, "OFF", "ON").

  • CROSSES_UP — число пересекло порог снизу вверх: CROSSES_UP(temperature, 30).

  • CROSSES_DOWN — сверху вниз: CROSSES_DOWN(humidity, 30).

Гистерезис. У порогов есть необязательное третье число — полоса, которая гасит дребезг: CROSSES_DOWN(humidity, 30, 2). Оператор сработает один раз, а повторно — только после того, как значение вернётся за порог не меньше чем на эту полосу. В интерфейсе это поле «гистерезис», его можно оставить пустым.

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

Время

Кроме свойств устройства в условии доступно текущее время — источник «время» у операнда:

  • сейчас (минута суток) — от 0 до 1439;

  • сейчас (день недели, 0 = вс);

  • сегодняшняя дата;

  • светло / темно — где вы находитесь сейчас, до заката или после;

  • минут до восхода и минут до заката.

Этим и различают блоки одной автоматизации: «если минута суток меньше 12 × 60 — одно, иначе другое».

Удаление

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

Советы

  • Давайте автоматизациям понятные названия — в списке проще искать.

  • Чтобы не получать частые письма, добавьте в конец цепочки паузу.

  • Для разового действия используйте разовое расписание с опцией «Удалить после запуска».

  • Если одно и то же правило нужно с разными числами — не копируйте автоматизацию, а заведите параметр.