[2026-09-14] eagle: family/how-to/home-automation.md family/how-to/nodered-ventilation.md family/how-to/truenas-infrastructure.md family/plans/t610-home-automation.md
This commit is contained in:
@@ -21,11 +21,11 @@ related:
|
||||
> **Статус на 2026-09-14:** домашняя автоматизация **перенесена на HP t610** (HA OS).
|
||||
> 📌 **Всё про миграцию** — хост, доступ, карта USB/гнёзд, аддоны, Zigbee, питфоллы, текущее состояние — **в единственном документе [[family/plans/t610-home-automation]]. НЕ дублировать сюда.**
|
||||
> 📌 **Этот документ — справочник по ЖЕЛЕЗУ:** AT2 (параметры/PWM), карта Slave ID, регистры заслонок/реле, ZONT relays. Оборудование и адреса Modbus при миграции не меняются.
|
||||
> **Текущее состояние:** `unavailable` в HA — **10** (было 44). Причина была в **перепутанных гнёздах аддонов** (`mbusd`↔`modbus-bridge`) — исправлено обменом привязок. **ZONT ещё НЕ перенаправлен** на MQTT t610 — редирект GPON-роутера пока смотрит на TrueNAS.
|
||||
> **Текущее состояние:** `unavailable` в HA — **10** (было 44). Причина была в **перепутанных гнёздах аддонов** (`mbusd`↔`modbus-bridge`) — исправлено обменом привязок.
|
||||
>
|
||||
> **🔴 ZONT MQTT — подтверждено 2026-09-14:** на роутере `192.168.2.2` (OpenWrt) есть DNAT-правило `MQTT`: `wan:1883 → 192.168.2.197:1883` (mosquitto на **TrueNAS**), `src_ip 192.168.0.0/24` (сеть GPON/ZONT). Также `/etc/config/dhcp`: `list address '/mallexxx.duckdns.org/192.168.0.10'` — внутренний DNS-пин для ZONT-сети. **Для остатка Этапа 4:** переключить DNAT `MQTT` на `192.168.2.176:1883` (mosquitto-аддон на t610).
|
||||
> **✅ ZONT MQTT — ПЕРЕНАПРАВЛЕН 2026-09-14:** на роутере `192.168.2.2` (OpenWrt) DNAT-правила `redirect[0]` (name `MQTT`) и `rule[3]` (name `allow-1883`) переключены `dest_ip` `192.168.2.197` → **`192.168.2.176`**. ZONT теперь пишет в mosquitto-**аддон на t610** (живой поток `modbus/sensors/kids/*`, `bedroom/*`). В настройках ZONT ничего не менялось — адрес `mqtt://zont:…@192.168.0.10:1883` остался тот же (`192.168.0.10` = wan-интерфейс самого роутера `192.168.2.2`). Бэкап правил: `/root/firewall.bak-20260914-092555`. Детали и откат — [[family/plans/t610-home-automation]] §5-кватер-Д. Также `/etc/config/dhcp`: `list address '/mallexxx.duckdns.org/192.168.0.10'` — внутренний DNS-пин для ZONT-сети.
|
||||
>
|
||||
> **🔌 ZONT 485 спит на гнезде 4** (`/dev/serial/by-path/pci-0000:00:12.0-usb-0:4:1.0-port0`), вентиляция — гнездо 3. `modbus-bridge` (аддон на t610) сниффит ZONT-шину и публикует в MQTT топики `modbus/sensors/<комната>/<параметр>`. **Сейчас публикуются только `kids` и `bedroom`** (temperature/co2/humidity) — `dining/*` НЕ публикуется: ZONT опрашивает slave 1 / reg 100 каждые 5 с, датчик отвечает значением **0** → bridge отбрасывает как невалидное. Датчик физически есть (подтверждено Alex'ом), причина нуля не установлена.
|
||||
> **🔌 ZONT 485 спит на гнезде 4** (`/dev/serial/by-path/pci-0000:00:12.0-usb-0:4:1.0-port0`), вентиляция — гнездо 3. `modbus-bridge` (аддон на t610) сниффит ZONT-шину и публикует в MQTT топики `modbus/sensors/<комната>/<параметр>`. **Публикуются только `kids` и `bedroom`** (temperature/co2/humidity) — **`dining/*` ZONT не публикует вообще, ни в один брокер** (проверено 2026-09-14 вечер-3 после перенаправления DNAT). ⚠️ **Прежняя версия «датчик отвечает 0» — ОПРОВЕРГНУТА:** на брокере TrueNAS по столовой висели **retained**-значения (co2 780, temp 24.2 °C) — то есть данные когда-то были валидными, датчик исправен. Причина в **ZONT-стороне** (регистрация/конфигурация датчика столовой в ZONT), не в маршруте MQTT и не в t610. Задача не ставилась Alex'ом.
|
||||
|
||||
## AT2 — калибровка PWM
|
||||
|
||||
|
||||
@@ -6,9 +6,21 @@ tags:
|
||||
- automation
|
||||
- nodered
|
||||
- ventilation
|
||||
updated: '2026-05-17'
|
||||
updated: '2026-09-14'
|
||||
related:
|
||||
- '[[family/plans/t610-home-automation]]'
|
||||
- '[[family/how-to/home-automation]]'
|
||||
---
|
||||
|
||||
> ## 🔄 ГДЕ ЖИВЁТ (обновлено 2026-09-14)
|
||||
> **Flows перенесены на HP t610** (HA OS) — **перенос выполнен 2026-09-14**, см. [[family/plans/t610-home-automation]] §5-кватер-Г.
|
||||
> - **Файл:** `/addon_configs/a0d7b954_nodered/flows.json` в аддоне `a0d7b954_nodered` (**68 узлов**, было 124 б пустых).
|
||||
> - **🔴 Ключевая правка при переезде:** узел `server` — `"addon": false` → **`"addon": true`**. На TrueNAS Node-RED был отдельным docker-контейнером и ходил в HA по адресу + long-lived token (**токена в переносимых файлах нет вообще** — не искать). На t610 он HA-аддон → в аддон-режиме Supervisor даёт доступ к HA без токена. Лог после правки: `[server:Home Assistant] Connected to http://supervisor/core`, ошибок 0.
|
||||
> - **Модуль:** опция аддона `npm_packages: ["node-red-contrib-home-assistant-websocket@0.80.3"]`.
|
||||
> - **Доступ:** наружу НЕ выпущен (`host_network: true` глушит порт-маппинг; снимается только галочкой в UI) → **через ingress HA**: `http://192.168.2.176/api/hassio_ingress/4vUcCxEpYJMbQ64z-kWPCvFadq8ayl4lzvzJPDUaZzE/`. Домен `nodered.mallexxx.duckdns.org` **не используется** (отдаёт 401 от nginx HA).
|
||||
> - **Старый Node-RED на TrueNAS** (`/mnt/RED_2TB/docker/nodered/`, порт 1880) пока жив как источник/откат.
|
||||
> - **⚠️ Известное следствие:** узел `fan.fan_at2_1/2` (slave 10) в HA на t610 — `unavailable` (блок закомментирован в `configuration.yaml`), поэтому управление вентиляторами AT2 не работает. Также проверить наличие `cover.intake_damper_*` (в конфиге HA заслонки описаны как `switch.*`). Alex: задача по slave 10 **не ставилась**.
|
||||
|
||||
Node-RED flow для управления вентиляцией по данным CO₂ датчиков.
|
||||
|
||||
## Структура
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
> - **Caddy НЕ переносился и не будет:** 17 из 20 доменов `*.mallexxx.duckdns.org` — сервисы самого TrueNAS (immich, gitea, jellyfin, radarr, webdav, transmission, portainer…). Перенос Caddy на t610 положил бы их при падении t610. **Правлены только 2 upstream:** `mallexxx.duckdns.org` → `192.168.2.176:80` (HA на t610, HTTP 200) и `nodered.mallexxx.duckdns.org` → `192.168.2.176:1880` (**⚠️ этот сейчас отдаёт 401 от nginx HA, а не Node-RED — не используется, см. ниже**). Caddyfile: `/mnt/RED_2TB/docker/caddy/Caddyfile` (root-owned — агент только стейджит в `/tmp/`, подменяет Alex), бэкап `Caddyfile.bak-20260914`. Порты контейнера: `8088:80`, `8443:443`; DNAT на роутере `192.168.2.2`: `wan:80→192.168.2.197:8088`, `wan:443→192.168.2.197:8443`.
|
||||
> - **Node-RED flows перенесены на t610** (`/addon_configs/a0d7b954_nodered/flows.json`, 68 узлов, узел `server` → `addon: true`). **Наружу НЕ выпущен** (порт-маппинг при `host_network: true` глушится, снимается только в UI) — доступ через ingress HA. Node-RED в докере TrueNAS (`/mnt/RED_2TB/docker/nodered/`, порт `1880:1880`) **продолжает работать** как источник/откат.
|
||||
> - **🔴 Важно про доступ к HA извне:** `/config/.storage/http` на t610 требовал `trusted_proxies += 192.168.2.197/32`, иначе Caddy с другого хоста даёт **400** (HA `use_x_forwarded_for: true`). Обобщение: **IP любого внешнего reverse-proxy обязан быть в `trusted_proxies`.**
|
||||
> - **Не перенесено с TrueNAS:** GPON-редирект → t610, **ZONT MQTT** (сейчас ZONT шлёт на `192.168.2.197:1883` — DNAT-правило `MQTT` на роутере `192.168.2.2`), камера (`cam.*` → мёртвый upstream `.197:8090`).
|
||||
> **2026-09-14 (вечер-3) — ZONT MQTT ПЕРЕНАПРАВЛЕН НА t610:**
|
||||
> - DNAT на роутере `192.168.2.2`: `firewall.@redirect[0]` (name `MQTT`) и `firewall.@rule[3]` (name `allow-1883`) — `dest_ip` `192.168.2.197` → **`192.168.2.176`**. `uci commit firewall` + `/etc/init.d/firewall reload`. Бэкап: `/root/firewall.bak-20260914-092555`.
|
||||
> - **Результат:** ZONT пишет в mosquitto-**аддон на t610** (живой поток `modbus/sensors/kids/*`, `bedroom/*`). В настройках ZONT ничего не менялось (`mqtt://…@192.168.0.10:1883`, где `.0.10` = wan-интерфейс роутера `192.168.2.2`, не отдельный GPON-роутер).
|
||||
> - ⚠️ **`dining/*` ZONT не публикует ни в один брокер** — вопрос ZONT-стороны, не маршрута (retained-значения на TrueNAS были валидными → датчик исправен). Подробно — [[family/plans/t610-home-automation]] §5-кватер-Д.
|
||||
> - **Не перенесено с TrueNAS:** камера (`cam.*` → мёртвый upstream `.197:8090`); погашение TrueNAS-стека (Этап 4 п.6 — заблокировано: Caddy на TrueNAS держит точку входа).
|
||||
|
||||
> Обновлено: 2026-09-02 (vpn.mallexxx:443 = РАБОЧИЙ Xray-сервер, проверено end-to-end; vless-proxy outbound мёртв)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user