[2026-09-17] eagle: family/how-to/home-automation.md family/tech/t610-hang-investigation.md

This commit is contained in:
Alexey Martemyanov
2026-09-17 09:56:52 +06:00
parent c829e38079
commit 35a0a518c0
2 changed files with 111 additions and 18 deletions
+11 -9
View File
@@ -2,7 +2,7 @@
title: "🏠 Домашняя автоматизация"
aliases: [Умный дом, Home automation, HA, Zigbee, Modbus, вентиляция, t610, RCU stall, USB reset]
tags: [family, how-to, smarthome]
updated: 2026-09-17
updated: 2026-09-17b
---
# 🏠 Домашняя автоматизация
@@ -336,12 +336,16 @@ Z2M **остановлен** с 2026-09-15 (стик отдан ZHA), данны
> 🔴🔴 **ОБНОВЛЕНО 2026-09-17 — ЦИФРЫ НЕ СХОДЯТСЯ. Живой хост отдаёт `MemTotal: 1 475 788 kB` = 1.44 ГБ.**
> Это **НЕ** 3.31 ГБ из таблицы ниже и **не** объясняется округлением.
> **`e820` 2026-09-17 обрывается на `0x5e7fffff` ≈ 1.48 ГБ — выше памяти физически нет.**
> ⛔ Версия «iGPU/UMA вырезал ~607 МБ из 2 ГБ» **снята фактом** — вырезать нечего.
> **`e820` 2026-09-17 обрывается на `0x5e7fffff` ≈ 1.48 ГБ — выше этой границы памяти нет.**
> 🔴 **Физически установлено 4 ГБ, оба слота ЗАНЯТЫ** (`DMI: Memory slots populated: 2/2`),
> а поднимается только 1.44 ГБ. **Потеряно ~2.5 ГБ — ГЛАВНАЯ НЕРЕШЁННАЯ ПРОБЛЕМА.**
> ⛔ Версия «iGPU/UMA вырезал ~607 МБ из 2 ГБ» **снята** — масштаб не тот (iGPU берёт
> фиксированный фреймбуфер в сотни МБ, а не 2.5 ГБ).
> Разбор, версии и способ проверки (BIOS F10, планки по одной, контакты, memtest86+ с USB):
> **[[family/tech/t610-hang-investigation]] §3.1, §3.1.1, §3.1.2, §5.1.**
> **[[family/tech/t610-hang-investigation]] §3.1.0, §3.1.1, §3.1.2, §5.1.**
> ⚠️ **ПЕРЕМЕРЯТЬ `head -3 /proc/meminfo` + `dmesg | grep e820` при КАЖДОМ разборе инцидента**,
> не доверять записанному. `dmidecode` на t610 **НЕТ** — число планок только из BIOS setup.
> не доверять записанному. `dmidecode` на t610 **НЕТ** — заполненность слотов даёт
> `dmesg | grep "Memory slots"`, объём каждой планки — только BIOS setup.
```
MemTotal: 3 470 792 kB = 3.31 ГиБ ← столько видит ядро (замер 2026-09-15)
@@ -361,9 +365,7 @@ HA core: ~700 МБ (лимит 3.55 ГБ)
```
> 🔴 **ПИТФОЛЛ: НЕ читать `MemFree` как «сколько памяти всего» или «сколько занято».** `MemFree` падает при заполнении файлового кэша (Cached 2.3 ГБ) и в I/O-шторме (наблюдали `MemFree 16 МБ`). Верные метрики — **`MemTotal`** (сколько всего) и **`MemAvailable`** (сколько реально доступно).
> 🔴 **Версия «система видит 1.44 ГБ вместо 4» — ОШИБОЧНА.** Такая цифра получалась из неверного чтения (`MemFree` в шторме / лимит контейнера), а не из реального объёма. Проверять: `head -3 /proc/meminfo`.
> 🔴 **НО (2026-09-17): живой `MemTotal` = 1.44 ГБ — это УЖЕ другой разговор, не округление.**
> `MemFree` остаётся верной метрикой «занято», но `MemTotal` надо перемерять — см. врезку выше.
> 🔴🔴 **ОТМЕНЕНО 2026-09-17.** Ранее здесь было записано: «версия система видит 1.44 ГБ вместо 4 — ОШИБОЧНА». **Это опровергнуто живым замером:** `MemTotal` = **1.44 ГБ**, при физически установленных 4 ГБ и **двух занятых слотах** (`DMI: Memory slots populated: 2/2`). Разница «3.31 → 1.44» **реальна** и не объясняется округлением. См. врезку выше и [[family/tech/t610-hang-investigation]] §3.1.0.
> 📌 Полный e820-маппинг: `dmesg | grep -iE "e820|BIOS-provided"`.
### 3.4. 🔴 Носитель sda — HDD, и как НЕ измерить его нагрузку
@@ -787,7 +789,7 @@ Hz:PWM 0:0 1:0 2:0 3:0 4:48 5:55 6:63 7:70 8:78 9:85 10:92 11:97 12:102 13:107 1
| 41 | 🔴 **`sensor.*_summary` показывает мусор вида `1692° 780ppm`, но датчик под ним исправен** | Смотреть **сырые** `sensor.<room>_temperature`/`_co2`, не шаблонную сводку. Сводка склеивает атрибуты своим шаблоном — её кривизна не означает поломку датчика. См. §9 |
| 42 | ⚠️ **Живой конфиг сниффа — НЕ в `/addons/modbus-bridge/config.yaml`** | `config.yaml` = только опции аддона (device/baud). Регистры и коррекции — в `data/config.template.tmpl``run.sh` рендерит из него `/app/config.yml` при старте |
| 44 | 🔴 **`MemFree` читают как «сколько памяти всего/занято»** | Верные метрики: **`MemTotal`** (всего) и **`MemAvailable`** (доступно). `MemFree` падает из-за файлового кэша (Cached 2.3 ГБ) и в I/O-шторме. См. §3.9 |
| 45 | 🔴 **«BIOS 4096 МБ → HA видит 1.44 ГБ»** — ложная тревога | Реально usable **3.31 ГБ** (минус ~800 МБ ACPI NVS/data + reserved + iGPU). Проверять `head -3 /proc/meminfo` + `dmesg \| grep e820`. См. §3.9 |
| 45 | 🔴🔴 **«BIOS 4096 МБ → HA видит 1.44 ГБ» — БЫЛА названа «ложной тревогой», ОТМЕНЕНО 2026-09-17** | ⛔ Прежний вывод («реально usable 3.31 ГБ») **опровергнут живым замером**: ядро отдаёт `MemTotal: 1 475 788 kB` = **1.44 ГБ**, e820 обрывается на `0x5e7fffff`. При этом **физически стоит 4 ГБ, оба слота заняты** (`DMI: Memory slots populated: 2/2`). **Потеряно ~2.5 ГБ — не объяснено.** Разбор: [[family/tech/t610-hang-investigation]] §3.1.0 |
| 46 | 🔴 **Создал сущность → «в UI её нет»** | Проверять **4** вещи: (1) `/api/states/<e>` отвечает, (2) `area_id``null` в реестре, (3) диагностика устройства скрыта, (4) дашборды не ссылаются на мёртвые сущности. Разбор — [[family/tech/kitchen-hood-fan-template]] §6.1 |
| 47 | 🔴 **Template-сущность из YAML не получает `area_id`** | У неё нет `device_id` → зону назначать вручную WS `config/entity_registry/update` с `area_id`. Иначе «невидима» на дашбордах зон |
| 48 | 🔴 **`hidden_by: user` НЕ убирает сущность из storage-дашбордов и `area_entities()`** | Это два независимых механизма. Ссылки в `/config/.storage/lovelace.*` вписаны руками — править их отдельно (`jq`). Реально «выключить» — только `disabled_by` |