Домашняя автоматизация, которая переживает веерные отключения

Как сохранить умный дом работающим сквозь веерные отключения: на батарее — только хаб, роутер и датчики, каждое устройство загружается в безопасное известное состояние, и обязательно проверьте настоящий холодный старт.
Веерные отключения вовсе не обязаны утаскивать за собой ваш умный дом. Самые прожорливые устройства — свет, бойлер, насосы и моторы — как раз те, которые спокойно можно оставить на городской сети и забыть о них. Живым должен остаться маленький мозг, исполняющий вашу логику, и сеть, через которую он говорит. Наладьте эти две вещи, спроектируйте всё остальное так, чтобы оно чисто возвращалось, — и двух- или четырёхчасовое окно перестанет быть событием.
Питайте хаб и сеть, а не весь дом
Первый порыв — купить один большой инвертор и посадить на него весь дом. Это дорого и для автоматизации не нужно. Контроллер потребляет несколько ватт. Роутер и оптический терминал — чуть больше. Горстка датчиков не потребляет почти ничего. Небольшой ИБП или аккумуляторный блок вытянет эту суммарную нагрузку через обычное окно отключения без всякого напряжения.
Чётко решите, что относится к резервному питанию, а что нет:
- На батарее: контроллер или хаб, где живут ваши сценарии.
- На батарее: роутер и оптический терминал, чтобы работали удалённый доступ и синхронизация времени.
- На батарее: малопотребляющие датчики или базовая станция, которой они отчитываются.
- От сети: свет, бойлер, насосы, приводы ворот и всё прочее с ощутимым током. Они должны безопасно отключаться при пропадании питания и возобновлять работу при его возврате.
Пусть каждое устройство загружается в известное состояние
Когда питание возвращается, устройство не должно оживать в случайном или небезопасном состоянии. Реле, управляющее нагревателем, по умолчанию должно быть выключено, а не в том положении, в каком его застало отключение посреди цикла. Чистый приём — сохранять желаемое состояние во флеш-память и восстанавливать его при загрузке либо уходить в безопасное состояние по умолчанию, а хаб после переподключения выставит правильное.
Не полагайтесь на облако, чтобы оно подсказало устройству, что делать при старте. Если интернет возвращается медленнее питания, устройство, ждущее облачной команды, — это мёртвое устройство. Держите логику локальной: устройство знает собственное безопасное значение по умолчанию, а хаб в вашей сети поправит его за считаные секунды. Облако — для наглядности и истории, а не для контура управления «здесь и сейчас».
Держите часы и расписания синхронными
Дешёвые контроллеры теряют счёт времени в тот же миг, когда теряют питание. Расписание вида gate light on at 18:00 тихо ломается, если при загрузке часы сбросились на полночь. Решений два, и обычно нужны оба. Поставьте маленькие часы реального времени с батарейкой-таблеткой, чтобы устройство хранило время сквозь отключение. И пересинхронизируйтесь по сети, как только связь вернётся, чтобы любой уход часов исправлялся автоматически.
Пишите расписания, которые сверяются с текущим астрономическим временем, а не считают тики с момента загрузки. Правило вида in six hours начинает отсчёт заново при каждой перезагрузке, поэтому на затяжной четвёртой стадии отключений оно может так и не сработать. Правило вида at 18:00 срабатывает, как только часы верны, сколько бы раз плата за день ни перезапускалась.
Датчики на батарейках сохраняют картину
Датчики, работающие от батарейки-таблетки или пальчиковых батареек, продолжают отчитываться прямо сквозь отключение: дверные контакты, температура, движение, уровень воды. Если хаб сидит на том же ИБП, он продолжает их принимать — и вы по-прежнему знаете, что происходило в темноте. Пусть датчики буферизуют несколько показаний локально и сбрасывают их после подтверждения от хаба, чтобы отключение не пробивало дыру в вашей истории.
Это важно для охраны, где пробел в событиях движения и открытия дверей — последнее, что вам нужно, и для всего температурно-чувствительного, где нужен график на всё отключение целиком, а не только на участки с сетевым питанием.
Проверьте «холодный старт в темноте»
Единственный способ узнать, переживёт ли ваша схема отключение, — намеренно вырубить питание и посмотреть. Этот шаг пропускают почти все, и именно он вскрывает сломанные значения по умолчанию. Выберите спокойное время, обесточьте участок и пройдите по порядку:
- Снимите сетевое питание и запустите таймер. Убедитесь, что хаб и роутер держатся на батарее.
- Убедитесь, что датчики по-прежнему отчитываются хабу, пока сети нет.
- Подождите дольше времени работы батареи и дайте хабу тоже умереть — так вы проверите полный холодный старт.
- Верните питание. Засеките, сколько времени пройдёт до момента, когда хаб снова доступен.
- Проверьте, что каждое исполнительное устройство вернулось в задуманное состояние, а не в случайное.
- Проверьте, что часы верны и что следующее запланированное действие срабатывает вовремя.
Повторяйте эту проверку после любого крупного изменения в системе. Записывайте всё, что вернулось неправильно, чините значения по умолчанию и проверяйте снова, пока холодный старт не станет скучным.
Где этому научиться и как это собрать
Это привычки, которым стоит учить, а не только железо, которое стоит купить. Крошечный контроллер, переживающий отключение, — отличный проект для ученика: плата, пара датчиков, реле и логика, всегда уходящая в безопасное состояние. Логику часто проще сначала обкатать в симуляторе, до всякого железа, — это можно сделать в симуляторе verse, — а затем перенести её на плату sheenbot∞ ради датчиков и реле. Для действующего дома платформа sheenIoT даст дашборды и историю состояний, а линейка решений home IoT упакует хаб и датчики. Правило в любом случае одно: логика локальна, облако — для обзора.
Что запомнить
Чтобы дом оставался умным сквозь веерные отключения, вовсе не нужно питать его целиком. Посадите на небольшую батарею хаб, сеть и датчики. Сделайте так, чтобы каждое устройство по умолчанию уходило в безопасное, известное состояние и пересинхронизировало часы при возврате питания. А затем докажите это тестом холодного старта, а не надеждой. Дом, который каждый раз возвращается чисто, стоит куда больше, чем тот, что обещает никогда не моргать.
Сколько должен держать мой ИБП?
Достаточно, чтобы перекрыть типичное окно отключения, то есть обычно два-четыре часа работы хаба и роутера. Вы не пытаетесь пересидеть всё отключение целиком. Вы пытаетесь сохранить мозг живым в большинстве окон и чисто восстановиться в остальных.
Ставить ли бойлер или свет на резерв?
Обычно нет. Прожорливые приборы быстро высаживают батарею и дают взамен немного. Пусть они следуют за городской сетью и безопасно отключаются, а всё умное делает автоматика вокруг них — прибор же просто включается.
А если интернета нет, а питание вернулось?
Локальная логика продолжает работать в вашей собственной сети независимо ни от чего. Облачные дашборды и удалённый доступ догонят, когда линия вернётся, а ваши сценарии вообще не должны их ждать, чтобы делать свою работу.



