Статья

Общаемся с котлом по E-BUS (часть 2)

Full House

Еще раз напомню о поставленных нами целях и что в итоге мы хотим получить:

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

Как вы уже поняли, в этой части мы более детально познакомимся с программной частью управления, напишем свои модули на nodejs и многое другое. Поехали!

Итак, быстрый поиск показал, что уже есть некое решение на гитхабе от комрада из Германии. Автор проделал огромную работу по реверс-инжинирингу ebus и добавлению конфигурации для самых популярных котлов и комнатных регуляторов. Потратив несколько вечеров на изучение пакета, могу резюмировать: пакет состоит из главного демона ebusd, который осуществляет прослушку шины E-Bus в реал-тайме, осуществляет отправку и прием сообщений на линию. Для взаимодействия с ebusd, на данный момент, существует 3 способа:

C помощью TCP клиента на порт 8888 демона.С помощью HTTP API (пока что работает только на чтение).С помощью MQTT (наш вариант!).

Также имеются несколько вспомогательных консольных утилит для взаимодействия с демоном: ebusctl (по сути, простой TCP клиент) и ebusfeed (отправка бинарных дампов на линию).

И на этом моменте сделаю небольшое отступление в сторону настройки нашего адаптер-переходника, который мы спаяли в прошлой статье. Автор заботливо написал прошивку для ESP8266, превращая ее в некий TCP-UART мост, ip адрес и порт которого мы впоследствии укажем ebusd. Процесс загрузки прошивки подробно указан в описании репозитория, после загрузки появляется точка доступа "ebus-******" и подключившись к ней, переходим по адресу 192.168.4.1

В 1 и 2 пункте указываем AP и пароль нашего роутера, а также в 5 пункте меняем настройку на "Swapped D7 D8". Если все прошло гладко, то на странице Status можно будет лицезреть следующую запись: 

Также запоминаем первую строку (в нашем случае это 192.168.1.30:9999), указывающую какой ip получила платка. Порт для подключения ebusd по дефолту: 9999. Все, настройка модуля закончена, перейдем к установке и настройке ebusd на Wirenboard.

Скачиваем последнюю версию.deb пакета для stretch c поддержкой MQTT.

wget https://github.com/john30/ebusd/releases/download/v3.4/ebusd-3.4_armhf-stretch_mqtt1.deb

Устанавливаем:

dpkg -i ebusd-3.4_armhf-stretch_mqtt1.deb

Редактируем файл конфигурации.

nano /etc/default/ebusd

Меняем строку с параметрами на 

EBUSD_OPTS="--scanconfig --device=192.168.1.30:9999 --mqttport=1883"

Опция --scanconfig позволяет автоматически выбрать.csv файл для модели нашего котла и регулятора, который автоматически скачается с сервера разработчика (если он есть в наличии). Может оказаться так, что нужной конфигурации для найденного на шине оборудования нет и придется писать.csv шаблон вручную. Но надеемся, что нам повезет)

Итак, запустим уже наконец демон:

systemctl start ebusd systemctl enable ebusd

И просканируем нашу шину для отображения найденных устройств:

ebusctl scan result

Получаем такой результат:

08;Vaillant;BAI00;0316;0903;21;16;49;0010015256;3100;006057;N2

15;Vaillant;37000;0130;6002;21;16;20;0020108146;0082;005159;N2

Из этого следует, что на шине два устройства с адресами 08 и 15 соответственно. Первое устройство - это сам котел, а второе - это комнатный регулятор серии 370. Отлично! 

Чтобы узнать параметры, доступные нам, выполним команду:

ebusctl find

DisplayedRoomTemp - отображаемая температура с датчика температуры, встроенного в комнатный регулятор.Hc1DayTemp - требуемая дневная температура.Hc1NightTemp - требуемая ночная температура.DisplayedHwcStorageTemp - отображаемая температура ГВС.HwcTempDesired - требуемая температура ГВС.currenterror - ошибки котла.

Для чтения параметров используется функция read, например, для считывания текущей температуры выполняем команду :

ebusctl read DisplayedRoomTemp -f

Для записи параметров на шину используем команду write, например, для записи требуемой дневной температуры в комнатный регулятор выполним:

ebusctl write Hc1DayTemp -c 370 22.0

-c 370 в данном случае - это circuit name комнатного регулятора, если нужно обратиться к котлу то -c bai

Итак! Разобрались с базовыми командами, теперь перейдем к MQTT .

Приведу формат топиков для считывания и записи дневной температуры, запрос других параметров осуществляется по аналогии: 

Вот таким нехитрым способом осуществляется прием и передача параметров на шину. Ну что ж, пол дела выполнено, но хотелось бы прокинуть все UI WirenBoard, чтобы было удобно и функционально))

Для облегчения задачи нами были написаны следующие модули на node.js:

wirenboard-mqtt-proxy - осуществляет проксирование любых mqtt топиков в формат WB.wirenboard-module - менеджер модулей для WB.wirenboard-module-ebus - модуль для работы с EBUS.

Все, что теперь потребуется - это установить пару модулей и прописать требуемые параметры для отображения. Приступим:

curl -sL https://deb.nodesource.com/setup_12.x | bash - apt-get install -y nodejs git make g gcc build-essential npm i -g wirenboard-mqtt-proxy wirenboard-mqtt-proxy start wirenboard-mqtt-proxy enable

После этого в UI WB появится следующее виртуальное устройство:

Данный прокси является демоном, позволяя линковать любые топики с топиками, понятными WB. Например: у нас есть топик от ebusd : "ebusd/370/DisplayedRoomTemp", нам его нужно прилинковать на "/devices/test/controls/t_current" чтобы он появился в UI WB. Параметр topics указывает, сколько топиков в данный момент залинкованы. Не буду углубляться вглубь, если кому интересно, код и описание модуля полностью opensource.

Далее устанавливаем менеджер пакетов WB модуль ebus:

npm i -g wirenboard-module wirenboard-module ebus

Создаем скрипт на WB, в котором добавляем виртуальное устройство с нужными нам параметрами:

var ebus = require("ebus"); ebus.start({ id: "heating_home", title: "Heating home (ebus)", parameters: { temperature: { id: "370", name: "DisplayedRoomTemp", type: "temperature" }, target_day: { id: "370", name: "Hc1DayTemp", type: "range", max: 35 }, target_night: { id: "370", name: "Hc1NightTemp", type: "range", max: 35 }, boiler_t: { id: "370", name: "DisplayedHwcStorageTemp", type: "temperature" }, boiler_target: { id: "370", name: "HwcTempDesired", type: "range", max: 100 }, boiler_error: { id: "bai", name: "currenterror", type: "text" }, } });

Все, теперь любуемся результатом:

На этом в принципе все, если необходимо прокинуть данные в Homekit, то это уже дело техники с помощью пакета MQTTThing.Спасибо всем, кто дочитал до конца, надеюсь мне удалось немного освятить эту тему! P.S Спасибо всем, кто в прошлой статье поддержал идею о создании отдельного модуля на DIN рейку с поддержкой EBUS Ethernet Modbus Wifi POE. Он уже готов и заказан!)
P.S.S Теперь ищу добровольцев, кто сможет одолжить котел Viallant на время написания и тестирования ПО для данного девайса. Надеюсь добрые люди найдутся)

Круто! Очень интересно и важно, только жаль для wb(

Как я понимаю, не имеет значения куда вы интегрируете данный адаптер. Это всего лишь железка которая превращает один протокол связи в другой)

Все тоже самое можно проделать и на raspberry. Для интеграции с HA существует https://www.home-assistant.io/integrations/ebusd/">плагин. На данный момент у меня есть 5 адаптеров ebus из первой части статьи)

Могу одолжить котел. Но он в Севастополе))

Вопрос, можно ли, посредством «врезания» в шину е-Bus, эмулировать VR-91 ?

Вопрос # 2, что необходимо чтобы стать счастливым обладателем данного адаптера?

1) думаю что можно, но пока что не копал в этом направлении

2) время)

Я тоже готов купить такой адаптер

я нашёл человека в Киеве, у которого есть такие адаптеры (eBus-UART) (штук 20)
но ему неудобно отправлять мне в Россию только один, ищу "собутыльников". Вам актуально?

Я уже купил My Heat Smart и успешно привязал его к Home Assistant'у, но ради интереса готов приобрести и такой адаптер. При условии, что цена будет небольшой, а также к адаптеру будет нужный софт.

вот бы кто-нить похожее для EMS шины придумал

Уже есть https://github.com/proddy/EMS-ESP">решение на гите, касаемо EMS шины

Если необходимо, могу помочь с тестированием на оборудовании Protherm.

Написал на почту)

КАк прошел тест на protherm?

Ничего не было. В итоге я купил переходник с EBUS на USB и его использую.

Что за проводник? Какой у него функционал? Где его можно купить?

Спасибо большое за огромный труд!


Где и как можно заказать данный адаптер? Могу помочь с тестированием на котле Wolf.

Адаптер для ESP8266 (из первой части статьи) есть около 5 штук готовых. Модуль-адаптер из этой части статьи пока что жду пока железо придет, чтобы начать тесты

я нашёл человека в Киеве, у которого есть такие адаптеры (eBus-UART) (штук 20) но ему неудобно отправлять мне в Россию только один, ищу "собутыльников". Вам актуально?

Спасибо за статью.Очень полезная. 

Могу предоставить свой котел Protherm RAY (электрический, трехфазный, 14 кВт) для опытов. Территориально - Солнечногорск, МО.

Подскажите, у меня котел Ariston CLAS ONE в интернете пишут, что он тоже EBUS, это тот же EBUS?

Я написал Вам в первой части статьи. Еще раз хотел бы спросит по поводу Gerber файла. Можно его получить? Заранее спасибо за ответ.

Нашел в продаже устройство под названием "https://www.teplodvor.ru/microline-adapter-e-bus.html">Адаптер ZONT-EBUS". Цена относительно божеская. По документам предназначен для сопряжения e-Bus'ных котлов с ZONTами. На выходе имеет некую "К-линию".
Вопрос такой. Никто это устройство не исследовал на предмет возможного подключения к ESP8266/ESP32 для дальнейшей интеграции в систему умного дома?

Исследовал, уперся в K-Line, не задокументирована и протокол закрыт. В общем проще самому сделать, чем чужое копать)

Жалко. Я бы с удовольствием приобрел более-менее готовый блок, чтобы подцепить его к ESP. Но никто их не продает.

я нашёл человека в Киеве, у которого есть такие адаптеры (eBus-UART) (штук 20) но ему неудобно отправлять мне в Россию только один, ищу "собутыльников". Вам актуально?

Так и не купили

Кто-то знает, где можно купить готовый адаптер ebus/usb или ebus/uart?

я нашёл человека в Киеве, у которого есть такие адаптеры (eBus-UART) (штук 20) но ему неудобно отправлять мне в Россию только один, ищу "собутыльников". Вам актуально?

Как прошло тестирование модуля на DIN рейку? Есть возможность заказать модуль?

Есть жгучее желание приобрести e-bus адаптер из первой части статьи. Котел Protherm Panther+Thermolink P.

Присоединяюсь к этому пожеланию. Есть возможность приобрести адаптер?

И я бы не отказался купить такой девайс.

Куплю девайс за разумную цену

Или расскажите где и как можно заказать

Проект заглох?

 Я тут порылся в Интернете на тему, где добыть или как сделать самому eBus-шлюз для интеграции в Умный дом. Ситуация такая - немецкие разработчики убрали из открытого доступа макеты печатных плат, как они пишут, "по понятным соображениям". А "понятные соображения" такие - организовать мелкосерийное производство приборов и продавать их желающим. Ну, понятное дело - все хотят заработать. Проблема в другом - их коммерческий проект развалися уже несколько лет тому назад - то есть, и купить прибор нельзя, и самому сделать тоже практически невозможно. Ситуация тупиковая.

И у меня есть такое подозрение, что наш топикстартер тоже решил "закоммерциализировать" этот проект, чтобы заработать немножко денюжек.

Снова замечу, что ничего плохого тут нет. Если цена приемлемая, то я купил бы себе прибор. Но вопрос - где купить?

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

Спасибо за ссылку, но... Если кто не знает немецкого, то фраза "Dieses Angebot wurde beendet" означает, что данный товар больше не продается.

Игорь, я Вам давал ссылку, когда" Dieses Angebot" был еще в силе, две недели назад.;)

В России можно тут купить

https://ectostroy.ru/products/adapter-ebus">https://ectostroy.ru/products/...

Это совсем не тот адаптер, который к нашему вопросу не относится. Этот адаптер работает только с системой ЭктоКонтроль - т.е., там надо еще и контроллер системы покупать за 10 тыс. руб., да еще и непонятно, как )и можно ли) эту самоую систему ЭктоКонтроль привязать к Home Assistant или подобной системе.

Случайно наткнулся на интересный контроллер https://www.evan.ru/products/kontrollery_sistem_otopleniya/myheat_smart/">MyHeat SMART, выпускаемый фирмой "ЭВАН" (производство котлов отопления).


В паспортных данных написано "Интерфейсы 1-Wire.
BUS- универсальный, поддерживает
протоколы Opentherm, EBUS, Navien и LPB"


Вроде бы, как у него есть сво Web-интерфейс администрирования, и он подключается к общей сети через WiFi. Также есть мобильное приложение.

Стоит 11 900 руб.

Спасибо за очень полезную разработку! Можете ли Вы продать один адаптер или отправить gerber файлы (за деньги) ;)? Очень хочу прицепить Vaillant к НА.

Здравствуйте я тоже очень заитересован в таком устройстве. Можете ли Вы продать один адаптер?

Я заказывал адаптер под Распберри версии 2.2 в 2019 году прямо на сайте где тусят разработчики ebusd. У них есть темы по заказу адаптеров. Вот тема по версии 3 на сейчас https://forum.fhem.de/index.php/topic,117350.90.html . Пришел из Австрии где-то за $40. Сайт на немецком - я писал на английском. Платил пейпалом чуваку, который собирал заказы. Пришел без трека на мое отделение почты.
Но у них там сейчас проблемы с чипами и они думают на редизайном платы на другие чипы

Due to the chip crisis, some of our components will only be available again at the end of 2022 / beginning of 2023. If a miracle doesn't happen :-)
But we'll still think about whether a redesign might allow us to use components that were available earlier.
But I can't make any concrete statements about this at the moment, it has to be evaluated first.

Nevertheless, I ask all interested parties to simply enter themselves in the order list. This also helps us a little to estimate the need for a component order.
Озадачился изготовлением адаптера eBus-UART, о котором в данной ветке говорилось.
Так как планирую заказывать изготовление плат на заводе возник вопрос - существует ли интерес к данной теме ещё? Чтобы сразу несколько плат заказать. При необходимости могу сделать готовую плату проверить и переслать.

Вернуться назад
Вернуться назад