[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:
@@ -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:** `1–99` (датчики 1/2/3, AT2 = 10, relay 11/12/13/14, газ-котёл вкл = 20).
|
||||
- **Виртуальные (bridge):** `100–112` — `100` **гардеробная** (исторический датчик, был `office_temperature_sensor` → `kabinet_temperature`), `101/102/103` Гостиная/Детская/Спальня (рег. 100), `104:1` Zigbee-реле котла, **`105–112` температурные Zigbee-датчики тёплых полов** (гостиная/серая/кабинет/кухня/ванная/прихожая/душевая/туалет).
|
||||
|
||||
Reference in New Issue
Block a user