[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:
@@ -4,7 +4,7 @@
|
||||
> План переноса: [[family/plans/home-automation-migration-t610]]
|
||||
> Развёртывание сервисов: [[family/plans/t610-addons-deployment]]
|
||||
|
||||
> ✅ **Состояние на 2026-09-14 (Этап 2 закрыт):** z2m (16 устройств), mbusd (порт 502), modbus-bridge (MQTT + HA-опрос) — все развёрнуты аддонами и **работают**. В HA добавлена **MQTT-интеграция** (её не было → z2m/bridge не создавали сущности; стало 104 сущности, 69 Zigbee). Далее — Этап 3 (перенос HA-конфига с TrueNAS).
|
||||
> ✅ **Состояние на 2026-09-14 (Этап 2 закрыт, Этап 3 в работе):** z2m (16 устройств), mbusd (порт 502), modbus-bridge (MQTT + HA-опрос) — все развёрнуты аддонами и **работают**. В HA добавлена **MQTT-интеграция** (её не было → z2m/bridge не создавали сущности; стало 104 сущности, 69 Zigbee). Этап 3 — перенос HA-конфига с TrueNAS (разведка выполнена, решения приняты, ждём ответа Alex по HACS / схеме Zigbee-имён).
|
||||
|
||||
## Основное
|
||||
|
||||
@@ -298,6 +298,61 @@ ha apps uninstall local_<slug> && ha store reload && ha apps install local_<slug
|
||||
|
||||
> 📌 В HA 2026.x аддоны в UI называются **Settings → Apps** (не «Add-ons»). Пункта «Add-ons» в меню больше нет.
|
||||
|
||||
## Работа с данными z2m на t610 (2026-09-14)
|
||||
|
||||
**Файлы в `/config/zigbee2mqtt/`:**
|
||||
|
||||
| Файл | Что это |
|
||||
|---|---|
|
||||
| `database.db` | база z2m (устройства, endpoints, keys) |
|
||||
| `configuration.yaml` | конфиг z2m: `network_key`, `pan_id`, `ext_pan_id`, `channel`, `serial`, `mqtt`, **секция `devices:` с `friendly_name`** |
|
||||
| `coordinator_backup.json` | бэкап координатора |
|
||||
| `state.json` | runtime-состояние |
|
||||
| `log/<ts>/log.log` | логи запуска |
|
||||
|
||||
**⚠️ ПИТФОЛЛ: `database.db` — это НЕ SQLite, а JSON Lines** (по одному JSON-объекту на строку, расширение `.db` обманчиво).
|
||||
- `sqlite3 database.db "SELECT ..."` → **`Error: in prepare, file is not a database (26)`** — не тратить на это время.
|
||||
- Читать через `jq` построчно (каждый объект = устройство):
|
||||
```bash
|
||||
scp root@192.168.2.176:/config/zigbee2mqtt/database.db /Users/admin/tmp-t610/z2m-live.db
|
||||
jq -r 'select(.type!="Coordinator") | [.ieeeAddr, .type, (.manufName // "-")] | @tsv' /Users/admin/tmp-t610/z2m-live.db
|
||||
# .ieeeAddr, .type (EndDevice/Router/Coordinator), .manufName (модель Tuya, напр. _TZ3000_gjnozsaz)
|
||||
```
|
||||
- В SSH-аддоне **нет `sqlite3`** — базу копировать на Mac (`scp`) и разбирать там.
|
||||
|
||||
> 📌 **`modelID` в `database.db` пустой** (не заполнился при переносе базы 1:1), но `manufName` даёт модель Tuya — по ней определяется тип устройства.
|
||||
|
||||
> ⚠️ **`friendly_name` устройств z2m = hex-адрес.** Все 16 устройств в `configuration.yaml → devices:` имеют `friendly_name: '0xa4c138...'` — это состояние с TrueNAS. Отсюда технические `entity_id` в HA (`sensor.0xa4c138..._temperature`). Исправление — Этап 3, [[family/plans/t610-addons-deployment]] §«Zigbee friendly_name».
|
||||
|
||||
## HA-конфиг: что где лежит (TrueNAS → t610, разведка 2026-09-14)
|
||||
|
||||
**На TrueNAS** конфиг HA: `/mnt/RED_2TB/docker/ha/` (доступ: `ssh truenas_admin@mallexxx.duckdns.org`).
|
||||
|
||||
**Состав (для переноса в Этапе 3):**
|
||||
- `configuration.yaml` (~30 КБ), `automations.yaml`, `scripts.yaml` (~30 КБ), `secrets.yaml`
|
||||
- `www/` — `card-mod.js` + `floorplan/floor1_ha.svg`, `floor2_ha.svg`
|
||||
- `.storage/` — **35 файлов**, переносить **выборочно** ⚠️
|
||||
- `custom_components/` — `hacs` (2.0.5, репо пусто), `localtuya` (5.2.3, **используется**), `tuya_local` (2026.7.2, не используется)
|
||||
- `home-assistant_v2.db` — 142 МБ, **не переносится** (решение: история с нуля)
|
||||
|
||||
**⚠️ `.storage/` НЕ копировать целиком** — смешаны системные файлы t610 и контентные TrueNAS:
|
||||
- ❌ **НЕ трогать:** `core.uuid` (подменит `instance_id`), `auth`, `auth_provider.homeassistant` (сломает логин), `http`, `http.auth`, `onboarding`, `core.config`, `core.config_entries`
|
||||
- ✅ **Переносить:** `core.entity_registry` (критично!), `core.device_registry`, `core.area_registry`, `core.floor_registry`, `core.restore_state`, `lovelace.home_plan`, `lovelace_dashboards`, `lovelace_resources`, `person`, `zone`
|
||||
|
||||
**Порядок критичен:** сначала реестры, **потом** (после старта HA) правка `friendly_name` в z2m и `entity_id` в HA. Переименование до переноса реестров пропадёт — HA перезапишет реестр.
|
||||
|
||||
**Полезные команды разведки конфига (из SSH-аддона на t610):**
|
||||
```bash
|
||||
ls -la /config/ # состав HA-конфига
|
||||
ls /config/.storage/ | wc -l # число файлов реестра
|
||||
jq -r '.data.entries[].domain' /config/.storage/core.config_entries | sort | uniq -c # какие интеграции подключены
|
||||
jq -r '.data.entities | length' /config/.storage/core.entity_registry # число сущностей
|
||||
cat /config/.HA_VERSION # версия HA
|
||||
```
|
||||
На TrueNAS аналогично, путь `/mnt/RED_2TB/docker/ha/` (читать под `truenas_admin`).
|
||||
|
||||
> 📌 **Как узнать, используется ли интеграция:** `jq -r '.data.entries[].domain' core.config_entries` — если домена нет, компонент не подключён (напр. `tuya_local` стоял в файлах, но config entry отсутствовал → не использовался).
|
||||
|
||||
## Связанные заметки
|
||||
- [[family/plans/home-automation-migration-t610]] — план миграции (родительский)
|
||||
- [[family/plans/t610-addons-deployment]] — развёртывание аддонов
|
||||
|
||||
Reference in New Issue
Block a user