Глава 6. Дом без интернета: что работает, а что нет
Это самая важная глава для разговора с заказчиком. Первый вопрос, который он задаёт про умный дом: «а если интернет отключат?» Второй: «а если ваша компания закроется?» На оба у нас есть честный ответ, и он работает в…
В этой главе
- 1. Откуда взялось правило «сначала локальная сеть»
- 2. Как приложение находит контроллер в домашней сети
- 3. Безопасность локального пути: почему прямой доступ не значит «кто угодно управляет домом»
- 4. Живучесть контроллера: сторож, автолечение сети, что происходит при зависании
- 5. Честный раздел про риск: логика дублируется на контроллере, отказ контроллера — мёртвый дом
- 6. Как ПРОВЕРИТЬ автономность на объекте при сдаче: пошаговая процедура на 10 минут
- 7. Таблица: сравнение подходов
- 8. Разговор с заказчиком: вопрос — плохой ответ — хороший ответ
- 9. Возражения заказчика и ответы (дополнение к таблице)
- А если у вас упадёт сервер, мой дом встанет?
- А если вы закроетесь?
- Значит, интернет вообще не нужен?
- А это не будет тормозить?
- 10. Чек-лист монтажника: что проверить перед уходом с объекта
Это самая важная глава для разговора с заказчиком. Первый вопрос, который он задаёт про умный дом: «а если интернет отключат?» Второй: «а если ваша компания закроется?» На оба у нас есть честный ответ, и он работает в нашу пользу — но только если вы понимаете, как устроено.
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 сможет открыть замок?»
Нет. Локальный путь защищён тремя слоями:
- Отдельная учётная запись на каждый дом. Контроллер создаёт уникальную пару «логин-пароль» при первой привязке. Сосед, подключившийся к вашему Wi-Fi, не знает эту учётную запись.
- Разделённые права на чтение и запись. Есть токен (токен — это строка-ключ, выдаваемая после входа) только для просмотра: он позволяет видеть температуру, состояние датчиков, картинку с камер. Токен для управления — другой, он выдаётся только после ввода PIN-кода или отпечатка пальца в приложении.
- Шифрование и проверка сертификата дома. Весь трафик между телефоном и контроллером идёт по 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, запись в контроллере выключена
Распечатайте этот чек-лист, берите на объект. Подпись заказчика под актом — ваша защита от претензий «я не знал, что без интернета не работает Алиса».