Главная → Академия → Учебник → Глава 6. Дом без интернета: что работает, а что нет

Глава 6. Дом без интернета: что работает, а что нет

Часть II. Что такое система HI · 3282 слов · учебник «Умный дом для электрика и монтажника»

Это самая важная глава для разговора с заказчиком. Первый вопрос, который он задаёт про умный дом: «а если интернет отключат?» Второй: «а если ваша компания закроется?» На оба у нас есть честный ответ, и он работает в…

В этой главе

Это самая важная глава для разговора с заказчиком. Первый вопрос, который он задаёт про умный дом: «а если интернет отключат?» Второй: «а если ваша компания закроется?» На оба у нас есть честный ответ, и он работает в нашу пользу — но только если вы понимаете, как устроено.


1. Откуда взялось правило «сначала локальная сеть»

Это не лозунг из рекламы, а решение, оплаченное неприятностью на живом объекте.

Раньше наши приложения ходили к дому через интернет всегда — даже когда телефон и контроллер стояли в одной квартире и были в одной Wi-Fi-сети. Пока канал был свободен, это никого не смущало. Потом на объекте канал загрузился, и время отклика выросло до 1300 миллисекунд — почти полторы секунды на каждое нажатие. Приложения перестали быть пригодны для жизни. При этом связь внутри дома, от телефона до контроллера, показывала 0,8 миллисекунды: в полторы тысячи раз быстрее. Мы ходили вокруг дома через интернет, имея прямую дорогу длиной в один коммутатор.

После этого архитектура была переделана. Правило простое: если телефон и контроллер в одной сети — говорим напрямую, интернет не трогаем.


2. Как приложение находит контроллер в домашней сети

Когда вы открываете приложение дома, оно не лезет в настройки за записанным IP-адресом. Контроллер сам объявляет себя в локальной сети — посылает специальное сообщение (в терминах сети это mDNS, Multicast DNS, многоадресная система доменных имён) со своим серийным номером. Приложение слушает эти объявления, сверяет серийный номер с тем, что записан в привязке дома, и подключается только к своему контроллеру.

Почему это надёжнее записанного адреса:

  • IP-адрес может смениться после перезагрузки роутера или по истечении аренды DHCP (Dynamic Host Configuration Protocol, автоматическая выдача адресов). Объявление с серийным номером работает всегда, независимо от адреса.
  • Если заказчик поставил второй роутер или заменил провайдера, приложение всё равно найдёт контроллер — серийный номер не меняется.
  • Никаких настроек «вбить адрес вручную» не нужно. Монтажник сканирует QR-код на контроллере при привязке, а дальше работает автоматика.

Аналогия из электрики: представьте, что вместо того чтобы искать щит по адресу «квартира 42, третий этаж», вы просто кричите в подъезд: «Щит с номером 12345, отзовись!» — и он отвечает: «Я здесь, в квартире 42». Даже если квартиру переоборудуют и номер двери сменится, щит отзовётся по своему заводскому номеру.

Как это работает технически (для понимания, не для настройки): mDNS-обнаружение использует multicast-адрес 224.0.0.251 порт 5353. Планируемое имя контроллера — smartbox-<id>.local (id — из последних байтов MAC-адреса), сервис _smartbox-coordinator._tcp.local на порту 8883. В текущей прошивке ELX анонс mDNS ещё не включён: SMARTCONFIG отправляет mDNS-запрос без ответа, а обнаружение сегодня работает через UDP-широковещание на порту 1822. Приложение получает IP контроллера, сверяет серийный номер из ответа с тем, что записан в локальном кеше привязки (кеш локальных доступов — механизм в приложении, сохраняет последние успешные подключения), и устанавливает TLS-соединение. Всё это занимает доли секунды и происходит автоматически при каждом запуске приложения дома.


3. Безопасность локального пути: почему прямой доступ не значит «кто угодно управляет домом»

Частый страх: «Если телефон говорит с контроллером напрямую, то любой в мой Wi-Fi сможет открыть замок?»

Нет. Локальный путь защищён тремя слоями:

  1. Отдельная учётная запись на каждый дом. Контроллер создаёт уникальную пару «логин-пароль» при первой привязке. Сосед, подключившийся к вашему Wi-Fi, не знает эту учётную запись.
  2. Разделённые права на чтение и запись. Есть токен (токен — это строка-ключ, выдаваемая после входа) только для просмотра: он позволяет видеть температуру, состояние датчиков, картинку с камер. Токен для управления — другой, он выдаётся только после ввода PIN-кода или отпечатка пальца в приложении.
  3. Шифрование и проверка сертификата дома. Весь трафик между телефоном и контроллером идёт по TLS (Transport Layer Security, транспортная защита — тот же протокол, что у банковских сайтов). Контроллер предъявляет сертификат, в котором зашит серийный номер дома. Приложение проверяет: «Этот сертификат принадлежит моему дому?» Если нет — соединение рвётся.

Что это значит для монтажника: вы не настраиваете фаерволы (firewall, сетевой экран) и не генерируете сертификаты вручную. Это происходит автоматически при привязке дома через QR-код. Ваша задача — убедиться, что контроллер и телефон в одной VLAN (Virtual LAN, виртуальная локальная сеть) или в одной физической сети без изоляции клиентов (AP Isolation).


4. Живучесть контроллера: сторож, автолечение сети, что происходит при зависании

Контроллер — это не просто компьютер в коробке. У него есть трёхуровневый сторож (watchdog, сторожевой таймер):

Уровень Что делает Когда срабатывает
1. Перезапуск службы Перезапускает основной процесс контроллера (systemd unit) Процесс упал или завис на 10 секунд
2. Сброс платы Подаёт сигнал сброса на саму плату ввода-вывода (GPIO reset) Уровень 1 не помог, процесс не оживает
3. Полная перезагрузка Перезагружает весь Linux (перезагрузка ОС) Уровень 2 не помог

Плюс автолечение сети: если контроллер теряет связь с роутером (нет шлюза, нет DNS), он пробует переподнять сетевой интерфейс, запросить новый адрес по DHCP, восстановить маршруты. Это происходит фоново, без участия монтажника.

Что происходит при зависании: если основной процесс контроллера перестал отвечать на пинги сторожа, срабатывает уровень 1 — служба перезапускается за 1–2 секунды. Состояния реле, датчиков, запущенных сценариев при этом не теряются: они хранятся в памяти платы и в базе контроллера. После перезапуска служба читает актуальное состояние и продолжает работу.

Цена этой автономности по нагрузке — 0,14 % одного ядра процессора. На практике это значит: сторож работает постоянно, и вы не замечаете его наличия.


5. Честный раздел про риск: логика дублируется на контроллере, отказ контроллера — мёртвый дом

Здесь важно не приукрашивать.

Что дублируется: базовые привязки «выключатель → свет», «датчик протечки → клапан», «движение → свет в коридоре» — компилируются в память платы (правило занимает 13 байт). Эти связки работают, даже если контроллер полностью выключен или завис на уровне ОС. Плата — это микроконтроллер (MCU, Microcontroller Unit) на шине внутри щита, он независим от Linux.

Что НЕ дублируется: сложные сценарии («если температура ниже 20 и время после 22:00 и никто дома — включить отопление в режиме эконом»), расписания, зоны климата, интеграции с Алисой, историю событий, работу с камерами, распознавание номеров. Всё это живёт в контроллере.

Риск, названный самой командой: отказ контроллера (сгорел блок питания, умер eMMC, ошибка прошивки) — это мёртвый дом для всего, что не зашито в память платы. Выключатели на стене продолжат включать свет напрямую, датчик протечки закроет клапан, но: сценарии не сработают, камеры не покажут картинку, приложение не подключится, климат не будет поддерживать температуру по расписанию.

Что мы с этим делаем:

  • Переносим максимум правил в память платы. Сейчас компиляция в SMARTCONFIG (программа монтажника на Windows) собирает привязки и кладёт их в память платы автоматически. Монтажник не нажимает отдельную кнопку «зашить в плату» — это происходит при выгрузке конфигурации.
  • Контроллер поставляется с запасным блоком питания в комплекте (зависит от модели, смотрите паспорт поставки).
  • На объекте можно держать запасной контроллер с загруженной конфигурацией: SMARTCONFIG умеет готовить партию контроллеров с уникальными серийниками, ключами и QR-кодами для каждого. Замена занимает 15 минут: открутить четыре винта, переставить клеммы, включить питание, отсканировать QR — дом жив.
  • Мониторинг живучести: наш сервер замечает, что контроллер не на связи, за 2–6 секунд (у типовых облачных интеграций — 600 секунд). Дежурный инженер видит аварию до того, как заказчик позвонит.

Честная оговорка: полностью автономного дома не бывает. Есть дом, который работает без интернета, и есть дом, который работает без контроллера (только базовые привязки в плате). Выбирайте баланс под заказчика и объясняйте его честно.


6. Как ПРОВЕРИТЬ автономность на объекте при сдаче: пошаговая процедура на 10 минут

Эта процедура входит в акт приёмки-сдачи. Делается после настройки, перед уходом монтажника.

Подготовка (1 минута):

  • Телефон заказчика с установленным приложением, вошедшим в дом (PIN или отпечаток).
  • Планшет/панель на стене (если есть) — тоже в доме.
  • Ноутбук монтажника с SMARTCONFIG для контроля состояний портов.

Шаг 1. Отключаем интернет (2 минуты). Не выдергивайте кабель провайдера — это сбросит и локальную сеть. Зайдите в веб-интерфейс роутера (обычно 192.168.1.1 или 192.168.0.1) и заблокируйте исходящий трафик для MAC-адреса контроллера (в разделе Firewall / Access Control / Родительский контроль). Или просто отключите WAN-порт на роутере, если локальная сеть остаётся живой. Проверьте: телефон в Wi-Fi, пинг до контроллера идёт (ping <IP контроллера>), а сайты в браузере телефона не открываются.

Шаг 2. Проверяем управление из приложения (2 минуты).

  • Откройте приложение на телефоне. Должен появиться зелёный значок «Локальная сеть» (в верху экрана).
  • Включите/выключите три разные группы света, розетку, привод шторы.
  • Откройте камеру (любую из внутренних) — картинка должна пойти за 11–14 секунд при первом обращении (холодный старт), при повторном — за 2–3 секунды.
  • Проверьте датчики: откройте дверь с датчиком открытия, поднесите руку к датчику движения — состояние в приложении меняется мгновенно.

Шаг 3. Проверяем настенные выключатели (1 минута). Нажмите физические выключатели на стене — свет должен реагировать мгновенно. Это проверяет, что привязки в памяти платы работают независимо от контроллера.

Шаг 4. Проверяем панель на стене / планшет (1 минута). Если на объекте стоит планшет в режиме настенной панели — повторите включение света и открытие камеры с него. Работает так же, как телефон.

Шаг 5. Проверяем сценарии в контроллере (2 минуты). В SMARTCONFIG на ноутбуке (подключённом к той же локальной сети) откройте вкладку «Живые состояния портов». Запустите любой сценарий из приложения (например, «Ухожу из дома» — гасит свет, закрывает шторы, ставит климат в эконом). В SMARTCONFIG должны меняться состояния портов реле, ШИМ (PWM, Pulse Width Modulation, широтно-импульсная модуляция — управление диммерами и лентами), приводов штор. Это доказывает: логика сценария отработала в контроллере без интернета.

Шаг 6. Возвращаем интернет (1 минута). Снимаем блокировку в роутере. Приложение показывает «Онлайн» (серверная связь восстановлена). Проверьте, что уведомления о действиях за время автономии ушли на сервер (в истории событий появятся записи).

Шаг 7. Записываем в акт (1 минута). В акт приёмки-сдачи вписываете:

«Проверена автономная работа при отключённом интернете. Управление из приложения, панель, выключатели, датчики, камеры (5 из 5), сценарии — работают. Холодный старт камеры 11–14 с. Перезагрузка контроллера не проверялась. Подпись заказчика, подпись монтажника, дата, время.»

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


7. Таблица: сравнение подходов

Критерий Облачные системы (Tuya, Xiaomi, Яндекс и др.) Локальные для энтузиастов (Home Assistant, MajorDoMo, ioBroker) Промышленные стандарты (KNX, Loxone, Crestron) Наш подход (HI)
Где живёт логика В облаке производителя На вашем сервере (RPi, NUC, мини-ПК) В контроллерах на шине (KNX) или центральном контроллере В контроллере в щите + часть в памяти платы
Работа без интернета Нет (управление только локально через хаб, если есть) Да (полностью) Да (полностью) Да (всё, кроме удалённого доступа, Алисы, обновлений)
Настройка Приложение производителя, 10–30 мин на устройство YAML/JSON/веб-UI, дни-недели на объект ETS (KNX) / ПО вендора, недели, сертификация SMARTCONFIG (Windows), диалог с помощником, 1 день на объект
Передача объекта другому монтажнику Не нужна — привязан к аккаунту Сложно: конфигурационные файлы, специфика автора Стандартизировано: проект в ETS, любой сертифицированный партнёр Проект в SMARTCONFIG, открывает любой наш монтажник, всё понятно
Стоимость оборудования Низкая (от 500₽/устройство) Средняя (от 2000₽/узел + сервер) Высокая (от 15 000₽/линия + сертификация) Средняя (контроллер + платы, см. прайс)
Зависимость от вендора Полная: закрыли облако — кирпич Нет (Open Source), но поддержка — форум Зависимость от вендора оборудования и ПО Оборудование ваше, логика на объекте, обновления от нас
Голосовое управление Встроено (Алиса, Siri, Google) Через плагины/прокси, настройка вручную Через шлюзы/интеграции, дорого Алиса через наш сервер (нужен интернет), свой голос без интернета (медицинский объект)
Видео / камеры Через облако вендора Локально (RTSP/ONVIF), настройка вручную Специализированные системы, очень дорого RTSP/ONVIF/WebRTC локально, запись — открытый долг
Мониторинг живучести Нет / только «в сети/не в сети» Сами пишете скрипты Встроено в ПО вендора Сервер видит потерю за 2–6 с, автолечение сети, трёхуровневый сторож
Время входа в проект для нового монтажника 0 минут (приложение знает всё) Часы-дни (читать чужие YAML) Дни (проект в ETS, обучение) 15–30 минут (открыл SMARTCONFIG, всё видно)

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


8. Разговор с заказчиком: вопрос — плохой ответ — хороший ответ

Ниже — реальные диалоги с объекта. Учите хорошие ответы, плохие — запоминайте, чтобы не говорить.

Вопрос заказчика Плохой ответ (почему теряете доверие) Хороший ответ (честно, по делу)
«А если интернет отключат, дом встанет?» «Ни в коем случае, у нас всё локальное!» «Дом не встанет. Выключатели на стене, свет, розетки, шторы, отопление, датчики протечки и движения, замки, камеры внутри — всё работает. Не будет только: управления из другого города, голоса Алисы, уведомлений на телефон вне дома. Хотите — проверю прямо сейчас: перекрою интернет в роутере, и вы понажимаете выключатели.»
«А если ваша компания закроется, я останусь с железками?» «Мы не закроемся, мы с 2014 года на рынке.» «Оборудование останется у вас в щите. Логика сценариев, привязок выключателей, датчиков, климата — всё записано в контроллере и в памяти платы. Никакой лицензии на работу дома не требуется. SMARTCONFIG (программа настройки) установлена у любого нашего монтажника — он откроет ваш проект и поможет. Единственное: обновления прошивки и доступ через Алису перестанут приходить, но дом продолжит жить.»
«Значит, интернет вообще не нужен? Можно не подводить кабель?» «Да, интернет не нужен, сэкономите на кабеле.» «Интернет нужен для трёх вещей: 1) управлять домом из отпуска/работы, 2) разговаривать с Алисой (колонка Яндекса ходит в их облако), 3) получать обновления прошивки и конфигураций. Без интернета дом работает автономно, но вы теряете удалённый доступ. Рекомендую подвести — стоит копейки, а удобства даёт много.»
«Соседу поставили за 200 тысяч, у вас 400. Почему так дорого?» «У нас качество лучше, компоненты другие, гарантия 20 лет.» «Скорее всего, у соседа набор устройств из разных коробок: розетки Xiaomi, лампы Yeelight, датчики Aqara — у каждого своё приложение, своё облако. Спросите его: сколько приложений на телефоне? Что происходит, когда пропадает интернет? Может ли другой монтажник разобраться через год? У нас — одно приложение, один контроллер, логика на объекте, передача коллеге за 15 минут. Цена за систему, а не за набор гаджетов.»
«А это не будет тормозить? У друга умный дом — жмёшь выключатель, свет через секунду загорается.» «У нас быстрее всех, 0,8 миллисекунды.» «Внутри дома отклик — 0,8 миллисекунды, потому что телефон говорит с контроллером напрямую через ваш Wi-Fi/провод, минуя интернет. Тормозит именно облачная схема: команда летит в облако, там обрабатывается, летит обратно — поэтому у друга секундная задержка. Мы от этой схемы ушли именно по этой причине. Проверьте: нажмите выключатель на стене — свет загорается мгновенно, без любой задержки.»
«А камеры будут писать на карту памяти?» «Да, записывают, карта в контроллере есть.» «Запись видео сейчас выключена — на диске контроллера не хватает места для надёжной записи. Это открытый долг, мы над этим работаем. Но просмотр вживую работает: 5 камер из 5 показывают картинку без интернета, проверено на живом объекте. Распознавание номеров работает на контроллере, журнал проездов хранится дома (кольцевой буфер 3 ГБ, 30 суток), номера в облако не уходят. Если запись критична — ставим отдельный NVR (Network Video Recorder, сетевой видеорегистратор) или NAS.»
«Что будет, если контроллер сгорит? Всё пропадёт?» «У нас резервирование, ничего не пропадёт.» «Честно: если сгорит контроллер — перестанут работать сценарии, расписания, камеры, климат по зонам, интеграции, приложение не подключится. Но: базовые привязки «выключатель → свет», «датчик протечки → клапан», «движение → свет в коридоре» зашиты в память платы и будут работать без контроллера. Мы готовим запасной контроллер с вашей конфигурацией — замена 15 минут. Рекомендую закупить резервный блок питания (в комплекте зависит от модели) и держать второй контроллер на объекте.»
«А как вы будете знать, что у меня что-то сломалось?» «Мы всё видим в мониторинге, сами позвоним.» «Наш сервер опрашивает контроллер и замечает потерю связи за 2–6 секунд (у типовых облачных — 10 минут). Дежурный инженер видит аварию на дашборде. Ограничение: оповещения дежурному по SMS/Telegram/звонку пока не подключены — это в планах. Пока дежурный смотрит в консоль вручную. Если хотите — можно настроить звонок на ваш телефон через сторонний мониторинг (Zabbix, Prometheus + Alertmanager), мы подскажем, какой эндпоинт опрашивать.»
«Можно ли управлять голосом без интернета? Бабушка не умеет в телефоны.» «Да, у нас свой голосовой ассистент работает офлайн.» «У отдельного проекта (Bolnica MTS, не HI, другая платформа) есть решение для медицинского объекта: распознавание речи на самом устройстве, без облака и без видеокарты. Замер: 362 миллисекунды на фразу, 0 ошибок на тестовом наборе, 4 одновременных запроса без деградации, 18 из 18 русских формулировок распознаны. Голос пациента не покидает здание. Ограничение: приёмка на объекте не подписана ни в одной палате — это пилот. Для обычного дома голос без интернета пока не поставляется серийно, используем Алису (нужен интернет).»
«А если я сменю роутер или провайдера, всё сломается?» «Нет, у нас всё по MAC-адресам, ничего не сломается.» «Приложение находит контроллер не по IP-адресу, а по объявлению в локальной сети с серийным номером. Сменили роутер, провайдера, диапазон адресов — приложение всё равно найдёт свой дом. Единственное: если разделяете сети (VLAN для гостей, отдельная для умного дома) — контроллер и телефоны должны быть в одной L2-сети (один broadcast-домен), иначе mDNS не пройдёт. Настройте это разово при смене роутера — дальше работает само.»

9. Возражения заказчика и ответы (дополнение к таблице)

А если у вас упадёт сервер, мой дом встанет?

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

А если вы закроетесь?

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

Значит, интернет вообще не нужен?

Нужен для трёх вещей: управлять из другого города, разговаривать с Алисой и получать обновления. Всё остальное — внутри дома.

«Соседу поставили за меньшие деньги». Скорее всего, соседу поставили набор устройств, каждое со своим приложением и своим облаком. Спросите его, что происходит, когда пропадает интернет, и сколько у него приложений на телефоне.

А это не будет тормозить?

Внутри дома отклик — миллисекунды, потому что телефон говорит с контроллером напрямую, минуя интернет. Тормозит как раз облачная схема, и мы от неё ушли по этой причине.

🔴 Чего не говорите никогда: «работает всегда» и «стопроцентная надёжность». Электричество кончается, карта памяти изнашивается, оборудование ломается. Правильная фраза — «дом не зависит от интернета, и вот что именно продолжает работает», с таблицей из этой главы в руках.


10. Чек-лист монтажника: что проверить перед уходом с объекта

[ ] Привязка дома отсканирована по QR, телефон заказчика вошёл (PIN/отпечаток)
[ ] Локальный доступ работает: зелёный значок «Локальная сеть» в приложении
[ ] Интернет перекрыт в роутере (тест автономии пройден по 7 шагам выше)
[ ] Выключатели на стене включают/выключают нагрузки без задержки
[ ] Камеры (все заявленные) показывают картинку: холодный старт 11–14 с, повторный 2–3 с
[ ] Датчики (протечка, движение, открытие, температуру/влажность) отдают состояния
[ ] Сценарии из приложения отрабатывают, состояния портов меняются в SMARTCONFIG
[ ] Панель/планшет на стене управляет так же, как телефон
[ ] Акт приёмки подписан: записаны результаты теста автономии, оговорка про холодный старт и непроверенную перезагрузку
[ ] Заказчик получил QR-карточку дома, PIN, инструкцию по смене роутера
[ ] Если критична запись видео — обсуждён отдельный NVR/NAS, запись в контроллере выключена

Распечатайте этот чек-лист, берите на объект. Подпись заказчика под актом — ваша защита от претензий «я не знал, что без интернета не работает Алиса».

Продолжить в Академии