[2026-09-14] eagle: family/how-to/t610-access.md family/plans/home-automation-migration-t610.md family/plans/t610-addons-deployment.md
This commit is contained in:
@@ -9,14 +9,14 @@ tags:
|
||||
- haos
|
||||
- addons
|
||||
created: '2026-09-13'
|
||||
updated: '2026-09-13'
|
||||
updated: '2026-09-14'
|
||||
related:
|
||||
- '[[family/plans/home-automation-migration-t610]]'
|
||||
- '[[family/how-to/home-automation]]'
|
||||
---
|
||||
# t610 — развёртывание через HA-аддоны
|
||||
|
||||
> **Статус: Этап 1 ВЫПОЛНЕН (2026-09-13). Дальше — Этап 2 (USB), заблокирован физическим подключением устройств.**
|
||||
> **Статус: Этап 1 ВЫПОЛНЕН (2026-09-13). Этап 2 (USB) — РАЗБЛОКИРОВАН 2026-09-14: все 3 USB-устройства подключены, карта адресов зафиксирована. Идёт настройка аддонов z2m/mbusd/modbus-bridge.**
|
||||
> Родительский план: [[family/plans/home-automation-migration-t610]] (Шаг 3 в нём заменяется на этот документ).
|
||||
> Доступ к хосту, CLI и питфоллы: [[family/how-to/t610-access]].
|
||||
|
||||
@@ -61,28 +61,22 @@ related:
|
||||
```
|
||||
Local add-ons требуют **Advanced Mode** в профиле HA (Settings → Add-ons появляются только с ним) + репозиторий «Local apps» уже подключён (проверено: `addons_repositories` содержит `Local apps`).
|
||||
|
||||
## 🔌 БЛОКЕР: USB-устройства не подключены к t610
|
||||
## ✅ USB-устройства подключены (2026-09-14) — блокер снят
|
||||
|
||||
Проверено 2026-09-13 на живом t610:
|
||||
**Все 3 устройства воткнуты и видны** (карта by-id/by-path: [[family/how-to/t610-access]] §USB).
|
||||
|
||||
```
|
||||
ls /dev/serial/by-id/ → No such file or directory
|
||||
ls /dev/ttyUSB* /dev/ttyACM* → No such file or directory
|
||||
/dev/ttyUSB0 → CH340 #1 by-path: pci-0000:00:12.0-usb-0:3:1.0-port0 (порт 3)
|
||||
/dev/ttyUSB1 → CH340 #2 by-path: pci-0000:00:12.0-usb-0:4:1.0-port0 (порт 4)
|
||||
/dev/ttyACM0 → Zigbee Inswift ZBP-MG21 by-id: usb-Inswift_Zigbee_ZBP-MG21_535A000001-if00
|
||||
```
|
||||
|
||||
В `ha hardware info` из USB — **только USB-контроллеры** (`ohci_hcd OHCI PCI host controller`), никаких CH340 (`1a86:7523`) и Zigbee-координатора.
|
||||
⚠️ **Два CH340 неразличимы по by-id** (у обоих `1a86:7523`, serial отсутствует) → привязка только по **by-path / адресу шины**, как на TrueNAS udev-правилами. Для аддонов надо решить, как пробрасывать (открытый вопрос ниже).
|
||||
|
||||
**Что должно быть воткнуто в t610 (3 устройства):**
|
||||
| Устройство | USB-ID | Куда идёт | Использует |
|
||||
|-----------|--------|-----------|-----------|
|
||||
| Zigbee-координатор Inswift ZBP-MG21 | (ember, был `/dev/ttyACM0`) | антенна | zigbee2mqtt |
|
||||
| CH340 #1 | `1a86:7523` (был → `ttyZONT`) | RS-485 шина ZONT (Dining/Kids/Bedroom) | modbus-bridge |
|
||||
| CH340 #2 | `1a86:7523` (был → `ttyVent`) | RS-485 шина вентиляции AT2 | mbusd |
|
||||
|
||||
**Порядок работы из-за блокера:**
|
||||
1. Ставим аддоны, которые **не требуют USB**: mosquitto, Node-RED, Samba, File editor. + добавляем community-репо z2m.
|
||||
2. Когда Alex воткнёт USB: определяем новые пути (`ls /dev/serial/by-id/`, `ha hardware info`), настраиваем проброс в аддонах.
|
||||
3. Поднимаем z2m (Zigbee), mbusd (вентиляция), modbus-bridge (ZONT).
|
||||
**Порядок работы:**
|
||||
1. Установить z2m-аддон (by-id уникален → безопасно), перенести `database.db` + `network_key` + `pan_id`.
|
||||
2. Собрать local add-on **mbusd** (порт 502, CH340 #2 / порт 4).
|
||||
3. Собрать local add-on **modbus-bridge** (CH340 #1 / порт 3), перенести `modbus_ha_bridge.py` + `config.yml`, env `HA_TOKEN` (новый!).
|
||||
|
||||
## План по шагам
|
||||
|
||||
@@ -114,23 +108,24 @@ ha apps restart "$SLUG"
|
||||
```
|
||||
Скрипты лежат локально: `~/tmp-t610/nr_set_ssl.sh`.
|
||||
|
||||
### Этап 2 — USB-устройства (после физического подключения)
|
||||
8. [ ] Alex втыкает 3 USB в t610 (в фиксированные порты!)
|
||||
9. [ ] Определить пути: `ls -la /dev/serial/by-id/`; `ha hardware info | grep -iE 'tty|1a86|serial'`
|
||||
10. [ ] Составить карту «серийник → алиас» (ZONT/Vent/Zigbee)
|
||||
11. [ ] Установить z2m-аддон, указать serial-порт, перенести `database.db` + `network_key` + `pan_id` (1:1, иначе переспаривание!)
|
||||
12. [ ] Собрать local add-on **mbusd** (`/addons/mbusd`), порт 502, устройство ttyVent
|
||||
13. [ ] Собрать local add-on **modbus-bridge** (`/addons/modbus-bridge`), перенести `modbus_ha_bridge.py` + `config.yml`, env `HA_TOKEN` (сгенерировать новый!)
|
||||
### Этап 2 — USB-устройства (все подключены 2026-09-14) 🟡 В РАБОТЕ
|
||||
8. [x] Alex втыкает 3 USB в t610 — **ВЫПОЛНЕНО 2026-09-14**. Порты зафиксированы: CH340 #1 → USB1 порт 3, CH340 #2 → USB1 порт 4, Zigbee → USB3 порт 1. **Устройства из портов не вынимать!**
|
||||
9. [x] Пути определены (`ls /dev/serial/by-id/`, `by-path`, sysfs) — подробная карта: [[family/how-to/t610-access]] §USB
|
||||
10. [x] Карта составлена: ttyUSB0 = CH340 #1 (ZONT), ttyUSB1 = CH340 #2 (Vent), ttyACM0 = Zigbee
|
||||
11. [ ] ⚠️ **РЕШИТЬ СПОСОБ ПРИВЯЗКИ ДЛЯ АДДОНОВ** — оба CH340 имеют ОДИНАКОВЫЙ by-id → проброс по by-id сломается. Проверить, принимает ли Supervisor в `devices:` путь `by-path`; иначе — фиксированные порты или local add-on с udev. **Это текущий блокер.**
|
||||
12. [ ] Установить z2m-аддон, указать serial-порт (`usb-Inswift_Zigbee_ZBP-MG21_535A000001-if00`), перенести `database.db` + `network_key` + `pan_id` (1:1, иначе переспаривание!)
|
||||
13. [ ] Собрать local add-on **mbusd** (`/addons/mbusd`), порт 502, устройство = CH340 #2 / порт 4 (by-path `pci-0000:00:12.0-usb-0:4:1.0-port0`)
|
||||
14. [ ] Собрать local add-on **modbus-bridge** (`/addons/modbus-bridge`), перенести `modbus_ha_bridge.py` + `config.yml`, устройство = CH340 #1 / порт 3 (by-path `pci-0000:00:12.0-usb-0:3:1.0-port0`), env `HA_TOKEN` (сгенерировать новый!)
|
||||
|
||||
### Этап 3 — перенос HA-конфига
|
||||
14. [ ] Перенести `configuration.yaml`, `automations.yaml`, `scripts.yaml`, `secrets.yaml`, `www/`
|
||||
15. [ ] Перенести `.storage/` (критично: `core.entity_registry`, `lovelace.home_plan`) — см. родительский план §5.6
|
||||
16. [ ] Поправить `modbus.host` → `127.0.0.1` (mbusd теперь локальный)
|
||||
15. [ ] Перенести `configuration.yaml`, `automations.yaml`, `scripts.yaml`, `secrets.yaml`, `www/`
|
||||
16. [ ] Перенести `.storage/` (критично: `core.entity_registry`, `lovelace.home_plan`) — см. родительский план §5.6
|
||||
17. [ ] Поправить `modbus.host` → `127.0.0.1` (mbusd теперь локальный)
|
||||
|
||||
### Этап 4 — проверка и отключение TrueNAS
|
||||
17. [ ] Чек-лист из родительского плана §6
|
||||
18. [ ] Caddy upstream → t610; GPON-редирект → t610
|
||||
19. [ ] Остановить + отключить автозапуск на TrueNAS (§7)
|
||||
18. [ ] Чек-лист из родительского плана §6
|
||||
19. [ ] Caddy upstream → t610; GPON-редирект → t610
|
||||
20. [ ] Остановить + отключить автозапуск на TrueNAS (§7)
|
||||
|
||||
## Отличия от родительского плана (что меняется)
|
||||
|
||||
@@ -145,8 +140,9 @@ ha apps restart "$SLUG"
|
||||
> ✅ Плюс: проблема **udev-гонки на t610 снимается** — Supervisor управляет зависимостями и пробросом устройств. Это была самая опасная часть старого плана.
|
||||
|
||||
## Открытые вопросы
|
||||
- [ ] ⚠️ **ТЕКУЩИЙ БЛОКЕР — способ привязки CH340 в аддонах:** оба CH340 = `1a86:7523` без серийника → by-id идентичен. Проверить, принимает ли Supervisor в `devices:` путь `/dev/serial/by-path/...`; если нет — фиксированные порты (уже зафиксированы физически) или local add-on со своим udev-симлинком.
|
||||
- [ ] Community-repo z2m: проверить, что он совместим с HA OS 18.2 / Core 2026.9.x
|
||||
- [ ] mbusd/modbus-bridge как local add-on: нужен ли проброс `/dev/serial/by-id` (в HA-аддонах устройства объявляются через `devices:` в `config.yaml` аддона — синтаксис Supervisor, не compose)
|
||||
- [ ] mbusd/modbus-bridge как local add-on: синтаксис `devices:` в `config.yaml` аддона (Supervisor, не compose)
|
||||
- [ ] Куда переносить данные z2m: `/addon_configs/<slug>/` (HA OS 12+ путь для app-конфигов)
|
||||
- [ ] Камера (§8 родительского плана) — не аддон, разбираться отдельно
|
||||
|
||||
|
||||
Reference in New Issue
Block a user