Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 12.3 KB

ESP-OT.md

File metadata and controls

43 lines (26 loc) · 12.3 KB

ESP-Opentherm

ESP-Opentherm это проект контроллера на основе ESP8266/ESP32 для управления работой котла по протоколу Opentherm с помощью адаптера (https://github.com/miksumin/ESP-Repo/wiki/Адаптер-Opentherm) или его аналогов.

Прошивка контроллера использует гибкий или "обучаемый" алгоритм взаимодействия с котлом, при котором после старта прошивки происходит однократный опрос всех DataID, описанных в протоколе Opentherm, на предмет получения разумного ответа от котла и маркировкой DataID, на которые котел не отвечает. В дальнейшей работе с котлом используются только такие "читаемые" DataID. Таким образом прошивка подстраивается под конкретную модель котла. Первичный опрос занимает около 15 сек, но работа основного цикла прошивки при этом не блокируется, т.к. все запросы делаются в асинхронном режиме.

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

Пример кода - версия Lite

В папке \ESP-OT-Lite находится исходный код версии Lite, использующей ядро v1 (без полного опроса всех DataID). Код выложен для примера, поэтому не дорабатывается и не поддерживается автором. Скетч обеспечивает подключение к WiFi сети и взаимодействие с котлом по стандартному алгоритму последовательного опроса основных DataID. Скетч включает в себя веб-интерфейс для отображения данных и управления настройками котла. Данный код при желании может быть самостоятельно доработан под свои потребности. Здесь же можно найти собранный вариант такой прошивки для контроллера Wemos D1 mini / NodeMCU. Подключение адаптера стандартное. . Расшифровка ответов котла в приведенном коде сделана только для тех ID, которые поддерживает мой котел Buderus Logamax U072. Расшифровка других ID может быть добавлена самостоятельно. В частности, в процессе тестирования выяснилось, что мой котел поддерживает запрос "Fan Speed" (ID35), которого нет в описании протокола Opentherm версии 2.2.

Рабочая версия прошивки

В папке \ESP-OT-Prod находятся рабочие сборки текущей стабильной версии прошивки для различных контроллеров, включающие в себя стандартный набор функциональных модулей, перечисленных в файле \BuildInfo.md

ESP-OT-2.1.4.d1_mini.bin - прошивка для контроллера Wemos D1 mini (NodeMCU). Подключение OT адаптера: выход адаптера (входной сигнал контроллера от котла) - пин D2 (GPIO-04), вход адаптера (выходной сигнал контроллера на котел) - пин D1 (GPIO-05). Подключение датчика DS18B20 - пин D5 (GPIO-14). Период опроса датчика и интервал расчета термостата 30 сек.

ESP-OT-2.1.4.d1_mini32.bin - прошивка для контроллера ESP32 D1 mini. Подключение OT адаптера: выход адаптера (входной сигнал контроллера от котла) - пин GPIO-21, вход адаптера (выходной сигнал контроллера на котел) - пин GPIO-22. Подключение датчика DS18B20 - пин GPIO-18. Период опроса датчика и интервал расчета термостата 30 сек. Также возможно подключение безпроводных датчиков.

ESP-OT-2.1.5.esp32.bin - сборка прошивки для модуля контроллера ESP32 Dev Module. Подключение OT адаптера: выход адаптера (входной сигнал контроллера от котла) - пин GPIO-21, вход адаптера (выходной сигнал контроллера на котел) - пин GPIO-22. Подключение датчика DS18B20 - пин GPIO-18. Период опроса датчика и интервал расчета термостата 30 сек. Также возможно подключение безпроводных датчиков.

ESP-OT-2.1.5.wt32-eth01.bin - сборка прошивки для модуля контроллера WT32-ETH01, который используется совместно с адаптером версии 2 (https://github.com/miksumin/ESP-Repo/wiki/Адаптер-Opentherm#opentherm-adapter-shield-для-wt32-eth01). Для взаимодействия с адаптером используются пин GPIO-14 - выход адаптера (входной сигнал контроллера от котла) и пин GPIO-12 - вход адаптера (выходной сигнал контроллера на котел). Данный вариант адаптера вместе с модулем контроллера продается в виде готового устройства в небольшом корпусе размерами 65х25х20 мм и не предусматривает подключение проводных датчиков. Для работы с таким устройством могут быть использованы BLE датчики Xiaomi (LYWSD03MMC).

Возможны и другие аппаратные решения, например сборка контроллера на основе платы модуля ESP32 DevKit с адаптером и дисплеем (при необходимости) в стандартном корпусе на DIN-рейку.

После запуска прошивки делается попытка использовать данные последнего удачного подключения к WiFi сети (моргает светодиод). При отсутствии таких данных, либо при невозможности подключения к сети, указанной в настройках прошивки, запускается режим точки доступа (горит светодиод), SSID ESP-XXXXXX, пароль 12345678. Подключение к вашей WiFi сети выполняется с помощью веб-страницы "Configure WiFi", либо указанием данных подключения в настройках прошивки.

Все версии прошивки используют файл конфигурации с настройками, который хранится во flash памяти контроллера и доступен для редактирования пользователем через веб-интерфейс. Описание настроек параметров файла конфигурации - https://github.com/miksumin/ESP-OT/wiki/Параметры-файла-конфигурации-прошивки. Все доступные параметры работы прошивки отправляются MQTT брокеру. Управление работой прошивки, включая упарвление работой котла и термостата, также доступно через MQTT брокер. Полный перечень используемых MQTT топиков с подробным описанием - https://github.com/miksumin/ESP-OT/wiki/Описание-MQTT-топиков.

Получить отчет о конфигурации вашего котла, а также о поддерживаемых вашим котлом DataID, возможно с помощью ссылки "OT report" на странице "Opentherm".

В прошивке реализована возможность интеграции по протоколу MQTT с другими системами, в том числе Home Assistant, для которой реализована возможность нативной интеграции с помощью механизма HA Autodiscovery. Данный механизм автоматически формирует в HA описание нескольких устройств - это собственно сам контроллер, котел (Boiler), Термостат и BLE датчики. Описание использования данного функционала - https://github.com/miksumin/ESP-Repo/wiki/Интеграция-Home-Assistant

Версия прошивки для тестирования

В папке \ESP-OT-Test находятся сборки тестовых версий прошивки, включающих в себя дополнительный функционал, который находится в стадии тестирования и отладки. Перечень дополнительных функциональных модулей, включенных в тестовые сборки прошивки, перечислен в файле \BuildInfo.md

Активация рабочей версии прошивки

После установки и запуска скачанной прошивки она будет работать в полнофункциональном демо-режиме, который обеспечивает подключение к выбранной WiFi сети, формирование отчета поддерживаемых котлом DataID, отображение основных параметров работы котла, управление работой котла в ручном режиме или с помощью термостата через веб-интерфейс прошивки. Ограничение демо-режима - текущие установки режимов работы не сохраняются и происходит автоматический перезапуск прошивки каждые 24 часа с использованием значений по умолчанию. Управление работой прошивки в демо-режиме возможно только через веб-интерфейс, управление работой прошивки по MQTT в демо-режиме недоступно.

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