Сегодня в нашей IT лаборатории Navien Deluxe One c Wi-Fi-пультом NR-40D. Так уж вышло, что на момент покупки мной этого «умного пульта», его родное приложение умерло для всех пользователей из стран СНГ. А можно ли заставить его работать локально?
Как оказалось, можно! Единственный костыль — это необходимость завернуть все запросы умного пульта на свой сервер HA через dnat или подмену DNS. То есть, ваш маршрутизатор должен это уметь.
Работает для всех котлов, совместимых с пультом Navien NR-40D.

Как это работает
Пульт NR-40D сам подключается к облаку Navien по адресу вида rust2.naviensmartcontrol.com, на TCP-порт 7000 или один из запасных портов 21000–21010. Протокол простой: двоичные кадры с контрольной суммой, без шифрования и без проверки, с каким именно сервером пульт разговаривает. Поэтому пульту можно «подсунуть» другой сервер.
Интеграция и есть этот сервер. Она слушает те же порты на хосте Home Assistant, принимает подключение пульта, отвечает на его служебные запросы, раз в минуту спрашивает статус и отправляет команды управления. Роутер нужен только для одного: направить облачный трафик пульта на Home Assistant вместо интернета.
Вся связь остаётся внутри локалки. Если пропадёт интернет, управление котлом из Home Assistant продолжит работать.
Более того, развернув трафик пульта на свой локальный сервер вы автоматически защитите его от потенциальных MITM атак.
Что появляется в Home Assistant
Интеграция создаёт одно устройство Navien NR-40D со следующими сущностями:
| Сущность | Что делает |
|---|---|
| Климат «Котёл» | Вкл/выкл, температура в комнате, уставка, пресет «Вне дома» |
| Выключатель «Отопление» | Включение и выключение котла одним переключателем |
| Выключатель «Вне дома» | Экономный режим, пока никого нет дома |
| Число «Уставка комнаты» | Желаемая температура в комнате, 10–40 °C |
| Число «Температура теплоносителя» | Температура воды в батареях для режима «По теплоносителю», 40–80 °C |
| Число «Температура ГВС» | Температура горячей воды, 30–60 °C |
| Выбор «Режим отопления» | «По комнате» или «По теплоносителю» |
| Сенсор «Температура в комнате» | Показания датчика пульта, удобно для графиков |
| Сенсор «Режим» | Текущий режим работы котла |
| Сенсор «Ошибка» | Код ошибки с расшифровкой из инструкции (E003, E302 и другие) |
| Индикатор «Пламя» | Горит ли сейчас горелка |
| Индикатор «Связь с пультом» | Подключён ли пульт к интеграции |
| Индикатор «Уличный датчик» | Подключён ли к котлу датчик уличной температуры |
Уставки принимаются только целыми градусами — так устроен сам пульт.
Интеграция, как и родной сервер, позволяет пульту синхронизировать свои часы.
Карточка для панели

Вместе с интеграцией ставится карточка custom:navien-nr40d-card. На одном экране: температура в комнате и уставка с кнопками −/+, включение и выключение, «Вне дома», режим отопления, ползунки теплоносителя и ГВС. В шапке — индикаторы связи, пламени, уличного датчика и ошибок; при наведении мыши у каждого появляется подсказка.
Что понадобится
- Home Assistant 2024.2 или новее.
- HACS — для установки в пару кликов (можно и вручную).
- Роутер, на котором можно сделать перенаправление назначения (DNAT, «виртуальный сервер», port forwarding) или локальную DNS-запись. (В моём случае это, как всегда, Mikrotik)
- Пульт NR-40D и сервер с Home Assistant в одной локальной сети.
Шаг 1. Установка интеграции
- Откройте HACS → «Интеграции» → меню «⋮» → «Пользовательские репозитории».
- Добавьте адрес
https://github.com/ibuben/hass-navien-nr40d, тип Integration. - Найдите Navien NR-40D, установите и перезапустите Home Assistant.
- Перейдите в «Настройки» → «Устройства и службы» → «Добавить интеграцию» → Navien NR-40D.
В мастере настройки обычно ничего менять не нужно:
- Адрес прослушивания —
0.0.0.0, то есть все сетевые интерфейсы. - TCP-порты —
7000,21001,21002,21003. Если в логах роутера видно, что пульт ходит и на другие порты из ряда 21000–21010, допишите их через запятую. - Интервал опроса — 60 секунд. Можно от 10 до 600.
Без HACS: скопируйте папку custom_components/navien_nr40d из репозитория в /config/custom_components/, перезапустите Home Assistant и добавьте интеграцию так же через интерфейс.
Сразу после установки индикатор «Связь с пультом» будет выключен. Это нормально: пульт пока ещё ходит в облако. Его нужно перенаправить.
Шаг 2. Перенаправление пульта на Home Assistant
Задача — чтобы соединения пульта к облаку Navien приходили на IP-адрес Home Assistant. Протокол менять не нужно, только адрес назначения. Есть два способа, их можно совмещать.
- Предполагается, что пульт уже подключен к вашему домашнему WiFi. Если ещё нет — подключитесь к его AP, следуя инструкции от производителя. Но на шаге, где требуется добавить его в приложение, вместо этого действия откройте в браузере веб интерфейс пульта (в моём случае он находился на 192.168.43.1) и настройте пульт на вашу WiFi сеть. При таком способе установка приложения на телефон вообще не потребуется.
Способ 1. Перенаправление назначения (DNAT)
Самый надёжный вариант. На роутере создайте правило: TCP-соединения с IP-адреса пульта на порты 7000 и 21000–21010 перенаправлять на IP Home Assistant с теми же портами. В веб-интерфейсе это может называться Destination NAT, Port Forward, Virtual Server или «переадресация портов».
Важная деталь: пульт и Home Assistant обычно в одной подсети. Тогда Home Assistant ответит пульту напрямую, мимо роутера, и пульт такой ответ отбросит. Поэтому к перенаправлению нужен ещё masquerade (Hairpin NAT) для этих же соединений — так ответы пойдут обратно через роутер.
Пример для MikroTik RouterOS. Замените 192.168.1.50 на адрес пульта, а 192.168.1.10 — на адрес Home Assistant:
/ip firewall nat
add chain=dstnat src-address=192.168.1.50 protocol=tcp dst-port=7000,21000-21010 \
action=dst-nat to-addresses=192.168.1.10 comment="Navien NR-40D -> Home Assistant"
add chain=srcnat src-address=192.168.1.50 dst-address=192.168.1.10 protocol=tcp \
dst-port=7000,21000-21010 action=masquerade comment="Navien NR-40D hairpin"
Правило dstnat должно стоять выше других правил перенаправления, если они у вас есть. Пульту лучше закрепить постоянный IP-адрес в DHCP.
Способ 2. Локальный DNS
Если роутер, AdGuard Home или Pi-hole позволяют добавить свою DNS-запись, укажите для имён rust2.naviensmartcontrol.com и rust.naviensmartcontrol.com адрес Home Assistant. В других регионах имена могут отличаться (например, krst2… или ukst… в той же зоне naviensmartcontrol.com) — точное имя видно в журнале DNS-запросов роутера.
Способ сработает, только если пульт берёт DNS у вашего роутера. Пульт может закешировать старый адрес, поэтому после изменения перезагрузите его, отключив питание на минуту.
Если Home Assistant в Docker
Контейнер должен принимать эти порты с хоста: либо сетевой режим host, либо проброс портов 7000 и 21000–21010. В Home Assistant OS отдельно ничего настраивать не нужно.
Как только пульт подключится, индикатор «Связь с пультом» включится, а через несколько секунд появятся температура, уставки и режим.
Шаг 3. Карточка на панели
Интеграция сама регистрирует файл карточки. После установки перезапустите Home Assistant и обновите страницу браузера с очисткой кэша (Ctrl+F5). Затем откройте панель → «Изменить» → «Добавить карточку», найдите Navien NR-40D и выберите устройство котла.
