diff --git a/family/how-to/home-automation.md b/family/how-to/home-automation.md index f561bd98..423c6eb6 100644 --- a/family/how-to/home-automation.md +++ b/family/how-to/home-automation.md @@ -2,7 +2,7 @@ title: "🏠 Домашняя автоматизация" aliases: [Умный дом, Home automation, HA, Zigbee, Modbus, вентиляция, t610, RCU stall, USB reset] tags: [family, how-to, smarthome] -updated: 2026-09-15 (✅ §9 — баг CO2 ЗАКРЫТ: убраны мусорные `correction_offset`, rebuild аддона, 848/599 ppm; сводки исправны. Дока Zigbee переписана в справочник: [[family/tech/zigbee-t610-z2m-i-zha]]) +updated: 2026-09-15 (✅ §9 — CO2 ЗАКРЫТ, `correction_offset` убраны, 848/599 ppm. §3.9 — память: 4 ГБ BIOS → 3.31 ГБ usable, «1.44 ГБ» была ошибкой чтения `MemFree`. Датчик «Темп теплый пол душевая» добавлен. Дока Zigbee переписана в справочник: [[family/tech/zigbee-t610-z2m-i-zha]]) --- # 🏠 Домашняя автоматизация @@ -307,6 +307,28 @@ Node.js v24.18.1 > ⚠️ На 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.9. 💾 Память: 4 ГБ в BIOS → 3.31 ГБ usable (проверено 2026-09-15) + +``` +MemTotal: 3 470 792 kB = 3.31 ГиБ ← столько видит ядро +MemAvailable: 2 575 164 kB = 2.46 ГиБ ← реально свободно +Cached: 2 414 348 kB = 2.30 ГиБ ← файловый кэш (НЕ занятая память!) +SwapTotal: 1 145 356 kB = 1.09 ГиБ +HA core: ~700 МБ (лимит 3.55 ГБ) +``` + +**Куда ушли 800 МБ от 4096:** по карте `BIOS-e820` — `ACPI NVS`, `ACPI data`, `reserved`-диапазоны + iGPU/чипсет. Норма для t610, потери памяти нет. + +``` +0x00000000 – 0x9f028fff usable (~2.55 ГБ) +0x100001000 – 0x13efffff usable (~1.0 ГБ) +между ними — ACPI NVS / ACPI data / reserved (~30 МБ + MMIO-окна) +``` + +> 🔴 **ПИТФОЛЛ: НЕ читать `MemFree` как «сколько памяти всего» или «сколько занято».** `MemFree` падает при заполнении файлового кэша (у нас Cached = 2.3 ГБ) и в I/O-шторме (наблюдали `MemFree 16 МБ`). Верные метрики — **`MemTotal`** (сколько всего) и **`MemAvailable`** (сколько реально доступно). +> 🔴 **Версия «система видит 1.44 ГБ вместо 4» — ОШИБОЧНА.** Такая цифра получалась из неверного чтения (`MemFree` в шторме / лимит контейнера), а не из реального объёма. Проверять: `head -3 /proc/meminfo`. +> 📌 Полный e820-маппинг: `dmesg | grep -iE "e820|BIOS-provided"`. + ### 3.4. 🔴 Носитель sda — HDD, и как НЕ измерить его нагрузку **Железо:** `WDC WD2500BEVT-0` · 250 ГБ · **5400 rpm** · `/sys/block/sda/queue/rotational = 1` · раздел данных `sda8` (243 ГБ, `hassos-data`, монтируется в `/mnt/data`, `/config`, `/share`, `/backup`, `/addons`). @@ -717,7 +739,8 @@ 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 | 40 | 🔴 **`correction_offset` в `config.template.tmpl` молча ломает CO2** — остаётся от старых попыток парсинга | Live-значения CO2 смотреть в `mosquitto_sub -t 'modbus/#'`, а не в сущностях HA. Если сырое float32 правдоподобно в ppm (напр. 846.9) → коррекция НЕ нужна, снять её. См. §9 | | 41 | 🔴 **`sensor.*_summary` показывает мусор вида `1692° 780ppm`, но датчик под ним исправен** | Смотреть **сырые** `sensor._temperature`/`_co2`, не шаблонную сводку. Сводка склеивает атрибуты своим шаблоном — её кривизна не означает поломку датчика. См. §9 | | 42 | ⚠️ **Живой конфиг сниффа — НЕ в `/addons/modbus-bridge/config.yaml`** | `config.yaml` = только опции аддона (device/baud). Регистры и коррекции — в `data/config.template.tmpl` → `run.sh` рендерит из него `/app/config.yml` при старте | -| 43 | 🔴 **На хосте t610 `perl` НЕТ** — `perl: command not found` | Правки текста делать `awk` (или писать файл локально и `scp`). `sed`/`perl` недоступны | +| 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 | ---