eBUS Pre-Release for 1.8.0

Hello @csowada
Yes i Try to understand but I’m no expert in programming:)
I try to create a few entries and let you now

@csowada
I find in log something like this
2015-12-17 13:43:41 TRACE o.o.b.e.i.c.AbstractEBusWriteConnector[:150]- No access to ebus because the lock counter

Is it ok?

Yes, thats okay. All bus participants must share the same line, so sometimes the binding must wait a short while before it’s allowed to write to the bus.

The message is still not optimal :wink:

I’m currently testing the version you posted.
Everything still works and I’m now using the included configuration files.

There are just two more things I would like to change:
VRC470
For temp_d_room_1 the id should be changed to temp_d_room_disp
BAI00
level_modulation should be changed to pump_modulation or something similar. At least I think this is what it is.

Thank you,

I will look for your suggested changes.
I hope I can release the final release candidate with all configurations, last fixes this weekend.

I included these changes in the attached configuration files.
The error in the vrc430 file that @Tomek found is also corrected.

I also checked the descriptions of the bai configuration file with the manual of the boiler and I added a few more untested values.

vaillant-vrc430-configuration.json (7.1 KB)
vaillant-vrc470-configuration.json (9.7 KB)
vaillant-bai00-configuration.json (15.9 KB)

So,

I released the lastest release cantidate on github. I also updates the documentation including the new ids.

@nikoraes Many thanks to your great work. I used you files but I changed some ids. If want to add new commands it would be great if you could modify the original file from github. Than it’s easier for me to find the differences.

Download RC3
https://github.com/csowada/openhab/releases/tag/1.8.0RC3

Documentation RC3
https://github.com/csowada/openhab/blob/ebus-update-pr1/bundles/binding/org.openhab.binding.ebus/readme.md

Great works
Many thanks

Thank you!

I will review the bai configuration again. You changed a few ids back that dont really make sense :-).

Let me explain, why I changed the ids.

  1. All configurations with the same result (ex. DHW Temp.) should use the same class and id. So Wolf, Vaillant incl. Common devices should use the same classes and ids for the the basic set.
  2. The first part of the id should something like temperature, status, state, runtime etc. followed by the device, additional info etc., if necessary.
  3. I used the translation from the wolf manuels, but vaillant uses different translations. I’m not 100% familiar with the technical wording.

So I will discuss the id’s with you because, we need to align it for Wolf and Vaillant too. But we should do this before release freeze for release 1.8.0.

For me it would be great if you could look through the lists below and make suggestions for id’s that fits for all similar values.

https://github.com/csowada/openhab/blob/8fe152b8ec779868a6c93558c0c0873b761d85e8/bundles/binding/org.openhab.binding.ebus/docs/json-configs.md

So for example
Level_modulation is not the modulation level. In the manual it says part load heating, but it’s a value to limit the maximum kw of the boiler. The current id would make someone think it’s a value that changes depending on the current modulation level, but it’s not.
Would level_partload then make sense?

Temp_exhaust would make me think of the temperature in the flue gas exhaust. But it’s just the water outlet temperature. In my case it’s always the same as the flow temperature, but maybe the value could be different in other versions. Temp_outlet would be more suitable in my opinion.

Taking into account your comment, diverter valve should probably be state_divertervalve then?

For wolf you use level_modulation and modulation_pump which isn’t really consistent. I suggestto either use boiler.modulation and boiler.modulation_pump or to use boiler.level_modulation and boiler.level_modulation_pump.

The others are fine for me.

Okay, you are totaly right I tought it would be the current modulation, not the maximum settings.

Wrong translated to german :wink: , I tought this is the exhaust temp.

Yes, but I would write state_diverter_valve, easier to read

And again, you are right. This is not consequent. I will change this.

I’m so happy that you are helping me to build up a great binding. I waited for so long to get help with the vaillant devices. And now I see a well running binding, that can be released as a stable version.

BTW: The binding now is compatible with openHAB 2.0. I will look on openHAB 2.0 over christmas to check the new platform. Maybe I’ll write a version 2.0 from scratch to use the bridge mode, discovery etc. (No changes on json configurations ;-))

Thanks for the nice binding it is promising! The 1.7 was not able to connect but this one does :smile:

Any idea what “EBus telegram sender-crc invalid, skip data!” means? And how to solve.

2015-12-25 08:17:45.243 [DEBUG] [.ebus.internal.parser.Analyses] - 00 00 00 00 00 00 00 00 00 F5 AA
2015-12-25 08:17:45.243 [DEBUG] [.ebus.internal.parser.Analyses] - >>> Unknown ----------------------------------------
2015-12-25 08:17:45.922 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: AE 00 00 00 08 12 00 00 10 00 D5 D4 D5 00 00 00 00 00 00 00 04 00 00 FD AA
2015-12-25 08:17:46.330 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: 00 46 00 00 00 00 08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 D5 D5 D5 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 F1 F5 AA
2015-12-25 08:17:47.285 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: AB 00 00 00 12 00 00 00 00 00 00 00 00 00 00 01 21 F8 AE D5 D5 D5 D7 DD EA DF AE D5 D5 AE 00 00 00 00 00 00 00 00 00 D5 F7 AB 00 00 00 00 00 41 00 00 00 A8 AA
2015-12-25 08:17:47.764 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: D5 D5 00 02 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AA
2015-12-25 08:17:48.562 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: AB AB D7 F5 F5 EB D5 BA BE D5 D5 D5 BB AA
2015-12-25 08:17:49.520 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: AE FD F5 F5 BB FD AB F5 D5 FF BA AE F7 EA D5 DD AF AA
2015-12-25 08:17:49.881 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: D5 F7 BA F5 AB EA F5 A9 AA
2015-12-25 08:17:50.307 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: AE 01 00 7E 00 00 22 00 00 00 00 00 FB F5 00 00 20 00 00 00 91 00 00 D5 30 00 6A 00 00 24 00 00 00 00 12 00 00 FE D5 AA
2015-12-25 08:17:50.667 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: BE BA 15 00 00 00 00 00 01 00 00 00 AA
2015-12-25 08:17:51.146 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: F5 85 00 00 00 00 01 00 00 00 24 D4 D5 EB AA
2015-12-25 08:17:51.425 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: F5 D5 EF 81 BA AE AA
2015-12-25 08:17:51.904 [WARN ] [.ebus.internal.utils.EBusUtils] - EBus telegram sender-crc invalid, skip data! Data: FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Thnks

@csowada Here the updated vrc430 config file where the day setpoint was updated (see remark by @Tomek in other thread).
vaillant-vrc430-configuration.json (7.1 KB)

@bajan Sometimes I also get invalid crc’s, but your data doesn’t really look as it should.
In another thread I also saw that you are using a vrc630 and vr90, so I started a config file with a few items. So once you get it working, it would be great if you could test these.
vaillant-vr90-configuration.json (1.3 KB)
vaillant-vrc630-configuration.json (2.8 KB)

1 Like

Hallo @nikoraes
Thanks for update json file.
I spen last few hours try to use new ebus binding form https://github.com/csowada/openhab/releases/tag/1.8.0RC5ETH
but no success…
Here is my openhab,cfg
ebus:parserUrl=platform:/base/…/configurations/ebus-config.json
ebus:parsers=vaillant-vrc430,custom

(I renamed vaillant-vrc430-configuration.json from your post to ebus-config.json)
my items file looks like this
Number e_DHW_Program “DHW Operation mode[%s]” (Vaillant) { ebus=“id:dhw.program_dhw_circuit, cmd:dhw.program_dhw_circuit, dst:15, refresh:300, set:dhw.set_program_dh
w_circuit.program_dhw_circuit” }

But it docent work… I can’t set new value
in log file i get
2015-12-25 14:40:45.555 [WARN ] [o.b.e.i.c.EBusCommandProcessor] - Unable to set value key “program_dhw_circuit” in command “dhw.set_program_dhw_circuit.{}”, can’t compose telegram …

Can you tell me what I did wrong ?
Regards
Tomek

I shure wil test and already thnks for your effort and time!
Do you have any clue what the invalid CRC means? I already treyed to adjust the Ebus but it doesn 't change anything.

Thnks

Hello All
I have created new items file for ebus 1.8RC6 bindigs
Number e_Temp_Zew “Outside temperature [%.1f °C]” { ebus=“id:controller.temp_outside.temp_outside, cmd:controller.temp_outside, dst:15, refresh:300” }
Number e_Temp_Room "Room temperature [%.1f °C] { ebus=“id:controller.temp_room_disp.temp_room_disp, cmd:controller.temp_room_disp, dst:15, refresh:300” }
Number e_Temp_Room_Dis “Dis Room temperature [%.1f °C]” { ebus=“id:controller.temp_room.temp_room, cmd:controller.temp_room, dst:15, refresh300” }
Number e_HC1_Program"HC1prog[%s]”{ ebus="id:heating.program_heating_circuit,cmd:heating.program_heating_circuit,refresh120,set:heating.set_program_heating_circuit.program_heating_circuit,dst:15”}
Number e_DHW_Program “DHW Operation mode[%s]” { ebus=“id:dhw.program_dhw_circuit, cmd:dhw.program_dhw_circuit, refresh:120, set:dhw.set_program_dhw_circuit.program_dhw_circuit, dst:15” }
Number e_DHW_Temp_Act “DHW Actual temp [%.1f °C]” { ebus=“id:dhw.temp_d_actual_dhw, cmd:dhw.temp_d_actual_dhw, dst:15, refresh:300” }
Number e_DHW_Temp_Set “DHW Setpoin temperature [%.1f °C]” { ebus=“id:dhw.temp_d_dhw, cmd:dhw.temp_d_dhw, dst:15, refresh:300, set:dhw.set_temp_d_dhw.temp_d_dhw” }
Number e_HC1_Temp_Napis “HC1 Manual over spoint [%.1f °C]” {ebus=“id:heating.temp_d_room_override, cmd:heating.temp_d_room_override, dst:15, refresh:300” }
Number e_HC1_Temp_Set_Night “HC1 Night Setpoint [%.1f °C]” {ebus=“id:heating.temp_d_night, cmd:heating.temp_d_night, dst:15, refresh:300, set:heating.set_temp_d_night.temp_d_night”}
Number e_HC1_curve “HC1 Heating curve[%.1f]” (Vaillant) {ebus=“id:heating.temp_hcurve, cmd:heating.temp_hcurve , dst:15, refresh:300”}
Number e_HC1_Day_Temp “HC1 day temp [%.f°C]” (Vaillant) {ebus=“id:heating.temp_d_man, cmd:heating.temp_d_man, refresh:300, dst:15, set:heating.set_temp_d_man.temp_d_man”}

Items are corresponding to vaillant-vrc430-configuration.json

I also add
ebus:parserUrl=platform:/base/…/configurations/ebus-config.json
ebus:parsers=custom

(ebus-config.json is renamed vaillant-vrc430-configuration.json file from nikoraes post)

generally I can read data from listed items but can’t set any value…

Any idea how to solve problem ?
Maybe I do something wrong.
The strange is that in old version of ebus binding
some item works only with “program” at the end of set command but another need full entry. For examples
Number e_HC1_Program “Heating program HC1[%s]” (Vaillant){ ebus=“id:heating.heating_circuit_program, cmd:heating.heating_circuit_program, dst:15, refresh:300, set:heating.set_hea
ting_circuit_program.program” }
Number e_HC1_Temp_Set_Night “HC1 Night Setpoint [%.1f °C]” (Vaillant) {ebus=“id:heating.temp_d_night, cmd:heating.temp_d_night, dst:15, refresh:300, set:heating.set_temp_d_night.temp_d_night”}

I can’t explain this …
Reards
Tomek

Hello @bajan
Try to swape the wires (ebus <—> coupler)
Ebus has no polarization but sometimes it matters
Regards
Tomek

1 Like

@Tomek thnks for the hint but this is not the solution. I look further today by disconecting all Ebus devices

Hello All,

I’m so sorry, my last change to the internal configuration was not correct, so the composing of the setter telegrams stopped working. I will fix it now.

:open_mouth: