[2026-09-14] eagle: family/plans/home-automation-migration-t610.md family/plans/t610-addons-deployment.md
This commit is contained in:
@@ -179,7 +179,36 @@ ha apps restart "$SLUG"
|
||||
11. [x] **СПОСОБ ПРИВЯЗКИ РЕШЁН 2026-09-14** — привязка по **`by-path`**, никаких udev-алиасов. Механизм: флаг `uart: true` в манифесте аддона даёт доступ ко **всем** serial включая `/dev/serial/by-path/` (проверено на живом t610: `core_ssh` uart:true видит все by-path; z2m тоже uart:true). `devices:` прописывать не надо. Подробности: [[family/how-to/t610-access]] §USB. **Блокер снят.**
|
||||
12. [x] ✅ **z2m-аддон УСТАНОВЛЕН И РАБОТАЕТ (2026-09-14)** — аддон `45df7312_zigbee2mqtt` v2.14.1-1, serial по by-id, база перенесена 1:1, **16 устройств на месте, переспаривание не потребовалось.** Подробности — §«z2m на t610 (ВЫПОЛНЕНО)» выше.
|
||||
13. [x] ✅ **mbusd local add-on СОБРАН И РАБОТАЕТ (2026-09-14)** — slug `local_mbusd`, порт **502 открыт** (проверено `nc` с Mac), устройство by-path CH340 #2 (порт 4). Подробности — §«Local add-ons mbusd / modbus-bridge» ниже.
|
||||
14. [x] ✅ **modbus-bridge local add-on СОБРАН И ЗАПУЩЕН (2026-09-14)** — slug `local_modbus-bridge`, устройство by-path CH340 #1 (порт 3), конфиг валиден, sniffer работает. ⏳ **Ждёт `HA_TOKEN` + MQTT-пароль** (без них MQTT code 5 = not authorized, HA poller выключен).
|
||||
14. [x] ✅ **modbus-bridge local add-on СОБРАН И ЗАПУЩЕН (2026-09-14)** — slug `local_modbus-bridge`, устройство by-path CH340 #1 (порт 3), конфиг валиден, **MQTT подключён, 13 discovery-сообщений ушли**, sniffer работает. ⏳ **HA-опрос даёт HTTP 401** — нужен корректный long-lived token от ЭТОГО инстанса HA (см. питфолл ниже).
|
||||
|
||||
#### ⚠️ ПИТФОЛЛ: HA-токен с чужим `iss` отвергается (401)
|
||||
|
||||
Первый присланный `ha_token` (от Alex) при обращении к API давал **401 и с Mac, и из аддона**. Токен синтаксически валиден (payload: `iss`/`iat`/`exp` до 2036), НО:
|
||||
|
||||
| | Значение |
|
||||
|---|---|
|
||||
| `iss` в токене | `76e344271cb74a2098c6de2839a79f0f` |
|
||||
| **`instance_id` этого HA** (`/config/.storage/core.uuid`) | **`d3b24dad8c684291a31b687cff7f9d30`** |
|
||||
|
||||
→ Токен выпущен **другим инстансом** (старый HA на TrueNAS / другая установка). HA проверяет `iss` и отвергает чужой токен.
|
||||
|
||||
**Как проверить токен перед вставкой:**
|
||||
```bash
|
||||
# payload токена (base64url, средняя часть)
|
||||
echo '<PAYLOAD_PART>' | base64 -D
|
||||
# сравнить "iss" с instance_id:
|
||||
ssh ... root@192.168.2.176 'jq -r .data.uuid /config/.storage/core.uuid'
|
||||
```
|
||||
**Создавать токен только на http://192.168.2.176** → профиль `ha_admin` → Security → Long-lived access tokens.
|
||||
**Быстрая проверка:** `curl -s -o /dev/null -w '%{http_code}' -H "Authorization: Bearer <TOKEN>" http://192.168.2.176/api/` → должно быть **200** (401 = токен не от этого инстанса).
|
||||
|
||||
**Что уже подтверждено работоспособным (не зависит от токена):**
|
||||
- MQTT-подключение к `core-mosquitto` ✓
|
||||
- Публикация discovery-сообщений (13 шт: dining kids bedroom × co2/formaldehyde/tvoc/pm2.5/pm10/temp/humidity) ✓
|
||||
- Serial sniffing на CH340 порт 3 (шина ZONT) ✓
|
||||
- HA poller запускается, но получает 401
|
||||
|
||||
**Настройка токена через Supervisor API (рабочий рецепт):** см. `~/tmp-t610/set_bridge_opts.sh`. ⚠️ Значения токена **маскируются** при прогоне через bash-переменную/`echo` — записывать токен в JSON-файл на t610 через `jq --arg` из env, НЕ подставлять в строку через `echo`/`sed`.
|
||||
|
||||
### ✅ Local add-ons mbusd / modbus-bridge — ВЫПОЛНЕНО (2026-09-14)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user