eBUS Binding 3.x [3.4.0;3.9.9)

Could you please change the log level to debug or trace. This should show the communication with ebusd, see post from @jpharvey .
But for me it looks like an old version that is cached somehow. On my dev environment it is correct generated with FF15....
Can you see the version info on binding start-up?

I can turn the logging down again, but for things like return_temp it never updates the values in openhab presumably because of the invalid length?
I am fairly sure i am getting good values in ebusd for those which are coming over as mqtt messages fine so it seems like something is wrong?

Binding version:

openhab> list |grep -i ebus
206 x Active x 80 x 1.0.2.SNAPSHOT x eBUS library configuration
207 x Active x 80 x 1.0.1.SNAPSHOT x eBUS core library
209 x Active x 80 x 2.5.1.202001031901 x openHAB Add-ons :: Bundles :: eBUS Binding
264 x Active x 80 x 1.0.6.202002091840 x eBUS library configuration
265 x Active x 80 x 1.0.6.202002091840 x eBUS core library

Trace log (I hope, that this is whole needed communication):

==> events.log <==
2020-02-12 22:31:07.718 [ome.event.ItemCommandEvent] - Item ā€˜VaillantVRC470_Vrc430HeatingProgramHeatingCircuitProgramā€™ received command 4
2020-02-12 22:31:07.724 [nt.ItemStatePredictedEvent] - VaillantVRC470_Vrc430HeatingProgramHeatingCircuitProgram predicted to become 4
2020-02-12 22:31:07.730 [vent.ItemStateChangedEvent] - VaillantVRC470_Vrc430HeatingProgramHeatingCircuitProgram changed from 2 to 4
==> openhab.log <==
2020-02-12 22:31:08.058 [DEBUG] [s.internal.handler.EBusBridgeHandler] - Received telegram from address FF to 10 with command heating.program_heating_circuit
2020-02-12 22:31:08.059 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=08, masterAddress=03, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.059 [TRACE] [s.internal.handler.EBusBridgeHandler] - Unknown telegram 10 50 B5 04 01 26 D9 00 07 02 04 00 2A 01 55 01 F5 00 AA
2020-02-12 22:31:08.060 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.060 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=null]
2020-02-12 22:31:08.061 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.061 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.062 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=10, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.062 [DEBUG] [ng.ebus.internal.handler.EBusHandler] - Handle received command by thing Vaillant VRC 470 with id ebus:vrc430:45630660:15 ā€¦
2020-02-12 22:31:08.063 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key program with value 4
2020-02-12 22:31:08.064 [DEBUG] [s.internal.handler.EBusBridgeHandler] - Received telegram from address FF to 10 with command Hc1OPMode
2020-02-12 22:31:08.064 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=08, masterAddress=03, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.065 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.065 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=null]
2020-02-12 22:31:08.065 [DEBUG] [ng.ebus.internal.handler.EBusHandler] - Handle received command by thing Vaillant VRC 470 xxx with id ebus:47000:119fb4e2 ā€¦
2020-02-12 22:31:08.066 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key Hc1OPMode with value 4
2020-02-12 22:31:08.066 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.067 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:08.067 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=10, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.060 [TRACE] [s.internal.handler.EBusBridgeHandler] - Unknown telegram 10 50 B5 04 01 37 C8 00 02 00 FF D3 00 AA
2020-02-12 22:31:10.063 [TRACE] [s.internal.handler.EBusBridgeHandler] - Unknown telegram 31 15 B5 09 03 0D 3D 58 4E 00 02 00 00 2C 00 AA
2020-02-12 22:31:10.063 [DEBUG] [s.internal.handler.EBusBridgeHandler] - Received telegram from address FF to 10 with command heating.program_heating_circuit
2020-02-12 22:31:10.064 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=08, masterAddress=03, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.064 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.062 [TRACE] [s.internal.handler.EBusBridgeHandler] - Unknown telegram 10 50 B5 05 02 18 00 34 00 00 00 00 AA
2020-02-12 22:31:10.061 [DEBUG] [s.internal.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.datetime
2020-02-12 22:31:10.065 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=08, masterAddress=03, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.066 [DEBUG] [ng.ebus.internal.handler.EBusHandler] - Handle received command by thing Vaillant BAI00 with id ebus:bai:45630660:08 ā€¦
2020-02-12 22:31:10.065 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=null]
2020-02-12 22:31:10.066 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.066 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key datetime with value null
2020-02-12 22:31:10.067 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key temp_outside with value 3.75
2020-02-12 22:31:10.068 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.069 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=10, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.069 [DEBUG] [ng.ebus.internal.handler.EBusHandler] - Handle received command by thing Vaillant VRC 470 with id ebus:vrc430:45630660:15 ā€¦
2020-02-12 22:31:10.070 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key program with value 4
2020-02-12 22:31:10.068 [DEBUG] [s.internal.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.setopdata
2020-02-12 22:31:10.071 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=08, masterAddress=03, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.070 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key status with value 0
2020-02-12 22:31:10.072 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.072 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=null]
2020-02-12 22:31:10.072 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.073 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.071 [DEBUG] [s.internal.handler.EBusBridgeHandler] - Received telegram from address FF to 10 with command Hc1OPMode
2020-02-12 22:31:10.074 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=08, masterAddress=03, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.073 [DEBUG] [ng.ebus.internal.handler.EBusHandler] - Handle received command by thing Vaillant BAI00 with id ebus:bai:45630660:08 ā€¦
2020-02-12 22:31:10.074 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key temp_d_srv_water with value null
2020-02-12 22:31:10.074 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=10, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.075 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=180.0]
2020-02-12 22:31:10.076 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key turnoffservice_water_heating with value false
2020-02-12 22:31:10.076 [TRACE] [ng.ebus.internal.handler.EBusHandler] - eBUS handler cfg EBusHandlerConfiguration [slaveAddress=15, masterAddress=null, filterAcceptMaster=false, filterAcceptSlave=true, filterAcceptBroadcasts=true, polling=null]
2020-02-12 22:31:10.076 [DEBUG] [ng.ebus.internal.handler.EBusHandler] - Handle received command by thing Vaillant VRC 470 xxx with id ebus:47000:119fb4e2 ā€¦
2020-02-12 22:31:10.077 [TRACE] [ng.ebus.internal.handler.EBusHandler] - Key Hc1OPMode with value 4

Mh, you have the ebus core and configuration two times in the list and also the binding is old. Itā€™s from 3. Jan . You should uninstall the feature and/or bundle first. And then re-add the new kar file.

I would use one of the commands below to uninstall the old bundles. I would start on the highest level and try to remove kar and/or feature first. The rest could be uninstalled by bundle. Afteerwards a restart withoud kar file in addons folder should help to start with a clean environment. Could you help me and other users with a short explanation what has helped in your case?!

kar:list
kar:uninstall org.openhab.binding.ebus-2.5.1-<version>

feature:uninstall ????

bundle:uninstall <number>

1 Like

Initial check list:
kar:list has a proper version of 2.5.1-6
feature:list has a proper version of 2.5.1-6
but bundle:list did not

What I did:

  • disable all related things (with ebusd bridge)
  • uninstall bundles (bundle:list is empty)
  • restart openhab without kar file
  • add kar file
  • did not helped: kar and feature list still the same, but bundle:list is empty
  • uninstall kar
  • uninstall feature
  • restart openhab without kar file
  • add kar file
  • enable all related things (with ebusd bridge)
  • success!:

openhab> bundle:list|grep -i ebus
266 x Active x 80 x 1.0.6.202002091840 x eBUS library configuration
267 x Active x 80 x 1.0.6.202002091840 x eBUS core library
268 x Active x 80 x 2.5.1.202002091841 x openHAB Add-ons :: Bundles :: eBUS Binding

And the most important thing: setting parameters works!

Thanks @csowada!

2 Likes

Thank you for your feedback ā€¦

Do anyone have also a Vaillant VMS (Solarmodule with buffer) ?
I havenā€™t found any documentation about ebus telegrams and ā€˜hackedā€™ some parameters. I have a VMS08. It comes up as ā€˜vms02ā€™. So I think the telegrams are the same for VMS02 to VMS08.
Have prepared a json file for solar-, buffer-temperature and solar yield.
If someone has knowledge about additional ebus parameter, please let me know. Have found out that there are more special via B5 09 0D/29 - but no clue about the meaning.

If someone has a VMS and not already prepared a json it would be nice to check this file as custom configuration
vaillant-vms02-configuration.json (2.6 KB)

Roland

Hi @csowada

Another issue :frowning:
After fixing the last one I did not change anything in the ebus binding. Just few OH restart regarding MQTT config (other binding).
But Iā€™ve noticed that setting parameters stopped working again. At first partially (I could rise temp but no decrease it), but when I started debugging everything stopped working. In logs, after the Poll command I saw lots of:

Send queue is full! The eBUS service will reset the queue to ensure proper operation.

After restart and changing to Raw mode and jSerialComm driver, setting parameters works, but in TRACE log, after every Poll command I see:

ā€œUnable to send polling command due to a unconnected controllerā€

Of course, I donā€™t have any Item updates by polling, only by the messages broadcasts.
Changing back to ebusd is still not working.

What is happening?

BTW, I have lots of

Error while firing onTelegramResolved events!

in logs but with only one, generic thing enabled.

Have you restarted the whole server? Sometimes the adapter was blocked by Linux.

Hello, what does this warning means?

21:21:13.613 [WARN ] [.internal.things.EBusTypeProviderImpl] - eBUS command clearerrorhistory only contains a setter channel!
21:21:13.755 [WARN ] [.internal.things.EBusTypeProviderImpl] - eBUS command boiler.control.setopdata only contains a setter channel!

if i try to add my room control 392 i got this error in my paper UI.

ERROR: 500 - Internal Server Error

OK. Probably there was a problem with serial adapter. And in logs I saw an info about upgrading ebusd 3.3 -> 3.4. So I did that. But then the .deb updater changed /etc/default/ebusd file.
There was missing --enablehex!!
Right now everything works.

Hello csowada,
I am coming back with more questions :slight_smile:

In the unresolved file I found a lot of this line:

2020-02-19 17:17:23;"10";"08";"B5 10";"09 00 00 4E 6C FF FF 00 FF 00 2D 00 01 01 9A 00 AA";

However when I do a grab in ebusd :
ebusctl grab result all

ebusd is able to decode this message :
1008b510090000486cffff00ff00 / 0101 = 1: bai SetMode

From my understanding of the ebus protocol, it is the same.
Is there a way to help you to decode them? It is the message from the heating controler in the room which I would like to ā€œreplaceā€ or emulate to better control my house temperatures.

On the same principle :
2020-02-19 17:12:31;ā€œ10ā€;ā€œ08ā€;ā€œB5 13ā€;ā€œ02 05 0A C4 00 01 01 9A 00 AAā€;
ebusd : 1008b51302050a / 0101 = 3

I think this one is not decode neither but happen less often when the heating controler sends some control values (answer from the SetPoint command) :
1008b5110102 / 050314964c78 = 66: bai Status02

Thank you for your help and work again :slight_smile:

Hi,
I have questions about binding version numbers and planned OH upgrade:
I have OH v2.5.1-1 with binding ā€œfor 2.4.0 and beyondā€, RC3 manually installed from kar file.
I am planning to upgrade my OH to the latest version which is 2.5.2-1.

  1. Will / should this binding work or itā€™s already know it wonā€™t?
  2. Is there a way to install something for 2.5.x from the PaperUI instead of kar files? Whereas I have no issues installing it manually, every couple of OH upgrades it happens that manually installed add-ons are causing problems and downgrade + manual intervention is needed to fix it.

It is not maybe a good habit to respond to self but I had time to test it and maybe this will address concerns of other people - the latest release (2.5.1-6) works with OH 2.5.2-1 apart from minor thing - BAI (08) built in element D.041 - Return temperature D.041 seems not being reported (in PaperUI -> Control it is represented as -NaN). Will try to debug further but it worked in previous setup (OH 2.5.1 and binding 2.4.0 RC3)

For the moment I will not add the binding to the official repo, too much work for me. But the binding is working with oh 2.4 and 2.5.

If you find a decoding issue, a full telegram is useful for me. I prefer GitHub for such issue.

I have a hack to a config file that gets return temp working. Iā€™ll dig it out later and hopefully a correct version of it can be incorporated.

I think the data you need is in the previous message from me with pasted logs in it (the one before i said i could turn the logging level down but that return temp was still not working). The data returned contains an extra work which in the ebusd config files is labeled as temp_mirror so i have just added that in the slave definition for return temp in vailant-bai00-configuration.json

diff --git a/src/main/resources/commands/vaillant-bai00-configuration.json b/src/main/resources/commands/vaillant-bai00-configuration.json
index cd86e36..5575bb9 100644
--- a/src/main/resources/commands/vaillant-bai00-configuration.json
+++ b/src/main/resources/commands/vaillant-bai00-configuration.json
@@ -523,6 +523,7 @@
                 ],
                 "slave": [
                     {"name": "temp_return", "type": "data2c", "label": "Return temperature", "min": 0, "max": 100, "format":"%.1fĀ°C"},
+                   {"name": "temp_mirror", "type": "word", "label": "Return temp mirror"},
                     {"name": "status", "type": "uchar", "label": "Status return temperature",
                         "mapping": {"0":"ok", "85":"circuit", "170":"cutoff"}}
                 ]

Thanks @jpharvey , how did you do it? I tried to find it but I couldnā€™t, is it somehow compiled into the binding? I know I can add my own config file on top of it, but Iā€™d prefer to fix the base one above instead.

You can modify the json file and add it in the binding configuration as Url. It will replace the build-in version in the binding.

I tried fixing it in 2 ways:

  • override as described by @csowada above
  • creating new json with just one thing (bai08_fix) and one channel in it (return temp 0.041)
    none if it worked even though it was detected properly with proper thing id and mapping. I guess this is something about decoding this message in the version I have (it worked for others e.g. @jpharvey) but maybe this isnā€™t exactly the same version.
    What logs to collect to focus on this specific message?