Исполнение на локальном хабе

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

Место исполнения всегда ровно одно: либо облако, либо хаб. Это не копия и не резерв — облако не подстрахует локальную автоматизацию, а хаб не подхватит облачную.

Что меняется после переноса

В плюс: автоматизация работает без интернета, и решения принимаются на месте — без похода в облако и обратно.

В минус — три вещи, о которых лучше знать заранее.

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

Расписания на хабе не навёрстывают пропущенное. Хаб был выключен в момент срабатывания — срабатывание потеряно, облако его не подстрахует.

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

  • Уведомления и вопросы жильцу по-прежнему отправляет облако. Само действие (перекрыть кран, выключить розетку) хаб выполнит сразу и без интернета, а письмо уйдёт, когда связь появится. Если оно задержалось больше чем на пять минут, в текст добавится строка «Событие произошло: <время>»; уведомление старше суток не отправляется вовсе.

Как перенести на хаб

  1. Выключите автоматизацию. Переносить можно только выключенную — так гарантируется, что в момент передачи её не исполняет никто.

  2. Откройте окно автоматизации (нажатием на название в списке) и найдите раздел «Исполнение».

  3. Нажмите «Перенести на хаб».

  4. Включите автоматизацию обратно — сам по себе перенос её не запускает.

После включения значок места ненадолго покажет «Переносится на хаб…» — это время, пока хаб получает новый набор правил и подтверждает его, обычно меньше минуты. Затем значок сменится на «На хабе». Обновлять страницу не нужно: статус меняется сам.

Переносится не всё

Если перенести нельзя, кнопка объяснит причину прямо на месте. Самые частые:

  • автоматизация пользуется группой устройств — группы живут в облаке;

  • в ней есть устройство не из сети Zigbee этого хаба либо ссылка на удалённое устройство;

  • она ждёт сообщение, которое видит только облако, а не событие устройства;

  • у расписания по солнцу не заданы координаты дома;

  • используется параметр с относительной датой («сегодня»): такое значение вычисляется в момент запуска, и хаб посчитать его не сможет (см. Параметры и запуск).

Отдельно — временные причины, из-за которых стоит просто повторить попытку:

  • «Хаб не на связи» — проверьте хаб;

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

  • «Идёт облачный запуск» — дождитесь, пока текущий прогон закончится.

Примечание

Локальную автоматизацию можно редактировать как обычно, но если правка выводит её за рамки перечисленного выше, сохранение не пройдёт: появится сообщение «Автоматизация исполняется на хабе, поэтому сохранить не удалось…» с причиной. Верните её в облако или измените логику.

Как вернуть в облако

  1. Выключите автоматизацию.

  2. В разделе «Исполнение» нажмите «Вернуть в облако».

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

Когда хаб подтвердит, значок сменится на «В облаке»: с этого момента автоматизацию можно включать.

Если хаб не отвечает: «Вернуть принудительно»

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

Кнопка возвращает автоматизацию в облако немедленно, не дожидаясь хаба. Цена — риск, о котором предупреждает диалог подтверждения:

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

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

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

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

Что означают значки места

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

Что написано

Что это значит

Что делать

«Переносится на хаб…»

Правило отдано хабу, подтверждения ещё нет.

Подождать, обычно меньше минуты.

«На хабе»

Исполняет хаб.

Ничего.

«На хабе (хаб не на связи)»

Хаб не отчитывался больше пяти минут. Если он просто остался без интернета, автоматизация продолжает работать — облако об этом не знает. Если выключен, не работает.

Проверить хаб: питание, сеть, интернет.

«Возвращается в облако…»

Идёт возврат, ждём подтверждения от хаба.

Подождать; если хаб недоступен — «Вернуть принудительно».

«В облаке (хаб не подтвердил)»

Автоматизацию вернули принудительно, хаб об этом ещё не знает.

Ничего, метка снимется сама. До этого возможно двойное исполнение.

«Обнаружены два хаба!»

В локацию отчитываются два исполнителя сразу — чаще всего забытая вторая установка хаба.

Найти лишнюю установку и выключить: два хаба исполнят одно правило дважды.

Примечание

Техническое описание протокола — как именно облако и хаб делят работу, чем подтверждается передача, что лежит в наборе правил — в Локальное исполнение автоматизаций (Zigbee2MQTT). Это документ для разработчиков, для повседневной работы он не нужен.