From e844e60e42fce09a650d537d2c8a6e01e6fb70e7 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Mon, 14 Sep 2026 23:22:41 +0600 Subject: [PATCH] [2026-09-14] eagle: family/documents/home-automation-wishlist.md family/plans/t610-home-automation.md --- family/documents/home-automation-wishlist.md | 129 ++++++++++++++++--- family/plans/t610-home-automation.md | 27 +++- 2 files changed, 139 insertions(+), 17 deletions(-) diff --git a/family/documents/home-automation-wishlist.md b/family/documents/home-automation-wishlist.md index 574137d9..9cf76182 100644 --- a/family/documents/home-automation-wishlist.md +++ b/family/documents/home-automation-wishlist.md @@ -1,22 +1,121 @@ --- -title: "🏡 Умный дом — хотелки" +title: "🏡 Умный дом — хотелки и роадмап автоматизаций" aliases: [Умный дом, Умный дом хотелки, Home automation, Smart home, home-automation-wishlist] tags: [family, lists, smart-home, tech] -updated: 2026-05-16 -related: "[[family/how-to/kraken-access]]" +updated: 2026-09-14 +related: + - "[[family/plans/t610-home-automation]]" + - "[[family/how-to/home-automation]]" + - "[[family/how-to/nodered-ventilation]]" + - "[[family/documents/home-wishlist]]" +--- + +# 🏡 Умный дом — хотелки и роадмап автоматизаций + +> **Это документ идей и приоритетов, НЕ план работ.** Технические каноны, карта Modbus, состояние хоста — в [[family/plans/t610-home-automation]] и [[family/how-to/home-automation]]. Здесь — **что можно сделать дальше и в каком порядке**. +> Составлен 2026-09-14 по факту разбора доков. **Ничего не реализовано** — только предложения, ждут выбора Alex. + +--- + +## 1. Что УЖЕ есть (отправная точка) + +| Контур | Состав | Состояние | +|---|---|---| +| **Вентиляция** | AT2 ×2 (slave 10) + 32 заслонки (relay 11/12) + реле вытяжек (relay 13/14 в ZONT) | ✅ железо работает; ❌ исполнительный контур AT2 **отключён** (slave 10 закомментирован) | +| **Отопление** | ZONT: радиаторы 2 эт. (relay 13), тёплый пол (relay 14), 8 ZONT-реле (конвекторы, радиаторы, насос ТП 7) | ✅ работает целиком в ZONT | +| **Датчики воздуха** | 3 × 485-датчика (гостиная=1, детская=2, спальня=3) → виртуальные slave 101/102/103 в ZONT | ✅ все три публикуются (после фикса `3748feb`) | +| **Zigbee (z2m)** | **15 устройств**: свет/лестница/диммер, розетки (насос обратки, греющий кабель, питание котлов), радар присутствия (душевая), датчик протечки (котельная), t°/влажность ×2 | ✅ координатор EmberZNet 7.4.5 | +| **Камера** | Logitech `046d:0825` на газовом счётчике BK-G4T → go2rtc → RTSP H.264 + поворот 90° | ✅ WebRTC работает | +| **Автоматизации HA** | **16 шт.** (15 `on` / 1 `off`) | ⚠️ по сути только 2 содержательные: ночной свет душевой, кнопка стола | + +**🔑 Ключевая асимметрия:** сенсорика и исполнительные механизмы есть, **автоматики на них почти нет**. Основная работа — не покупать железо, а включать логику на существующем. + +--- + +## 2. Предложения по приоритету + +> Порядок — рекомендация агента (отдача / стоимость). Финальный порядок — за Alex. + +### 1. ⭐ Вентиляция по CO₂ — доехать до конца +Логика **уже написана** в Node-RED ([[family/how-to/nodered-ventilation]]): Demand Aggregator → Intake Allocation → Discretization → Damper Outputs → Exhaust Arbitration → Fans → Kitchen Hood. +**Блокер:** `fan.fan_at2_1/2` и `switch.fan_3_*` (slave 10) — `unavailable`, блок закомментирован в `configuration.yaml`. +**Что нужно:** раскомментировать slave 10 и убедиться, что AT2 отвечает (в §5 доки плана зафиксировано: прямой `nc` на slave 10 даёт `OK`, значение 100 → железо живо). +**⚠️ Конфликт:** задача по slave 10 **снята Alex'ом 2026-09-14**. Если решаем не трогать — вентиляция остаётся ручной, и весь CO₂-алгоритм простаивает. **Требует решения.** + +### 2. ⭐ Протечки — полный контур (не только датчик) +Сейчас есть **только датчик** `boiler_water_leak` (котельная). Нет крана, нет сирены, нет автоматизации. +**Добавить:** Zigbee-кран на ввод воды + сирена + автоматизация «протечка → перекрыть + сирена + пуш в TG». +**Почему первым:** для дома с котельной и тёплым полом — самая дешёвая страховка из возможных. Датчик уже стоит, нужен только исполнитель. + +### 3. Учёт воды/газа по камере → графики +Камера **уже смотрит ровно на счётчик BK-G4T** — это была её исходная задача. +**Логика:** OCR цифр по расписанию (2×/сутки) → `sensor` в HA → история расхода + алерт «аномальный расход / капает ночью». +**Железо:** ноль вложений — камера и t610 на месте. Опционально — импульсный датчик на счётчик. + +### 4. Дым/газ + сирена — безопасность +Сейчас **нет ни одного датчика дыма** в HA и, судя по докам, нет CO-датчика у котла. +**Добавить:** Zigbee дымовые (Honeywell/Heiman) по комнатам + CO + газовый клапан + сирена. +**Почему:** газовый котёл + тёплый пол. Это обязательный минимум, а не «интересная автоматизация». + +### 5. Погодозависимое отопление +Координаты дома в HA есть (`55.257328, 83.048234`), погодная интеграция `met` (`track_home: true`) — тоже. +**Логика:** прогноз на 12 ч + фактические датчики → понижать уставки на ночь/отсутствие, превентивно разогревать перед похолоданием. +**Отдача:** экономия газа. Сейчас отопление живёт целиком в ZONT по его уставкам, HA в контур не вмешивается. + +### 6. Сценарий «Уезжаем / приехали» +Всё уже есть в HA (свет, отопление, вентиляция, котлы, насос обратки), но разрознено. +**Логика:** одна кнопка → понизить отопление, выключить вентиляцию AT2, выключить насос обратки, свет по датчикам. Плюс зеркальный «приехали». +**Железо:** покупать нечего. + +### 7. Энергетика — что реально жрёт +ZONT-реле котлов уже дают статусы; 2 Zigbee-розетки с мониторингом есть (`recirculation_pump`, `heating_cable_plug`). +**Добавить:** токовые клещи (Zigbee) на ввод/котёл → видно, где деньги. + +### 8. Дашборд + алерты в Telegram +Без этого автоматика «невидима». Один экран + пуш на всё критичное. Частично уже в вишлисте UI (см. §4). + +--- + +## 3. Дешёвые устройства, которые стоит добавить первыми + +| # | Устройство | Зачем | Почему сейчас | +|---|---|---|---| +| 1 | **Zigbee дымовой датчик × N** | нет ни одного, а газовый котёл есть | безопасность | +| 2 | **Zigbee кран + сирена** | под протечки | датчик уже стоит, не хватает исполнителя | +| 3 | **Zigbee-кнопки** | на любую сцену сейчас нужен телефон | 15 Zigbee-устройств и **ни одной** произвольной кнопки | +| 4 | **Датчики CO₂ ещё в 2 комнаты** | алгоритм Node-RED рассчитан на `bedroom/kids/living` | физически 3 × 485 стоят по другому разбиению | +| 5 | **Реле на хозблок/улицу** | свет участка, полив | — | + +--- + +## 4. UI / софт (из прежней версии доки, сохранено) + +- [ ] Kiosk mode +- [ ] Timebar card +- [ ] Card mode +- [ ] Mushroom board +- [ ] Bubble card +- [ ] Frosted glass theme +- [ ] C.A.F.E. scenarios editor +- [ ] docker:Homer (home page organizer) +- [x] Portainer container manager +- [x] Watchtower (container updater) +- [x] duplicati (backup containers) + +--- + +## 5. Порядок, рекомендованный агентом + +**1 → 2 → 4 → 5 → 3 → 6** + +Обоснование: сначала **запустить уже написанное** (вентиляция — п.1), затем **закрыть риски** (протечки, дым/газ — п.2, 4), затем **экономика** (погодозависимость — п.5), затем «приятное» (камера-OCR, сценарии — п.3, 6). + --- - - [ ] Kiosk mode - - [ ] Timebar card - - [ ] Card mode - - [ ] Mushroom board - - [ ] Bubble card - - [ ] Frosted glass theme - - [ ] C.A.F.E. scenarios editor - - [ ] docker:Homer (home page organizer) - - [x] Portainer container manager - - [x] Watchtower (container updater) - - [x] duplicati (backup containers) ## Связанные заметки -- [[family/how-to/kraken-access]] +- [[family/plans/t610-home-automation]] — **единственный рабочий документ** по техчасти: хост, доступ, аддоны, Modbus, Zigbee, питфоллы +- [[family/how-to/home-automation]] — карта железза: AT2 (параметры/PWM), Slave ID, регистры заслонок/реле, ZONT relays +- [[family/how-to/nodered-ventilation]] — алгоритм вентиляции по CO₂ (Node-RED) +- [[family/documents/home-wishlist]] — хотелки по дому и участку (не автоматизация) +- [[family/index]] — топик-карта family/ diff --git a/family/plans/t610-home-automation.md b/family/plans/t610-home-automation.md index 6c6fef71..60d77ddc 100644 --- a/family/plans/t610-home-automation.md +++ b/family/plans/t610-home-automation.md @@ -1,7 +1,7 @@ --- updated: >- - 2026-09-14 (ночь-15: добавлен §2 «Внешний доступ к t610» — SSH снаружи нет, - jump через TrueNAS запрещён) + 2026-09-14 (ночь-16: §2 — железо хоста + канон чтения температуры CPU + `k10temp`; питфоллы: пустой `thermal_zone`, нет бинарника `sensors`) namespace: family status: works --- @@ -71,6 +71,29 @@ status: works | IP | **192.168.2.176** (DHCP-имя `homeassistant`, MAC `9c:8e:99:ef:3f:c5`). **✅ Static-привязка ЗАКРЕПЛЕНА 2026-09-14 (вечер-8) на роутере `192.168.2.2`** — см. §5-кватер-И | | Web UI | **`http://192.168.2.176`** — порт **80**. Порт 8123 закрыт | | SSH | `ssh -i ~/.ssh/id_rsa root@192.168.2.176` — только через аддон `core_ssh` (порт 22) | +| Процессор | **AMD G-T56N** (2×1.65 ГГц, TDP 18 Вт). Idle-частота ~823 МГц | +| Температура CPU | **57.5–58.0 °C** при холостой нагрузке (замер 2026-09-14). Порог `max` = **70 °C**, `crit` = **100 °C** | + +### 🌡 Чтение температуры CPU на t610 (канон, проверено 2026-09-14) + +Датчик — **`k10temp`** (AMD). **Читать ТОЛЬКО так:** + +```bash +ssh root@192.168.2.176 \ + 'awk "{printf \"%.1f C\n\", \$1/1000}" /sys/class/hwmon/hwmon0/temp1_input' +``` + +> 🔴 **ПИТФОЛЛ 1: `/sys/class/thermal/thermal_zone*` на этом хосте НЕ СУЩЕСТВУЕТ** (вывод пустой, exit 0 — выглядит как «датчика нет»). Температура живёт **только** в `hwmon0` (= `k10temp`). Не делать вывод «датчик недоступен» по пустому `thermal_zone`. +> 🔴 **ПИТФОЛЛ 2: бинарника `sensors` (lm-sensors) в SSH-аддоне НЕТ** — `sensors` → `command not found`. Читать напрямую из sysfs. +> ⚠️ **Значения в миллиградусах** — делить на 1000 (`57500` = 57.5 °C). +> ⚠️ `/sys/class/thermal/*` в HA OS **не персистентен** — номер `hwmonN` может измениться после ребута; надёжнее искать по `name`: +> ```bash +> for d in /sys/class/hwmon/hwmon*; do +> [ "$(cat $d/name)" = "k10temp" ] && awk '{printf "%.1f C\n", $1/1000}' $d/temp1_input +> done +> ``` + +**Ориентиры (G-T56N, пассивное охлаждение):** 55–65 °C — норма; **70 °C** (`temp1_max`) — повод проверить обдув/пыль; 100 °C — throttling. Под нагрузкой (ffmpeg-транскод камеры, `ha apps rebuild`, опрос шины) температура растёт — замер 58 °C сделан при `load 0.2` (холостой), это **не потолок**. **Про SSH:** в HA OS SSH выключен по умолчанию. Включается аддоном `core_ssh` (Terminal & SSH): положить публичный ключ в `authorized_keys`. Пароля root не существует, вход только по ключу.