Три способа сделать одну и ту же функцию
«Включить свет при движении» можно сделать тремя способами, которые выглядят одинаково в приложении и ведут себя совершенно по-разному при пропадании интернета.
- 01Через облако. Датчик отправляет событие на сервер, сервер решает, сервер отправляет команду обратно. Без интернета не происходит ничего — даже если датчик и лампа в метре друг от друга.
- 02Через локальный координатор. Датчик отправляет событие хабу в доме, хаб решает и командует. Интернет нужен только чтобы смотреть удалённо.
- 03Напрямую между устройствами. Датчик командует лампой без посредника, по связи, установленной при настройке. Работает, даже если хаб выключен.
Разница не видна при покупке и не написана на коробке. Она видна при первом же пропадании интернета.
Что обязано работать локально, всегда
Принцип, который мы применяем при проектировании, прост: функции, от которых зависит безопасность или базовое пользование домом, не имеют права идти через интернет.
- Включение и выключение света с выключателя на стене. Физический выключатель остаётся рабочим всегда.
- Обнаружение воды и закрытие крана. Протечка не ждёт восстановления связи.
- Сигнализация дыма и CO с локальной сиреной. Звук раздаётся в доме, а не в облаке.
- Открытие дверей изнутри и ручной резервный режим.
- Термостаты — по расписанию, уже загруженному в них.
Что теряется, и это нормально
- Удалённое управление. Если вас нет дома и дома нет интернета, командовать нечем — никакая архитектура этого не решает.
- Уведомления на телефон. Сирена звучит, кран закрывается, но сообщение не уйдёт, пока не вернётся связь.
- Облачные голосовые ассистенты. Большинству нужен интернет, чтобы понять команду, даже если управляемое устройство локальное.
- Обновления и доступ к видеозаписям, хранящимся в облаке.
Хорошо спроектированная система при пропадании интернета теряет удобство, а не функции. Если при обрыве связи вы не можете включить свет в гостиной, проблема не в интернете.
Шесть принципов архитектуры
Они одинаковы в каждом проекте и проверяемы при приёмке. Это не лозунги: каждый описывает решение, которое можно запросить явно.
- 01Критичные функции работают локально, там, где архитектура это позволяет.
- 02Сеть устройств отделена от повседневной сети.
- 03У конфигураций есть резервная копия, чтобы систему можно было восстановить.
- 04У оборудования есть прослеживаемость — известно, что смонтировано, где и с какой версией.
- 05Для основных функций есть ручной резервный режим.
- 06Есть план восстановления на случай отказа хаба.
Четырёхчасовой обрыв, минута за минутой
Вот как выглядит обычный обрыв у провайдера — из тех, что случаются несколько раз в год — в доме, спроектированном с локальными критичными функциями.
- 01Минута 0. Роутер теряет связь. В доме визуально не меняется ничего: локальный координатор продолжает работать, устройства общаются между собой в своей сети.
- 02Минута 1. Приложение на телефоне, если вы дома и в той же сети, продолжает работать — оно подключается к координатору, а не к внешнему серверу.
- 03Минута 15. Термостаты идут по своему расписанию. Датчики движения включают свет. Вечерний сценарий срабатывает в своё время.
- 04Час 2. Кто-то открывает дверь. Датчик фиксирует, сирена сработала бы, будь охрана включена. Уведомление встаёт в очередь.
- 05Час 4. Связь возвращается. Уведомления из очереди уходят, удалённый доступ снова доступен, система синхронизирует журнал.
В доме, построенном целиком на облаке, тот же обрыв выглядит иначе: на нулевой минуте останавливаются автоматизации, на первой приложение не отвечает даже из гостиной, а на втором часу открытие двери не фиксирует ничто.
Риск, который никто не пишет в предложении
Обрывы интернета длятся часами. Закрытие облачного сервиса длится всегда.
Производитель, решивший больше не поддерживать поколение устройств, способен за одну ночь превратить полностью исправное оборудование в предметы без мозга. В индустрии это случалось достаточно раз, чтобы не быть теоретическим допущением. Устройства остаются на стене; функция, ради которой их купили, исчезает.
Защита — не в том, чтобы избегать всего, у чего есть облако: тогда пришлось бы избегать почти всего. Защита в том, чтобы логика от него не зависела: если автоматизации выполняются на координаторе в доме, а устройства говорят на открытом протоколе, закрытие сервиса забирает у вас приложение производителя, а не дом.
Вопрос, который стоит задать до покупки: если производитель завтра выключит сервер, этим устройством можно будет управлять локально? Если ответ «нет», вы покупаете его, зная, что у него есть срок годности.
Почему важно разделение сети
Умные устройства в подавляющем большинстве — это маленькие компьютеры с прошивкой, которая обновляется редко. Оставленные в одной сети с рабочим ноутбуком и телефонами семьи, они становятся самым слабым звеном.
Разделение — не экзотическая мера: это отдельная сеть для устройств, с правилами, которые позволяют им общаться с координатором, но не с остальным. Делается при монтаже и не стоит ничего дополнительно, если заложено с самого начала.
Камеры — самый недопонятый случай
Видеонаблюдение — то место, где разница между локальным и облачным стоит дороже всего, и там же её труднее всего вычитать из характеристик продукта.
Камера, пишущая только в облако, не пишет ничего, пока нет интернета, — то есть ровно в тот промежуток, когда кто-то мог перерезать интернет-кабель перед тем, как войти. Та же камера с локальной записью на регистратор или на диск в доме продолжает писать независимо от связи.
- Локальная запись работает без интернета. Удалённый просмотр — нет.
- Проводка по Ethernet, с питанием по тому же кабелю, снимает и зависимость от Wi-Fi, и заботу о батарейках.
- Камера, отдающая стандартный протокол потока, может писаться на любой регистратор, а не только в приложение производителя. В этом разница между «вы выбираете регистратор» и «вы привязаны к подписке».
- У локального хранилища есть предел глубины. Он рассчитывается на аудите, исходя из того, сколько дней истории нужно.
«Работает локально» на коробке камеры иногда означает лишь то, что её можно смотреть в прямом эфире из той же сети, а не то, что она записывает. Разница проверяется по модели, а не предполагается.
Что будет, если сломается хаб
Вопрос правильный, и ответ на него нужно дать заранее, а не потом. Локальный координатор — это единая точка отказа для автоматизаций, но не для базовых функций, если система спроектирована как надо.
Без хаба: выключатели работают, термостаты держат своё расписание, извещатели дыма звучат. Останавливаются сценарии, связывающие несколько устройств. С резервной копией конфигурации заменённый хаб возвращается в прежнее состояние без переделки с нуля — поэтому резервная копия входит в шесть принципов, а не в список опций.
О чём спросить любого интегратора
- Какие функции продолжат работать без интернета? Просите список, а не общее заверение.
- Где выполняется логика автоматизаций — на устройстве в доме или на внешнем сервере?
- Что будет, если производитель закроет облачный сервис через три года?
- Отделена ли сеть устройств от повседневной?
- Где резервная копия конфигурации и как она восстанавливается?
