[2026-09-14] eagle: family/how-to/home-automation.md 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,7 +9,7 @@ related: ["[[family/how-to/router-bishkek-asus]]", "[[family/plans/home-automati
|
|||||||
|
|
||||||
> ⚠️ **ПЕРЕНОС ИДЁТ (начат 2026-09-12):** весь стек домашней автоматизации (HA, zigbee2mqtt, nodered, mosquitto, mbusd, modbus-bridge) переносится с TrueNAS на **HP t610** (HA OS). План со всеми путями/шагами и прогрессом: [[family/plans/home-automation-migration-t610]], детали развёртывания: [[family/plans/t610-addons-deployment]].
|
> ⚠️ **ПЕРЕНОС ИДЁТ (начат 2026-09-12):** весь стек домашней автоматизации (HA, zigbee2mqtt, nodered, mosquitto, mbusd, modbus-bridge) переносится с TrueNAS на **HP t610** (HA OS). План со всеми путями/шагами и прогрессом: [[family/plans/home-automation-migration-t610]], детали развёртывания: [[family/plans/t610-addons-deployment]].
|
||||||
>
|
>
|
||||||
> **Статус на 2026-09-14:** ✅ на t610 работают HA Core, mosquitto (логин `zont`), Node-RED, **zigbee2mqtt (16 Zigbee-устройств, база перенесена 1:1)**, **mbusd (порт 502, шина вентиляции)** и **modbus-bridge (снифф 485-датчиков, ждёт `ha_token`+MQTT-пароль)**. ⏳ Осталось: Этап 3 — перенос HA-конфига (`configuration.yaml`, `.storage/core.entity_registry` и т.д.), затем Этап 4 — переключение трафика. **ZONT ещё НЕ перенаправлен** на MQTT t610 — редирект GPON-роутера и `modbus.host` в HA-конфиге пока смотрят на TrueNAS. Подробности: [[family/plans/t610-addons-deployment]].
|
> **Статус на 2026-09-14 (Этап 2 закрыт):** ✅ на t610 работают HA Core, mosquitto (логин `zont`), Node-RED, **zigbee2mqtt (16 Zigbee-устройств, база перенесена 1:1)**, **mbusd (порт 502, шина вентиляции)**, **modbus-bridge (снифф 485-датчиков + MQTT + HA-опрос)** и **MQTT-интеграция в HA** (её не было → z2m/bridge не создавали сущности; стало 104 сущности / 69 Zigbee). ⏳ Осталось: Этап 3 — перенос HA-конфига (`configuration.yaml`, `.storage/core.entity_registry` и т.д.), затем Этап 4 — переключение трафика. **ZONT ещё НЕ перенаправлен** на MQTT t610 — редирект GPON-роутера и `modbus.host` в HA-конфиге пока смотрят на TrueNAS. Подробности: [[family/plans/t610-addons-deployment]].
|
||||||
>
|
>
|
||||||
> Карты Slave ID и регистров ниже **остаются в силе** — оборудование и адреса Modbus не меняются.
|
> Карты Slave ID и регистров ниже **остаются в силе** — оборудование и адреса Modbus не меняются.
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
> План переноса: [[family/plans/home-automation-migration-t610]]
|
> План переноса: [[family/plans/home-automation-migration-t610]]
|
||||||
> Развёртывание сервисов: [[family/plans/t610-addons-deployment]]
|
> Развёртывание сервисов: [[family/plans/t610-addons-deployment]]
|
||||||
|
|
||||||
> 🟡 **Состояние на 2026-09-14:** z2m, mbusd, modbus-bridge развёрнуты аддонами (см. §«Установленные аддоны»). **Незакрытый пункт:** modbus-bridge ждёт `ha_token` (long-lived token из HA UI) + `mqtt_password` — без них `MQTT connection failed code 5` и HA poller выключен. Далее — Этап 3 (перенос HA-конфига).
|
> ✅ **Состояние на 2026-09-14 (Этап 2 закрыт):** z2m (16 устройств), mbusd (порт 502), modbus-bridge (MQTT + HA-опрос) — все развёрнуты аддонами и **работают**. В HA добавлена **MQTT-интеграция** (её не было → z2m/bridge не создавали сущности; стало 104 сущности, 69 Zigbee). Далее — Этап 3 (перенос HA-конфига с TrueNAS).
|
||||||
|
|
||||||
## Основное
|
## Основное
|
||||||
|
|
||||||
@@ -116,8 +116,55 @@ curl -s -X POST -H "${AUTH}" -H "Content-Type: application/json" -d @/tmp/post.j
|
|||||||
ha apps restart "$SLUG"
|
ha apps restart "$SLUG"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> ⚠️ **ПРИМЕЧАНИЕ (2026-09-14):** в некоторых скриптах этой доки переменная токена при записи через инструменты выглядит как `AUTH="...***..."` — это артефакт маскировки секретов, а не рабочий код. В живом скрипте должно быть `AUTH="Authorization: Bearer ${SUPERVISOR_TOKEN}"`. Если строку с `AUTH` съело при редактировании — перезаписать файл целиком (см. `~/tmp-t610/*.sh` на Mac, они рабочие).
|
||||||
|
|
||||||
> ⚠️ API требует **полный** набор опций — схема валидирует все ключи. Посылать только изменённое нельзя: вернёт `Missing option '<key>'`. Берём текущие опции и меняем нужное.
|
> ⚠️ API требует **полный** набор опций — схема валидирует все ключи. Посылать только изменённое нельзя: вернёт `Missing option '<key>'`. Берём текущие опции и меняем нужное.
|
||||||
|
|
||||||
|
### Long-lived token HA и обращение к API из аддонов (важно, 2026-09-14)
|
||||||
|
|
||||||
|
**Как создать токен:** `http://192.168.2.176` → профиль (аватар) → **Security** → **Long-lived access tokens** → **Create token**.
|
||||||
|
|
||||||
|
**Проверка токена:**
|
||||||
|
```bash
|
||||||
|
curl -s -o /dev/null -w '%{http_code}\n' -H "Authorization: Bearer <TOKEN>" http://192.168.2.176/api/
|
||||||
|
# 200 = рабочий, 401 = негодный
|
||||||
|
```
|
||||||
|
|
||||||
|
**⚠️ ПИТФОЛЛ 1 — токен маскируется в bash.** Если подставлять токен через переменную окружения / `echo` / `sed`, в итоговый JSON/опции попадает **заглушка** (наблюдалось `<len 13>` вместо реальных 183 символов). **Рабочий способ:** записать токен в **файл** → скопировать файлом на t610 → читать на месте:
|
||||||
|
```bash
|
||||||
|
TOK=$(tr -d '\n\r' < /tmp/ha_token.txt)
|
||||||
|
jq --arg t "$TOK" '.ha_token = $t' input.json > out.json
|
||||||
|
```
|
||||||
|
|
||||||
|
**⚠️ ПИТФОЛЛ 2 — адрес для аддона.** Внутри аддона `http://supervisor/core` требует **внутренний** `SUPERVISOR_TOKEN`, а пользовательский long-lived token там даёт **401**. Для обращения к HA Core из аддона использовать **прямой адрес**:
|
||||||
|
```
|
||||||
|
http://192.168.2.176:80 ✅ работает с пользовательским токеном (200)
|
||||||
|
http://supervisor/core ❌ 401 с пользовательским токеном
|
||||||
|
```
|
||||||
|
Это ровно то, что нужно modbus-bridge в его `ha.url` (см. [[family/plans/t610-addons-deployment]]).
|
||||||
|
|
||||||
|
`host_network: true` в манифесте аддона не обязателен для этого, но не мешает — `192.168.2.176` достижим и без него.
|
||||||
|
|
||||||
|
**⚠️ ЛОЖНЫЙ СЛЕД (не повторять):** гипотеза «`iss` в JWT должен совпадать с `core.uuid` HA» — **НЕВЕРНА**. У рабочего токена `iss` и `core.uuid` не совпадают (проверено: `iss=e75d1d6f…`, `core.uuid=d3b24dad…`), и это норма. Единственный надёжный критерий — HTTP-код на `/api/`.
|
||||||
|
|
||||||
|
### Добавление интеграции MQTT в HA (Config Entry Flow API)
|
||||||
|
|
||||||
|
Если в HA **нет MQTT-интеграции**, discovery-сообщения z2m/bridge уходят в mosquitto и **висят** — сущности не создаются (симптом: `404` при обращении к сущности; в HA только системные ~22 сущности).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
T="<long-lived token>"
|
||||||
|
BASE="http://192.168.2.176/api/config/config_entries/flow"
|
||||||
|
# 1) создать flow (тип меню)
|
||||||
|
FID=$(curl -s -X POST -H "Authorization: Bearer $T" -H "Content-Type: application/json" \
|
||||||
|
-d '{"handler":"mqtt","show_advanced_options":false}' "$BASE" | jq -r .flow_id)
|
||||||
|
# 2) выбрать вариант "addon" (Mosquitto Mqtt Broker) — креды Supervisor подставит сам
|
||||||
|
curl -s -X POST -H "Authorization: Bearer $T" -H "Content-Type: application/json" \
|
||||||
|
-d '{"next_step_id":"addon"}' "$BASE/$FID"
|
||||||
|
# ответ {"type":"create_entry"} = интеграция создана
|
||||||
|
```
|
||||||
|
Проверка: `jq -r '.data.entries[].domain' /config/.storage/core.config_entries | grep mqtt` → `mqtt`.
|
||||||
|
**Эффект:** сущностей стало 104 (69 Zigbee) вместо 22. Скрипт: `~/tmp-t610/setup_mqtt_integration.sh`.
|
||||||
|
|
||||||
## Доступ к роутерам (диагностика сети t610)
|
## Доступ к роутерам (диагностика сети t610)
|
||||||
|
|
||||||
t610 в сети `192.168.2.0/24`. Роутеры для проверки:
|
t610 в сети `192.168.2.0/24`. Роутеры для проверки:
|
||||||
@@ -204,7 +251,7 @@ ZONT (modbus-bridge): /dev/serial/by-path/pci-0000:00:12.0-usb-0:3:1.0-por
|
|||||||
| File editor | `core_configurator` | — | ✅ started | web UI |
|
| File editor | `core_configurator` | — | ✅ started | web UI |
|
||||||
| **Zigbee2MQTT** | `45df7312_zigbee2mqtt` | 2.14.1-1 | ✅ **started (16 устройств)** | ingress 8099 |
|
| **Zigbee2MQTT** | `45df7312_zigbee2mqtt` | 2.14.1-1 | ✅ **started (16 устройств)** | ingress 8099 |
|
||||||
| **mbusd** | `local_mbusd` | 1.0.0 | ✅ **started** | 502 (Modbus TCP) |
|
| **mbusd** | `local_mbusd` | 1.0.0 | ✅ **started** | 502 (Modbus TCP) |
|
||||||
| **modbus-bridge** | `local_modbus-bridge` | 1.0.0 | ✅ started — ⏳ ждёт `ha_token`/`mqtt_password` | sniffer шины ZONT |
|
| **modbus-bridge** | `local_modbus-bridge` | 1.0.0 | ✅ **started — MQTT + HA-опрос** | sniffer шины ZONT |
|
||||||
| Samba share | `core_samba` | — | ⏸️ stopped (нужен пароль) | — |
|
| Samba share | `core_samba` | — | ⏸️ stopped (нужен пароль) | — |
|
||||||
|
|
||||||
Репозитории аддонов: официальный + **Zigbee2MQTT** (`https://github.com/zigbee2mqtt/hassio-zigbee2mqtt`) + Local apps.
|
Репозитории аддонов: официальный + **Zigbee2MQTT** (`https://github.com/zigbee2mqtt/hassio-zigbee2mqtt`) + Local apps.
|
||||||
|
|||||||
@@ -19,14 +19,14 @@ related:
|
|||||||
---
|
---
|
||||||
# Перенос домашней автоматизации на HP t610
|
# Перенос домашней автоматизации на HP t610
|
||||||
|
|
||||||
> **Статус: В ПРОЦЕССЕ. Этап 1 (аддоны) ВЫПОЛНЕН. Этап 2 (USB + Zigbee + Modbus) — ✅ z2m РАБОТАЕТ (16 устройств), ✅ mbusd РАБОТАЕТ (порт 502), ✅ modbus-bridge собран и запущен (MQTT + sniffer OK; ⏳ ждёт корректный `ha_token`). Следующий шаг — Этап 3 (перенос HA-конфига + `.storage/`).**
|
> **Статус: В ПРОЦЕССЕ. Этап 1 ✅. Этап 2 ✅ ПОЛНОСТЬЮ ВЫПОЛНЕН (z2m — 16 устройств, mbusd — порт 502, modbus-bridge — MQTT + HA-опрос, MQTT-интеграция в HA добавлена). Следующий шаг — Этап 3 (перенос HA-конфига + `.storage/`).**
|
||||||
> Цель: убрать всю домашнюю автоматизацию с TrueNAS (он перегружен — 17/21 ГБ RAM) на выделенный HP t610, с бэкапом конфигов на TrueNAS и в git.
|
> Цель: убрать всю домашнюю автоматизацию с TrueNAS (он перегружен — 17/21 ГБ RAM) на выделенный HP t610, с бэкапом конфигов на TrueNAS и в git.
|
||||||
>
|
>
|
||||||
> **Прогресс 2026-09-14 (вечер) — Modbus-сервисы переехали:**
|
> **Прогресс 2026-09-14 (вечер) — Этап 2 ЗАКРЫТ, Modbus-сервисы работают:**
|
||||||
> - ✅ **mbusd — local add-on `local_mbusd` РАБОТАЕТ.** База: готовый образ `3cky/mbusd:latest`. Порт **502 открыт**. Устройство: `/dev/serial/by-path/pci-0000:00:12.0-usb-0:4:1.0-port0` (CH340 #2, порт 4 → шина вентиляции AT2). Питфоллы сборки local add-ons — см. [[family/plans/t610-addons-deployment]] §«Local add-ons mbusd / modbus-bridge».
|
> - ✅ **mbusd — local add-on `local_mbusd` РАБОТАЕТ.** База: готовый образ `3cky/mbusd:latest`. Порт **502 открыт**. Устройство: `/dev/serial/by-path/pci-0000:00:12.0-usb-0:4:1.0-port0` (CH340 #2, порт 4 → шина вентиляции AT2). Питфоллы сборки local add-ons — см. [[family/plans/t610-addons-deployment]] §«Local add-ons mbusd / modbus-bridge».
|
||||||
> - ✅ **modbus-bridge — local add-on `local_modbus-bridge` СОБРАН И ЗАПУЩЕН.** База `python:3.11-alpine`, `uart: true` + `host_network: true`. Устройство: by-path CH340 #1 (порт 3 → шина ZONT). **MQTT подключён, 13 discovery-сообщений опубликованы, sniffer работает.**
|
> - ✅ **modbus-bridge — local add-on `local_modbus-bridge` РАБОТАЕТ (MQTT + HA-опрос).** База `python:3.11-alpine`, `uart: true` + `host_network: true`. Устройство: by-path CH340 #1 (порт 3 → шина ZONT). **MQTT подключён, 13 discovery-сообщений, HA-опрос возвращает значение.** Питфолл: `ha.url` обязан быть **`http://192.168.2.176:80`** (НЕ `supervisor/core` — тот требует `SUPERVISOR_TOKEN` и даёт 401 с пользовательским токеном).
|
||||||
> - ⏳ **Единственный незакрытый пункт Этапа 2:** HA-опрос даёт **HTTP 401** — первый токен оказался выпущен **другим инстансом HA** (`iss` ≠ `instance_id` t610). Нужен long-lived token, созданный на http://192.168.2.176. Как проверить — [[family/plans/t610-addons-deployment]] §«ПИТФОЛЛ: HA-токен с чужим iss».
|
> - ✅ **В HA добавлена MQTT-интеграция** (её НЕ БЫЛО → discovery-сообщения z2m/bridge не превращались в сущности, было всего 22 системные сущности). Стало **104 сущности (69 Zigbee)**. Рецепт — [[family/how-to/t610-access]] §«Добавление интеграции MQTT».
|
||||||
> - ⏭️ Следующий шаг: вписать корректный `ha_token` → Этап 3 (перенос HA-конфига + `.storage/`).
|
> - ⏭️ Следующий шаг: Этап 3 (перенос HA-конфига + `.storage/`).
|
||||||
|
|
||||||
>
|
>
|
||||||
> **Прогресс 2026-09-13 — 🎉 t610 запущен и в сети:**
|
> **Прогресс 2026-09-13 — 🎉 t610 запущен и в сети:**
|
||||||
@@ -59,7 +59,7 @@ related:
|
|||||||
| Mosquitto (MQTT) | HA-аддон (`core_mosquitto`) | ✅ работает — 1883/1884 |
|
| Mosquitto (MQTT) | HA-аддон (`core_mosquitto`) | ✅ работает — 1883/1884 |
|
||||||
| Node-RED | HA-аддон (`a0d7b954_nodered`) | ✅ работает — 1880 |
|
| Node-RED | HA-аддон (`a0d7b954_nodered`) | ✅ работает — 1880 |
|
||||||
| mbusd | HA local add-on (`local_mbusd`) | ✅ работает — RS-485 → TCP :502 (шина вентиляции AT2) |
|
| mbusd | HA local add-on (`local_mbusd`) | ✅ работает — RS-485 → TCP :502 (шина вентиляции AT2) |
|
||||||
| modbus-bridge | HA local add-on (`local_modbus-bridge`) | ✅ собран/запущен — снифф 485-датчиков + виртуальные slaves для ZONT; ⏳ ждёт `ha_token` |
|
| modbus-bridge | HA local add-on (`local_modbus-bridge`) | ✅ **работает — снифф 485-датчиков + виртуальные slaves для ZONT, MQTT + HA-опрос** |
|
||||||
| **Камера** | docker-контейнер | см. §8 — разобраться отдельно |
|
| **Камера** | docker-контейнер | см. §8 — разобраться отдельно |
|
||||||
| ~~udev-скрипт tty-алиасов~~ | ~~нативный udev + systemd~~ | ❌ **ОТМЕНЁН** — на HA OS невозможен; привязка serial по `/dev/serial/by-path/...` через флаг аддона `uart: true` |
|
| ~~udev-скрипт tty-алиасов~~ | ~~нативный udev + systemd~~ | ❌ **ОТМЕНЁН** — на HA OS невозможен; привязка serial по `/dev/serial/by-path/...` через флаг аддона `uart: true` |
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ HA OS внутри использует host docker 29.6.2 (`ha docker info` п
|
|||||||
2. **zigbee2mqtt** — USB-Zigbee by-id — ✅ аддон `45df7312_zigbee2mqtt`
|
2. **zigbee2mqtt** — USB-Zigbee by-id — ✅ аддон `45df7312_zigbee2mqtt`
|
||||||
3. **nodered** — порт 1880 — ✅ аддон `a0d7b954_nodered`
|
3. **nodered** — порт 1880 — ✅ аддон `a0d7b954_nodered`
|
||||||
4. **mbusd** — порт 502, by-path CH340#2 (порт 4, шина AT2) — ✅ local add-on `local_mbusd`
|
4. **mbusd** — порт 502, by-path CH340#2 (порт 4, шина AT2) — ✅ local add-on `local_mbusd`
|
||||||
5. **modbus-bridge** — by-path CH340#1 (порт 3, шина ZONT), `host_network` — ✅ local add-on `local_modbus-bridge` (⏳ ждёт `ha_token`)
|
5. **modbus-bridge** — by-path CH340#1 (порт 3, шина ZONT), `host_network` — ✅ local add-on `local_modbus-bridge` (**работает: MQTT + HA-опрос**; `ha.url` = `http://192.168.2.176:80`)
|
||||||
6. **камера** — см. §8
|
6. **камера** — см. §8
|
||||||
|
|
||||||
> 📌 **Фактически выполнено 2026-09-14** (детали, точные пути, питфоллы сборки local add-ons — в [[family/plans/t610-addons-deployment]]). Шаги 3–4 этого документа **заменены** тем планом; ниже оставлены как исторический черновик исходного подхода (docker-compose + udev), который **не применялся**.
|
> 📌 **Фактически выполнено 2026-09-14** (детали, точные пути, питфоллы сборки local add-ons — в [[family/plans/t610-addons-deployment]]). Шаги 3–4 этого документа **заменены** тем планом; ниже оставлены как исторический черновик исходного подхода (docker-compose + udev), который **не применялся**.
|
||||||
@@ -368,7 +368,7 @@ system/start-modbus.sh # скрипт ожидания tty перед doc
|
|||||||
- [x] ✅ **MQTT:** трафик z2m идёт (discovery-сообщения публикуются), логин `zont` работает
|
- [x] ✅ **MQTT:** трафик z2m идёт (discovery-сообщения публикуются), логин `zont` работает
|
||||||
- [ ] **Modbus вентиляция:** HA видит AT2, заслонки переключаются (проверить физически!) — требует Этапа 3 (перенос HA-конфига)
|
- [ ] **Modbus вентиляция:** HA видит AT2, заслонки переключаются (проверить физически!) — требует Этапа 3 (перенос HA-конфига)
|
||||||
- [ ] **ZONT:** датчики 485 (Dining/Kids/Bedroom) в ZONT **не «недоступные»**, температуры идут — требует `ha_token` в modbus-bridge + Этап 3
|
- [ ] **ZONT:** датчики 485 (Dining/Kids/Bedroom) в ZONT **не «недоступные»**, температуры идут — требует `ha_token` в modbus-bridge + Этап 3
|
||||||
- [x] ✅ **modbus-bridge:** sniffer работает, MQTT подключён, **13 discovery-топиков** `modbus/sensors/*` опубликованы (⏳ HA-опрос 401 — ждёт корректный токен)
|
- [x] ✅ **modbus-bridge:** sniffer работает, MQTT подключён, **13 discovery-топиков** `modbus/sensors/*` опубликованы, **HA-опрос работает** (`ha.url` = `http://192.168.2.176:80`)
|
||||||
- [x] ✅ **mbusd:** порт 502 открыт, устройство на by-path CH340 #2 (порт 4)
|
- [x] ✅ **mbusd:** порт 502 открыт, устройство на by-path CH340 #2 (порт 4)
|
||||||
- [ ] **Node-RED:** `http://192.168.2.176:1880` — flows загружены, creds на месте
|
- [ ] **Node-RED:** `http://192.168.2.176:1880` — flows загружены, creds на месте
|
||||||
- [ ] **ZONT MQTT:** ZONT шлёт данные на `t610:1883` (проверить подпиской) — требует перенаправления GPON-роутера
|
- [ ] **ZONT MQTT:** ZONT шлёт данные на `t610:1883` (проверить подпиской) — требует перенаправления GPON-роутера
|
||||||
|
|||||||
@@ -165,15 +165,16 @@ z2m: Connected to MQTT server
|
|||||||
```bash
|
```bash
|
||||||
SLUG="a0d7b954_nodered"
|
SLUG="a0d7b954_nodered"
|
||||||
API="http://supervisor/addons/${SLUG}"
|
API="http://supervisor/addons/${SLUG}"
|
||||||
AUTH="Authorization: Bearer ${SUPERVISOR_TOKEN}"
|
AUTH=*** Bearer ${SUPERVISOR_TOKEN}"
|
||||||
curl -s -H "${AUTH}" "${API}/info" | jq '.data.options | .ssl = false' > /tmp/o.json
|
curl -s -H "${AUTH}" "${API}/info" | jq '.data.options | .ssl = false' > /tmp/o.json
|
||||||
jq -n --slurpfile o /tmp/o.json '{options: $o[0]}' > /tmp/post.json
|
jq -n --slurpfile o /tmp/o.json '{options: $o[0]}' > /tmp/post.json
|
||||||
curl -s -X POST -H "${AUTH}" -H "Content-Type: application/json" -d @/tmp/post.json "${API}/options"
|
curl -s -X POST -H "${AUTH}" -H "Content-Type: application/json" -d @/tmp/post.json "${API}/options"
|
||||||
ha apps restart "$SLUG"
|
ha apps restart "$SLUG"
|
||||||
```
|
```
|
||||||
|
> ⚠️ Если строка `AUTH=` выглядит искажённой — это артефакт маскировки секретов при записи доки. В живом скрипте: `AUTH=*** Bearer ${SUPERVISOR_TOKEN}"`. Рабочие скрипты лежат на Mac в `~/tmp-t610/*.sh`.
|
||||||
Скрипты лежат локально: `~/tmp-t610/nr_set_ssl.sh`.
|
Скрипты лежат локально: `~/tmp-t610/nr_set_ssl.sh`.
|
||||||
|
|
||||||
### Этап 2 — USB-устройства (все подключены 2026-09-14) 🟡 В РАБОТЕ
|
### Этап 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. **Устройства из портов не вынимать!**
|
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
|
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
|
10. [x] Карта составлена: ttyUSB0 = CH340 #1 (ZONT), ttyUSB1 = CH340 #2 (Vent), ttyACM0 = Zigbee
|
||||||
|
|||||||
Reference in New Issue
Block a user