Подключение контроллера SmartTherm к HomeAssistant — различия между версиями

Материал из ЭНЭ
Перейти к: навигация, поиск
(Новая страница: «==Подключение контроллера SmartTherm к HomeAssistant== Файл:St13.png |link=http://wiki.laser.ru/images/a/a9/St13.png |260px|thumb|lef…»)
 
(Установка автоматизации ESPHome OpenTherm в Home Assistant)
 
(не показаны 33 промежуточные версии 2 участников)
Строка 1: Строка 1:
==Подключение контроллера SmartTherm к HomeAssistant==
+
{{черновик}}
[[Файл:St13.png |link=http://wiki.laser.ru/images/a/a9/St13.png |260px|thumb|left|(Фото 1) Котел отопительный газовый, подключение SmartTherm]]
+
'''Подключение контроллера SmartTherm к HomeAssistant'''
Если у вас есть газовый котел отопления частного дома, то чтобы добавить в HA новое ESP устройство -например плату управления котлом Opentherm от контроллера Home Assistant (foto1 ), необходимо сделать следующее.
+
[[Файл:Газовый котел Ферроли.jpg|link=http://wiki.laser.ru/images/2/27/Газовый_котел_Ферроли.jpg |260px|thumb|(Фото 1) Котел отопительный газовый Ferroli(Италия), подключение к контроллеру SmartTherm]]
 +
Если вы являетесь счастливым владельцем индивидуального жилого дома, для отопления которого вы используете или планируете использовать газовый котел и вы хотите использовать для управления котлом [[Home Assistant]], то вам необходимо выполнить следующее.
  
-- Скачать с репозиотория бинарный файл. КАк его править, это отдельная история. Нам нужно например получить бинарник fig3.bin http:// ...
+
== Предварительные шаги ==
-- установить утилиту для прошивки бинатрного файла linux - в сам контроллер ESP32  esptool
+
-- залить бинарник в плату командой, указав какой контроллер мы испоьзуем. Спсок возможных контроллеров можно взять - отсюда..
+
Для прошивки новой версии программы в контроллер вам нужно :
+
1. Скачать файл с новой версии с сайта:
+
https://www.umkikit.ru/dowload/Smart_Therm_0.1.2_20220318.bin
+
2. Установить у себя утилиту esptool из командной строки из root
+
# apt-get update
+
# apt-get install esptool
+
3. Обновить прошивку из той директории, где находится скачанный файл (Linux)
+
$ esptool -cd nodemcu -cf Smart_Therm_0.1.2_20220318.bin
+
$ esptool -cd nodemcu -cf figa3.bin
+
$ esptool write_flash 0x00000 figa3.bin
+
  
 +
=== Выбор газового котла с протоколом OpenTherm ===
 +
Убедитесь, что выбранный вами для покупки котёл поддерживает цифровую шину передачи данных [[OpenTherm]]. Если в инструкции на сайте производителя котла указано, что OpenTherm имеется и указан разъем для его подключения, то проблемы нет. Однако не все производители газовых котлов пишут в инструкции к котлу о наличии такой возможности, не все продавцы и инженеры по обслуживанию газовых котлов знают о наличии такого протокола, не всегда поддержка, даже от пафосных дистрибьюторов, например, котлов ''Bosсh'' и ''Buderus'', сможет оказать вам помощь.
  
-- Для начала установить ESP HOME  на linux
+
В некоторых случаях может упоминаться наличие цифровой шины, однако имейте ввиду, что цифровых шин может быть с десяток разных, несовместимых межу собой на физическом и логическом уровне.
-- Установить HOME Assistant
+
-- Взять исходные коды отсюда https://github.com/rsciriano/ESPHome-OpenTherm, скачать ZIP архивом содержимое репозитория в папку /config/esphome в HA
+
-- распаковать архив в нужном месте
+
-- подправить  номера пинов для адаптера SmartTherm в файле /config/esphome/esphome-opentherm/opentherm_component.h
+
inPin = D7; outPin=D8
+
--  от Редактировать файл /config/esphome/opentherm.yaml
+
Make sure the board and device settings are correct for your device
+
        ◦ Set the sensor entity_id with the external temperature sensor's name from Home Assistant. (The ESPHome sensor name is temperature_sensor).  
+
  
 +
Список газовых котлов, поддерживающих OpenTherm можно посмотреть [https://docs.google.com/spreadsheets/d/1wyp0VITQYxK9X20dXWBdqLty_onRzYsPemu9IB54h44/edit?usp=sharing тут].
  
++++++++++++++++++++++++
+
=== Выбор контроллера OpenTherm ===
1. Уточнить что это за устройство - у нас это
+
На рынке имеется некоторое количество контроллеров, поддерживающих OpenTherm. В некоторых случаях, например, для большинства контроллеров ''Zont'' для подключения OpenTherm требуется отдельный адаптер за отдельную цену. Кроме того, и прошивка, и схемотехника этих контроллеров закрыты.
esp8266:
+
  board: esp01_1m
+
  
++++++++++++++++++++++++
+
Контроллер [https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103 SmartTherm] использует открытый дизайн, свободный код прошивки, использует популярные контроллеры ESP со встроенным WiFi, позволяет легко обновлять прошивку под свои нужды. Кроме работы с OpenTherm, контроллер может измерять температуру с двух выносных датчиков температуры DS18b20. Цена контроллера достаточно демократичная.  
2. Узнать название wifi сети и пароль к ней. У нас эта информация храниться в файле
+
  
 +
Для подачи питания и программирования контроллера используется разъем micro USB
  
# Your Wi-Fi SSID and password
+
=== Подключение контроллера SmartTherm к газовому котлу ===
wifi_ssid: "laser203"
+
wifi_password: "laser203"
+
  
Осуществить сборку модуля и прошивку его в модуль ESP
+
{| align="center" class="standard"
 +
|+ Примерный порядок подключения контроллера SmartTherm к газовому котлу
 +
|-
 +
| [[Файл:St12.png|link=http://wiki.laser.ru/images/0/07/St12.png|thumb|160px| Контроллер SmartTherm, вид спереди, без крышки]]
 +
| [[Файл:St11.png|link=http://wiki.laser.ru/images/d/d1/St13.png|thumb|160px| Контроллер SmartTherm, вид сверху]]
 +
| [[Файл:St13.png|link=http://wiki.laser.ru/images/d/d1/St13.png|thumb|160px| Обесточте питание котла]]
 +
|-
 +
| [[Файл:Котел без крышки.jpg|link=http://wiki.laser.ru/images/2/2c/Котел_без_крышки.jpg|thumb|160px| Снимите крышку с котла]]
 +
| [[Файл:Колодка контроллера.jpg|link=http://wiki.laser.ru/images/3/38/Колодка_контроллера.jpg|thumb|160px| На контроллере котла, удалите перемычку в разъеме OpenTherm, и подключите провод]]
 +
| [[Файл:Присоединить два провода.jpg|link=http://wiki.laser.ru/images/d/d5/Присоединить_два_провода.jpg|thumb|160px| Двужильный провод ПВС 0.75 кв — отмечен черной спиралькой]]
 +
|-
 +
| [[Файл:Проход через стену.jpg|link=http://wiki.laser.ru/images/1/19/Проход_через_стену.jpg|thumb|170px| При необходимости, пройдите проводом сквозь стену в жилое помещение]]
 +
| [[Файл:Контролер SmartTherm.jpg|link=http://wiki.laser.ru/images/9/90/Контролер_SmartTherm.jpg|thumb|180px| Другой конец провода присоедините к контроллеру SmartTherm, подключите термодатчики, подайте питание]]
 +
|}
  
-- дальше нужно крутить крутилки и вертеть вертелки - файлы скриншотов  в Изображение
 
  
 +
Максимальный выходной ток — 1.2 A
  
=== Как сконфигурировать ESP ===
+
Максимальное выходное напряжение — 5 В
3. Скопировать файл конфигурации для ESPHome  у нас это файл следующим содержанием
+
INFO Reading configuration /config/esphome/vlaga.yaml...
+
  
 +
=== Установка Home Assistant ===
 +
 +
Для того чтобы постоянно получать данные от работающего котла, анализировать их и принимать решения по экономии топлива, необходимо использовать приложение Home Assitant, которое разработано всемирным сообществом профессионалов и энтузиастов DIY, при этом является свободно распространяемым. Home Assistant интегрируется с более чем тысячей различных устройств и сервисов. После того, как вы интегрировали все свои устройства дома, вы можете использовать усовершенствованный механизм автоматизации Home Assistant, чтобы ваш дом работал на вас. Home Assistant взаимодействует с вашими устройствами локально и откажется от загрузки данных из облака, если нет другого варианта. Данные не хранятся в облаке, все обрабатывается локально. Home Assistant позволяет вам контролировать потребление энергии с помощью функции управления домашним энергопотреблением.
 +
 +
Для того чтобы развернуть это приложение и использовать его, вам понадобится постоянно работающий у вас дома сервер или постоянно включенный одноплатный контроллер ARM архитектуры типа Raspberry Pi, Orange Pi, Repka Pi, или аналогичные.
 +
Как установить и настроить работу приложения Home Assistan, вы можете узнать из официальной [https://www.home-assistant.io/installation/#compare-installation-methods документации] на английском языке, или из [[Установка Home Assistant на AltLinux | руководства по установке HA]] на русском языке.
 +
 +
Пожалуйста, обратите внимание, что при выборе варианта установки, вам будет проще работать с дополнительным приложением ESPHome, когда вы выберите режим установки ''Superviser'', а не ''CORE''. Хотя получить взаимодействие контроллера SmartTherm с приложением Home Assistant возможно в любом варианте установки.
 +
 +
== Установка автоматизации ESPHome OpenTherm в Home Assistant ==
 +
{| align="center" class="standard"
 +
|+
 +
| [[Файл:Smarttherm11.png |link=http://wiki.laser.ru/images/f/f9/Smarttherm11.png |140px|thumb|left|(Фото 2) Smartherm — настройка интеграции]]
 +
| [[Файл:St21.png |link=http://wiki.laser.ru/images/3/3e/St21.png |260px|thumb|left|(Фото 3)]]
 +
|-
 +
| [[Файл:Esp8266.png |link=http://wiki.laser.ru/images/8/8d/Esp8266.png |200px|thumb|left|(Фото 4)]]
 +
| [[Файл:Ot.png |link=http://wiki.laser.ru/images/2/22/Ot.png |200px|thumb|left|(Фото 5)]]
 +
| [[Файл:Plug install.png |link=http://wiki.laser.ru/images/9/90/Plug_install.png |200px|thumb|left|(Фото 6)]]
 +
|}
 +
После того, когда вы убедились, что ваша установка приложения HA выполнена успешно, вам необходимо добавить в HA новое ESP устройство — плату управления котлом OpenTherm (Фото 2), для этого необходимо сделать следующее:
 +
 +
1) Скачать с GitHub репозитория [https://github.com/rsciriano/ESPHome-OpenTherm от Roberto Sanz] архив. Разархивировать его на вашем HA, например в папку /''config''.
 +
 +
2) Установить в HA из магазина дополнений утилиту ESPHome (это будет возможно если вы установили ваш HA в режиме Superviser). Если у вас HA установлен в режиме CORE, то для прошивки контроллера из командной строки, вам нужно будет установить утилиту для работы с ESP32 ''esptool'':
 +
# apt-get update
 +
# apt-get install esptool
 +
 +
3) В конфигурационном файле для адаптера SmartTherm, ''/config/esphome/esphome-opentherm/opentherm_component.h'' необходимо задать номера пинов (Фото 3):
 +
 +
'''inPin = D7; '''
 +
 +
'''outPin = D8;'''
 +
 +
4) В файле ''/config/esphome/opentherm.yaml'' необходимо внести следующие правки:
 +
 +
4.1) В разделе ''esphome'' указать какой контроллер используем. Список возможных контроллеров можно взять — [https://docs.platformio.org/en/latest/boards/espressif8266/nodemcuv2.html отсюда для ESP8266] или [https://docs.platformio.org/en/latest/boards/espressif32/esp32dev.html от сюда для ESP32] для нашего контроллера это будет следующая платформа модуля ''nodemcuv2'' (Фото 4):
  
 
  esphome:
 
  esphome:
   name: vlaga
+
   name: $devicename
esp8266:
+
  platform: ESP8266
   board: esp01_1m
+
   board: nodemcuv2
# Enable logging
+
 
logger:
+
4.2) В разделе ''# Your Wi-Fi SSID and password'' отредактировать соответствующий раздел, указав точку доступа и пароль к ней. Предварительно необходимо узнать название wifi сети и пароль к ней. Без точки доступа WiFi — связь opentherm с homeassistant работать не будет (Фото 5).
  # Enable Home Assistant API
+
  # Your Wi-Fi SSID and password
api:
+
   wifi_ssid: "laser203"
   password: "12345678"  
+
   wifi_password: "laser203"
ota:
+
   password: "12345678"
+
wifi:
+
  ssid: laser203
+
  password: laser203
+
  # Enable fallback hotspot (captive portal) in case wifi connection fails
+
  ap:
+
    ssid: "Vlaga Fallback Hotspot"
+
    password: "12345678"
+
 
  captive_portal:
 
  captive_portal:
sensor:
+
  api:
  - platform: adc
+
  password: "12345678"
    pin: A0
+
  ota:
    name: "humidity"
+
  password: "12345678"
    accuracy_decimals: 1
+
 
    filters:
+
 
      - lambda: return x * (-248.0) + 172.0;
+
4.3) В разделе ''platform: homeassistant'' исправить значение сущности датчика температуры ''entity_id: sensor.temperature_sensor'' на тот сенсор, от которого у вас будет приходить значение температуры в жилой комнате. Например это может быть ''sensor.temperatur_1'':
      - sliding_window_moving_average:
+
  -platform: homeassistant
        window_size: 12
+
    id: temperature_sensor
        send_every: 4
+
    entity_id: '''sensor.temperatur_1'''
     unit_of_measurement: "%"  
+
     name: "Actual temperature"
    update_interval: 60s
+
  
Заходим [https://github.com/rsciriano/ESPHome-OpenTherm по адресу]  скачиваем ZIP архив, разархивируем его в нужной директории.
 
  
Производим изменения внутри файла.    1. Копируем содержимое репозитория в папку /config/esphome в HA
+
5) Далее нам нужно скомпилировать, с линковать и загрузить новый бинарник прошивки в плату контроллера OpenTherm.
    2. Устанавливаем номера пинов для адаптера SmartTherm в файле /config/esphome/esphome-opentherm/opentherm_component.h inPin = D7; outPin=D8
+
рис
+
  
Если инстанс На в режиме супервайзер, то для  специального дополнения в HA это сделать проблематично.
+
5.1)Из командной строки можно собирать прошивку и загрузить ее в девайс командой:
Идем в Настройки→Дополнения→Магазин дополнений→ поиск дополнений, в строке поиска вводим SSH
+
  $ esptool -cd nodemcu -cf Smart_Therm_0.1.2_20220318.bin
 +
$ esptool write_flash 0x00000 Smart_Therm_0.1.2_20220318.bin
  
нажать Install, должен появится примерно вот такой вывод из которого нам станет ясно, что наш IP адрес устройства 192.168.9.102 и наш WIFI SSID: 'laser203'
+
5.2) Если инстанс НА в режиме супервайзер, то для удобства загрузки прошивки в ESP контроллер можно установить и воспользоваться специальным дополнением с графическим интерфейсом из браузера. Для этого идем в Настройки>>Дополнения>>Магазин дополнений>>поиск дополнений, в строке поиска вводим сначала одно дополнение '''SSH''', устанавливаем и запускаем его, затем второе дополнение '''ESPHome''', устанавливаем и запускаем его тоже.
 +
После запуска дополнительного приложения '''ESPHome''', осуществляем сборку и прошивку прошивки в контроллер. Для этого нам нужно на первый раз присоединить наш контроллер OpenTherm к HA через USB шнур. Нажимаем ''Install'', выбираем способ прошивки устройства: '''Plug into the computer running ESPHome Dashbord''', (Фото 6) должен появится примерно вот такой вывод из которого нам станет ясно, что наш IP адрес устройства 192.168.9.102 и наш WIFI SSID: 'laser203' работает нормально.
  
 
  INFO Reading configuration /config/esphome/vlaga.yaml...
 
  INFO Reading configuration /config/esphome/vlaga.yaml...
Строка 133: Строка 149:
 
  [12:09:15][C][wifi:377]:  DNS2: 0.0.0.0
 
  [12:09:15][C][wifi:377]:  DNS2: 0.0.0.0
 
    
 
    
++++++++++++++++++++++++
 
5. В Настройках обновить фирмату ESPHome, на вопрос указать либо пароль, либо API ключ, в нашем случае это пароль 12345678
 
И тогда должно появиться значение в сенсоре и в карточке на панеле.
 
  
 +
В дальнейшем перепрошивать контроллер уже можно будет без шнура USB, через WIFI, выбирая первый пункт меню ''Wirelessly'' (Фото 6)
  
Ссылки на полезные ресурсы
 
1. OpenTherm Arduino/ESP8266 Library + OpenTherm Adapter Schematic
 
https://github.com/ihormelnyk/opentherm_library
 
  
2. OpenTherm protocol specification v2.2
+
=== Размещаем визуальные компоненты на панели Home Assitant ===
http://ihormelnyk.com/Content/Pages/opentherm_library/Opentherm%20Protocol%20v2-2.pdf
+
Если прошло все нормально, то теперь ваш котел принимает команды от HA, и обменивается данными с HA. Чтобы построить графики и задать комфортные параметры вашего дома вы можете сделать следующее:
 +
# Выполните интеграцию ESP, укажите помещение в котором у вас будет установлен сам контроллер с датчиком температуры (Фото 7, Фото 8)
 +
# Убедитесь, что все объекты opentherm стали доступными (Фото 9, фото 10)
 +
# Добавьте их на лицевую панель HA (Фото 11)
  
3. https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103
+
{| align="center" class="standard"
 +
|+
 +
| [[Файл:Smarttherm12.png |link=http://wiki.laser.ru/images/9/97/Smarttherm12.png |120px|thumb|left|(Фото 7)]]
 +
| [[Файл:Smarttherm13.png |link=http://wiki.laser.ru/images/d/dc/Smarttherm13.png |160px|thumb|left|(Фото 8)]]
 +
| [[Файл:Smarttherm14.png |link=http://wiki.laser.ru/images/c/cb/Smarttherm14.png |160px|thumb|left|(Фото 9)]]
 +
|-
 +
| [[Файл:Smarttherm15.png.png |link=http://wiki.laser.ru/images/a/a2/Smarttherm15.png.png |160px|thumb|left|(Фото 10)]]
 +
| [[Файл:Smarttherm16.png |link=http://wiki.laser.ru/images/d/d4/Smarttherm16.png |160px|thumb|left|(Фото 11)]]
 +
|}
  
4. https://github.com/Evgen2/SmartTherm
+
Параметры OpenTherm на панели Home Assistant доступны следующие (Фото 11):
 +
# PID Climate Autotune — лучше не трогать, пусть всегда будет выключен.
 +
# Heating Water — Уставка воды теплоносителя, регулируется в диапазоне таким образом, чтобы либо чаще включалась горелка (Комфортный режим), либо экономилось топливо (Экономный режим). На фото установлена в диапазоне min=14 °C, max=59 °C
 +
# Hot Water — горячая вода для мытья рук, сантехнических нужд. На фото установлена max= 44 °C
 +
# PID Climate Controller — Диапазон регулировки управления климатом в доме. Будет срабатывать горелка при изменении на 10 градусов теплоносителя. 21.5 С — температура воздуха в комнате
 +
# Так же представлены текущие состояния различных параметров, где можно посмотреть историю их изменений.
  
5. https://github.com/OldNavi/OpenThermController
 
  
=== Как настроить интеграцию ===
+
После этого вы можете радостно покрутить крутилки и повертеть вертелки.
Для настройки интеграции нужно выполнить следующие действия
+
  
=== Как покуртить разные крутилки и вертелки ====
+
=== История изменений параметров в графиках ===
для крутилок нужно повертеть вертелки
+
{| align="center" class="standard"
 +
|+
 +
! |Горячая вода для кухни и обогрев дома
 +
! |Температура бойлера и модуляция бойлера
 +
! |Бойлер, нагрев, обратка, температура в комнате
 +
|-----
 +
| [[Файл:Горячая вода и обогрев.png |link=http://wiki.laser.ru/images/0/0e/Горячая_вода_и_обогрев.png |260px|thumb|left|Фото 12]]
 +
| [[Файл:Температура бойлера и модуляция бойлера.png |link=http://wiki.laser.ru/images/a/a5/Температура_бойлера_и_модуляция_бойлера.png |260px|thumb|left|Фото 13]]
 +
| [[Файл:Бойлер, нагрев, обратка, температура в комнате.png |link=http://wiki.laser.ru/images/3/39/Бойлер%2C_нагрев%2C_обратка%2C_температура_в_комнате.png|260px|thumb|left|Фото 14]]
 +
|}
  
=== Как посмотреть разные графики===
+
== Ссылки на полезные ресурсы ==
очень интересные разные графики
+
1. Библиотека реализующая протокол OpenTherm https://github.com/ihormelnyk/opentherm_library
  
[[Файл:Smarttherm16.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
2. OpenTherm protocol specification v2.2 (PDF)
 
+
http://ihormelnyk.com/Content/Pages/opentherm_library/Opentherm%20Protocol%20v2-2.pdf
 
+
[[Файл:Smarttherm11.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
 
+
 
+
[[Файл:Smarttherm14.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
 
+
[[Файл:Smarttherm13.png|link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
  
[[Файл:Smarttherm15.png.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
3. Open source for SmartTherm ESP8266/ESP32 OpenTherm controller https://github.com/Evgen2/SmartTherm
  
[[Файл:Smarttherm12.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
4. OpenThermController for BAXI Slim https://github.com/OldNavi/OpenThermController
  
[[Файл:SmarTherm схема.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
5. Интеграция OpenTherm от Павла Чупаки https://github.com/rsciriano/ESPHome-OpenTherm
  
[[Файл:St12.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
6. Где купить контроллер SmartTherm https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103
  
[[Файл:St11.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
7. Инструкция по подключению контроллера [https://www.umkikit.ru/prog/userguideSmartOT_01e.pdf SmartTerm и его использованию]
  
[[http://wiki.laser.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Install_esp_opentherm.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
8. [http://wiki.laser.ru/images/a/ab/SmarTherm_схема.png SmartTherm схема контроллера]
 +
[[Файл:SmarTherm схема.png |link=http://wiki.laser.ru/images/a/ab/SmarTherm_схема.png |260px|thumb|left|(Фото)]]
  
[[Файл:St21.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
+
[[Категория:Home Assistant]]

Текущая версия на 18:15, 7 июля 2023

Это черновик статьи. Вероятно, статья находится в процессе написания.

Подключение контроллера SmartTherm к HomeAssistant

(Фото 1) Котел отопительный газовый Ferroli(Италия), подключение к контроллеру SmartTherm

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

Предварительные шаги

Выбор газового котла с протоколом OpenTherm

Убедитесь, что выбранный вами для покупки котёл поддерживает цифровую шину передачи данных OpenTherm. Если в инструкции на сайте производителя котла указано, что OpenTherm имеется и указан разъем для его подключения, то проблемы нет. Однако не все производители газовых котлов пишут в инструкции к котлу о наличии такой возможности, не все продавцы и инженеры по обслуживанию газовых котлов знают о наличии такого протокола, не всегда поддержка, даже от пафосных дистрибьюторов, например, котлов Bosсh и Buderus, сможет оказать вам помощь.

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

Список газовых котлов, поддерживающих OpenTherm можно посмотреть тут.

Выбор контроллера OpenTherm

На рынке имеется некоторое количество контроллеров, поддерживающих OpenTherm. В некоторых случаях, например, для большинства контроллеров Zont для подключения OpenTherm требуется отдельный адаптер за отдельную цену. Кроме того, и прошивка, и схемотехника этих контроллеров закрыты.

Контроллер SmartTherm использует открытый дизайн, свободный код прошивки, использует популярные контроллеры ESP со встроенным WiFi, позволяет легко обновлять прошивку под свои нужды. Кроме работы с OpenTherm, контроллер может измерять температуру с двух выносных датчиков температуры DS18b20. Цена контроллера достаточно демократичная.

Для подачи питания и программирования контроллера используется разъем micro USB

Подключение контроллера SmartTherm к газовому котлу

Примерный порядок подключения контроллера SmartTherm к газовому котлу
Контроллер SmartTherm, вид спереди, без крышки
Контроллер SmartTherm, вид сверху
Обесточте питание котла
Снимите крышку с котла
На контроллере котла, удалите перемычку в разъеме OpenTherm, и подключите провод
Двужильный провод ПВС 0.75 кв — отмечен черной спиралькой
При необходимости, пройдите проводом сквозь стену в жилое помещение
Другой конец провода присоедините к контроллеру SmartTherm, подключите термодатчики, подайте питание


Максимальный выходной ток — 1.2 A

Максимальное выходное напряжение — 5 В

Установка Home Assistant

Для того чтобы постоянно получать данные от работающего котла, анализировать их и принимать решения по экономии топлива, необходимо использовать приложение Home Assitant, которое разработано всемирным сообществом профессионалов и энтузиастов DIY, при этом является свободно распространяемым. Home Assistant интегрируется с более чем тысячей различных устройств и сервисов. После того, как вы интегрировали все свои устройства дома, вы можете использовать усовершенствованный механизм автоматизации Home Assistant, чтобы ваш дом работал на вас. Home Assistant взаимодействует с вашими устройствами локально и откажется от загрузки данных из облака, если нет другого варианта. Данные не хранятся в облаке, все обрабатывается локально. Home Assistant позволяет вам контролировать потребление энергии с помощью функции управления домашним энергопотреблением.

Для того чтобы развернуть это приложение и использовать его, вам понадобится постоянно работающий у вас дома сервер или постоянно включенный одноплатный контроллер ARM архитектуры типа Raspberry Pi, Orange Pi, Repka Pi, или аналогичные. Как установить и настроить работу приложения Home Assistan, вы можете узнать из официальной документации на английском языке, или из руководства по установке HA на русском языке.

Пожалуйста, обратите внимание, что при выборе варианта установки, вам будет проще работать с дополнительным приложением ESPHome, когда вы выберите режим установки Superviser, а не CORE. Хотя получить взаимодействие контроллера SmartTherm с приложением Home Assistant возможно в любом варианте установки.

Установка автоматизации ESPHome OpenTherm в Home Assistant

(Фото 2) Smartherm — настройка интеграции
(Фото 3)
(Фото 4)
(Фото 5)
(Фото 6)

После того, когда вы убедились, что ваша установка приложения HA выполнена успешно, вам необходимо добавить в HA новое ESP устройство — плату управления котлом OpenTherm (Фото 2), для этого необходимо сделать следующее:

1) Скачать с GitHub репозитория от Roberto Sanz архив. Разархивировать его на вашем HA, например в папку /config.

2) Установить в HA из магазина дополнений утилиту ESPHome (это будет возможно если вы установили ваш HA в режиме Superviser). Если у вас HA установлен в режиме CORE, то для прошивки контроллера из командной строки, вам нужно будет установить утилиту для работы с ESP32 esptool:

# apt-get update
# apt-get install esptool

3) В конфигурационном файле для адаптера SmartTherm, /config/esphome/esphome-opentherm/opentherm_component.h необходимо задать номера пинов (Фото 3):

inPin = D7;

outPin = D8;

4) В файле /config/esphome/opentherm.yaml необходимо внести следующие правки:

4.1) В разделе esphome указать какой контроллер используем. Список возможных контроллеров можно взять — отсюда для ESP8266 или от сюда для ESP32 для нашего контроллера это будет следующая платформа модуля nodemcuv2 (Фото 4):

esphome:
 name: $devicename
 platform: ESP8266
 board: nodemcuv2

4.2) В разделе # Your Wi-Fi SSID and password отредактировать соответствующий раздел, указав точку доступа и пароль к ней. Предварительно необходимо узнать название wifi сети и пароль к ней. Без точки доступа WiFi — связь opentherm с homeassistant работать не будет (Фото 5).

# Your Wi-Fi SSID and password
 wifi_ssid: "laser203"
 wifi_password: "laser203"
captive_portal:
 api:
  password: "12345678" 
 ota:
  password: "12345678"


4.3) В разделе platform: homeassistant исправить значение сущности датчика температуры entity_id: sensor.temperature_sensor на тот сенсор, от которого у вас будет приходить значение температуры в жилой комнате. Например это может быть sensor.temperatur_1:

 -platform: homeassistant
   id: temperature_sensor
   entity_id: sensor.temperatur_1
   name: "Actual temperature"


5) Далее нам нужно скомпилировать, с линковать и загрузить новый бинарник прошивки в плату контроллера OpenTherm.

5.1)Из командной строки можно собирать прошивку и загрузить ее в девайс командой:

$ esptool -cd nodemcu -cf Smart_Therm_0.1.2_20220318.bin
$ esptool write_flash 0x00000 Smart_Therm_0.1.2_20220318.bin

5.2) Если инстанс НА в режиме супервайзер, то для удобства загрузки прошивки в ESP контроллер можно установить и воспользоваться специальным дополнением с графическим интерфейсом из браузера. Для этого идем в Настройки>>Дополнения>>Магазин дополнений>>поиск дополнений, в строке поиска вводим сначала одно дополнение SSH, устанавливаем и запускаем его, затем второе дополнение ESPHome, устанавливаем и запускаем его тоже. После запуска дополнительного приложения ESPHome, осуществляем сборку и прошивку прошивки в контроллер. Для этого нам нужно на первый раз присоединить наш контроллер OpenTherm к HA через USB шнур. Нажимаем Install, выбираем способ прошивки устройства: Plug into the computer running ESPHome Dashbord, (Фото 6) должен появится примерно вот такой вывод из которого нам станет ясно, что наш IP адрес устройства 192.168.9.102 и наш WIFI SSID: 'laser203' работает нормально.

INFO Reading configuration /config/esphome/vlaga.yaml...
INFO Starting log output from vlaga.local using esphome API
INFO Successfully connected to vlaga.local
[12:31:17][I][app:102]: ESPHome version 2023.3.2 compiled on May 29 2023, 12:25:21
[12:31:17][C][wifi:504]: WiFi:
[12:31:17][C][wifi:362]:   Local MAC: 84:F3:EB:53:42:61
[12:31:17][C][wifi:363]:   SSID: [redacted]
[12:31:17][C][wifi:364]:   IP Address: 192.168.9.102
[12:31:17][C][wifi:365]:   BSSID: [redacted]
[12:31:17][C][wifi:367]:   Hostname: 'vlaga'
[12:31:17][C][wifi:369]:   Signal strength: -33 dB ▂▄▆█
[12:31:17][C][wifi:373]:   Channel: 1
[12:31:17][C][wifi:374]:   Subnet: 255.255.255.0
[12:31:17][C][wifi:375]:   Gateway: 192.168.9.1
[12:31:17][C][wifi:376]:   DNS1: 192.168.9.1
[12:31:17][C][wifi:377]:   DNS2: 0.0.0.0
[12:31:17][C][logger:293]: Logger:
[12:31:17][C][logger:294]:   Level: DEBUG
[12:31:17][C][logger:295]:   Log Baud Rate: 115200
[12:31:17][C][logger:296]:   Hardware UART: UART0
[12:31:17][C][adc:087]: ADC Sensor 'humidity'
[12:31:17][C][adc:087]:   Device Class: 'voltage'
[12:31:17][C][adc:087]:   State Class: 'measurement'
[12:31:17][C][adc:087]:   Unit of Measurement: '%'
[12:31:17][C][adc:087]:   Accuracy Decimals: 1
[12:31:17][C][adc:092]:   Pin: GPIO17
[12:31:17][C][adc:126]:   Update Interval: 60.0s
[12:31:17][C][captive_portal:088]: Captive Portal:
[12:31:17][C][mdns:108]: mDNS:
[12:31:17][C][mdns:109]:   Hostname: vlaga
[12:31:17][C][ota:093]: Over-The-Air Updates:
[12:31:17][C][ota:094]:   Address: vlaga.local:8266
[12:31:17][C][ota:097]:   Using Password.
[12:31:17][C][api:138]: API Server:
[12:31:17][C][api:139]:   Address: vlaga.local:6053
[12:31:17][C][api:143]:   Using noise encryption: NO9.1
[12:09:15][C][wifi:377]:   DNS2: 0.0.0.0
    	

В дальнейшем перепрошивать контроллер уже можно будет без шнура USB, через WIFI, выбирая первый пункт меню Wirelessly (Фото 6)


Размещаем визуальные компоненты на панели Home Assitant

Если прошло все нормально, то теперь ваш котел принимает команды от HA, и обменивается данными с HA. Чтобы построить графики и задать комфортные параметры вашего дома вы можете сделать следующее:

  1. Выполните интеграцию ESP, укажите помещение в котором у вас будет установлен сам контроллер с датчиком температуры (Фото 7, Фото 8)
  2. Убедитесь, что все объекты opentherm стали доступными (Фото 9, фото 10)
  3. Добавьте их на лицевую панель HA (Фото 11)
(Фото 7)
(Фото 8)
(Фото 9)
(Фото 10)
(Фото 11)

Параметры OpenTherm на панели Home Assistant доступны следующие (Фото 11):

  1. PID Climate Autotune — лучше не трогать, пусть всегда будет выключен.
  2. Heating Water — Уставка воды теплоносителя, регулируется в диапазоне таким образом, чтобы либо чаще включалась горелка (Комфортный режим), либо экономилось топливо (Экономный режим). На фото установлена в диапазоне min=14 °C, max=59 °C
  3. Hot Water — горячая вода для мытья рук, сантехнических нужд. На фото установлена max= 44 °C
  4. PID Climate Controller — Диапазон регулировки управления климатом в доме. Будет срабатывать горелка при изменении на 10 градусов теплоносителя. 21.5 С — температура воздуха в комнате
  5. Так же представлены текущие состояния различных параметров, где можно посмотреть историю их изменений.


После этого вы можете радостно покрутить крутилки и повертеть вертелки.

История изменений параметров в графиках

Горячая вода для кухни и обогрев дома Температура бойлера и модуляция бойлера Бойлер, нагрев, обратка, температура в комнате
Фото 12
Фото 13
Фото 14

Ссылки на полезные ресурсы

1. Библиотека реализующая протокол OpenTherm https://github.com/ihormelnyk/opentherm_library

2. OpenTherm protocol specification v2.2 (PDF) http://ihormelnyk.com/Content/Pages/opentherm_library/Opentherm%20Protocol%20v2-2.pdf

3. Open source for SmartTherm ESP8266/ESP32 OpenTherm controller https://github.com/Evgen2/SmartTherm

4. OpenThermController for BAXI Slim https://github.com/OldNavi/OpenThermController

5. Интеграция OpenTherm от Павла Чупаки https://github.com/rsciriano/ESPHome-OpenTherm

6. Где купить контроллер SmartTherm https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103

7. Инструкция по подключению контроллера SmartTerm и его использованию

8. SmartTherm схема контроллера

(Фото)