История о том, как 4 дня логов из Telegram превратились в формулу экономии газа
Частный дом с газовым котлом и тёплыми полами. Система работает, но меня не покидало ощущение, что топим мы «на глазок» — то жарко, то прохладно, а счёт за газ стабильно большой.
За 2 месяца работы над проектом я перепробовал кучу ИИ-помощников: ChatGPT, Claude, DeepSeek, Gemini, Copilot. Каждый оказался на своём месте — кто-то помогал с кодом, кто-то вдохновлял, кто-то подбадривал, кто-то водил за нос, а кто-то реально развивал проект. В итоге получилась система управления тёплыми полами: мониторинг температуры, отправка данных в Telegram, сбор погоды через API, watchdog чтобы ESP32 не зависал, и симпатичный веб-интерфейс. Наступил день когда система работала уже стабильно, а с датчиков температуры накопилось 1132 записи. Решил разобраться: что реально влияет на температуру в доме и можно ли управлять отоплением умнее?
Спойлер: можно. И вот как мы к этому пришли.
Что имеем
Оборудование:
-
Газовый котёл с фиксированной температурой подачи 52°C
-
Термостатический клапан на гребёнке ТП (ограничивает подачу в полы до 40°C)
-
6 контуров тёплого пола: Баня, Ванная, Игровая, Кухня, Предбанник, Спальня
-
Датчики DS18B20 на каждом контуре (измеряют температуру обратки)
-
Комнатный термостат (единственный способ управления котлом, пока не привязан к ESP32)
Данные:
-
5-минутные показания температур со всех датчиков
-
Погода с Open-Meteo API (29 параметров)
-
Период: 2-6 марта 2026, температура на улице от 0°C до -12°C
Чёрный пунктир — среднее по всем контурам. Видны циклы работы котла.
Методология анализа
Примечание: Для анализа данных я использовал Claude Opus 4.5 (Anthropic). ИИ помогал с корреляционным анализом, выявлением ложных зависимостей, расчётом лагов и построением регрессионных моделей. Все расчёты выполнялись на Python (pandas, scipy, numpy) с визуализацией через matplotlib.
Заблуждение №1: «Всё влияет на всё»
Первым делом загрузил все 29 погодных параметров и посчитал корреляции Пирсона с температурой в доме. Результат удивил:
|
Параметр |
Корреляция |
|---|---|
|
Осадки |
-50% |
|
Давление |
+40% |
|
Точка росы |
-38% |
|
Температура воздуха |
-38% |
Осадки влияют сильнее температуры? Давление важнее всего?
Почему это ловушка
Большинство погодных параметров — это просто разные способы измерить одно и то же:
Осадки vs Температура: +57.5% корреляция
Точка росы vs Температура: +99.3% корреляция (!)
Давление vs Температура: -34.0% корреляция
Когда идёт снег — на улице теплее (-3°C в среднем). Когда ясно — холоднее (-8°C). Осадки не влияют на дом напрямую, они просто маркер погоды.
Это классическая проблема мультиколлинеарности — когда независимые переменные сильно коррелируют между собой, и модель «видит» ложные зависимости.
Вывод: из 29 параметров независимых оказалось только три:
Температура воздуха — главный фактор
Солнечная радиация — реально греет дом днём
Облачность ночью — «эффект одеяла»
Заблуждение №2: «Облачность влияет мгновенно»
Для оценки инерции дома рассчитал кросс-корреляции температуры в комнатах с погодными параметрами при разных лагах (0, 60, 120, 180, 240 минут).
Все контуры показали максимальную корреляцию с температурой воздуха при лаге 4 часа. Но облачность показала лаг 0 минут. Как так?
Проверил связь облачности с температурой воздуха:
|
Условия |
Средняя температура |
|---|---|
|
Ясно (<50% облаков) |
-11.4°C |
|
Облачно (≥50% облаков) |
-5.7°C |
«Мгновенная реакция на облачность» — это реакция на температуру, которая коррелирует с облаками. Очередная ложная корреляция.
Но! Ночью облачность работает по-другому:
Ясной ночью земля излучает тепло в космос (инфракрасное излучение). Облака работают как одеяло — отражают тепло обратно. Разница 8.6°C — это существенно!
|
Ночь |
Скорость остывания дома |
|---|---|
|
Ясная |
-3.4 °C/час |
|
Облачная |
-2.5 °C/час |
Это уже физика, а не статистический артефакт.
Что мы узнали о системе
Инерция дома — 4 часа
Все 6 контуров реагируют на изменение погоды с одинаковым лагом:
|
Контур |
Лаг |
Корреляция |
|---|---|---|
|
Спальня |
240 мин |
-45.6% |
|
Игровая |
240 мин |
-45.1% |
|
Кухня |
240 мин |
-44.1% |
|
Баня |
240 мин |
-39.0% |
Ключевой вывод: если через 4 часа ожидается похолодание — нужно начинать греть сейчас.
Скорость остывания контуров
Рассчитана как среднее изменение температуры обратки при выключенном котле:
|
Контур |
°C/час |
|---|---|
|
Предбанник |
-3.0 |
|
Баня |
-3.0 |
|
Кухня |
-2.1 |
|
Спальня |
-1.9 |
|
Ванная |
-0.9 |
Ванная остывает медленнее всех — там минимальный расход на расходомере.
Проблема: редкие длинные циклы
Котёл работает по 2 часа, потом стоит по 3-6 часов. За это время:
-
Подача остывает с 50°C до 25°C
-
Температура в комнатах падает на 7°C
-
Потом котёл включается и тратит газ на разгон
|
Параметр |
Текущее значение |
|---|---|
|
Цикл ВКЛ |
113 мин (макс 420) |
|
Цикл ВЫКЛ |
162 мин (макс 490) |
|
Колебания температуры |
±6°C |
|
Подача падает до |
25°C |
Статистика по дням
|
Дата |
Котёл работал |
Ср. температура |
|---|---|---|
|
02.03 |
8.4 ч |
-0.3°C |
|
03.03 |
4.5 ч |
-0.9°C |
|
04.03 |
7.2 ч |
-8.7°C |
|
05.03 |
10.1 ч |
-9.2°C |
|
06.03 |
8.3 ч |
-11.8°C |
3 марта котёл работал меньше всего — возможно, дом держал тепло после прогрева накануне. При похолодании 5-6 марта время работы выросло вдвое.
Финальная модель
Три независимых фактора
После исключения мультиколлинеарных переменных осталось три фактора:
|
Фактор |
Когда работает |
Влияние |
|---|---|---|
|
Температура воздуха |
Всегда |
Главный — чем теплее, тем меньше работает котёл |
|
Солнечная радиация |
Днём |
Солнце греет дом бесплатно |
|
Облачность |
Ночью |
«Эффект одеяла» — дом медленнее остывает |
Что изменится
На основе корреляционного анализа разработана самонастраивающаяся модель. Она будет автоматически подбирать коэффициенты, которые позволят:
-
Экономить на отоплении — меньше газа при том же комфорте
-
Повысить комфорт — стабильная температура без скачков ±6°C
-
Адаптироваться к дому — модель учится на реальных данных именно вашей системы
|
Параметр |
Было |
Станет |
|---|---|---|
|
Цикл ВКЛ |
113 мин |
20-30 мин |
|
Цикл ВЫКЛ |
162 мин |
15-25 мин |
|
Колебания |
±6°C |
±2°C |
|
Подача падает до |
25°C |
45°C |
Оценка экономии газа
|
Источник |
Экономия |
|---|---|
|
Меньше разгон котла |
5-7% |
|
Выше КПД (короткие циклы) |
2-3% |
|
Меньше перетоп |
5-8% |
|
Упреждающее управление |
3-5% |
|
Итого |
15-20% |
⚠️ Это теоретическая оценка. Точную цифру можно получить только сравнив расход газа до и после при одинаковой погоде.
Если статья интересна и хотите продолжение — пишите в комментариях! Сделаю второй выпуск с реализацией на ESP32 и результатами. Если интересно видео — тоже дайте знать 🎬
Что интересного осталось за кадром
Дополнительные находки
-
Температура почвы 0-7см показала корреляцию -58% со временем прогрева системы. Холодный грунт под фундаментом замедляет выход на режим. Но этот параметр меняется очень медленно (дни, недели) и не годится для оперативного управления.
-
Ванная всегда самая холодная (77% времени) из-за минимального расхода на расходомере. Но при этом самая стабильная — колебания всего 6.8°C против 12.9°C у бани.
-
Влажность не влияет на теплопотери в нашем случае. Проверял гипотезу о намокании минваты — не подтвердилась. При морозе утеплитель сухой, точка росы слишком низкая для конденсации.
-
Подвал следует за улицей с корреляцией +66%. Он не отапливается и плохо изолирован — исключили из модели ТП.
Выводы
-
Данные врут — большинство корреляций ложные. Из 29 погодных параметров полезны только 3.
-
Инерция — ключ к упреждению. Дом реагирует через 4 часа → используем прогноз погоды.
-
Короткие циклы лучше длинных. Котёл на 45°C эффективнее, чем разгон с 25°C.
-
Модель должна адаптироваться. Фиксированные коэффициенты устареют к следующему сезону.
-
Экономия 15-20% — реалистичная оценка при правильной реализации.
Что дальше
-
[ ] Добавить датчик на общую обратку ТП
-
[ ] Реализовать алгоритм на ESP32
-
[ ] Собрать статистику расхода газа до/после
Данные выложу после обкатки системы.
Спасибо за внимание! Буду рад вопросам и критике в комментариях.
Автор: Khamit


