Do you know if Saunier Duvall is compatible with this?
I have a Isofast F35 boiler and have searched the Internet for information on how to interface to it but can’t find a definitive answer, just that Saunier Duvall sells some eBus thermostats
Do you know if Saunier Duvall is compatible with this?
I have a Isofast F35 boiler and have searched the Internet for information on how to interface to it but can’t find a definitive answer, just that Saunier Duvall sells some eBus thermostats
I’ve looked at the documentation and they use the eBUS interface for this device. I also saw that Saunier Duval is part of the vaillant group. Maybe this device is compatible with vaillant commands.
But if this device follows the eBUS standard it should work with the standard eBUS commands.
New Version available, see post #1
Hello,
I’ve created a new binary so it is easier to test the new release. It would be great if I could get feedback.
There are three things that I need to know.
Download file: eBUS Binding 1.8.0 RC1
Hello,
Configurations
BAI
I have made a few changes to the bai configuration
VRC470
Config vaillant-vrc470 is tested and everything seems to work.
My only issue is that the day, night, dhw setpoints and the currently displayed desired temperature don’t display anything after the comma (all data1c values). This means that when I see 20.5 on the display, the value in openhab is 20. Changing to data2c doesn’t work. Maybe this is just the way it’s sent on the bus.
VRC430
I added vaillant-vrc430. The commands are similar to vrc470 (but there aren’t as many), so this should normally work without any issues.
vaillant-vrc430-configuration.json (7.1 KB)
VAILLANT-COMMON
I cleaned up the common vaillant values. I haven’t tested the solar values, but the others work on my setup.
This config might help for some people as these don’t require polling.
vaillant-common.json (1.8 KB)
Testing and errors
In general everything runs well, I’ve been testing the 1.8.0 snapshots for quite some time without any issues.
I contiuously test the following items, so these certainly work. I’m now testing with the attached bai file as custom config and the included vrc470 config.
Number TempBuitenCV "Temperatuur buiten [%.1f °C]" (gWeer,Temperatuur,gCV,CVChart,TempBuitenChart,gPersistence) { ebus="id:controller.temp_outside.temp_outside, cmd:controller.temp_outside, dst:15, refresh:300" }
Number TempCVRuimte "Temperatuur woonkamer [%.1f °C]" (Temperatuur,gCV,gPersistence) { ebus="id:controller.temp_room.temp_room, cmd:controller.temp_room, dst:15, refresh:300" }
Number SetTempCVRuimte "Setpunt ruimte [%.1f °C]" (Temperatuur,gCV,gPersistence) { ebus="id:controller.temp_d_room_disp, cmd:controller.temp_d_room_disp, dst:15, refresh:300" }
Number CVHC1OpMode "Bedrijfsmodus" (gCV) { ebus="id:heating.heating_circuit_program, cmd:heating.heating_circuit_program, dst:15, refresh:300, set:heating.set_heating_circuit_program.program" }
Number CVHC1SfMode "Speciale modus" (gCV) { ebus="id:heating.heating_circuit_special_program, cmd:heating.heating_circuit_special_program, dst:15, refresh:300, set:heating.set_heating_circuit_special_program.program" }
Number SetTempCVDag "Dag [%.1f °C]" (gCV) { ebus="id:heating.temp_d_day, cmd:heating.temp_d_day, dst:15, refresh:300, set:heating.set_temp_d_day.temp_d_day" }
Number SetTempCVNacht "Nacht [%.1f °C]" (gCV) { 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 SetTempWarmWater "Warm water [%.1f °C]" (gCV) { 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 SetTempBufferBoven "Setpunt buffer boven [%.1f °C]" (gCV) { ebus="id:dhw.temp_d_actual_dhw, cmd:dhw.temp_d_actual_dhw, dst:15, refresh:300" }
Number CVHC1Stooklijn "Stooklijn [%.1f]" (gCV) { ebus="id:heating.temp_hcurve, cmd:heating.temp_hcurve, dst:15, refresh:300, set:heating.set_temp_hcurve.temp_hcurve" }
Number TempBufferBoven "Temperatuur buffer boven [%.1f °C]" (gCV,ZonneboilerChart,gPersistence) { ebus="id:dhw.temp_cylinder.temp_cylinder, cmd:dhw.temp_cylinder, dst:08, refresh:60" }
Number SetTempCVVertrek "Setpunt ketel vertrek [%.1f °C]" (gCV,CVChart,gPersistence) { ebus="id:boiler.temp_d_flow, cmd:boiler.temp_d_flow, dst:08, refresh:60" }
Number TempCVVertrek "Temperatuur ketel vertrek [%.1f °C]" (gCV,CVChart,gPersistence) { ebus="id:boiler.temp_flow.temp_flow, cmd:boiler.temp_flow, dst:08, refresh:60" }
Number TempCVRetour "Temperatuur ketel retour [%.1f °C]" (gCV,CVChart,gPersistence) { ebus="id:boiler.temp_return.temp_return, cmd:boiler.temp_return, dst:08, refresh:60" }
Number CVBelastingP "Belasting ketel [%d %%]" (gCV,CVChart,gPersistence) { ebus="id:boiler.level_modulation, cmd:boiler.level_modulation, dst:08, refresh:60" }
Number CVPomp "Pomp [MAP(1aan0uit.map):%s]" (gCV) { ebus="id:boiler.pump, cmd:boiler.pump, dst:08, refresh:300" }
Number CVFanSpeedSet "Ventilatorsnelheid [%d rpm]" (gCV) { ebus="id:boiler.speed_d_fan, cmd:boiler.speed_d_fan, dst:08, refresh:300" }
Number CVWaterdruk "Waterdruk [%.2f bar]" (gCV) { ebus="id:boiler.pressure.pressure, cmd:boiler.pressure, dst:08, refresh:300" }
Number CVIonisatie "Ionisatie [%d µA]" (gCV) { ebus="id:boiler.value_io.value_io, cmd:boiler.value_io, dst:08, refresh:300" }
Number CVHCHours "Draaiuren CV [%d h]" (gCV) { ebus="id:heating.runtime, cmd:heating.runtime, dst:08, refresh:300" }
Number CVDHWHours "Draaiuren SWW [%d h]" (gCV) { ebus="id:dhw.runtime, cmd:dhw.runtime, dst:08, refresh:300" }
Number CVHCStarts "Starts CV [%d x100]" (gCV) { ebus="id:heating.starts, cmd:heating.starts, dst:08, refresh:300" }
Number CVDHWStarts "Starts SWW [%d x100]" (gCV) { ebus="id:dhw.starts, cmd:dhw.starts, dst:08, refresh:300" }
I get the following errors (they don’t seem serious to me).
On startup
2015-12-15 20:13:37.942 [WARN ] [o.b.e.i.c.EBusCommandProcessor] - No data to send for item SetTempCVRuimte! Check your item configuration.
2015-12-15 20:13:39.943 [WARN ] [o.b.e.i.c.EBusCommandProcessor] - No data to send for item SetTempBufferBoven! Check your item configuration.
2015-12-15 20:13:42.947 [WARN ] [o.b.e.i.c.EBusCommandProcessor] - No data to send for item SetTempWarmWater! Check your item configuration.
2015-12-15 20:13:48.947 [WARN ] [o.b.e.i.c.EBusCommandProcessor] - No data to send for item CVHC1Stooklijn! Check your item configuration.
2015-12-15 20:13:49.941 [WARN ] [o.b.e.i.c.EBusCommandProcessor] - No data to send for item CVHC1OpMode! Check your item configuration.
When everything is running
2015-12-15 10:55:15.212 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision detected! 0x00
2015-12-15 10:55:15.259 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision detected! 0x10
2015-12-15 10:57:13.555 [WARN ] [i.c.AbstractEBusWriteConnector] - Slave CRC wrong, resend!
2015-12-15 10:57:13.560 [WARN ] [i.c.AbstractEBusWriteConnector] - Delay 84785us, allowed max. 104us...
2015-12-15 10:57:13.563 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision detected! 0x06
2015-12-15 10:57:13.573 [WARN ] [.ebus.internal.utils.EBusUtils] - eBUS telegram answer-crc invalid, skip data!
2015-12-15 10:58:13.563 [WARN ] [i.c.AbstractEBusWriteConnector] - Slave CRC wrong, resend!
2015-12-15 10:58:13.569 [WARN ] [i.c.AbstractEBusWriteConnector] - Delay 85356us, allowed max. 104us...
2015-12-15 10:58:13.580 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision detected! 0x06
2015-12-15 10:58:13.617 [WARN ] [.ebus.internal.utils.EBusUtils] - eBUS telegram answer-crc invalid, skip data!
2015-12-15 11:00:00.266 [INFO ] [g.openhab.io.net.exec.ExecUtil] - executed commandLine '/home/pi/SBFspot/SBFspot.sh > /dev/null'
2015-12-15 11:02:13.560 [WARN ] [i.c.AbstractEBusWriteConnector] - Slave CRC wrong, resend!
2015-12-15 11:02:13.564 [WARN ] [i.c.AbstractEBusWriteConnector] - Delay 83139us, allowed max. 104us...
2015-12-15 11:02:13.569 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision detected! 0x00
2015-12-15 11:02:13.589 [WARN ] [.ebus.internal.utils.EBusUtils] - eBUS telegram answer-crc invalid, skip data!
2015-12-15 11:04:25.929 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision with SYN detected!
2015-12-15 11:04:26.049 [WARN ] [i.c.AbstractEBusWriteConnector] - Delay 6883us, allowed max. 104us...
2015-12-15 11:04:26.051 [WARN ] [i.c.AbstractEBusWriteConnector] - eBus collision with SYN detected!
Wiki and manual
-There are some things that need to be updated in the example openhab.cfg (the configuration names don’t match).
-Maybe add a few item config examples for vaillant.
-Include the complete lines to be added to logback.xml for the logging part (I lost quite some time figuring this out).
Thank you for developing this. It’s really useful!
Thank you for your great work.
I add you changes to the new version. I fixed the send routine for serial that was affected by the cpu usage improvements.
This version is only a test version to see if the send and receive routine works better.
Hello @nikoraes
I’m going to add new entry in valiant-vrc430-configuration.json
I get 430.csv but I don’t undestand where I can find detailed information.
No all section are clear for me.
“comment”: " HC1 Operation mode", Clear
“device”: “Vaillant VRC 430”, Clear
“id”: “heating_circuit_program”, ??? Can be find in 430.csv ?
“class”: “heating”, ??? Can be find in 430.csv ?
“command”: “B5 09”, Clear
“data”: “0D 2F 00”, Clear
“dst”: “15”, Clear
For exampel the same entry in 430 an 470 has differnet class ( Heating for vrc430 and controller for 470
Hello @Tomek,
id
and class
are used by this binding to differentiates the telegrams. You use both in your item configuration (see here).
And here is the list of all current used classes and ids by this binding.
To your example: Yes, I try to keep the classes and ids clean, it should be “heating” because it is related to heating. But sometimes it is not clear.
If you use the current syntax of the commands I can add it directly into the binding.
Do you know this document?
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
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.
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.
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.