[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:
@@ -102,25 +102,41 @@ t610 в сети `192.168.2.0/24`. Роутеры для проверки:
|
|||||||
|
|
||||||
> 📌 Диск был взят из TrueNAS (бывший системный диск с Windows 7) — образ HA OS записан через `dd` с Mac. Подробности в [[family/plans/home-automation-migration-t610]] Шаг 1.
|
> 📌 Диск был взят из TrueNAS (бывший системный диск с Windows 7) — образ HA OS записан через `dd` с Mac. Подробности в [[family/plans/home-automation-migration-t610]] Шаг 1.
|
||||||
|
|
||||||
## USB-устройства (блокер на 2026-09-13)
|
## USB-устройства (подключены 2026-09-14, карта зафиксирована)
|
||||||
|
|
||||||
**К t610 физически не подключены** Zigbee-координатор и два CH340:
|
**Все 3 устройства физически подключены к t610** (проверено 2026-09-14).
|
||||||
|
|
||||||
```bash
|
| Устройство | by-id | **by-path (фиксированная привязка)** | tty | Физический порт |
|
||||||
ls /dev/serial/by-id/ # No such file or directory
|
|-----------|-------|--------------------------------------|-----|-----------------|
|
||||||
ls /dev/ttyUSB* /dev/ttyACM* # No such file or directory
|
| CH340 #1 | `usb-1a86_USB_Serial-if00-port0` | `pci-0000:00:12.0-usb-0:3:1.0-port0` | `/dev/ttyUSB0` | USB1 порт 3 (OHCI `pci-0000:00:12.0`) |
|
||||||
|
| CH340 #2 | `usb-1a86_USB_Serial-if00-port0` ⚠️ **тот же** | `pci-0000:00:12.0-usb-0:4:1.0-port0` | `/dev/ttyUSB1` | USB1 порт 4 |
|
||||||
|
| Zigbee Inswift ZBP-MG21 | `usb-Inswift_Zigbee_ZBP-MG21_535A000001-if00` | `pci-0000:04:00.0-usb-0:1:1.0` | `/dev/ttyACM0` | USB3 порт 1 (xhci `pci-0000:04:00.0`) |
|
||||||
|
|
||||||
|
Sysfs-пути:
|
||||||
|
```
|
||||||
|
ttyUSB0 → /sys/devices/pci0000:00/0000:00:12.0/usb1/1-3/1-3:1.0/ttyUSB0
|
||||||
|
ttyUSB1 → /sys/devices/pci0000:00/0000:00:12.0/usb1/1-4/1-4:1.0/ttyUSB1
|
||||||
|
ttyACM0 → /sys/devices/pci0000:00/0000:00:15.3/0000:04:00.0/usb3/3-1/3-1:1.0
|
||||||
```
|
```
|
||||||
|
|
||||||
В `ha hardware info` из USB — только контроллеры (`ohci_hcd`), никаких `1a86:7523` (CH340) и Zigbee.
|
### ⚠️ ГЛАВНЫЙ ПИТФОЛЛ: два CH340 неразличимы по by-id
|
||||||
|
Оба CH340 — `1a86:7523`, **`serial = <none>`, `manufacturer = <none>`, `product = "USB Serial"`** (одинаковые).
|
||||||
|
→ **by-id у обоих идентичен** (`usb-1a86_USB_Serial-if00-port0`). Проброс по by-id в аддонах **сломается** — оба аддона получат одно и то же устройство.
|
||||||
|
|
||||||
**Что должно быть воткнуто (3 устройства, в фиксированные порты):**
|
**Различать только по `by-path`** (адрес шины) — ровно та же проблема, что была на TrueNAS, где алиасы `ttyZONT`/`ttyVent` делались udev-правилами по адресу шины ([[family/how-to/zont-modbus-bridge-udev-race-protection]]).
|
||||||
| Устройство | USB-ID | Назначение |
|
|
||||||
|-----------|--------|-----------|
|
|
||||||
| Zigbee-координатор Inswift ZBP-MG21 | ember (был `/dev/ttyACM0`) | zigbee2mqtt |
|
|
||||||
| CH340 #1 | `1a86:7523` (был → `ttyZONT`) | modbus-bridge (шина ZONT) |
|
|
||||||
| CH340 #2 | `1a86:7523` (был → `ttyVent`) | mbusd (вентиляция AT2) |
|
|
||||||
|
|
||||||
После подключения: `ls -la /dev/serial/by-id/` + `ha hardware info | grep -iE 'tty|1a86|serial'` → составить карту «серийник → устройство».
|
**Zigbee-координатор** — единственный из трёх, у кого есть уникальный серийник (`535A000001`), поэтому его by-id стабилен и проброс по by-id безопасен.
|
||||||
|
|
||||||
|
### Различия by-path на t610 vs TrueNAS
|
||||||
|
- TrueNAS: `KERNELS=="?-1.5"` / `"?-1.6"` (другая топология USB).
|
||||||
|
- t610: путь `pci-0000:00:12.0-usb-0:3` и `...-0:4` — **порт 3 и порт 4** на одном OHCI-контроллере. Т.е. udev-правило на t610: `KERNELS=="1-3"` и `KERNELS=="1-4"`.
|
||||||
|
|
||||||
|
### Решение для HA-аддонов (открытый вопрос)
|
||||||
|
В HA-аддонах udev-правила на хосте применить нельзя (аддон — контейнер). Варианты привязки:
|
||||||
|
- **A.** В `config.yaml` аддона пробрасывать по `by-path` — но Supervisor в `devices:` обычно принимает `/dev/serial/by-id/...`; проверить, принимает ли `by-path`.
|
||||||
|
- **B.** Прописать в аддоне `devices: [/dev/ttyUSB0]` + зафиксировать физические порты (какой адаптер в какой порт) — хрупко, tty-номера могут меняться.
|
||||||
|
- **C.** Local add-on, внутри которого свой udev/симлинк-хак.
|
||||||
|
> Порты 3 и 4 **зафиксированы** — CH340 #1 в порт 3, CH340 #2 в порт 4. Устройства из портов не вынимать!
|
||||||
|
|
||||||
> ✅ **Плюс аддонов:** старая проблема гонки udev ([[family/how-to/zont-modbus-bridge-udev-race-protection]]) на t610 **неактуальна** — Supervisor сам ждёт устройство при старте аддона, скрипты ожидания tty не нужны.
|
> ✅ **Плюс аддонов:** старая проблема гонки udev ([[family/how-to/zont-modbus-bridge-udev-race-protection]]) на t610 **неактуальна** — Supervisor сам ждёт устройство при старте аддона, скрипты ожидания tty не нужны.
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ tags:
|
|||||||
- t610
|
- t610
|
||||||
- migration
|
- migration
|
||||||
created: '2026-09-12'
|
created: '2026-09-12'
|
||||||
updated: '2026-09-12'
|
updated: '2026-09-14'
|
||||||
related:
|
related:
|
||||||
- '[[family/how-to/home-automation]]'
|
- '[[family/how-to/home-automation]]'
|
||||||
- '[[family/how-to/truenas-infrastructure]]'
|
- '[[family/how-to/truenas-infrastructure]]'
|
||||||
@@ -19,7 +19,7 @@ related:
|
|||||||
---
|
---
|
||||||
# Перенос домашней автоматизации на HP t610
|
# Перенос домашней автоматизации на HP t610
|
||||||
|
|
||||||
> **Статус: В ПРОЦЕССЕ (Этап 1 — аддоны, ВЫПОЛНЕН. Этап 2 — USB, заблокирован железом).**
|
> **Статус: В ПРОЦЕССЕ (Этап 1 — аддоны, ВЫПОЛНЕН. Этап 2a — USB подключены 2026-09-14, идёт настройка z2m/mbusd/modbus-bridge; живой блокер — способ привязки CH340 в аддонах).**
|
||||||
> Цель: убрать всю домашнюю автоматизацию с TrueNAS (он перегружен — 17/21 ГБ RAM) на выделенный HP t610, с бэкапом конфигов на TrueNAS и в git.
|
> Цель: убрать всю домашнюю автоматизацию с TrueNAS (он перегружен — 17/21 ГБ RAM) на выделенный HP t610, с бэкапом конфигов на TrueNAS и в git.
|
||||||
>
|
>
|
||||||
> **Прогресс 2026-09-13 — 🎉 t610 запущен и в сети:**
|
> **Прогресс 2026-09-13 — 🎉 t610 запущен и в сети:**
|
||||||
@@ -27,9 +27,10 @@ related:
|
|||||||
> - ✅ HA Core 2026.9.2, Supervisor 2026.09.0, OS 18.2. Диск: 228.5 ГБ, занято 5 ГБ.
|
> - ✅ HA Core 2026.9.2, Supervisor 2026.09.0, OS 18.2. Диск: 228.5 ГБ, занято 5 ГБ.
|
||||||
> - ✅ SSH включён через аддон `core_ssh` (Terminal & SSH) — вход по ключу `~/.ssh/id_rsa`.
|
> - ✅ SSH включён через аддон `core_ssh` (Terminal & SSH) — вход по ключу `~/.ssh/id_rsa`.
|
||||||
> - ✅ **Этап 1 развёртывания аддонов ВЫПОЛНЕН** (Mosquitto 1883, Node-RED 1880, File editor, Samba). Детали: [[family/plans/t610-addons-deployment]].
|
> - ✅ **Этап 1 развёртывания аддонов ВЫПОЛНЕН** (Mosquitto 1883, Node-RED 1880, File editor, Samba). Детали: [[family/plans/t610-addons-deployment]].
|
||||||
> - 🔌 **Блокер этапа 2:** USB-устройства (Zigbee-координатор + 2× CH340) к t610 физически не подключены → z2m/mbusd/modbus-bridge поднять нельзя.
|
> - ✅ **Этап 2a ВЫПОЛНЕН 2026-09-14:** все 3 USB-устройства подключены к t610 и видны. Карта: `ttyUSB0` = CH340 #1 (порт 3 → ZONT), `ttyUSB1` = CH340 #2 (порт 4 → Vent), `ttyACM0` = Zigbee Inswift ZBP-MG21. Подробности: [[family/how-to/t610-access]] §USB. **Порты 3/4 зафиксированы — устройства не вынимать.**
|
||||||
|
> - ⚠️ **Живой блокер 2b:** оба CH340 = `1a86:7523` **без серийника** → by-id у них ОДИНАКОВЫЙ, проброс по by-id в аддонах сломается. Решить способ привязки (by-path / фиксированные порты / local add-on) — см. [[family/plans/t610-addons-deployment]] §Этап 2.
|
||||||
> - ⚠️ **Решение изменено: ставим всё АДДОНАМИ**, а не docker-compose 1:1 (Шаг 3 заменён — см. [[family/plans/t610-addons-deployment]]). Плюс: проблема udev-гонки снимается.
|
> - ⚠️ **Решение изменено: ставим всё АДДОНАМИ**, а не docker-compose 1:1 (Шаг 3 заменён — см. [[family/plans/t610-addons-deployment]]). Плюс: проблема udev-гонки снимается.
|
||||||
> - ⏭️ Следующий шаг: подключить USB → Этап 2 (z2m, mbusd, modbus-bridge) → Этап 3 (перенос HA-конфига).
|
> - ⏭️ Следующий шаг: решить привязку CH340 → Этап 2b (z2m, mbusd, modbus-bridge) → Этап 3 (перенос HA-конфига).
|
||||||
>
|
>
|
||||||
> **Доступ к хосту и CLI: [[family/how-to/t610-access]].**
|
> **Доступ к хосту и CLI: [[family/how-to/t610-access]].**
|
||||||
>
|
>
|
||||||
@@ -431,7 +432,8 @@ git push origin main
|
|||||||
| Риск | Вероятность | Митигация |
|
| Риск | Вероятность | Митигация |
|
||||||
|------|-------------|-----------|
|
|------|-------------|-----------|
|
||||||
| **udev-гонка** (docker стартует раньше tty) | высокая | скрипт ожидания + `After=dev-tty*.device` |
|
| **udev-гонка** (docker стартует раньше tty) | высокая | скрипт ожидания + `After=dev-tty*.device` |
|
||||||
| **USB-пути t610 ≠ TrueNAS** | 100% | пересчитать udev по серийнику/физическому порту |
|
| **USB-пути t610 ≠ TrueNAS** | ✅ решено | фактические пути зафиксированы 2026-09-14 (§12); порты 3/4 закреплены физически |
|
||||||
|
| **BY-ID CH340 одинаковый** | ⚠️ **высокая** | оба CH340 без серийника → проброс по by-id ломается; решить привязку по by-path / портам |
|
||||||
| **Zigbee отвалится** | средняя | `database.db` + `network_key` 1:1; переспаривание не нужно при верном переносе |
|
| **Zigbee отвалится** | средняя | `database.db` + `network_key` 1:1; переспаривание не нужно при верном переносе |
|
||||||
| **entity_id разъедутся** | средняя | копировать `.storage/core.entity_registry` |
|
| **entity_id разъедутся** | средняя | копировать `.storage/core.entity_registry` |
|
||||||
| **Хардкод `192.168.2.197` в HA** | высокая | заменить на `127.0.0.1` (mbusd рядом) |
|
| **Хардкод `192.168.2.197` в HA** | высокая | заменить на `127.0.0.1` (mbusd рядом) |
|
||||||
@@ -447,8 +449,8 @@ git push origin main
|
|||||||
| 0 | Установка HA OS на t610 (HDD) + static IP на роутере | ✅ образ записан, t610 загружен (`192.168.2.176`). Static IP на роутере пока НЕ закреплён — работает по DHCP |
|
| 0 | Установка HA OS на t610 (HDD) + static IP на роутере | ✅ образ записан, t610 загружен (`192.168.2.176`). Static IP на роутере пока НЕ закреплён — работает по DHCP |
|
||||||
| 1 | Базовые сервисы: **аддоны** (не docker!) | ✅ Mosquitto 1883, Node-RED 1880, File editor, Samba(нужен пароль) — см. [[family/plans/t610-addons-deployment]] |
|
| 1 | Базовые сервисы: **аддоны** (не docker!) | ✅ Mosquitto 1883, Node-RED 1880, File editor, Samba(нужен пароль) — см. [[family/plans/t610-addons-deployment]] |
|
||||||
| 2 | udev-алиасы + скрипт старта | ✅ **НЕ НУЖНО** — аддоны снимают проблему udev-гонки (Supervisor ждёт устройство) |
|
| 2 | udev-алиасы + скрипт старта | ✅ **НЕ НУЖНО** — аддоны снимают проблему udev-гонки (Supervisor ждёт устройство) |
|
||||||
| 2a | USB-устройства: Zigbee + 2× CH340 | 🔌 **БЛОКЕР** — физически не подключены к t610 |
|
| 2a | USB-устройства: Zigbee + 2× CH340 | ✅ **ПОДКЛЮЧЕНЫ 2026-09-14** — ttyUSB0/ttyUSB1/ttyACM0, порты 3/4 зафиксированы ([[family/how-to/t610-access]] §USB) |
|
||||||
| 2b | z2m / mbusd / modbus-bridge | ⏳ ждут USB (z2m — community repo; mbusd+modbus-bridge — local add-ons) |
|
| 2b | z2m / mbusd / modbus-bridge | 🟡 ждут решения привязки CH340 (by-id одинаковый!) — z2m community repo; mbusd+modbus-bridge local add-ons |
|
||||||
| 3 | Перенос конфигов всех сервисов | ⏳ |
|
| 3 | Перенос конфигов всех сервисов | ⏳ |
|
||||||
| 4 | Перенос HA config (`.storage` + yaml + www) | ⏳ |
|
| 4 | Перенос HA config (`.storage` + yaml + www) | ⏳ |
|
||||||
| 5 | Правка адресов (modbus host, HA_TOKEN) | ⏳ |
|
| 5 | Правка адресов (modbus host, HA_TOKEN) | ⏳ |
|
||||||
@@ -485,6 +487,16 @@ SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="?-1.6:1.0", SYMLINK+="ttyZONT"
|
|||||||
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="?-1.5:1.0", SYMLINK+="ttyVent"
|
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="?-1.5:1.0", SYMLINK+="ttyVent"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**USB-топология t610 (фактическая, зафиксирована 2026-09-14):**
|
||||||
|
```
|
||||||
|
Порт 3 (OHCI pci-0000:00:12.0) → ttyUSB0 CH340 #1 by-path pci-0000:00:12.0-usb-0:3:1.0-port0 → ZONT
|
||||||
|
Порт 4 (OHCI pci-0000:00:12.0) → ttyUSB1 CH340 #2 by-path pci-0000:00:12.0-usb-0:4:1.0-port0 → Vent
|
||||||
|
Порт 1 (xhci pci-0000:04:00.0) → ttyACM0 Inswift Zigbee ZBP-MG21 (serial 535A000001)
|
||||||
|
```
|
||||||
|
> ⚠️ Оба CH340 на t610 — **без серийника**, by-id идентичен (`usb-1a86_USB_Serial-if00-port0`).
|
||||||
|
> Эквивалент udev-правила на t610 был бы `KERNELS=="1-3"` / `KERNELS=="1-4"` (порты 3 и 4).
|
||||||
|
> Для аддонов udev не применяется — способ привязки решается в [[family/plans/t610-addons-deployment]].
|
||||||
|
|
||||||
**HA `configuration.yaml` — modbus:**
|
**HA `configuration.yaml` — modbus:**
|
||||||
```yaml
|
```yaml
|
||||||
modbus:
|
modbus:
|
||||||
|
|||||||
@@ -9,14 +9,14 @@ tags:
|
|||||||
- haos
|
- haos
|
||||||
- addons
|
- addons
|
||||||
created: '2026-09-13'
|
created: '2026-09-13'
|
||||||
updated: '2026-09-13'
|
updated: '2026-09-14'
|
||||||
related:
|
related:
|
||||||
- '[[family/plans/home-automation-migration-t610]]'
|
- '[[family/plans/home-automation-migration-t610]]'
|
||||||
- '[[family/how-to/home-automation]]'
|
- '[[family/how-to/home-automation]]'
|
||||||
---
|
---
|
||||||
# t610 — развёртывание через HA-аддоны
|
# 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 в нём заменяется на этот документ).
|
> Родительский план: [[family/plans/home-automation-migration-t610]] (Шаг 3 в нём заменяется на этот документ).
|
||||||
> Доступ к хосту, CLI и питфоллы: [[family/how-to/t610-access]].
|
> Доступ к хосту, 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`).
|
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
|
/dev/ttyUSB0 → CH340 #1 by-path: pci-0000:00:12.0-usb-0:3:1.0-port0 (порт 3)
|
||||||
ls /dev/ttyUSB* /dev/ttyACM* → No such file or directory
|
/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 | Куда идёт | Использует |
|
1. Установить z2m-аддон (by-id уникален → безопасно), перенести `database.db` + `network_key` + `pan_id`.
|
||||||
|-----------|--------|-----------|-----------|
|
2. Собрать local add-on **mbusd** (порт 502, CH340 #2 / порт 4).
|
||||||
| Zigbee-координатор Inswift ZBP-MG21 | (ember, был `/dev/ttyACM0`) | антенна | zigbee2mqtt |
|
3. Собрать local add-on **modbus-bridge** (CH340 #1 / порт 3), перенести `modbus_ha_bridge.py` + `config.yml`, env `HA_TOKEN` (новый!).
|
||||||
| 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).
|
|
||||||
|
|
||||||
## План по шагам
|
## План по шагам
|
||||||
|
|
||||||
@@ -114,23 +108,24 @@ ha apps restart "$SLUG"
|
|||||||
```
|
```
|
||||||
Скрипты лежат локально: `~/tmp-t610/nr_set_ssl.sh`.
|
Скрипты лежат локально: `~/tmp-t610/nr_set_ssl.sh`.
|
||||||
|
|
||||||
### Этап 2 — USB-устройства (после физического подключения)
|
### Этап 2 — USB-устройства (все подключены 2026-09-14) 🟡 В РАБОТЕ
|
||||||
8. [ ] Alex втыкает 3 USB в t610 (в фиксированные порты!)
|
8. [x] Alex втыкает 3 USB в t610 — **ВЫПОЛНЕНО 2026-09-14**. Порты зафиксированы: CH340 #1 → USB1 порт 3, CH340 #2 → USB1 порт 4, Zigbee → USB3 порт 1. **Устройства из портов не вынимать!**
|
||||||
9. [ ] Определить пути: `ls -la /dev/serial/by-id/`; `ha hardware info | grep -iE 'tty|1a86|serial'`
|
9. [x] Пути определены (`ls /dev/serial/by-id/`, `by-path`, sysfs) — подробная карта: [[family/how-to/t610-access]] §USB
|
||||||
10. [ ] Составить карту «серийник → алиас» (ZONT/Vent/Zigbee)
|
10. [x] Карта составлена: ttyUSB0 = CH340 #1 (ZONT), ttyUSB1 = CH340 #2 (Vent), ttyACM0 = Zigbee
|
||||||
11. [ ] Установить z2m-аддон, указать serial-порт, перенести `database.db` + `network_key` + `pan_id` (1:1, иначе переспаривание!)
|
11. [ ] ⚠️ **РЕШИТЬ СПОСОБ ПРИВЯЗКИ ДЛЯ АДДОНОВ** — оба CH340 имеют ОДИНАКОВЫЙ by-id → проброс по by-id сломается. Проверить, принимает ли Supervisor в `devices:` путь `by-path`; иначе — фиксированные порты или local add-on с udev. **Это текущий блокер.**
|
||||||
12. [ ] Собрать local add-on **mbusd** (`/addons/mbusd`), порт 502, устройство ttyVent
|
12. [ ] Установить z2m-аддон, указать serial-порт (`usb-Inswift_Zigbee_ZBP-MG21_535A000001-if00`), перенести `database.db` + `network_key` + `pan_id` (1:1, иначе переспаривание!)
|
||||||
13. [ ] Собрать local add-on **modbus-bridge** (`/addons/modbus-bridge`), перенести `modbus_ha_bridge.py` + `config.yml`, env `HA_TOKEN` (сгенерировать новый!)
|
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-конфига
|
### Этап 3 — перенос HA-конфига
|
||||||
14. [ ] Перенести `configuration.yaml`, `automations.yaml`, `scripts.yaml`, `secrets.yaml`, `www/`
|
15. [ ] Перенести `configuration.yaml`, `automations.yaml`, `scripts.yaml`, `secrets.yaml`, `www/`
|
||||||
15. [ ] Перенести `.storage/` (критично: `core.entity_registry`, `lovelace.home_plan`) — см. родительский план §5.6
|
16. [ ] Перенести `.storage/` (критично: `core.entity_registry`, `lovelace.home_plan`) — см. родительский план §5.6
|
||||||
16. [ ] Поправить `modbus.host` → `127.0.0.1` (mbusd теперь локальный)
|
17. [ ] Поправить `modbus.host` → `127.0.0.1` (mbusd теперь локальный)
|
||||||
|
|
||||||
### Этап 4 — проверка и отключение TrueNAS
|
### Этап 4 — проверка и отключение TrueNAS
|
||||||
17. [ ] Чек-лист из родительского плана §6
|
18. [ ] Чек-лист из родительского плана §6
|
||||||
18. [ ] Caddy upstream → t610; GPON-редирект → t610
|
19. [ ] Caddy upstream → t610; GPON-редирект → t610
|
||||||
19. [ ] Остановить + отключить автозапуск на TrueNAS (§7)
|
20. [ ] Остановить + отключить автозапуск на TrueNAS (§7)
|
||||||
|
|
||||||
## Отличия от родительского плана (что меняется)
|
## Отличия от родительского плана (что меняется)
|
||||||
|
|
||||||
@@ -145,8 +140,9 @@ ha apps restart "$SLUG"
|
|||||||
> ✅ Плюс: проблема **udev-гонки на t610 снимается** — Supervisor управляет зависимостями и пробросом устройств. Это была самая опасная часть старого плана.
|
> ✅ Плюс: проблема **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
|
- [ ] 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-конфигов)
|
- [ ] Куда переносить данные z2m: `/addon_configs/<slug>/` (HA OS 12+ путь для app-конфигов)
|
||||||
- [ ] Камера (§8 родительского плана) — не аддон, разбираться отдельно
|
- [ ] Камера (§8 родительского плана) — не аддон, разбираться отдельно
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user