Ранее, в статье «Погодозависимая автоматика для газового котла своими руками. Технологии умного дома», было описано как я подключал адаптер цифровой шины ectoControl к своему газовому котлу. Можно заметить, что в статье приведено множество технических деталей и сложных настроек. Это связано с тем, что система была собрана из тех интеграций, что уже были представлены в HomeAssistant. Основной была интеграция Modbus, так как именно этот протокол управления реализован в адаптере.
Уже тогда я принял решение, что разработаю полноценную интеграцию для этих адаптеров (в линейке есть поддержка шин Navien, eBUS и OpenTherm). И вот в прошедшие выходные я закончил разработку и вышла версия v1.0.0.
В данной статье я рассмотрю функционал интеграции, её установку и настройку.
Функции интеграции
Интеграция предназначена для подключения к HomeAssistant адаптеров ectoControl, обеспечивающих управление газовыми и электрическими котлами по различным коммуникационным протоколам. В зависимости от модели адаптера поддерживаются такие протоколы, как eBUS, OpenTherm, Navien и другие.
После подключения адаптера к котлу и далее к HomeAssistant, вы получите полный набор всех возможных сенсоров и элементов управления, которые предоставляются адаптером в соответствии с документацией производителя. Перечислю только некоторые из них (остальные можно увидеть на скриншоте ниже):
Управление:
Режим работы (выключен, только ГВС, отопле��ие + ГВС)
Целевая Т. теплоносителя, °C
Целевая Т. ГВС, °C
Аварийная Т. теплоносителя, °C
Модуляция горелки, %
Перезагрузить адаптер
Сбросить ошибки котла
Сенсоры:
Связь с котлом (подключен/не подключен)
Состояние горелки (работает/не работает)
Состояние отопления (работает/не работает))
Состояние ГВС (работает/не работает))
Температура теплоносителя (в отопительном контуре), °C
Температура в контуре ГВС, °C
и т.д.
Всего на данный момент интеграцией предоставляется 46 объектов. Обращу внимание, что не все возможности управления и мониторинга, поддерживаются всеми котлами, например, изменение модуляции горелки и некоторые другие параметры поддерживаются не всеми котлами.

Интеграция поддерживает одновременное подключение нескольких адаптеров ectoControl, включая возможность подключения нескольких адаптеров подключенных к одной сети RS-485, за счёт наличия внутренней очереди команд на чтение/запись. Таким образом, каждым адаптером можно будет управлять независимо.
Интеграция поддерживает физическое подключение адаптера к компьютеру с HomeAssistant как через проводные конвертеры интерфейсов RS-485 <-> USB (последовательный порт), так и через конвертеры интерфейсов RS-485 <-> Ethernet или RS-485 <-> Wi-Fi (Modbus TCP).
Могу порекомендовать проводной конвертер RS-485 <-> Ethernet от компании ZLAN, модель ZLAN5143D. Низкая цена, отлично работает и полностью гальванически развязан. Плюсом поддерживает режим Multi-Master. Ниже приведу скриншот с настройками для подключения к адаптеру ectoControl в режиме Multi-Master.

Установка
Интеграция ещё не добавлена в HomeAssistant Community Store (HACS), и поэтому на данный момент существует только один способ её установки — через пользовательские репозитории.
Предварительно должен быть установлен сам HACS. Варианты установки описаны на официальном сайте.
Для установки:
Перейдите в HACS, далее нажмите три точки и в меню выберите пункт «Пользовательские репозитории».
В поле «Репозиторий» введите https://github.com/sokolovs/ec‑adapter, в поле «Тип» выберите «Интеграция» и нажмите «Добавить».
В поисковой строке вбейте «ectoControl» и перейдите в интеграцию.
На странице интеграции выберите три точки и в меню пункт «Скачать».
После необходимо выполнить рестарт HomeAssistant. Поздравляю, интеграция установлена.




Подключение адаптера
Перейдите в «Настройки → Устройства и службы» и нажмите «Добавить интеграцию».
В поиске введите «ectoControl» и выберите найденную интеграцию
Откроется диалог настройки подключения. В нем необходимо заполнить параметры подключения к адаптеру:
Заполните произвольное название (можно по модели котла). Будет создано устройство с данным именем.
Выберите тип подключения:
TCP, UDP, RTU over TCP в случае использования конвертера интерфейсов RS-485 <-> Ethernet или RS-485 <-> Wi-Fi. Обычно используется TCP, остальные варианты для нестандартного исполнения конвертера.
Serial в случае подключения через последовательный порт RS-485, встроенный или RS-485 <-> USB.
Укажите Slave/Unit ID, т.е. адрес устройства на шине. Производитель указывает в документации, что адрес по умолчанию 240 (0xF0 в HEX), но в моем случае почему-то оказался равным 1.
Нажмите «Подтвердить» и перейдите к следующему этапу. На следующем этапе, в зависимости от выбора типа подключения, будет разный набор параметров:
Для вариантов TCP, UDP, RTU over TCP нужно будет ввести IP + порт.
Для варианта Serial нужно будет заполнить путь к устройству последовательного порта. Обычно /dev/tty0 для встроенного порта и /dev/ttyUSB0 для RS-485 <-> USB. Посмотреть точно можно по выводу команды
dmesg. Все остальные параметры заполнены по умолчанию корректно и изменять их не требуется.
Нажимаем кнопку «Подтвердить». Будет проверена возможность подключения к устройству через опрос времени наработки. Если опрос пройдет успешно, то устройство будет добавлено.





Сценарии использования
После того как интеграция добавлена и ваш адаптер ectoControl успешно подключен, вы можете сразу начать управлять своим котлом. Это можно делать как вручную, так и с помощью автоматизаций.
Один из вариантов автоматизации я привёл в статье «Интеграция WDA Sensor для HomeAssistant: для чего она нужна и как ей пользоваться».
Замечания и предостережения
Обращаю внимание, что многие параметры регулирования в адаптере ectoControl записываются в ПЗУ (количество циклов записи-перезаписи 100к). Поэтому стоит избегать частого изменения с помощью автоматизаций. Этот кейс был подробно описан здесь.
Интеграция проверена мной на адаптере Navien, и я пока не могу дать гарантий корректной работы с другими адаптерами ectoControl. Описание протокола у всех адаптеров полностью идентичное, о чём сообщила и служба поддержки производителя, но натурных испытаний не проводилось. Надеюсь в данном вопросе на сообщество. Буду рад обратной связи.
Как обычно: вопросы, отзывы и критика приветствуются.