[2026-09-15] eagle: family/documents/home-automation-wishlist.md family/how-to/home-automation.md family/tech/heating-cable-water-inlet.md

This commit is contained in:
Alexey Martemyanov
2026-09-15 23:47:07 +06:00
parent 5252cc00fe
commit 508652fae0
3 changed files with 172 additions and 4 deletions
+3 -2
View File
@@ -2,7 +2,7 @@
title: "🏡 Умный дом — хотелки и роадмап автоматизаций"
aliases: [Умный дом, Умный дом хотелки, Home automation, Smart home, home-automation-wishlist]
tags: [family, lists, smart-home, tech]
updated: 2026-09-15 (вечер-3: найдена первопричина RCU stall — ffmpeg/go2rtc; watchdog включён)
updated: 2026-09-16 (H2000_PRO: единицы °F→°C; уточнение по `heating_cable_plug`; новый расчёт греющего кабеля)
related:
- "[[family/how-to/home-automation]]"
- "[[family/how-to/ha-automations]]"
@@ -70,7 +70,7 @@ related:
### 7. Энергетика — что реально жрёт
ZONT-реле котлов уже дают статусы; 2 Zigbee-розетки с мониторингом есть (`recirculation_pump`, `heating_cable_plug`).
**Добавить:** токовые клещи (Zigbee) на ввод/котёл → видно, где деньги.
> ⚠️ **Проверено 2026-09-15:** `heating_cable_plug` отдаёт `0 Вт / 0 кВт·ч` — либо нагрузка реально не подключена, либо измерения не идут. `sauna` в `state.json` = `null`. Прежде чем считать по ним энергию — убедиться, что мониторинг живой. Инвентарь — [[family/how-to/home-automation]].
> **УТОЧНЕНО 2026-09-16:** `0 Вт / 0 кВт·ч` — **норма, а не поломка**: `switch.heating_cable_plug` = `off`, поэтому нагрузка не потребляет, при этом `voltage = 223 В` (розетка жива). `sauna` в `state.json` = `null`. Полный разбор железа и **расчёт порогов включения греющего кабеля** — [[family/tech/heating-cable-water-inlet]].
### 8. Дашборд + алерты в Telegram
Без этого автоматика «невидима». Один экран + пуш на всё критичное. Частично уже в вишлисте UI (см. §4).
@@ -119,5 +119,6 @@ ZONT-реле котлов уже дают статусы; 2 Zigbee-розетк
- [[family/how-to/home-automation]] — карта железза: AT2 (параметры/PWM), Slave ID, регистры заслонок/реле, ZONT relays
- [[family/how-to/ha-automations]] — логика HA-автоматизаций, карта device_id/entity_id, разбор дефекта «ночной свет душевой»
- [[family/how-to/home-automation]] — алгоритм вентиляции по CO₂ (Node-RED)
- [[family/tech/heating-cable-water-inlet]] — расчёт порога включения греющего кабеля ввода воды
- [[family/documents/home-wishlist]] — хотелки по дому и участку (не автоматизация)
- [[family/index]] — топик-карта family/
+13 -2
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-15 (✅ поздний вечер — Zigbee: +7 новых TS0201 тёплых полов, единый вид ID у 23 устройств, 12 алертов батарей, виртуальные Modbus slave 105112 в bridge; исправлен slave 100, отдававший `0`. §9 — CO2 ЗАКРЫТ. §3.9 — память: 4 ГБ BIOS → 3.31 ГБ usable. Дока Zigbee — [[family/tech/zigbee-t610-z2m-i-zha]])
updated: 2026-09-16 (H2000_PRO: единицы °F→°C через `options_domain: sensor.private`; питфолл доступа к API с Mac — только через SSH. §2. Греющий кабель ввода воды — [[family/tech/heating-cable-water-inlet]])
---
# 🏠 Домашняя автоматизация
@@ -120,12 +120,23 @@ ssh -i ~/.ssh/id_rsa root@192.168.2.176 '<команда>' # аддон core_
| Канал | Как | Ограничение |
|---|---|---|
| HA API | `https://mallexxx.duckdns.org` + `/tmp/.hatok` | ✅ без апрувов — основной |
| HA API изнутри t610 | `ssh root@192.168.2.176``curl http://172.30.32.1/api/` | ✅ без апрувов, порт **80** (без `:8123`) |
| SSH | `ssh -i ~/.ssh/id_rsa root@192.168.2.176` | только ключ; из локалки Mac ✅ |
| Веб | `mallexxx.duckdns.org` (Caddy) → `.176:80` | — |
| Извне SSH | ❌ нет проброса 22 | — |
| С NAS | ✅ юзер `nas`, `-F /mnt/RED_2TB/backup/t610/.ssh/config` (алиас `t610-backup`) | у `truenas_admin` ключа НЕТ — норма |
| `ssh -J` | ❌ `AllowTcpForwarding no` на TrueNAS | — |
> 🔴 **ПИТФОЛЛ: `http://192.168.2.176:8123` и `http://172.30.32.1` с Mac НЕ РАБОТАЮТ** (`curl` → `000`, соединение не устанавливается). Формы из §«Доступ» применимы только: `.176:8123` — из локалки по HTTPS через Caddy; `172.30.32.1` — **только изнутри t610** (это IP хоста HA Core в docker-сети аддонов).
> Если нужен доступ к API с Mac — забирать через SSH-однострочник:
> ```bash
> TOK=$(cat /tmp/.hatok)
> ssh root@192.168.2.176 "curl -s -H 'Authorization: Bearer $TOK' http://172.30.32.1/api/states" > /tmp/ha_states.json
> jq 'length' /tmp/ha_states.json
> ```
> ⚠️ Токен `/tmp/.hatok` лежит на **Mac**, не на t610 — передавать его в SSH-команду из Mac.
> 📄 Готовый скрипт: `~/tmp-t610/get_states.sh`.
**Границы прав:** контейнер HA Core из аддона `core_ssh` НЕ инспектируется (`docker` нет, PID-ns свой, Supervisor exec → 403, Core REST → 401, `/sys` ro). Но `/sys/class/hwmon/hwmon0` (`k10temp`) виден. Хостовый SSH (22222) выключен, по сети не включается — только флешкой.
---
@@ -441,7 +452,7 @@ ssh -i ~/.ssh/id_rsa root@192.168.2.176 \
| `light_stairs` | TS0002 | подсветка лестницы | Лестница |
| `kitchen_hood` | TS0003 | вытяжка кухни (3 скорости) | Кухня |
| `sauna` | TS011F | реле сауны | — |
| `heating_cable_plug` | TS011F | розетка греющего кабеля | — |
| `heating_cable_plug` | TS011F | розетка греющего кабеля ввода воды | Котельная |
| `boiler_controller_power` | TS011F | питание контроллера котла | Котельная |
| `recirculation_pump` | TS011F | розетка циркуляции ГВС | — |
| `boiler_water_leak` | TS0207 | датчик протечки котельной | Котельная |
+156
View File
@@ -0,0 +1,156 @@
---
title: "Греющий кабель ввода воды — порог включения (расчёт)"
aliases: [Греющий кабель, heating_cable_plug, ввод воды, промерзание, обогрев водопровода]
type: tech
namespace: family
status: 🟡 Расчёт выполнен, автоматизация НЕ создана (ждёт решения Alex по типу кабеля)
created: '2026-09-16'
updated: '2026-09-16'
tags:
- family
- smarthome
- t610
- heating
- zimnik
related:
- '[[family/how-to/home-automation]]'
- '[[family/how-to/ha-automations]]'
- '[[family/documents/home-automation-wishlist]]'
---
# Греющий кабель ввода воды — порог включения
> **Задача:** определить, при какой уличной температуре включать греющий кабель, обогревающий ввод воды в дом.
> **Конструкция:** труба (ПНД) уходит сквозь бетонную фундамент-подушку **30 см** и далее в грунт (**суглинок**) на глубину **~4 м**.
> **Регион:** Новосибирск, ДНП «Лаки Парк» (55.257328, 83.048234).
---
## 1. ИТОГ — пороги автоматизации
| Параметр | Значение | Обоснование |
|---|---|---|
| **ВКЛ** | улица ≤ **8 °C**, выдержка **≥ 30 мин** | при −8 °C труба в бетоне достигает 0 °C (см. §4) |
| **ВЫКЛ** | улица ≥ **3 °C**, выдержка **≥ 30 мин** | гистерезис 5 °C — бетон оттаивает медленно |
| **Безусловный ВКЛ** | улица ≤ **−20 °C** | игнорирует выдержку и гистерезис |
| **Алерт обрыва** | включили + 5 мин → `power < 5 W` | кабель/нагрузка не подключены |
**Датчик-триггер:** `sensor.h2000_pro_temperatura_ulitsa` (ZONT H2000_PRO, ZONT-шина).
**Исполнитель:** `switch.heating_cable_plug` (розетка NEO NAS-WR01B, Zigbee `a4c138eb6fbe9d19`, зона `kotelnaia`).
---
## 2. Климатология (СП 131.13330.2020, табл. 5.1 — Новосибирск)
| Месяц | t, °C | | Месяц | t, °C |
|---|---|---|---|---|
| янв | 17,6 | | июл | +19,4 |
| фев | 15,4 | | авг | +16,4 |
| мар | 7,7 | | сен | +9,9 |
| апр | +2,3 | | окт | +1,5 |
| май | +11,0 | | ноя | 7,9 |
| июн | +17,3 | | дек | 15,3 |
- **Сумма среднемесячных отрицательных** `Mt = 17,6 + 15,4 + 7,7 + 7,9 + 15,3 = 63,9`
- **Среднегодовая t воздуха** = +1,2 °C
- Минимальная температура (СП 20.13330, карта 4) = 45 °C
---
## 3. Глубина промерзания и что творится на 4 м
**Формула СП 22.13330:** `d_fn = d0 · √Mt`, где `d0` зависит от грунта.
| Грунт | `d0` | `d_fn` |
|---|---|---|
| **Суглинок / глина** | 0,23 | **1,84 м** |
| Супесь, песок мелкий/пылеватый | 0,28 | 2,24 м |
| Песок гравелистый/крупный | 0,30 | 2,40 м |
| Крупнообломочный | 0,34 | 2,72 м |
**Наш случай — суглинок:** `d_fn = 0,23 × √63,9 = 1,84 м` (открытая поверхность, без снега).
**Под снегом 30–40 см** реальное промерзание меньше: **1,31,6 м**.
### Грунт на глубине трубы (4 м)
Температуропроводность суглинка: `a = λ / C = 1,4 / 2,5e6 ≈ 5,6e-7 м²/с`.
Глубина затухания волны в `e` раз: `z_зат = √(a·T/π)`
| Волна | Период | `z_зат` |
|---|---|---|
| Суточная | 86 400 с | **0,12 м** |
| Годовая | 365 сут | **2,37 м** |
**Амплитуда годового хода на 4 м:** `19,0 × exp(4,0/2,37) = ±3,5 °C` от среднегодовой.
> ✅ **ГЛАВНЫЙ ВЫВОД: труба на 4 м НЕ ЗАМЕРЗАЕТ ФИЗИЧЕСКИ.**
> Там круглый год **+2,5…+3,5 °C** — грунт практически изотермичен.
> Зона промерзания (до 1,84 м) заканчивается задолго до трубы.
---
## 4. Критичная точка — бетонная подушка 30 см
Единственное место, где есть риск. Причина: **бетон — теплопроводный мост**.
- `λ_бетона ≈ 1,7` Вт/(м·К) против `λ_суглинка ≈ 1,4` — на 21 % выше;
- сверху нет снеговой шубы, как над грунтом;
- на бетон приходится **72,6 %** перепада температуры (расчёт через термические сопротивления: `R_возд = 1/15 = 0,067`, `R_бет = 0,30/1,7 = 0,177`).
| Улица | Труба в бетоне | |
|---|---|---|
| 6 °C | +0,5 °C | |
| **8 °C** | **0,1 °C** | ⬅ **ПОРОГ** |
| 10 °C | 0,6 °C | |
| 12 °C | 1,1 °C | |
| 15 °C | 1,9 °C | |
| 20 °C | 3,1 °C | |
| 25 °C | 4,4 °C | |
| 30 °C | 5,6 °C | |
---
## 5. Почему выдержка 30 мин, а не мгновенное включение
Бетон — тепловая масса. Промерзает за часы/сутки, а не за минуту.
- Кратковременные −10 °C ночью в сентябре **не опасны**.
- После оттепели бетон оттаивает медленно → выключение с той же выдержкой.
- Инерция работает в обе стороны.
---
## 6. Состояние железа (проверено 2026-09-16)
| Сущность | Значение | Комментарий |
|---|---|---|
| `switch.heating_cable_plug` | `off` | розетка живёт, выключена |
| `sensor.heating_cable_plug_voltage` | `223 V` | напряжение в розетке есть |
| `sensor.heating_cable_plug_power` | `0.0 W` | **ожидаемо при `off`** |
| `sensor.heating_cable_plug_energy` | `0.0 kWh` | |
| `sensor.h2000_pro_temperatura_ulitsa` | `12.8 °C` | после фикса °F→°C 2026-09-16 |
> ⚠️ **`0 Вт` — это норма, пока `switch` = `off`, а не поломка.** Ранее (2026-09-15) в [[family/documents/home-automation-wishlist]] §7 это было записано как подозрение на мёртвый мониторинг. **Уточнение:** напряжение `223 V` присутствует → розетка работает; нулевая мощность при выключенном реле ожидаема. Проверка живости нагрузки возможна только после первого включения.
> 💡 Отсюда — **алерт обрыва в автоматизации:** включили → через 5 мин ждём `power > 5 W`; если ноль — кабель не подключён либо перебит.
**Наличие кабеля:** в закупках зафиксировано «Греющий кабель в ПНД × 6 м» + «Ввод греющего кабеля» ([[family/documents/lerua-shopping]]).
---
## 7. Что НЕ сделано (следующие шаги)
- [ ] **Автоматизация не создана.** Ждёт ответа на вопрос: **саморегулирующийся кабель или резистивный?**
- Саморег — можно не гистерезить, сам сбрасывает мощность;
- Резистивный — обязателен термостат/гистерезис, иначе перегрев.
- Дефолт безопасен для обоих типов: **гистерезис 8/3**.
- [ ] Опционально: датчик температуры **на самой трубе** в бетоне — тогда порог снимаем с трубы, а не по воздуху (точнее, снимает неопределённость модели §4).
- [ ] Проверить в ZONT, нужен ли ему отдельный виртуальный slave под греющий кабель (сейчас управление идёт через Zigbee-розетку, ZONT в контур не включён).
---
## Связанные заметки
- [[family/how-to/home-automation]] — топология t610, ZONT, Modbus, Zigbee
- [[family/how-to/ha-automations]] — логика и карта автоматизаций
- [[family/documents/home-automation-wishlist]] — роадмап (§7 энергетика)
- [[family/tech/ha-registry-operations]] — правка опций сущности (кейс °F→°C для H2000_PRO)