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

Материал из УМКИwiki
Перейти к навигации Перейти к поиску

Подключение контроллера 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.

$ cd config/
$ git clone https://github.com/rsciriano/ESPHome-OpenTherm

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)Из командной строки можно собирать прошивку и загрузить ее в девайс по порту /dev/ttyUSB0 командой:

$ esptool -cd nodemcu -cf firmware.bin
$ esptool --port /dev/ttyUSB0 --baud 460800 write_flash  -fm dio 0x00000 firmware.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 http://meteor.laser.ru/umki/images/d/da/Список_котлов_OpenTherm.pdf

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

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

4. Репозиторий на GitHub. Open source for SmartTherm ESP8266/ESP32 OpenTherm controller https://github.com/Evgen2/SmartTherm

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

6. Интеграция OpenTherm в HomeAssistant с использованием ESPHome https://github.com/rsciriano/ESPHome-OpenTherm

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

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

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

(Фото)