eBUS Binding [;

Have not found one file which on the whole SD-Card which ends with thing. Don’t know, where the config is stored which comes via UI…

But - I use the idea of the issue of this problem. Let start java with an own short script in the middel which gives the info for dedicated driver via
/usr/lib/jvm/java-17-openjdk-armhf/bin/java -DlibNRJavaSerial.userlib=/home/openhabian/libNR/libNRJavaSerialv5.so $*

First try was to use v5. Here the system do not crash, but ebus is not working
And I could see, that it was already set to jserialcomm. Have changed it - no success.
Now I can try with the different versions of libNRJavaSerial… will latest report, when it work (or when all of the variants not working)

And here is the result. The archive nrjavaserial-5.2.1.jar contains different native driver:
libNRJavaSerialv6_HF.so libNRJavaSerialv7_HF.so libNRJavaSerialv8_HF.so
libNRJavaSerialv5.so libNRJavaSerialv6.so libNRJavaSerialv7.so libNRJavaSerialv8.so
With all *HF.so driver the system crashed. With the other not - but serial interface do not work with NRJavaSerial. Only with jserialcomm with a but…

The but:
jserialcomm works only with ebus till version 3.1.13.
Seems those was the reason, why I went not to 3.2.14. The file was copied, but not in use. Do not really remember - but think it was not working.
Even ebus 3.3.16 is not working with jserialcomm.
So I have gone back to 3.1.3. Here ebus is working by using jserialcomm.

If I try to use NRJavaSerial with a … not restarting lib those messages come up:
2022-07-05 14:31:57.945 [WARN ] [s.internal.handler.EBusBridgeHandler] - Enable advanced logging for eBUS commands!
2022-07-05 14:31:58.158 [ERROR] [ion.EBusSerialNRJavaSerialConnection] - Unable to connect to serial port /dev/ttyUSB0
2022-07-05 14:31:58.243 [WARN ] [dev.ebus.core.EBusLowLevelController] - Retry to connect to eBUS adapter in 5 seconds …

Hello @Roland62, have you also tried the driver buildin? I could create a version with an older jserialcomm driver. But do you have a log that shows the issue with jserialcomm?

I thing I can reproduce the same issue, the jserialcomm driver ist just not loading and the bridge is in state undefined …

@csowada good to read … that all curious are not the reason of my old raspi.

In another thread the result is, that my old raspi is not supported by NRJavaSerial.
Seems I have to upgrade to a new raspi in the future…

By using the OH3.X Alternative Java serial provider I am able to use the eBUS binding 3.3.16. But seems those provider has problems with traffic on the eBUS. Get a lot of messages like

2022-07-07 18:59:30.222 [WARN ] [dev.ebus.core.EBusLowLevelController] - Received byte 0xAA is not equal to send byte 0x15! Stop send attempt 

Have seen jSerialComm is active (in the bundle list)
If I try to activate it, an error message is coming up.

 ID │ State  │ Lvl │ Version │ Name
234 │ Active │  80 │ 2.5.3   │ jSerialComm

2022-07-07 18:54:55.525 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*

Today the packet came with the new Rapberry pi 4. Still waiting for the SD-Card and will change then from my old Raspi…


After upgrading to version 3.3.0 I have noticed that symlinks are not recognized by eBUS binding.

This is not a big issue as I have specified /dev/ttyUSB0 and it works.

However I am wondering whether there was a change in eBus binding in this case as I have 2 other binding with USB in which I use symlinks and they are OK after upgrade.

And also I have upgraded … my old Raspi PI build 1.2 again PI 4 4GB.
Very fast in comparison to the old one …
Have nothing changed for the system-configuration for serial and still the eBUS-Binding 3.3.16
And no error message failure by sending telegram to the ebus.

Even it works, I tried to change and test the Serial Service provider.
Here the eBUS is working after upgrade, configured (and working) for Serial Port Driver:
OpenHAB build-in (buildin)

There are three other options:
nrjavaserial (RXTX) (nrjavaserial)
jSerialComm (jserialcomm)

If I try to change the Serial Port Driver to one of them, I get the error message (example):

2022-07-08 21:03:48.095 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*

Later on - found a curious workaround. When I choose e.g. nrjavaserial as provider I have to set the device to /dev/ttyAMA0. That is stored, but do not work. In the next step I can hold those provider and change the device-entry to /dev/ttyUSB0. Than it is working.
Don’t know why, but it work.
Same steps to change the configuration to jSerialComm (Config can be changed and saved, but do not work).

Hi mates,

I am running eBUS Binding 3.2.14 on a Raspberry Pi 3B under openHAB 3.2 and connect to the eBUS of my Wolf CGS-2-20/160 heating via the eBUS Adapter 3 but I have tons of unresolved telegrams (Unresolved telegram ratio of 44,5%).

Especially one telegram type that I am very interested in i.e. “Burner starts” cannot be resolved but seems to be defined properly in the default “wolf-cgb2-configuration.json”.

When querying that value using ebusd respective
ebusctl read brennerstarts
the correct value is returned but within openHAB the eBUS Binding only results in displaying NULL.

Some other values like the “Burner hours run” or temperatures like “Boiler return temperature” seem to be correctly retrieved from the heating system.

Apreciating your help/advise on how to solve this issue.

I attached an extract of the openhab.log and the ebus-unresolved.csv (extension changed to .log)

If you need further information please let me know.

Thank you in advance.


openhab (trunc).log (246.1 KB)
ebus-unresolved (trunc).log (820.4 KB)

Will not help directly … but I had equal issues with my vaillant
a) my solar modul (VMS8) is not supported and
b) some protocols where not implemented correctly or got not all of the parameters.
I created two custom-json files. They are getting the protocols. A quite hard way to find out what the content of the telegram is. But now my unknown telegrams are less then 0.1 %.
As an idea how you could create it attached my both files. (As written will not work directly for you - but hope will help to create own files for your environment).
vaillant-bai-custom-configuration.json (5.5 KB)
vaillant-vms02-configuration.json (4.1 KB)

@Roland62 Thank you, but AFAIK the Wolf CGS-2-20/160 heating system should be supported by the eBUS Binding out of the box (@csowada or am I wrong?) and most of the values/parameters are retrieved correctly.

But I still hope that it is only some kind of wrong/incorrect configuration on my side and anyone (maybe @csowada) can provide the expedient hint.

cheers, doktorpi

Hi, being very familiar with lots of openhab bindings I now wanted to make use of this one with my Vaillant Heat Pump. I use an ESERA USB adapter with ebusd which reports my Vaillant Heat Pump with the parameters below. All running on a Raspberry PI 3 (with openhabian)

Unfortunately I can’t get it working correctly in openhab. The ebus bridge in openhab goes offline after a couple of minutes staying online. I don’t see anything in the logs even though I switched “extended logging” on in the bridge.
As soon as I save the bridge in openhab (without changing any values) it goes online.
I have no clue what to enter as master hex code? FF was given automatically

I have added a VRC 700 general thing with slave adress 08 (I took the one from the ebusd ctl output). It also goes online but the outdoor item associated to it stay with value NULL. As soon as the brdige goes offline, the thing goes offline too.

  • Can someone spot anything wrong in my config?

Number HeatPump_outsidetemp "Vaillant Aussentemp [%.1f °C]" { channel="ebus:vrc700_general:4b5ab7a764:vrc700_general_gen_bc-temp-outside#temp-outside" }

My result with ebusctl info

version: ebusd 22.3.p20220508
update check: revision v22.3 available
device: /dev/ttyUSB0
signal: acquired
symbol rate: 24
max symbol rate: 109
min arbitration micros: 340
max arbitration micros: 483
min symbol latency: 5
max symbol latency: 6
reconnects: 0
masters: 3
messages: 67
conditional: 0
poll: 0
update: 10
address 00: master #1
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0307;HW=0403", loaded "vaillant/08.hmu.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd

my ebus bridge in openhab:
Network connection

  • Master adress: FF
  • Network Address: localhost
  • Network Port: 8888
  • Network Driver: ebusd

hi @Moerky

the item looks like mine.
Can you share your ebusd config under /etc/default/ebusd

Thank you @AlexKid - there I only have

This ist strange. You don’t specify your ebus device but maybe USB is the default. Try to add --enablehex.

Dear @csowada

I really like your binding! Thanks a lot for this contribution.
Can you please help me, I am still struggling to get my Vaillant VR61 MixerController detected.

This is the ebus console printout:

openhab> ebus devices
MA | SA | Identifier     | Device         | Manufacture               | ID | Firmware   | Hardware   | Last Activity
FF | 04 |                | <interface>    | eBUS Library              |    | null       | null       | ---
   | 50 | 56 36 31 30 30 | ---            | Joh. Vaillant GmbH & Co.  | B5 | 1.19       | 19.02      | Thu Sep 29 22:21:42 CEST 2022
FF | 04 |                | <interface>    | eBUS Library              |    | null       | null       | Thu Sep 29 22:21:28 CEST 2022
3F | 44 |                | ---            | null                      |    | null       | null       | Thu Sep 29 22:13:10 CEST 2022
10 | 15 | 34 33 30 30 30 | vrc430         | Joh. Vaillant GmbH & Co.  | B5 | 2.15       | 20.02      | Thu Sep 29 22:21:42 CEST 2022
03 | 08 | 42 41 49 30 30 | bai            | Joh. Vaillant GmbH & Co.  | B5 | 5.18       | 74.01      | Thu Sep 29 22:21:39 CEST 2022
7F | 84 |                | ---            | null                      |    | null       | null       | Thu Sep 29 22:13:10 CEST 2022
MA = Master Address / SA = Slave Address / ID = Manufacture ID

I downloaded the json configs from:

The json files are assigned in the binding configuration:

The openhab access to the other components like BAI and Controller430 are working fine. Just the Mixer Controller is missing.
The VR61 openhab thing is not discovered and can not be added with the (+) button.

However a generic “eBUS Standard (50)” thing is detected, but it does NOT contain the real VR61 items according to the custom configuration file.

If I run ebusd the VR61 is auto detected and I can read the values:

ebusctl i
version: ebusd 22.4.v22.4
device: /dev/ttyUSB0
signal: acquired
symbol rate: 37
max symbol rate: 120
min arbitration micros: 819
max arbitration micros: 2719
min symbol latency: 5
max symbol latency: 5
reconnects: 0
masters: 3
messages: 530
conditional: 20
poll: 0
update: 10
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.0010003857.inc" ([PROD='0010009343']), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=43000;SW=0215;HW=2002", loaded "vaillant/15.430.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 50: slave, scanned "MF=Vaillant;ID=V6100;SW=0119;HW=1902", loaded "vaillant/50.v61.mc.csv"

Your expert hint is much appreciated!

If I remember correctly VR61 is SA=50 and I have added the following line in the VR61.json file:

“identification”: [“56 36 31 30 30”],
“commands”: [
You can check if it works for you…

Hello @RafalO,
thanks for your reply. Yes, your are right, it is SA=50. I added the Identifier to the custom config file and rebooted, but the situation is not changed.
Would the custom thing show up in the manual binding configuration (after adding the manula json config link) or is it just assigned based on the auto discovery.

In my case it does not show up:

I rescanned, but just a generic “eBUS Standard (50)” thing is detected which does the items that I am looking for and that are present in the custom VR61.jason.

In my case its both: visible in inbox (autodiscovery) and it can be added manually. And I can see both generic/standard “50” thing and “VR61 50” thing. But I am not using V6100.50v61.mc…file.

You can try with my file which is a little bit limited version of VR61 functions:
VR61_RO.json (10.3 KB)

Hello @RafalO
thanks for your reply and the additional hin. Bingo, that was the resolution.
Finally my Vaillant VR61 controller got recognized with all the relevant items.
That was very helpful.