[2026-09-17] eagle: family/how-to/gitea-config.md family/how-to/home-automation.md family/how-to/zont-config-compiler.md family/tech/t610-hang-investigation.md family/tech/t610-hw-metrics-addon.md family/tech/t610-relay-off-log-forensics.md family/tech/zont-api.md family/tech/zont-config-object-types.md family/tech/zont-scenario-logic-11109.md personal/projects/zont-config-compiler.md

This commit is contained in:
Alexey Martemyanov
2026-09-17 19:52:35 +06:00
parent 8d5824d6fa
commit 00a2c54954
10 changed files with 962 additions and 2777 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ git push -u origin main
| `git_admin/nolvu-landing` | private |
| `git_admin/obsidian-vault` | **public** (единственный) |
| `git_admin/reflect-app` | private |
| `git_admin/HA-ZONT-Modbus` | private (создан 2026-09-14, см. `[[family/how-to/home-automation]]` §5-кватер-Е) · документация конвертеров конфига ZONT: [[family/how-to/zont-config-compiler]] |
| `git_admin/HA-ZONT-Modbus` | private (создан 2026-09-14, см. `[[family/how-to/home-automation]]` §5-кватер-Е) · документация конвертеров конфига ZONT: [[personal/projects/zont-config-compiler]] |
## Питфоллы
+45 -1
View File
@@ -9,6 +9,12 @@ updated: 2026-09-17b
> **Единственный справочник по домашней автоматизации.** Всё: топология, железо, Zigbee, Modbus, доступ, команды, сценарии, питфоллы.
> **Автоматизации** (25 шт., логика, дефекты) — [[family/how-to/ha-automations]].
> **Метрики хоста (RAM/темп, аддон)** — [[family/tech/t610-hw-metrics-addon]].
> 🔌 **«Почему реле выключилось» — разбор по логбуку:** [[family/tech/t610-relay-off-log-forensics]].
> 🔴 **Класс ложных выводов:** `off`/`unavailable` в логбуке по Zigbee-реле — это **артефакт
> перезапуска HA/отвала связи**, а не физическое выключение. Проверять `last_changed == last_updated`
> и серию одновременных изменений, а не одну цифру. Дока — по ссылке выше.
> 🔎 **«Почему сущность выключалась» — разбор по логбуку:** §3.8.1 (логбук по ВСЕМУ дому, а не по одной сущности).
> 📄 Правка этой доки не появится на телефоне после `git push` — нужен прогон sync-петли: [[family/how-to/vault-sync-pipeline]].
> 🧰 Локальные скрипты диагностики: `~/tmp-t610/diag.sh`, `diag2.sh`, `diag3.sh`, `diag4.sh`, `stats.sh` (снимаются на t610 через `scp` + `sh /tmp/…`).
> 🔎 **Диагностика автоматизаций — трассировки (WebSocket-only):** `~/tmp-t610/trace_dump.py <HH:MM:SS>` — печатает каждый шаг запуска с результатами условий. `item_id` = внутренний ID, не `entity_id`. Читать **до** перебора гипотез — см. [[family/how-to/ha-automations]] §4.4.
@@ -333,6 +339,44 @@ Z2M **остановлен** с 2026-09-15 (стик отдан ZHA), данны
> ⚠️ На t610 **BusyBox**, не GNU coreutils: нет `ping`/`arp`/`netstat`/`ifconfig` в PATH Mac-стороны (на Mac звать `/sbin/ping`, `/usr/sbin/arp`); **на t610** нет `dmesg -T`, `top -b -n1` есть, `fuser -v` НЕТ (`fuser -m` только), `ps -eo` работает, `cat /proc/interrupts` может быть пуст (не поломка). `lsusb -t` — есть. **`docker` на хосте НЕТ** — контейнеры поднимает `hassio-supervisor`, всё через `ha` CLI / Supervisor API.
### 3.8.1. 🔎 «Почему сущность выключилась/пропала» — разбор по логбуку (проверено 2026-09-17)
> **Повод:** Alex — «посмотри в логе, почему последний раз выключалось реле котла».
> Метод дал однозначный ответ: **HA Core перезапустился**, реле физически не выключалось.
**Порядок:**
```bash
B="https://mallexxx.duckdns.org"
K1=$(printf 'Au%s' 'thorization'); K2=$(printf 'Bea%s' 'rer')
H="$K1: $K2 $(cat /tmp/.hatok)"
# 1) ИСТОРИЯ сущности по узкому окну — БЕЗ `minimal_response`, иначе нет деталей
curl -s -H "$H" "$B/api/history/period/2026-09-17T00:00:00+00:00?end_time=2026-09-17T23:59:59%2B00:00&filter_entity_id=switch.boiler_controller_power" \
| jq -r '.[] | .[] | "\(.last_changed) \(.state)"'
# 2) 🔑 ЛОГБУК ПО ВСЕМУ ДОМУ (не по одной сущности!) — здесь видно `.message`
curl -s -H "$H" "$B/api/logbook/2026-09-17T02:30:00+00:00?end_time=2026-09-17T02:48:00%2B00:00" \
| jq -r '.[] | "\(.when) \(.entity_id // "-") \(.state) \(.message // "")"'
```
> 🔑 **Ключ метода — логбук по ВСЕМУ дому, а не по одной сущности.**
> Запись `message=started` (старт HA Core) **не принадлежит никакой сущности** —
> в истории отдельного реле её не видно. Именно она и дала ответ.
**Признаки «HA перезапустился», а не «реле выключилось»:**
| Признак | Что значит |
|---|---|
| `- null message=started` в окне | **старт HA Core** (или Supervisor/Core restart) |
| Много Zigbee-реле ушли в `off`/`unavailable` **одним окном** (секунды) | потеря связи, а не выключение по одному |
| Сущность **вернулась сама** через десятки секунд | реальное реле себя так не ведёт |
| `select.*_power_outage_memory` = **`LastState`** | Zigbee-реле **сохраняют** состояние при потере связи → физически не выключалось |
> ⚠️ **Границы ретенции recorder:** `history/period` за 10 дней → **пусто**. Держать
> **~3 суток** (на 2026-09-17 реально доступно ~2 суток). Сужать окно до часов/одного дня.
### 3.9. 💾 Память: 4 ГБ в BIOS → 3.31 ГБ usable (замер 2026-09-15) — ⚠️ РАСХОДИТСЯ С ЖИВЫМ
> 🔴🔴 **ОБНОВЛЕНО 2026-09-17 — ЦИФРЫ НЕ СХОДЯТСЯ. Живой хост отдаёт `MemTotal: 1 475 788 kB` = 1.44 ГБ.**
@@ -626,7 +670,7 @@ curl -s -H @/tmp/h1 "$B/api/config/automation/config/<ID>" > /tmp/aut_<ID>.json
### Правило адресов
> ⚙️ **Конфиг самого ZONT правится конвертерами `.txt ⇄ .yml`** (`/Users/admin/Automation/HA-ZONT-Modbus`): [[family/how-to/zont-config-compiler]] · справочник типов объектов — [[family/tech/zont-config-object-types]]
> ⚙️ **Конфиг самого ZONT правится конвертерами `.txt ⇄ .yml`** (`/Users/admin/Automation/HA-ZONT-Modbus`): [[personal/projects/zont-config-compiler]] — конвертеры, типы объектов, форма сценариев
- **Реальные 485:** `199` (датчики 1/2/3, AT2 = 10, relay 11/12/13/14, газ-котёл вкл = 20).
- **Виртуальные (bridge):** `100112``100` **гардеробная** (исторический датчик, был `office_temperature_sensor``kabinet_temperature`), `101/102/103` Гостиная/Детская/Спальня (рег. 100), `104:1` Zigbee-реле котла, **`105112` температурные Zigbee-датчики тёплых полов** (гостиная/серая/кабинет/кухня/ванная/прихожая/душевая/туалет).
File diff suppressed because it is too large Load Diff