Найти тему
Иван Хохряков

Умное отопление - комфорт и экономия

Теперь у меня дома стоит реально умное отопление. Все комнаты обогреваются отдельно друг от друга в зависимости от сценария. Мы используем тепло только тогда, когда оно нужно:

  • когда мы дома
  • когда мы не спим

Таким образом, мы не только экономим на газе, но и вносим свой вклад для улучшения экологии.

В системе используются:

  • ПК с сервером HomeAssistant
  • 2 смартфона для двоих человек
  • 5 умных термостатов EQ3 (по 1 на радиатор)
  • 5 микроконтроллеров ESP32

Зачем нужны телефоны?

На телефонах установлены программы:

  • Owntracks
  • SleepAsAndroid
  • IFFT

При помощи этого софта посылаются сигналы, чтобы срабатывали триггеры в автоматизациях.

Список с автоматизациями
Список с автоматизациями

Здесь нет ничего сложного. Просто система узнает, когда ты приходишь домой, когда ложишься спать или когда просыпаешься.

Есть только три недостатка:

  • телефон всегда должен быть с собой
  • он всегда должен быть подключён к Интернету
  • нужно всегда включать отслеживание сна в будильнике

Иначе ничего работать не будет. Однако это всё мелочи и к ним быстро привыкаешь.

Почему термостаты подключены не напрямую?

HomeAssistant позволяет подключить термостаты напрямую через BLE. У меня даже стоит адаптер на сервере для этого случая.

Однако это соединение оказалась нестабильным. С разрядом батареек рабочее расстояние термостатов сильно падает. Часто сигнал не доходит.

Также опрос нескольких устройств через сервер приводил к наслаиванию одних запросов на другие: в HomeAssistant нельзя настроить очередность.

Как же теперь подключены термостаты?

После часов поисков и раздумий я нашел решение проблемы: BLE/WiFi-мост.

В качестве железа я взял ESP32 - эта маленькая плата как раз имеет нужные интерфейсы. Софт я скачал с гитхаба, он как раз сделан под мои термостаты.

Прошивка осуществляется очень удобно по USB. И вот, через пару часов я могу стабильно управлять термостатами через веб-интерфейс или MQTT-брокер.

Важно знать, что ESP32 позволяет управлять сразу несколькими термостатами. У себя же я использую по одному контроллеру на батарею для большей стабильности работы.

Как выглядит теперь мой день?

Я всегда просыпаюсь в тёплой комнате: за час до подъёма будильник посылает сигнал на сервер, что я скоро проснусь.

В веб-интерфейсе HomeAssistant всегда можно проверить текущие настройки термостата
В веб-интерфейсе HomeAssistant всегда можно проверить текущие настройки термостата

Затем я ухожу на учёбу и температура понижается до 17°C. Комната медленно остывает.

За пару минут до возвращения домой, сервер получает сигнал, что я рядом с домом и передаёт команду через ESP32 термостатам, что нужно нагреть квартиру. Я прихожу уже в тёплое помещение.

Когда я засыпаю, то на термостатах снова ставится температура 17°C и квартира остывает.

На графике видно, как ночью падала температура в комнате. Днём такого не было, так как весь день я провел дома
На графике видно, как ночью падала температура в комнате. Днём такого не было, так как весь день я провел дома

Какие есть проблемы?

Иногда термостат оказывается недоступен. Об этом приходит уведомление в MQTT-брокер от ESP32.

Соответственно, нужно повторить попытку установки температуры автоматически. Для этого у меня есть пара автоматизаций. Но никто не знает, сколько раз сервер будет пытаться установить температуру заново. Однажды мне пришло 180 уведомлений.

Ещё минус, что термостаты работают на батарейках. Эту трудность я решил, купив аккумуляторные батарейки. Но все равно их надо менять. Поставить один раз и забыть на годы не получится.

Что ещё нужно сделать?

Как всё в нашем мире, моя система не идеальна. Она очень бюджетна: 25$ на радиатор. Но ещё нужно сделать возможность установки температуры прямо из веб-интерфейса HomeAssistant. Также неплохо бы добавить отображение большего количества параметров термостата.

Как вам система? Критику, идеи рад выслушать в комментариях. Там же буду рад ответить на все возникшие вопросы.