[2026-09-14] eagle: family/how-to/t610-access.md family/plans/t610-addons-deployment.md

This commit is contained in:
Alexey Martemyanov
2026-09-14 12:20:28 +06:00
parent 87381ed135
commit 9c4887a0fe
2 changed files with 126 additions and 21 deletions
+11 -4
View File
@@ -4,9 +4,13 @@
> План переноса: [[family/plans/home-automation-migration-t610]]
> Развёртывание сервисов: [[family/plans/t610-addons-deployment]]
> ✅ **Состояние на 2026-09-14 (Этап 3 почти закрыт, z2m = 16 устройств):** z2m, mbusd (порт 502), modbus-bridge (MQTT + HA-опрос) — развёрнуты аддонами и **работают**. В HA добавлена **MQTT-интеграция**. **HA-конфиг перенесён с TrueNAS** (`.storage` реестры + конфиги + `www/`): HA запущен, **248 сущностей, 11 зон, MQTT-интеграция цела, ошибок нет**. `modbus.host` → `127.0.0.1`. Zigbee-розетка `0xa4c138eb6fbe9d19` (NEO NAS-WR01B, греющий кабель) добавлена, мёртвое `Mini Smart Switch 1` (`0xcc86ecfffe1347fd`) **удалено из z2m**. **Остался последний шаг Этапа 3** — прописать `friendly_name` в z2m (таблица готова, см. [[family/plans/t610-addons-deployment]] §«КРИТИЧЕСКОЕ ОТКРЫТИЕ»), чтобы убрать hex-топики.
> ✅ **Состояние на 2026-09-14 (Этап 3 ЗАКРЫТ, z2m = 14 устройств):** z2m, mbusd (порт 502), modbus-bridge (MQTT + HA-опрос) — развёрнуты аддонами и **работают**. В HA добавлена **MQTT-интеграция**. **HA-конфиг перенесён с TrueNAS** (`.storage` реестры + конфиги + `www/`): HA запущен, **11 зон, MQTT-интеграция цела, ошибок нет**. Zigbee-розетка `0xa4c138eb6fbe9d19` (NEO NAS-WR01B, греющий кабель) добавлена, мёртвые устройства (3 шт.) **удалены из z2m**.
> ✅ **Автоматизации: 16 шт., 15 `on` + 1 `off`, 0 `unavailable`** (было 13 «мёртвых» — `device_id` перемаплены + hex-`entity_id` почищен).
> ✅ **HTTP-варнинг устранён** (блок `http:` → `.storage/http`), **`modbus.host` = `192.168.2.176`** (НЕ `127.0.0.1` — см. питфолл ниже), **modbus-bridge 404 исправлены** (+rebuild аддона).
> ⏸️ **ОСТАЛСЯ ОДИН БЛОКЕР — аппаратный:** 32 заслонки вентиляции `unavailable` (шина не отвечает, exception 0x0B) → CH340 #2 нужно физически подключить к линиям A/B шины. Конфиг верный.
>
> 🔑 **Ключевой вывод:** HA связывает сущности по **`unique_id`**, а не по `entity_id`. Смена `friendly_name` в z2m **сохраняет человеческие `entity_id`** — дублей нет, автоматизации не ломаются. Прежнее опасение снято.
> 🔑 **Ключевой вывод:** HA связывает сущности по **`unique_id`**, а не по `entity_id`. Смена `friendly_name` в z2m **сохраняет человеческие `entity_id`** — дублей нет, автоматизации не ломаются.
> 🔑 **`device_id` НЕ переносится между инстансами HA** — автоматизации, ссылающиеся на `device_id`, надо перемапить по `identifiers`. Подробно: [[family/plans/t610-addons-deployment]] §«ПИТФОЛЛ: device_id ломаются при переносе реестра».
## Основное
@@ -262,9 +266,9 @@ ZONT (modbus-bridge): /dev/serial/by-path/pci-0000:00:12.0-usb-0:3:1.0-por
| Mosquitto broker | `core_mosquitto` | 7.1.1 | ✅ started | 1883 (MQTT), 1884 (WS) |
| Node-RED | `a0d7b954_nodered` | 22.0.6 | ✅ started | 1880 |
| File editor | `core_configurator` | — | ✅ started | web UI |
| **Zigbee2MQTT** | `45df7312_zigbee2mqtt` | 2.14.1-1 | ✅ **started (16 устройств)** | ingress 8099 |
| **Zigbee2MQTT** | `45df7312_zigbee2mqtt` | 2.14.1-1 | ✅ **started (14 устройств)** | ingress 8099 |
| **mbusd** | `local_mbusd` | 1.0.0 | ✅ **started** | 502 (Modbus TCP) |
| **modbus-bridge** | `local_modbus-bridge` | 1.0.0 | ✅ **started — MQTT + HA-опрос** | sniffer шины ZONT |
| **modbus-bridge** | `local_modbus-bridge` | 1.1.0 | ✅ **started — MQTT + HA-опрос** | sniffer шины ZONT |
| Samba share | `core_samba` | — | ⏸️ stopped (нужен пароль) | — |
Репозитории аддонов: официальный + **Zigbee2MQTT** (`https://github.com/zigbee2mqtt/hassio-zigbee2mqtt`) + Local apps.
@@ -304,6 +308,9 @@ ha apps uninstall local_<slug> && ha store reload && ha apps install local_<slug
5. **Сборка идёт через `docker buildx` на хосте**, тянет базовый образ из интернета, занимает несколько минут.
6. **`uart: true`** в манифесте обязателен для доступа к `/dev/serial/by-path/…` (иначе аддон не увидит CH340/Zigbee). Для modbus-bridge дополнительно `host_network: true`.
7. В HA UI local add-ons требуют **Advanced Mode** в профиле (Settings → Apps).
8. **⚠️ Правка файлов аддона (`data/*.tmpl`, `*.py`) НЕ применяется без rebuild.** `run.sh` генерирует runtime-конфиг из копии **внутри образа** (`Dockerfile`: `COPY data/config.template.tmpl /app/config.template.yml`). После правки исходников обязателен **`ha addons rebuild local_modbus-bridge`** — иначе работает старая версия из образа и правки «не видно». Симптом ошибки: `ha addons rebuild <slug>` (команда долгая, ~1 мин).
> 📌 Из SSH-аддона `/addons/` **виден** (это `/addons/modbus-bridge`, без префикса `local_`); изначально казалось, что нет — проверять именно `/addons/<имя-папки>`.
> 📌 `<slug>` в URL аддона = `local_<имя папки>`. Опции из UI кладутся в `/data/options.json` внутри контейнера — читать через `jq`.