Статья

Отопление в частном доме.

Статья о том, как можно сделать обычное отопление в частном доме «Умным», с пробросом в Homekit и Google Home. 

Дом отапливается газовым котлом Viessmann, на первом этаже теплый пол, на втором - радиаторы.  Дом из газобетона, утеплен пенопластом 100мм. Находится на юге Одесской области. Зима у нас мягкая и сильно топить не приходится.  

Первым делом расскажу о необходимом оборудовании:

Котел управляется умной розеткой Xiaomi mi smart power plug Wi-Fi по следующей схеме:

Розетка управляет реле на 220 вольт;
реле замыкает контакты на котле, имитируя внешний термостат.

Управление теплым полом на первом этаже происходит за счет включения и выключения циркуляционного насоса на его коллекторе. При остановке насоса и работающем котле, происходит перегрев термо-головки на коллекторе теплого пола и она перекрывает подачу теплоносителя. Управлять полом отдельно по зонам в моем доме нет необходимости, так как это кухня студия и санузел. Управляется насос также с помощью Xiaomi mi smart power plug Wi-Fi.

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

При выборе сервопривода необходимо обратить внимание на соединение его с клапаном на радиаторе, рабочее напряжение, и нормальное состояние. У меня на радиаторах резьба под термоголовку была 28*1.5 а все сервоприводы, которые продавались на Aliexpress, были под резьбу 30*1.5. Поэтому я выбрал вот такой привод на 220в нормально закрытый, а управлять ими решил с помощью двух-клавишных выключателей Aqara. Причем поначалу я поставил выключатели без 0, а потом поменял на выключатели с 0. И несмотря на то, что потребление сервопривода составляет около 2Вт, а заявленная минимальная мощность, с которой работает безнулевая Aqara, начинается от 3Вт - обе версии работали нормально.

Местом установки выключателей был выбран гардероб, куда еще на стадии ремонта я вывел кабели от каждого места установки радиатора.

Для контроля температуры в каждой комнате стоит датчик температуры Xiaomi или Aqara.

Механическая термо-головка
Сервопривод (на фото 24в, у меня на 220в)
Выключатель Aqara

Теперь о программной части.

Центром «Умного дома» у меня является Home-Assistant (Hassio, работающий на RPi3b). Это не идеальная система, и у меня иногда дохнут карты SD (раза 3 за 2 года). Но всегда есть запасная карта и бекап системы. Для меня плюсом данной системы стало то, что я с легкостью смог реализовать все свои хотелки. 

Описывать как добавить устройства Xiaomi в Home Assistant я не буду, это подробно описано в статьях Александр Жабунин (OXOTH1K) про Home Assistant. Я расскажу, как добавить термостат и настроить сценарии. 

Первым делом нам необходимо создать виртуальные термостаты. В Home-Assistant есть компонент Generic Thermostat. Для того, чтобы добавить его в Home-Assistant, необходимо вставить следующее в свой файл конфигурации:

# Full example configuration.yaml entry climate: - platform: generic_thermostat name: Bedroom heater: switch.bedroom_heater target_sensor: sensor.bedroom_temperature min_temp: 16 max_temp: 28 ac_mode: false target_temp: 20 cold_tolerance: 0.3 hot_tolerance: 0.5 min_cycle_duration: seconds: 5 keep_alive: minutes: 3 initial_hvac_mode: "off" away_temp: 16 precision: 0.1

Где:

  • heater: – это устройство, которое включает/выключает отопительный прибор, в моем случае, это клавиша выключателя, или розетка насоса теплого пола.
  • target_sensor: – это датчик температуры, по которому будем управлять отоплением.
  • min_temp: / max_temp: - это минимальная и максимальная температуры на нашем терморегуляторе.
  • ac_mode:  false – при таком параметре наш термостат работает как обогреватель, то есть при понижении температуры включается, а если температура превысит установленную - выключится.
    Если поставить true – тогда наш термостат работает в режиме кондиционера и логика работает наоборот. Температура выше заданной – включаемся, ниже – выключаемся. 
  • target_temp: – это температура, которая будет устанавливаться по умолчанию после перезагрузки Home-Assistant.     
  • cold_tolerance: /  hot_tolerance: это значение гистерезиса для термостата. То есть, при значении cold_tolerance: 0.3 и hot_tolerance: 0.5 и заданной температуре 22 градуса, термостат нагревая отключится при превышении температуры 22.5 градуса, и будет выключен, пока температура не опустится ниже 21.7 градуса (22-0.3). 
  • keep_alive: - этот параметр указывает на время цикла повторной отправки команды на включение/отключение исполнительного устройства. То есть, если выключить выключатель/розетку клавишей или вдруг по какой-то причине выключатель не включился с первого раза, компонент будет включать устройство каждые 3 мин. Таким образом нивелируются временные потери связи или случайные отключения устройств.     
  • min_cycle_duration: - этим параметром мы устанавливаем минимальное время, в котором обогреватель должен находиться в положении вкл или выкл. 
  •  initial_hvac_mode: - этот параметр отвечает за состояние термостата после перезагрузки системы. Допустимые параметры off, heat или cool. 
  • away_temp: - если добавить этот параметр, то у термостата появится режим away (не дома), где будет выставлена заданная температура.
  • precision: - этот параметр определяет шаг в градусах изменения задаваемой температуры. Допустимые значения 0.1,0.5 и 1.0. В конфиг необходимо добавить термостаты для каждой комнаты и для теплого пола. Выглядеть они будут так:      

Далее необходимо создать автоматизации в Home Assistant, которые, при необходимости, включают и выключают котел.

Суть автоматизации включения в следующем - при включении какого-либо термостата на обогрев - включается котел. Выключения - при выключении какого либо из термостатов проверяется, выключены ли все термостаты, и если да - то выключаем котел.

Автоматизация на ВКЛючение котла

Автоматизация на ВЫКЛючение котла

Далее необходимо создать расписание работы нашего отопления. 

У меня в доме все просто:

20:00 - отопление на втором этаже выставляется на 22° (включается котел и радиаторы).

22:00 – в ванной на втором этаже устанавливается температура 20° (выключается радиатор в ванной, температура до утра не опускается ниже 20°).

06:00 - в ванной на втором этаже устанавливается температура 22° и первый этаж с теплым полом устанавливается на 22°.

07:00 – отопление на втором этаже устанавливается на 20° (отключаются все радиаторы).

10:00 – устанавливается температура 20° на первом этаже - тёплый пол (отключается все отопление и котел). При такой схеме, только при сильных морозах приходится включать на постоянно теплый пол днем.

Все это реализовано пятью автоматизациями.

Так как все устройства Home Assistant без проблем пробрасываются в HomeKit и Google Home, то термостатами можно управлять с помощью Siri и Google Assistant. 

Термостат в приложении ДОМ
Термостат в Google Home

Такая реализация отопления позволила получить комфорт и неплохую экономию. Рядом находятся 4 одинаковых дома, с одинаковыми котлами, по газовым счетчикам соседи потребляют от 50 до 100% газа больше за отопительный сезон, что эквивалентно 100-200$ в сезон.  


Отличное решение и не дорогое!спасибо автору

Очень полезная и актуальная статья к началу отопительного сезона. Скажите, как ваш котёл справляется с газовым напором? Я тоже живу в одесской области и поставить любой котел не могу из за низкого напора. Сам владею котлом с ручным пуском,пускаю его по 10-20 минут,и предпочитаю не выключать. От этого сумасшедший счётчик

Котёл viessmann vitopend 100 первый. Проблем не испытываю. Прошлый сезон отработал так, что я к нему и не подходил. Автоматика сама отработала. 

Интересно, куда идет провод от электропривода на радиаторе? Он в штробе идет в щиток или реле с контроллером спрятаны где-то за батареей? И кстати, использовать для этих целей клапан на 230 Вольт не боязно? Батарея заземлена как-то?

Провод в штробе в гардероб. Там и выключатель. Клапан можно любой, мне было проще на 230В, есть 12в и 24в и шаговые 0-10в. 
Батарея не заземлена, клапан Итальянский сделан хорошо и герметично. 

У меня похожая система. Правда на 2м этаже пока никак температуру не регулирую. Думаю прикупить моторчик с лапкой, просто перекрывать контур.


А пониженную температуру днем и ночью, мне кажется, лучше по наличию/отсутствию людей. У меня если кто то дома - 21/19 (день/ночь), все ушли на работу в школу - 16 градусов. 

под котлом временно такое безобразие :)

https://sprut.ai/static/media/cache/00/20/02/5/1574119/44603/1000x_image.png?1569984452" alt="1000x_image.png?1569984452" />

Как показала практика температура за день не падает ниже 20. Когда уехали на отдых на 12 дней, выставил на 16. Температура опустилась до 16.2( при -5-7 на улице).  Отопление и не включалось. Правда разгонялось до 22 часов 6. 



Круто, что за 12 дней при минусовой температуре так дом держит тепло.

У меня при +10, падает к вечеру - 2.5 градуса. Правда окна на зимнем проветривании. 

Отличная статья. 

К сожалению у меня очень старый котел Бош(16 лет), с пропроритарным протоколом управления, поэтому сделать управление со смартфона не получится. Управление ВКЛ/ВЫКЛ не подходит, т.к. теряется весь смысл "интелектуального" управления горелкой. Поэтому управляется проводным блоком БОШ. Запрограммировано управление по времени суток -4 режима, по каждому дню недели. И да экономия очень существенная достигает 20-30% относительно аналогичной конфигурации без управления. 

А можете уточнить, какая именно интеллектуальность котла теряется? 

У меня котёл Junkers 2-х летка, вреде тоже умный. Но по факту без внешнего терморегулятора, умеет только поддерживать температуру носителя на установленном уровне. Я управляю им вкл/вкл по температуре в комнате. Вроде температура не сильно скачет. Толерантность -0.2, +0.1. Включается только утром и изредка ближе к вечеру. 

Горелка с модуляцией пламени. Если без внешнего блока управления, функция не работает. При режиме ВКЛ/ВЫКЛ расход газа значительно увеличивается. 

Прочитал. Интересно. Но мой котёл несмотря на управление вкл/выкл явно смотрит на температуру обратки и соответственно регулирует обороты насоса и объём подаваемого газа. При включении минут 5-10 работает на минимуме, потом плавно разгоняется. Когда термостат командует выкл, по факту продолжает работать ещё минут 5.

При подключенном блоке управления, поведение горелки более сложное. Котел смотрит не на температуру обратке, а на разнице температур между подачей и обраткой. Это настраиваемый параметр, по умолчанию кажется 10 градусов. Когда есть блок,  работа если описать примитивно примерно такая- вне зависимости от выставленной температуры, включается насос, затем включается горелка которая начинает работать не линейно, котел проверяет заданную и фактическую температуру в помещении, если она ниже заданной, включает гарелку на повышение, затем на понижение, смотрит дельту подача- обратка если дельта >=10, повышает горелку, если <=10, то понижает горелку и не выключает насос, потом отключает насос и снова смотрит дельту... 

примерно так.

Пишу с телефона, где-то мог сбиться с алгоритма, но общая идея такая.

При режиме вкл/выкл, как вы понимаете это работать не может.

А, понятно. К целевой температуре в таком случае будем подбираться с замедлением. В моем случае, резко обрубаем и по инерции идём несколько выше заданной температуры. Будет больше амплитуда колебаний температуры, чем в вашем режиме. Вроде где-то читал, что КПД газового котла выше на максимальной мощности. Но может я и не прав. 

Добрый вечер! Очень интересная статья, я как раз разрабатываю подобную систему. Подскажите Вы ставили реле с задержкой включения? Так как сервоприводы открываются пару минут чтоб котел и насос не работали на сухую, на насосе точно нет задержки, или это реализовано в розетке? И еще вопрос - зачем создавать виртуальный термостат? Разве датчики Xiaomi не прокидываются в HA? Подскажите сколько у Вас радиаторов? не пойму вы отключаете все 2-х клавишным выключателем, это у Вас все радиаторы разделены на 2 контура? 

У меня 4 комнаты - 4 радиатора - 2 2х клавишных выключателя. Каждый отдельно. Сервоприводы открываются полностью за 90 сек. Думал об этим но забыл добавить паузу перед включением котла. В котле есть байпас так что не сильно плохо, темболее сам Котел стартует не мгновенно. Датчики в ХА есть. Но ведь когда все собрано в термостат можно управлять заданой температурой. 

а почему Вы заменили на выключатели с 0?

"Но ведь когда все собрано в термостат можно управлять заданой температурой." - Вы имеете ввиду что проще изменять температуру на одном виртуальном термостате чем на  4х физических?

У меня вот проблема, мне не хочется полностью перекрывать контур радиатора, потому что когда он холодный то дискомфорт чувствуется, хочется оставлять маленький проток, такая функци есть в термоголовках, но так как у меня сервоприводы в коллекторе, то не знаю как связать датчик температуры в комнате и термоголовку в коллекторе. Читал есть сервоприводы с ф-й регулировки закрытия, но не нашел))

+ читал что после полного закрытия контура, котел будет долго разогревать воду, по-этому рекомендуется не полное закрытие контура а понижение температуры воды на +-5 градусов. А вот как это сделать...

Изначально покупал без 0. Только они на тот момент могли отключать клавишу от реле. Думал использовать, но так и не нашел удачных сценариев для себя. Потом заказывал для освещения без 0 а пришли с 0. Пришлось поменять. 
клапана есть с логическим управлением 0-10в. Но у меня они висят на радиаторах, а когда поток не полностью открыт, есть шум потока воды. 
Но если стоит коллектор, то проблем не будет. Датчик xiaomi беспроводной стоит в комнате. А сервопривод можно и на коллекторе. Только выключатель не сможет рулить приводом 0-10в там нужен контроллер. 
Если нужно оставлять небольшой проток то можно поиграться и сделать на обычный сервопривод переходник, или не полностью его закрутить.
У меня Котел, обычной ночью зимой (0- -5градусов), разогревает помещение до заданой 1-2часа, потом включается 3-5 раз на 10-15 минут за ночь. 
На котле выставлен почти максимум, там где кпд максимальный. Теплоноситель разогревается на 65-70 гр. понизив его на 5 гр. после нагрева помещения не получится остановить нагревание, и будет перетоп. 

"поток не полностью открыт, есть шум потока воды." - странно, я никогда не слышал.

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

"Физических термостатов нет. Есть датчик температуры Xiaomi и сервопривод на радиаторе. Управлять можно только виртуальным термостатом." - да, у меня такая же ситуация, а почему нельзя управлять физическими? Да я вот об этом и думал, например такой кейс - стоит датчик темеературы с диапазоном 22-24, но при выходе из дома я хочу чтоб был диапазон 20-22, т.е. получается мне нужно изменить условия на датчике а как это сделать не пойму. Виртуальный тут поможет?

Физических термостатов нет. Есть датчик температуры Xiaomi и сервопривод на радиаторе. Управлять можно только виртуальным термостатом. Их у меня 4 на каждую комнату и 1 на теплый пол, каждая комната рулится независимо. 

Меня датчик температуры xiaomi не устроил. Он меняет показания, только если температура изменилась как минимум на 0.5 градуса. Экономит батарею. 

Использую esp8266 + bmp280 на Esphome. У него точность 0.1 и инерционность маленькая. Откалиброван хорошо в отличии от ds18b20. 

Да, но ксаоми на батарейном питании. А как вы сделали датчик на ESP? Заморочка с блоком питания, проводами.. стоит того?

У меня с розеткой и бп не было проблем, поэтому питание от сети. А вот инерционность и дискретность датчика xiaomi очень неприятная была. То холодно, то жарко. Можно конечно усреднять с нескольких, но не хотел заморачиваться. 

а несколько хитеров в одном женерик термостате можно? если в комнате два радиатора, странно же

делать

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

Я думаю можно собрать в группу, или через Template Switch собрать из двух.

Я новичок в этом деле. Но очень затянуло. Так вот вопрос про

precision: - этот параметр определяет шаг в градусах изменения задаваемой температуры. Допустимые значения 0.1,0.5 и 1.0.


Просто у меня этот параметр отвечает за точность показания термостата, а вот устанавливаемая температура идет через 0.5 градусов всегда((( Куда копнуть?

precision - с какой точностью ты может установить программно термостат. У самого слайдера, если температура в Цельсиях - 0.5, если в Фаренгейтах - 1


Пруф: https://github.com/home-assistant/frontend/blob/c1dba462e8d1b060b86c3c15c269af966506a711/src/panels/lovelace/cards/hui-thermostat-card.ts#L320">https://github.com/home-assist...



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

Доброго дня,

можно ли попросить починить ссылки на Автоматизации?

Заранее спасибо.

День добрый - у меня схема от вашей отличается отсутствием радиаторных удаленно управляемых кранов второго этажа (там просто расписание выставляется) момент в том что раз нет таких свитчей то к каждому термостату (сделал их три - гостевой, зал и спальня)- я напрямую ассоциирую реле котла к каждому - и для запуска котла все как бы норм стоит поднять темпу выше текущей на любом термостате - и котел стартует, но вот как сделать так чтобы при выключении любого из 3-х когда работают оставшиеся два котел не выключался..... - только если на всех трех термостатах - температура выше целевой?

Заранее спасибо за совет

Добрый день! Я управлял котлом по состоянию виртуальных термостатов

1) один из включен (через "или"- "OR") = котел включаем

2) все выключены (через "И" - "AND") = котел выключаем

Да. я уже тоже сделал вирт свичи, и сделал логику на выключение и включение котла так же как вы описали, но вот еще вопрос - если пропадала связь с реле - как делали повторную отправку команды? - вытаскивал реле из сети и сейчас хоть и горит статус в асссистенте что котел должен работать - по факту котел молчит.... должен быть какой-то механизм повторной отправки команды каждые 3-5 минут.

Скорее всего реле на котле нужно сделать виртуальным термостатом. А автоматизацией задавать греть/не греть

Виртуальный термостат сам постоянно отправляет команду на вкл или выкл через указанное время.

keep alive - не срабатывает

потому как свитч виртуальный продолжает находиться во включенном состоянии - а вот котлу повторный меседж не идет


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