[eBUS 2.0] New binding - Release Candidate 7b

Tags: #<Tag:0x00007faed9fab420> #<Tag:0x00007faed9faa160>

Ah, thank you. It’s already fixed :slight_smile:


You can select the new serial driver from PaperUI under Thing configuration. Maybe it runs better as NRJava library ?!

This warning is normal with the fix 1 version, I’ ll update a new version next days. It runs well in my own environment.

I noticed that I don’t get any data with the standard Things but with the specific one, yes.

I am trying to decrease the log level for ebus binding (OH 2.4), unsuccessfully so far.

As per https://www.openhab.org/docs/administration/logging.html I set in userdata/etc/org.ops4j.pax.logging.cfg:

# Common pattern layout for appenders
#log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n

# MK: trying to log less
log:set WARN org.openhab.binding.ebus

# Root logger
log4j2.rootLogger.level = WARN

However, the userdata/logs/openhab.log still shows every polling command:

2018-12-31 23:45:09.030 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Poll command "ebus:protherm:9aa30074:08:protherm_boiler_modulation-pump#modulation-pump" with "FF 08 B5 09 03 0D 73 00 3F" ...

This fills up the logs fairly quickly (I use 5 minutes interval). Any idea how to set a lower logging level than INFO?

P.S. Happy New Year!

you mixed up something, you should use this command on your console, not in the logging configuration file. You can also define the logging level in this file, but you should use the other entries as example.

1 Like

You’re right, I did not read carefully enough and misunderstood the CLI command as a directive to be added manually to config file :frowning:

@csowada, I use NRJava from the beginning.
When I set jSerialComm I cannot connect to eBus adapter at all (IO exeption). And when I set /dev/ttyUSB0 everything works the same.
How can I debug it more? I mean, setting the DWH program.

Edit1: OK. This is sent: β€œFF 15 B5 09 04 0E 42 00 01 07 00 00 00”;SET > vrc430.dhw.program_dhw_circuit but it doesn’t work :(.

Edit2: Looking at john30 repo and 15.470.csv file, the β€œDHW_OPMode” (4200) is in developer’s info described as β€œr”, so only to read?

I don’t know how I missed this thread but I’ve only just seen it. My boiler is by Worcester-Bosch, does anyone know if this binding works with Worcester-Bosch boilers? I’ve seen references to WB boilers supporting EMS BUS, is this different to eBUS?

Hello everyboby. I have a EBus Ethernet Coupler and the heating system from Vaillant VWS 82/3. I have searched the right csv Files form John30(github).

And now i donΒ΄t understand how i can use this openhab binding for create a own configuration file. What must i do.

Hi i have a Vaillant VWS 82/3 and i want use the new files. Here my ebus.cfg
Can everybody check is everythink ok because i will find a lot of slave but i donΒ΄t prase any value








Have you already had the chance to look into the WARN topic of fix 1 release? Iβ€˜m also getting quite a lot of these warning messages in my log files.

Best regards

I am trying to get the binding working with an Ebus Adapter 2.2 that I order on the FHEM forum: https://forum.fhem.de/index.php?topic=75878.0

The adapter itself works fine on a dedicated Pi Zero W using ebusd, but as I understood it from reading this thread, the binding can not connect to the ebusd ports. Instead the device itself has to be forwarded over network using socat. I found the example in the readme and tried to forward the device this way, but I only get a socat error as soon as I create the Ebus Bridge using paper ui:

2019/02/12 15:19:51 socat[4200] E read(5, 0xe52f58, 8192): Bad address

Has anybody bought the same adapter and got it working with the binding? Or is the adapter not compatible with the binding? I already tried to get help in the FHEM forum, but there are no responses as of yet.

Thanks and regards,

Maybe the readme is a bit outdated. So if you found the correct settings it would be nice to share the details here.

I could not get it to work with socat, so I tried ser2net. This worked with the following line in /etc/ser2net.conf:

8888:raw:0:/dev/ttyebus:2400 8DATABITS NONE 1STOPBIT

Edit: is it normal that it detects the VRC430 and BAI00 as eBUS Standard 8 and 15? From reading the readme I would have expected that the devices are detected correctly without additional config files.

Hi i have all the time error:
==> /var/log/openhab2/openhab.log <==
2019-02-14 20:38:33.263 [ERROR] [e.csdev.ebus.core.EBusControllerBase] - Error while firing onTelegramReceived events!
java.lang.NullPointerException: null
at de.csdev.ebus.command.datatypes.std.EBusTypeBit.decodeInt(EBusTypeBit.java:49) ~[271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at de.csdev.ebus.command.datatypes.std.EBusTypeBit.decodeInt(EBusTypeBit.java:1) ~[271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at de.csdev.ebus.command.datatypes.EBusAbstractType.decode(EBusAbstractType.java:106) ~[271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at de.csdev.ebus.command.EBusCommandUtils.decodeValueList(EBusCommandUtils.java:374) ~[271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at de.csdev.ebus.command.EBusCommandUtils.decodeTelegram(EBusCommandUtils.java:426) ~[271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at de.csdev.ebus.service.parser.EBusParserService.onTelegramReceived(EBusParserService.java:94) ~[271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at de.csdev.ebus.core.EBusControllerBase$2.run(EBusControllerBase.java:119) [271:de.cs-dev.ebus.ebus-core:0.9.19.SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]

I am still having problems getting the binding to work. After using ser2net, the binding can connect and finds the two eBUS Standard 8 and 15 things, so basic communication seems to work.

But the binding is not able to correctly identify the devices:

openhab> smarthome:ebus devices
MA | SA | Identifier     | Device         | Manufacture               | ID | Firmware   | Hardware   | Last Activity       
FF | 04 |                | <interface>    | eBUS Library              |    | null       | null       | ---                 
10 | 15 |                | ---            | null                      |    | null       | null       | Sat Feb 16 09:13:12 CET 2019
03 | 08 |                | ---            | null                      |    | null       | null       | Sat Feb 16 09:13:12 CET 2019
MA = Master Address / SA = Slave Address / ID = Manufacture ID

Ebusd info command shows this:

version: ebusd 3.3.v3.3-12-g5af41df
update check: revision v3.3-4-g212b22d available, broadcast.csv: different version available, vaillant/15.430.csv: different version available, vaillant/bai.0010003886.inc: different version available, vaillant/broadcast.csv: different version available, vaillant/errors.inc: different version available, vaillant/hcmode.inc: different version available
signal: acquired
symbol rate: 22
max symbol rate: 115
min arbitration micros: 20
max arbitration micros: 178
min symbol latency: 4
max symbol latency: 5
reconnects: 0
masters: 3
messages: 425
conditional: 16
poll: 0
update: 9
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.0010003886.inc" ([PROD='0010009351']), "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

So it looks like the HW is working correctly (I only run ebusd or openhab, not both at the same time).

If I now create the BAI and VRC430 things manually, they only show values for DateTime and for Operational Data of Burner Control Unit to Room Control Unit.

Heating partial load D.000 for example shows NaN, even though the value can be read with ebusd without problems.

If I now enable β€œPolling all channels” for the BAI thing, I can see that polling does not work in the log file:

09:23:05.207 [INFO ] [nhab.binding.ebus.handler.EBusHandler] - Poll command "ebus:bai:c8dda524:bai_boiler_temp-cylinder#temp-cylinder" with "FF 08 B5 09 03 0D 17 00 52" ...
09:23:05.827 [DEBUG] [inding.ebus.handler.EBusBridgeHandler] - eBUS telegram error; Received SYN byte while receiving telegram! [ERROR: INVALID_SYN, DATA: FF 08 B5 0D 00 AA]
09:23:05.955 [DEBUG] [inding.ebus.handler.EBusBridgeHandler] - eBUS telegram error; Master Data Length too large! [ERROR: INVALID_MASTER_LEN, DATA: FF 08 B5 0D]
09:23:05.956 [DEBUG] [inding.ebus.handler.EBusBridgeHandler] - eBUS telegram error; Unable to send telegram FF 08 B5 09 03 0D 17 00 52 after 2 attempts ... [ERROR: TOO_MANY_ATTEMPS, DATA: FF 08 B5 09 03 0D 17 00 52]

Not a single poll succeeds, all values remain uninitialized.

I first tried this with the config file that comes with the binding, later I added https://raw.githubusercontent.com/csowada/ebus-configuration/master/src/main/resources/commands/vaillant-bai00-configuration.json to the binding configuration. That did not help.

This is what I have installed:

openhab> bundle:list .*ebus.*
START LEVEL 100 , List Threshold: 50
 ID β”‚ State  β”‚ Lvl β”‚ Version            β”‚ Name
255 β”‚ Active β”‚  80 β”‚ 0.9.19.SNAPSHOT    β”‚ eBUS library configuration
256 β”‚ Active β”‚  80 β”‚ 0.9.19.SNAPSHOT    β”‚ eBUS core library
257 β”‚ Active β”‚  80 β”‚ β”‚ eBUS Binding
openhab> feature:info ebus-binding
Feature ebus-binding 2.4.0.RC3-fix1
  eBUS 2.0 binding incl. eBUS core libs
Feature has no configuration
Feature has no configuration files
Feature depends on:
  openhab-transport-serial 0.0.0
Feature contains followed bundles:
  mvn:org.openhab.binding/org.openhab.binding.ebus/2.4.0-SNAPSHOT start-level=80
Feature has no conditionals.

Anybody with an idea on what the problem might be or what else to try?

I thing it is the network delay. Could you try to optimize your ser2net settings? Try to avoid any kind of buffer. You need quick responses after the first byte if you send something.

Okay, i have now disabled all delays and buffers in ser2net, but that does not change anything. Has anybody got this working over network? This looks to me like it won’t regardless of the configuration…

Edit: it seems to work better when using socat on the openHAB server to create a device and then configuring the ebus thing to read from that device instead of from the network port. It discovers the correct Vaillant things and polling works most of the time.

Could you tell more about your current setup. Maybe it is helpful for other users. I’ll try to start my development environment to try out different things to optimize the delay.