[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 13:36:48 +06:00
parent 3c4c9eec5a
commit 3ceebed695
2 changed files with 27 additions and 3 deletions
+4 -2
View File
@@ -9,7 +9,7 @@ tags:
- haos
- addons
created: '2026-09-13'
updated: '2026-09-14'
updated: '2026-09-15'
related:
- '[[family/plans/home-automation-migration-t610]]'
- '[[family/how-to/home-automation]]'
@@ -23,6 +23,7 @@ related:
> **modbus.host исправлен: `127.0.0.1` → `192.168.2.176`** (mbusd в отдельном контейнере — `127.0.0.1` изнутри HA его не видел).
> **modbus-bridge: HTTP 404 → 200.** Опрашивал HA по hex-`entity_id`; правился `modbus_ha_bridge.py` + `data/config.template.tmpl` + **обязательный rebuild аддона**.
> ⚠️ **ЕДИНСТВЕННЫЙ ОСТАВШИЙСЯ БЛОКЕР (физика, не конфиг): 32 заслонки вентиляции `unavailable`.** mbusd работает (TCP отвечает), но шина **не отвечает** — exception **0x0B** (GATEWAY TARGET DEVICE FAILED TO RESPOND). Вывод: **CH340 #2 воткнут в USB, но линии A/B вентиляционной шины к нему не подключены / шина обесточена.** За Alex.
> 🔍 **Разбор mbusd доведён 2026-09-14 (конец сессии):** аддон настроен верно — `device` = `by-path ...0:4:1.0-port0` (CH340 #2, порт 4), speed 9600, mode 8n1, порт **502 открыт**, TCP принимает соединения (`conn_open` в логе). Но лог mbusd показывает **только `conn_open`/`conn_close` — ни одного байта в serial**, Modbus-запрос к slave 11 (`printf '\x0b\x03\x00\x00\x00\x01\xd5\xba' | nc 192.168.2.176 502`) → **пусто**. Значит проблема **не в конфиге**, а в физике шины. Полная таблица проверок: [[family/how-to/t610-access]] §«Диагностика шины вентиляции (mbusd)».
> ⚠️ **`unknown` после рестарта HA — ПРОВЕРЕНО ЭКСПЕРИМЕНТОМ 2026-09-14.** Реле/кнопки слетают в `unknown` при каждой перезагрузке HA, но **состояния возвращаются сами через ~40–60 с** (без нажатий) — их переопубликовывает z2m, увидев birth-message HA (`homeassistant/status`). `retain` для этого НЕ нужен и фактически не публикуется. ✅ **ФИКС ПРИМЕНЁН: `not_from: [unavailable, unknown]` убран из триггеров** (`automations.yaml`, 2 шт.) — кнопка срабатывает **с первого нажатия**, проверено на живом (l1 и l2, вкл+выкл). Полностью: §«ДОБАВЛЕНО В КОНЦЕ СЕССИИ» ③‑тер.
> **✅ ЗОНЫ ВОССТАНОВЛЕНЫ (18 устройств):** при переносе `area_id` теряются так же, как `device_id` (устройства ре-регистрируются) → все 14 zigbee были **без зон**. Проставлены по эталону с TrueNAS по zigbee-адресу. См. §«ДОБАВЛЕНО В КОНЦЕ СЕССИИ» ①.
> **✅ office-переключатель управляет светом:** устранены hex-`entity_id` **в триггерах** автоматизаций (`switch.0xa4c13873b5c1575b_l1/l2` → человеческие) + реле выведены из `unknown` физическим нажатием. Цепочка `light → switch_as_x → z2m → реле` проверена. См. §«ДОБАВЛЕНО В КОНЦЕ СЕССИИ» ②③.
@@ -1074,7 +1075,8 @@ curl -s -K /tmp/curl.auth http://192.168.2.176/api/states \
- [x]**ИСПРАВЛЕНО 2026-09-14 — modbus.host:** `127.0.0.1``192.168.2.176`.
- [x]**ИСПРАВЛЕНО 2026-09-14 — modbus-bridge 404:** hex-entity_id в коде аддона → человеческие + `ha addons rebuild`.
- [x]**ВЫПОЛНЕНО 2026-09-14 (поздняя сессия) — Zigbee-розетка `boiler_controller_power` добавлена** (`0xa4c1381694217e10`, TS011F, зона Котельная) как питание контроллеров котлов; 13 сущностей переименованы из hex. **Итого z2m = 15 устройств, реестр = 332 сущности, hex = 0.**
- [ ] ⏸️ **ГЛАВНЫЙ ОСТАВШИЙСЯ БЛОКЕР (аппаратный, за Alex):** 32 заслонки вентиляции `unavailable` — шина не отвечает (exception 0x0B). Подключить линии A/B к CH340 #2 (`by-path ...0:4:1.0-port0`, slave 11). Конфиг верный, оживут сами.
- [ ] ⏸️ **ГЛАВНЫЙ ОСТАВШИЙСЯ БЛОКЕР (аппаратный, за Alex):** 32 заслонки вентиляции `unavailable` — шина не отвечает (exception 0x0B). Подключить линии A/B к CH340 #2 (`by-path ...0:4:1.0-port0`, slave 11). Конфиг верный, оживут сами. **Разбор доведён 2026-09-14:** mbusd слушает 502, TCP принимает, но в логе только `conn_open/close` (ни байта в serial), Modbus-запрос → пусто. Значит физика, не конфиг. Детали: [[family/how-to/t610-access]] §«Диагностика шины вентиляции».
- [x]**ПОДТВЕРЖДЕНО 2026-09-14 (конец сессии) — привязка CH340 только по `by-path`.** На живом t610 доказано: в `/dev/serial/by-id/` для двух CH340 существует **ровно ОДИН симлинк** (`usb-1a86_USB_Serial-if00-port0 → ttyUSB1`) — ссылки на `ttyUSB0` через by-id нет вообще (оба адаптера без серийников). by-id физически не может адресовать второй адаптер. 🔴 **Плюс зафиксирована опасность тихого сбоя:** перепутывание кабелей CH340 #1/#2 не проявится ошибкой (оба аддона поднимутся, но будут работать не с теми шинами) — детали в [[family/how-to/t610-access]] §«ГЛАВНЫЙ ПИТФОЛЛ».
- [ ] Камера (§8 родительского плана) — не аддон, разбираться отдельно
- [x]**ВЫПОЛНЕНО 2026-09-14 (конец сессии) — ЗОНЫ восстановлены у 18 устройств.** `area_id` теряется при ре-регистрации устройств (как `device_id`) — все 14 zigbee были без зон. Проставлены по эталону с TrueNAS по `identifiers[0][1]` (`zigbee2mqtt_<ieee>`). Скрипт: `~/tmp-t610/etap3-fix/set_all_areas.jq`.
- [x]**ИСПРАВЛЕНО 2026-09-14 (конец сессии) — office-переключатель:** hex-`entity_id` в **триггерах** автоматизаций (`switch.0xa4c13873b5c1575b_l1/l2``switch.office_table_light_switch_l1/l2`); реле выведены из `unknown` нажатием кнопок. Цепочка управления светом проверена на живом.