[2026-09-13] 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:
Alexey Martemyanov
2026-09-13 22:51:16 +06:00
parent d9f5d7c333
commit 289ffcd375
3 changed files with 332 additions and 17 deletions
+146
View File
@@ -0,0 +1,146 @@
# HP t610 — хост домашней автоматизации (HA OS)
> Хост, на который переносится домашняя автоматизация с TrueNAS.
> План переноса: [[family/plans/home-automation-migration-t610]]
> Развёртывание сервисов: [[family/plans/t610-addons-deployment]]
## Основное
| Параметр | Значение |
|----------|----------|
| Железо | HP t610 (AMD T56N 2×@1.65 ГГц, 4 ГБ DDR3, HDD WD2500BEVT 250 ГБ) |
| ОС | Home Assistant OS 18.2 (generic-x86-64) |
| HA Core | 2026.9.2 |
| Supervisor | 2026.09.0 |
| **IP** | **192.168.2.176** (DHCP-имя `homeassistant`, MAC `9c:8e:99:ef:3f:c5`) |
| **Web UI** | **`http://192.168.2.176`** — ⚠️ **порт 80, не 8123!** |
| SSH | `ssh -i ~/.ssh/id_rsa root@192.168.2.176` (через аддон Terminal & SSH) |
| Сеть | 192.168.2.0/24, статический IP пока не закреплён на роутере |
> ⚠️ **HA слушает порт 80, а не 8123.** Порт 8123 на t610 **закрыт**. Веб-морда открывается по `http://192.168.2.176` без указания порта. Проверено 2026-09-13 (curl вернул HTTP 200 и страницу Home Assistant).
> 📌 **Первая установка HA OS ставит HA «с нуля»** — конфиги переносятся вручную (см. план миграции §5.6), НЕ через бэкап-снапшот.
## Подключение
```bash
# HA UI (порт 80!)
http://192.168.2.176
# SSH — только после установки аддона Terminal & SSH (core_ssh)
ssh -i ~/.ssh/id_rsa root@192.168.2.176
```
**Важно про SSH:** в HA OS SSH **выключен по умолчанию** — порты 22 и 22222 дают `Connection refused`. Включается **только через аддон** `core_ssh` (Terminal & SSH): Settings → Apps → Terminal & SSH → Install → положить свой публичный ключ в `authorized_keys` → Start. Пароля root для SSH не существует — вход только по ключу.
> ⚠️ **Порт 22222 (debug SSH) на t610 закрыт** — debug-доступ не включён. Рабочий путь — аддон.
## Ограничения SSH-аддона (что доступно из шелла)
Внутри аддона `core_ssh` **НЕТ** `docker` CLI и **НЕТ** `python3`.
Есть: `bash`, `curl`, `jq`, `ha` (HA CLI), `ssh`, `ls`, `cat`.
**Как управлять docker:** только через Supervisor — `ha docker info` (сам docker на хосте есть, v29.6.2, overlayfs/journald), но из аддона он не виден, т.к. аддон живёт в своём контейнере. Полноценный docker-compose на HA OS — нештатный путь; сервисы ставим **аддонами** (см. [[family/plans/t610-addons-deployment]]).
**Скрипты для t610 писать на bash + jq**, не на python3.
## HA CLI (`ha`) — полезные команды
```bash
ha info # общая информация
ha core info # состояние HA Core
ha supervisor info # список аддонов и репозиториев
ha apps # список установленных аддонов + состояние
ha apps info <slug> # детали аддона (в т.ч. options, схема)
ha apps install <slug> # установить
ha apps start|stop|restart <slug>
ha apps logs <slug> # логи аддона
ha store add <url> # добавить репозиторий аддонов
ha hardware info # железо + USB-устройства (tty, serial)
ha host info # диск, версия OS, features
```
> ⚠️ `ha apps` **не умеет менять опции** (нет команды `options`). Настройка — через UI или Supervisor API (см. ниже).
### Смена опций аддона через Supervisor API
API доступен из аддона (`SUPERVISOR_TOKEN` уже в окружении):
```bash
SLUG="a0d7b954_nodered"
API="http://supervisor/addons/${SLUG}"
AUTH="Authorization: Bearer ${SUPERVISOR_TOKEN}"
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
curl -s -X POST -H "${AUTH}" -H "Content-Type: application/json" -d @/tmp/post.json "${API}/options"
ha apps restart "$SLUG"
```
> ⚠️ API требует **полный** набор опций — схема валидирует все ключи. Посылать только изменённое нельзя: вернёт `Missing option '<key>'`. Берём текущие опции и меняем нужное.
## Доступ к роутерам (диагностика сети t610)
t610 в сети `192.168.2.0/24`. Роутеры для проверки:
| Роутер | Доступ | Особенность |
|--------|--------|-------------|
| `192.168.2.2` (OpenWrt, основной) | SSH root, пароль `1316261` | DHCP-аренды: `cat /tmp/dhcp.leases` |
| `192.168.6.1` («Rasputin», OpenWrt aarch64) | SSH root | имеет eth0 `192.168.2.157/24` → видит сеть 192.168.2.x |
> ⚠️ **ПИТФОЛЛ: `nc` на OpenWrt (busybox) НЕ поддерживает флаг `-z`.** `nc -z host port` молча печатает usage и возвращает неверный результат → ложный вывод «порт закрыт». Для проверки портов с OpenWrt использовать `curl -s -o /dev/null -w '%{http_code}'` или `wget`. Проверка портов с Mac через `nc -z` работает нормально.
## Диск и железо (проверено 2026-09-13, `ha host info`)
| Параметр | Значение |
|----------|----------|
| Диск | WD2500BEVT (WD-WX31A60P2258), 228.5 ГБ |
| Занято | 5 ГБ |
| Свободно | 214.2 ГБ |
| Docker (host) | 29.6.2, storage overlayfs, logging journald |
| OS | `haos:18.2`, generic-x86-64, production |
> 📌 Диск был взят из TrueNAS (бывший системный диск с Windows 7) — образ HA OS записан через `dd` с Mac. Подробности в [[family/plans/home-automation-migration-t610]] Шаг 1.
## USB-устройства (блокер на 2026-09-13)
**К t610 физически не подключены** Zigbee-координатор и два CH340:
```bash
ls /dev/serial/by-id/ # No such file or directory
ls /dev/ttyUSB* /dev/ttyACM* # No such file or directory
```
В `ha hardware info` из USB — только контроллеры (`ohci_hcd`), никаких `1a86:7523` (CH340) и Zigbee.
**Что должно быть воткнуто (3 устройства, в фиксированные порты):**
| Устройство | 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'` → составить карту «серийник → устройство».
> ✅ **Плюс аддонов:** старая проблема гонки udev ([[family/how-to/zont-modbus-bridge-udev-race-protection]]) на t610 **неактуальна** — Supervisor сам ждёт устройство при старте аддона, скрипты ожидания tty не нужны.
## Установленные аддоны (на 2026-09-13)
| Аддон | Slug | Версия | Состояние | Порты |
|-------|------|--------|-----------|-------|
| Terminal & SSH | `core_ssh` | 10.4.0 | ✅ started | 22 |
| Mosquitto broker | `core_mosquitto` | 7.1.1 | ✅ started | 1883 (MQTT), 1884 (WS) |
| Node-RED | `a0d7b954_nodered` | 22.0.6 | ✅ started | 1880 |
| File editor | `core_configurator` | — | ✅ started | web UI |
| Samba share | `core_samba` | — | ⏸️ stopped (нужен пароль) | — |
Дополнительно подключён репозиторий **Zigbee2MQTT** (`45df7312`, `Home Assistant App: Zigbee2MQTT`).
> 📌 В HA 2026.x аддоны в UI называются **Settings → Apps** (не «Add-ons»). Пункта «Add-ons» в меню больше нет.
## Связанные заметки
- [[family/plans/home-automation-migration-t610]] — план миграции (родительский)
- [[family/plans/t610-addons-deployment]] — развёртывание аддонов
- [[family/how-to/home-automation]] — карта slave ID, ZONT, регистры
- [[family/how-to/truenas-access]] — доступ к TrueNAS
- [[family/how-to/zont-modbus-bridge-udev-race-protection]] — гонка udev (на t610 неактуальна)