[2026-09-14] eagle: family/documents/home-automation-wishlist.md family/plans/t610-home-automation.md

This commit is contained in:
Alexey Martemyanov
2026-09-14 23:22:41 +06:00
parent 9f84d8cdbd
commit e844e60e42
2 changed files with 139 additions and 17 deletions
+103 -4
View File
@@ -1,10 +1,95 @@
--- ---
title: "🏡 Умный дом — хотелки" title: "🏡 Умный дом — хотелки и роадмап автоматизаций"
aliases: [Умный дом, Умный дом хотелки, Home automation, Smart home, home-automation-wishlist] aliases: [Умный дом, Умный дом хотелки, Home automation, Smart home, home-automation-wishlist]
tags: [family, lists, smart-home, tech] tags: [family, lists, smart-home, tech]
updated: 2026-05-16 updated: 2026-09-14
related: "[[family/how-to/kraken-access]]" 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 - [ ] Kiosk mode
- [ ] Timebar card - [ ] Timebar card
- [ ] Card mode - [ ] Card mode
@@ -17,6 +102,20 @@ related: "[[family/how-to/kraken-access]]"
- [x] Watchtower (container updater) - [x] Watchtower (container updater)
- [x] duplicati (backup containers) - [x] duplicati (backup containers)
---
## 5. Порядок, рекомендованный агентом
**1 → 2 → 4 → 5 → 3 → 6**
Обоснование: сначала **запустить уже написанное** (вентиляция — п.1), затем **закрыть риски** (протечки, дым/газ — п.2, 4), затем **экономика** (погодозависимость — п.5), затем «приятное» (камера-OCR, сценарии — п.3, 6).
---
## Связанные заметки ## Связанные заметки
- [[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/
+25 -2
View File
@@ -1,7 +1,7 @@
--- ---
updated: >- updated: >-
2026-09-14 (ночь-15: добавлен §2 «Внешний доступ к t610» — SSH снаружи нет, 2026-09-14 (ночь-16: §2 — железо хоста + канон чтения температуры CPU
jump через TrueNAS запрещён) `k10temp`; питфоллы: пустой `thermal_zone`, нет бинарника `sensors`)
namespace: family namespace: family
status: works 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-кватер-И | | 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 закрыт | | Web UI | **`http://192.168.2.176`** — порт **80**. Порт 8123 закрыт |
| SSH | `ssh -i ~/.ssh/id_rsa root@192.168.2.176` — только через аддон `core_ssh` (порт 22) | | 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.558.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 не существует, вход только по ключу. **Про SSH:** в HA OS SSH выключен по умолчанию. Включается аддоном `core_ssh` (Terminal & SSH): положить публичный ключ в `authorized_keys`. Пароля root не существует, вход только по ключу.