Статья

Контроллер системы отопления для умного дома | ESPHome, Home-Assistant

Одной из самых сложных для меня тем, которая вызывала много вопросов по реализации, была регулировка температуры радиаторов отопления.

Лет 7 назад я установил на один из радиаторов термоголовку Danfoss с Z-Wave. И за пару месяцев использования, мне так и не удалось совладать с ней. Основными факторами, сыгравшими против, было то, что температура замерялась непосредственно возле радиатора и сильно отличалась от всего помещения. А также скорость реакции термоголовки на изменение уставки со стороны контроллера была неприемлемо низкой.

Чуть позже я опробовал еще одно подобное устройство от Stella Z, но проблема с замером температуры непосредственно возле отопительного прибора никуда не делась.

Да, конечно, существуют термоголовки от того же Danfoss с выносным термодатчиком, но выглядит это довольно ужасно. К тому же оставался открытым вопрос, как подружить такое устройство с умным домом.

Спустя какое-то время, Fibaro представили свою термоголовку с отдельным беспроводным датчиком температуры. И это уже выглядело интереснее предыдущих вариантов. К сожалению, это устройство обошло меня стороной.

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

В поисках решения, которое можно было бы приладить к моим радиаторам, я наткнулся на термоприводы для коллекторов отопления. И тут меня осенило. Зачем пытаться что-то регулировать в конечных точках, когда можно сделать это централизованно на коллекторе.

Конкретно такие приводы имеют только два положения: открыто или закрыто.

Кстати, при желании, их всё же можно использовать на радиаторах, если на нём установлен термостатический клапан с резьбой M30x1.5.

Схема подключения оказалась простейшая. Все термоприводы – нормально-закрытые. Когда модуль ESP подаёт сигнал на твердотельное реле, термопривод открывается. Занимает это несколько минут.

В собранном виде контроллер вместе с блоком питания помещается в какую-то стандартную распаячную коробку.

Я решил не заморачиваться с установкой настенных термостатов, потому что всё ручное управление осуществляется с телефона или компьютера.

В каждом помещении, где есть радиатор, я установил температурный датчик от Aqara, расположив их в местах, где предполагается самое частое присутствие людей.

Код для модуля ESP с прошивкой ESPHome также предельно простой.

Описывается каждый вывод, который подключен к реле (platform: gpio). Если бы термопривод был нормально-открытый, то параметр inverted имел бы значение yes. Опционально к коллектору прицеплен датчик температуры DS18B20 (platform: dallas).

esphome: name: esp16_heating_control_unit_1 platform: ESP8266 board: d1_mini wifi: ssid: !secret wifi_ssid password: !secret wifi_password fast_connect: true domain: !secret wifi_domain manual_ip: static_ip: 172.16.1.116 subnet: 255.255.255.0 gateway: 172.16.1.1 dns1: 172.16.1.1 logger: api: ota: dallas: - pin: 2 sensor: - platform: dallas address: 0xB1031635D6C6FF29 name: "1 Heating Flow Temperature" switch: - platform: gpio name: "Office Heater" icon: "mdi:radiator" pin: 16 # Normal closed inverted: no - platform: gpio name: "Pantry Heater" icon: "mdi:radiator" pin: 14 # Normal closed inverted: no - platform: gpio name: "Livingroom Heater" icon: "mdi:radiator" pin: 13 # Normal closed inverted: no - platform: gpio name: "Kitchen Heater" icon: "mdi:radiator" pin: 12 # Normal closed inverted: no

После подключения модуля ESP к Home Assistant, в интерфейсе появляются выключатели, управляющие термоприводами. Но сами по себе они не имеют особой пользы.

На удивление, термостат, реализованный средствами базовой интеграции Home Assistant, обладает всем необходимым функционалом. А то я сначала собирался самостоятельно строить логику управления. Тут тоже всё просто.

Указывается:

  • переключатель, управляющий термоприводом (heater);
  • датчик температуры, по которому термостат будет ориентироваться (target_sensor);
  • диапазон регулировки термостата (min_temp, max_temp);
  • гистерезис (cold_tolerance, hot_tolerance);
  • начальное состояние (initial_hvac_mode);
  • точность управления уставкой (precision).

- platform: generic_thermostat name: Livingroom Thermostat heater: switch.livingroom_heater target_sensor: sensor.livingroom_temperature min_temp: 23 max_temp: 27 ac_mode: false cold_tolerance: 0.3 hot_tolerance: 0.1 min_cycle_duration: minutes: 5 initial_hvac_mode: "off" precision: 0.1

По поводу начального состояния. После перезагрузки, все термостаты по умолчанию выключены. Есть отдельная автоматизация, которая при запуске Home Assistant проверяет, отопительный ли сейчас сезон, чтобы включить все термостаты. Проверка основывается на состоянии виртуального переключателя, которое зависит от среднесуточной температуры, собираемой с помощью встроенного модуля статистики.

- id: '1604184082358' alias: Термостаты в отопительный сезон description: '' trigger: - platform: homeassistant event: start condition: - condition: state entity_id: input_boolean.heating_season state: 'on' action: - service: homeassistant.turn_on data: {} entity_id: group.all_thermostats mode: single

heating_season: name: Heating season icon: mdi:snowflake-melt

- platform: statistics name: Outside temperature statistics entity_id: sensor.openweathermap_temperature sampling_size: 1800 max_age: days: 15 precision: 1

Показания температуры воздуха собираются с периодичностью 5 раз в час и хранятся 15 суток.

В Node-RED для этого есть небольшой сценарий.

При среднесуточной температуре на улице 15 градусов и ниже, проверяется, включён ли виртуальный переключатель.

В Telegram отправляется соответствующее сообщение.

И включается виртуальный переключатель.

В обратную сторону это работает при среднесуточной температуре выше 19 градусов.

Что касается точности работы контроллера, то на примере графика за сутки видно, как при ночной уставке в 25.5 градусов, температура в помещении колебалась в пределах двух десятых от нее. Дневная температура 26 градусов также стабильно поддерживалась, за исключением моментов с попаданием в комнату прямых солнечных лучей. Выше – оранжевый график показывает, когда был открыт термопривод. И видно, как это совпадает с колебанием температуры в помещении.

Решение прекрасно пережило текущую зиму, и я остался доволен работой. Дополнительно написал пару сценариев для Node-RED, срабатывающих по времени суток или по присутствию.

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

Предвидя вопрос - «А что, если отключат свет?». Будет всё равно, так как котёл тоже выключится. А в случае выхода из строя контроллера или термопривода, последний в одно движение снимается с коллектора.


Пока в планах (регулирование на коллекторе), но идея подтолкнула к более конкретным решениям, благодарю!

Думаю как-то так...

https://www.stout.ru/catalog/kollektory-i-kollektornye-gruppy/stout-kollektor-iz-nerzhaveyushchey-stali-bez-rashodomero-0">https://www.stout.ru/catalog/k...

https://www.stout.ru/content/elektrotermicheskiy-kompaktnyy-servoprivod">https://www.stout.ru/content/e...

Не промахнитесь при выборе напряжения питания термоприводов. Я использовал на 230 V.

Почему стоит брать именно 230? Провел к радиаторам только витую пару. 230 по ней включать кажеться опасной затеей. Смотрю в сторону 24в. Какие есть минусы такого подхода?

Т.к. схема, описанная в статье расчитана на 230 В. Выбрал 230, потому что не хотел разбираться с коммутацией 24 В переменного тока.

Хорошо когда есть такой коллектор... Вариантов запорных кранов - полно... А вот когда коллектора нет ((((

Когда коллектора нет, можно повесить такой термопривод на клапан радиатора. И, если радиаторов немного, то вполне сгодится вариант с размещением персональных контроллеров вблизи них.

А питание где для всего этого брать? Это хорошо когда все рядом стоит и розетки есть... 

А цена на клапаны с батарейкой крайне кусается...

А питание только тянуть откуда-то максимально скрыто.

Выложите код flow для Node-Red, пожалуйста.



https://sprut.ai/static/media/cache/00/73/54/5/8457161/78226/1000x_image.jpg?1621207059" alt="1000x_image.jpg?1621207059" />

Тоже Stout коллектор, но сервоприводы - TECE. Термостаты тоже от TECE. Вначале искал что то по wifi/zigbee, но так и не нашел! Есть варианты ? реал тесе термостат законнектить с wemos d1 ?

Если термостат этого не умеет, то никак. Только заменить.

Или, как вариант, можно за термостатом спрятать релейный модуль для подрозетника (Shelly, Fibaro, Qubino). А питание на вход термостата подавать с управляемого релейного выхода микромодуля. Таким образом, при включении реле, будет полностью включаться термостат. И, если уставка на нем сохраняется при потере питания, то задать максимально возможную. По сути, всё равно, термостат становится не нужен.
А за температурой в помещении наблюдать отдельным датчиком.


Вернуться назад
Вернуться назад