Еще раз напомню о поставленных нами целях и что в итоге мы хотим получить:
Эффективную работу котла, управляемого родным комнатным регулятором.Возможность изменять дневную и ночную температуру, а также температуру ГВС.Считывание и сброс ошибок котла.Синхронизация измененной через приложение температуры с комнатной панелью.Поддержка 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" }, } });
Все, теперь любуемся результатом:
Круто! Очень интересно и важно, только жаль для wb(
Как я понимаю, не имеет значения куда вы интегрируете данный адаптер. Это всего лишь железка которая превращает один протокол связи в другой)
Могу одолжить котел. Но он в Севастополе))
Вопрос, можно ли, посредством «врезания» в шину е-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-шлюз для интеграции в Умный дом. Ситуация такая - немецкие разработчики убрали из открытого доступа макеты печатных плат, как они пишут, "по понятным соображениям". А "понятные соображения" такие - организовать мелкосерийное производство приборов и продавать их желающим. Ну, понятное дело - все хотят заработать. Проблема в другом - их коммерческий проект развалися уже несколько лет тому назад - то есть, и купить прибор нельзя, и самому сделать тоже практически невозможно. Ситуация тупиковая.
И у меня есть такое подозрение, что наш топикстартер тоже решил "закоммерциализировать" этот проект, чтобы заработать немножко денюжек.
Снова замечу, что ничего плохого тут нет. Если цена приемлемая, то я купил бы себе прибор. Но вопрос - где купить?
Уважаемый автор! Назовите цену вашего прибора. А если не хотите заниматься коммерцией, то выложите, пожалуйста, макет печатной платы, чтбы желающие могли самостоятельно собрать себе это устройство.
Для Игора Бурундуковского. Версия платы 2.2 с немецкого форума.
https://www.ebay.de/itm/eBus-Adapterplatine-v2-2-PCB-fur-Vaillant-Wolf-Heizungen-und-FHEM-oder-openHAB/313351905104?hash=item48f53a9f50:g:MwUAAOSw8Stf3dti">https://www.ebay.de/itm/eBus-A...
Спасибо за ссылку, но... Если кто не знает немецкого, то фраза "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 к НА.
Здравствуйте я тоже очень заитересован в таком устройстве. Можете ли Вы продать один адаптер?
Но у них там сейчас проблемы с чипами и они думают на редизайном платы на другие чипы
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.
Так как планирую заказывать изготовление плат на заводе возник вопрос - существует ли интерес к данной теме ещё? Чтобы сразу несколько плат заказать. При необходимости могу сделать готовую плату проверить и переслать.