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

Материал из ЭНЭ
Перейти к: навигация, поиск
(Установка Home Assistant)
(Установка автоматизации ESPHome OpenTherm в Home Assistant)
Строка 54: Строка 54:
  
 
== Установка автоматизации ESPHome OpenTherm в Home Assistant ==
 
== Установка автоматизации ESPHome OpenTherm в Home Assistant ==
 +
[[Файл:Smarttherm11.png |link=http://wiki.laser.ru/images/f/f9/Smarttherm11.png |160px|thumb|left|(Фото 2) Smartherm - настройка интеграции]]
  
Если у вас есть газовый котел отопления частного дома, то чтобы добавить в HA новое ESP устройство -например плату управления котлом Opentherm от контроллера Home Assistant (foto1 ), необходимо сделать следующее.
+
После того, когда вы убедились, что ваша установка приложения HA выполнена успешно, вам необходимо добавить в HA новое ESP устройство - плату управления котлом OpenTherm (Фото 2 ), для этого необходимо сделать следующее:
  
-- Скачать с репозитория бинарный файл. КАк его править, это отдельная история. Нам нужно например получить бинарник fig3.bin http:// ...
+
1) Скачать с GitHub репозитория [https://github.com/rsciriano/ESPHome-OpenTherm от Павла Чупаки] архив. Разархивировать его на вашем HA, например в папку /''config''.
-- установить утилиту для прошивки бинатрного файла linux - в сам контроллер ESP32  esptool
+
2) Установить в HA из магазина дополнений утилиту ESPHome (это будет возможно если вы установили ваш HA в режиме Superviser). Если у вас HA установлен в режиме CORE, то для прошивки контроллера вам нужно будет из командной строки установить утилиту для работы с ESP32  esptool
-- залить бинарник в плату командой, указав какой контроллер мы испоьзуем. Спсок возможных контроллеров можно взять - отсюда..
+
# apt-get update
Для прошивки новой версии программы в контроллер вам нужно :
+
# apt-get install esptool
1. Скачать файл с новой версии с сайта:
+
3) В конфигурационном файле подправить  номера пинов для адаптера SmartTherm, они находятся в файле ''/config/esphome/esphome-opentherm/opentherm_component.h''
https://www.umkikit.ru/dowload/Smart_Therm_0.1.2_20220318.bin
+
'''inPin = D7; outPin=D8''' (Фото 3)
2. Установить у себя утилиту esptool из командной строки из root
+
[[Файл:St21.png |link=http://wiki.laser.ru/images/3/3e/St21.png |260px|thumb|left|(Фото 3)]]
# apt-get update
+
4) В файле ''/config/esphome/opentherm.yaml'' в разделе ''platform: homeassistant'' исправить значение сущности датчика температуры ''entity_id: sensor.temperature_sensor'' на тот сенсор, от которого у вас будет приходить значение температуры в жилой комнате. Например это может быть ''sensor.temperatur_1''
# apt-get install esptool
+
  - platform: homeassistant
3. Обновить прошивку из той директории, где находится скачанный файл (Linux)
+
    id: temperature_sensor
$ esptool -cd nodemcu -cf Smart_Therm_0.1.2_20220318.bin
+
    entity_id: sensor.temperatur_1
$ esptool -cd nodemcu -cf figa3.bin
+
    name: "Actual temperature"
$ esptool write_flash 0x00000 figa3.bin
+
5) Узнать название wifi сети и пароль к ней. Отредактировать соответствующий раздел файла ''/config/esphome/opentherm.yaml'' , указав точку доступа и пароль к ней. Без точки доступа WiFi  - эта связь работать не будет.  
 
+
  # Your Wi-Fi SSID and password
 
+
   wifi_ssid: "laser203"
-- Для начала установить ESP HOME  на linux
+
   wifi_password: "laser203"
-- Установить 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).  
+
 
+
 
+
++++++++++++++++++++++++
+
1. Уточнить что это за устройство - у нас это
+
esp8266:
+
  board: esp01_1m
+
 
+
++++++++++++++++++++++++
+
2. Узнать название wifi сети и пароль к ней. У нас эта информация храниться в файле
+
 
+
 
+
# Your Wi-Fi SSID and password
+
wifi_ssid: "laser203"
+
wifi_password: "laser203"
+
 
+
Осуществить сборку модуля и прошивку его в модуль ESP
+
 
+
-- дальше нужно крутить крутилки и вертеть вертелки - файлы скриншотов  в Изображение
+
 
+
 
+
=== Как сконфигурировать ESP ===
+
3. Скопировать файл конфигурации для ESPHome  у нас это файл следующим содержанием
+
INFO Reading configuration /config/esphome/vlaga.yaml...
+
 
+
 
+
esphome:
+
  name: vlaga
+
esp8266:
+
  board: esp01_1m
+
  # Enable logging
+
logger:
+
# Enable Home Assistant API
+
api:
+
   password: "12345678"  
+
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;
+
      - sliding_window_moving_average:
+
        window_size: 12
+
        send_every: 4
+
    unit_of_measurement: "%"  
+
    update_interval: 60s
+
 
+
Заходим [https://github.com/rsciriano/ESPHome-OpenTherm по адресу]  скачиваем ZIP архив, разархивируем его в нужной директории.
+
 
+
Производим изменения внутри файла.    1. Копируем содержимое репозитория в папку /config/esphome в HA
+
    2. Устанавливаем номера пинов для адаптера SmartTherm в файле /config/esphome/esphome-opentherm/opentherm_component.h inPin = D7; outPin=D8
+
рис
+
  
Если инстанс На в режиме супервайзер, то для специального дополнения в HA это сделать проблематично.
+
6) Скомпилировать, с линковать и загрузить новый  бинарник в плату контроллера OpenTherm командой, указав какой контроллер мы используем. Список возможных контроллеров можно взять - отсюда: esp8266:  board: esp01_1m
Идем в Настройки→Дополнения→Магазин дополнений→ поиск дополнений, в строке поиска вводим 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'
+
7) Если инстанс НА в режиме супервайзер, то  для  удобства загрузки прошивки в ESP контроллер устанавливаем специальное дополнение. Идем в Настройки→Дополнения→Магазин дополнений→ поиск дополнений, в строке поиска вводим сначала одно дополнение SSH, устанавливаем и запускаем его , затем второе дополнение ESPHome, устанавливаем и запускаем его тоже.
 +
После запуска дополнительного приложения ESPHome, осуществляем сборку и прошивку прошивки в контроллер. Для этого нам нужно на первый раз  присоединить наш контроллер OpenTherm  к HA через USB шнур. Нажимаем ''Install'', выбираем способ прошивки устройства, должен появится примерно вот такой вывод из которого нам станет ясно, что наш IP адрес устройства 192.168.9.102 и наш WIFI SSID: 'laser203' работает нормально.
  
 
  INFO Reading configuration /config/esphome/vlaga.yaml...
 
  INFO Reading configuration /config/esphome/vlaga.yaml...
Строка 187: Строка 125:
 
  [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
 
И тогда должно появиться значение в сенсоре и в карточке на панеле.
 
  
 +
=== Размещаем визуальные компоненты на панеле Home Assitant ===
 +
Если прошло все нормально , то теперь ваш котел работает  под управлением HA. Чтобы построить графики и задать комфортные  параметры вашего дома:
 +
# выполните интеграцию ESP
 +
# Убедитесь, что все объекты open therm  стали доступными
 +
# зафиксируйте их на лицевой панели HA
  
Ссылки на полезные ресурсы
+
[[Файл:Smarttherm12.png |link=http://wiki.laser.ru/images/a/a9/Smarttherm12.png |160px|thumb|left|(Фото 4)]]
1. OpenTherm Arduino/ESP8266 Library + OpenTherm Adapter Schematic
+
https://github.com/ihormelnyk/opentherm_library
+
  
2. OpenTherm protocol specification v2.2
+
[[Файл:Smarttherm14.png |link=http://wiki.laser.ru/images/a/a9/Smarttherm14.png |160px|thumb|left|(Фото 5)]]
http://ihormelnyk.com/Content/Pages/opentherm_library/Opentherm%20Protocol%20v2-2.pdf
+
 
 +
[[Файл:Smarttherm13.png|link=http://wiki.laser.ru/images/a/a9/Smarttherm13.png |160px|thumb|left|(Фото 6)]]
 +
 
 +
[[Файл:Smarttherm15.png.png |link=http://wiki.laser.ru/images/a/a9/Smarttherm15.png |160px|thumb|left|(Фото 7)]]
  
3. https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103
 
  
4. https://github.com/Evgen2/SmartTherm
 
  
5. https://github.com/OldNavi/OpenThermController
 
  
=== Как настроить интеграцию ===
 
Для настройки интеграции нужно выполнить следующие действия
 
  
=== Как покуртить разные крутилки и вертелки ===
+
пто вы можете крутить  крутилки и повертеть вертелки.
для крутилок нужно повертеть вертелки
+
 
 +
 
  
 
=== Как посмотреть разные графики===
 
=== Как посмотреть разные графики===
 
очень интересные разные графики
 
очень интересные разные графики
  
[[Файл:Котел без крышки.jpg |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
 
  
  
[[Файл:Smarttherm11.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
 
  
 +
== Ссылки на полезные ресурсы==
 +
1. OpenTherm Arduino/ESP8266 Library + OpenTherm Adapter Schematic
 +
https://github.com/ihormelnyk/opentherm_library
 +
 +
2. OpenTherm protocol specification v2.2
 +
http://ihormelnyk.com/Content/Pages/opentherm_library/Opentherm%20Protocol%20v2-2.pdf
 +
 +
3. https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103
 +
 +
4. https://github.com/Evgen2/SmartTherm
 +
 +
5. https://github.com/OldNavi/OpenThermController
  
[[Файл: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|(Фото)]]
 
  
[[Файл:Smarttherm12.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
 
  
 
[[Файл:SmarTherm схема.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
 
[[Файл:SmarTherm схема.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
Строка 235: Строка 178:
  
 
[[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|(Фото)]]
 
[[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|(Фото)]]
 
[[Файл:St21.png |link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]]
 

Версия 14:53, 4 июля 2023

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

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

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

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

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

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

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

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

Адаптер OpenTherm

Приобретите контроллер с адаптером для OpenTherm, например это может быть контроллер SmartTherm В котором используется плата NodeMSU v3 на основе ESP8266 или ESP32. Протокол связи Wi-Fi, cвязь между котлом и контроллером осуществляется по двужильному кабелю. Допускается длина кабеля - не боле 3 м. Преимущество этого контроллера в том, что кроме поддержки OpenTherm контроллер может измерять температуру с двух выносных датчиков температуры DS18b20 и обрабатывать один аналоговый сигнал.

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



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

Разъем кабеля - micro USB

Максимальный выходной ток - 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 - настройка интеграции

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

1) Скачать с GitHub репозитория от Павла Чупаки архив. Разархивировать его на вашем 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 inPin = D7; outPin=D8 (Фото 3)

(Фото 3)

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

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

5) Узнать название wifi сети и пароль к ней. Отредактировать соответствующий раздел файла /config/esphome/opentherm.yaml , указав точку доступа и пароль к ней. Без точки доступа WiFi - эта связь работать не будет.

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

6) Скомпилировать, с линковать и загрузить новый бинарник в плату контроллера OpenTherm командой, указав какой контроллер мы используем. Список возможных контроллеров можно взять - отсюда: esp8266: board: esp01_1m

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

7) Если инстанс НА в режиме супервайзер, то для удобства загрузки прошивки в ESP контроллер устанавливаем специальное дополнение. Идем в Настройки→Дополнения→Магазин дополнений→ поиск дополнений, в строке поиска вводим сначала одно дополнение SSH, устанавливаем и запускаем его , затем второе дополнение ESPHome, устанавливаем и запускаем его тоже. После запуска дополнительного приложения ESPHome, осуществляем сборку и прошивку прошивки в контроллер. Для этого нам нужно на первый раз присоединить наш контроллер OpenTherm к HA через USB шнур. Нажимаем Install, выбираем способ прошивки устройства, должен появится примерно вот такой вывод из которого нам станет ясно, что наш 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
    	

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

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

  1. выполните интеграцию ESP
  2. Убедитесь, что все объекты open therm стали доступными
  3. зафиксируйте их на лицевой панели HA
(Фото 4)
(Фото 5)
(Фото 6)
(Фото 7)



пто вы можете крутить крутилки и повертеть вертелки.


Как посмотреть разные графики

очень интересные разные графики



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

1. OpenTherm Arduino/ESP8266 Library + OpenTherm Adapter Schematic https://github.com/ihormelnyk/opentherm_library

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

3. https://www.umkikit.ru/index.php?route=product/product&path=67&product_id=103

4. https://github.com/Evgen2/SmartTherm

5. https://github.com/OldNavi/OpenThermController



(Фото)
(Фото)
(Фото)

[|link=http://wiki.laser.ru/images/a/a9/Raspberripi4_sd_card.png |260px|thumb|left|(Фото)]