Vaillant eBUS hardware adapter (ebusd software) Thread

For my system (VWL 55/6, VIH QW 190/6, VRC-720)

I merged the official ebusd config:

with this one:

The register to set target temp is: HwcTempDesired
The register to set mode is: WarmWaterModusStatus

ebusctl write -c basv HwcTempDesired TEMP
ebusctl write -c hmu WarmWaterModusStatus MODE
0 for eco, 1 for normal, 2 for balanced

You could extract the ZZ, PBSB, ID from the git repositories if needed.

1 Like

Could you possibly paste the relevant sections of your hmu csv here? I can’t find the WarmWaterModusStatus anywhere in those two repositories (did a GitHub search on the code). With the cyberthom repo, I found the “hwcBetriebsart” line, however writing to this results in “ERR: element not found”. I would really appreciate the relevant excerpt of your config.

r;w,,hwcBetriebsart,,,,,44,,,UIN,,,Betriebsart Warmwasser 0=eco 1=normal 2=balance,,,,,,,,,,,,,,,,,,,,,,,,,,,

ebusd-configuration/ebusd-2.1.x/en/vaillant/08.hmu.csv at master · jonesPD/ebusd-configuration · GitHub I just tested writing to my HMU for the entry line 197 on this file and it worked and changed the “hwcMode”

It looks like this is the same address as you were trying though.

1 Like

Thanks! I just inserted line 197 into my working config but reading and writing failed unfortunately. The difference between the line you posted and my config (where at least reading works) is that the working ID is 44 whereas the line you posted has FF3444. I’ll have to spend some more time on this - I have only ever read from the system and never set values before. Using ebusd 23.3.

The file you are using and the one I’m using are a slightly different structure with regard to the header lines, (yours lines 42,43, mine 131,132) so a cut and paste won’t work but they both appear to be the same functionally, calling the same address.

Check you can read the value from the command line, if you can, it shouldn’t give a “element not found” error on write.
ebusctl read -f -c hmu hwcBetriebsart
ebusctl write -c hmu hwcBetriebsart 1

1 Like

In the hmu file:

r;w,,WarmWaterModusStatus,,,,,FF3444,,,UCH,0=eco;1=normal;2=balance,,Domestic hot water mod (eco/normal/balance),,,,,,,,,,,,,,,,,,

1 Like

You comment regarding the header lines was spot on - my config didn’t have the write header lines. I have - for testing - appended lines 131, 132 and 197 to my config and now it’s working nicely. I’ll have to transition to JonesPD’s config from my Frankenstein file but I have to find some time for that as not all extracted values have the same name and I have some downstream processing in Node-RED that I need to update. Thanks for the help, @BenY & @jirik!


Hi Andre,

So now I have, Rpi 5 and ebusd adapter 5 shield up and running. Data in emonhub and emoncms as feeds. However I think the data is still not very complete. Btw, Vaillant has done some repairs, hopefullly system is now more reliable, but currently too warm to test.

  1. I can see that some data is recognised in ebusd, like received read hmu Status01 QQ=10: 19.5;21.0;-;-;-;off. this may be temp water in and temp water out. but how to split the data in emonhubs?
  2. Our MEH and arotherm do not seem to have the right configuration files yet. These still need to be made ourselves, correct? there should be more since these are received by the MEH

best regards,

Feeds I have have been mentioned below:
global_versioninactiveNULLglobal_running67 minsNULLglobal_uptime13s4016global_signal67 minsNULLbroadcast_queryexistenceinactiveNULLglobal_scan60 minsNULLscan.08_64 minsNULLscan.08_id64 minsNULLhmu_Statelog4sNULLscan.15_64 minsNULLscan.15_id64 minsNULLhmu_SetMode9sNULLhmu_Status01log9sNULLscan.76_64 minsNULLscan.76_id64 minsNULLhmu_currenterror49sNULLctlv2_currenterror49sNULLscan.f6_61 minsNULLscan.f6_id61 minsNULLctlv2_z1OpMode34sNULLctlv2_z1ActualRoomTempDesiredlog34s0ctlv2_Hc1PumpStatuslog34s0ctlv2_z1DayTemp34s27broadcast_vdatetimelog39sNULLbroadcast_outsidetemplog39s19.49global_updatecheck63 minsNULLctlv2_Hc1FlowTemplog14s19ctlv2_HwcParallelLoading14sNULLctlv2_z1RoomTemplog14s24.35ctlv2_WaterPressurelog14s2ctlv2_SystemFlowTemplog14sNULLctlv2_DisplayedOutsideTemp19s19.44ctlv2_HwcStorageTempTop14sNULLctlv2_HwcStorageTempBottom14sNULLctlv2_HcStorageTempTop14sNULLctlv2_HcStorageTempBottom14sNULLhmu_StatusCirPump4 minsNULLctlv2_AdaptHeatCurve59sNULLctlv2_MaxCylinderChargeTime59s60ctlv2_CylinderChargeHyst59s5ctlv2_CylinderChargeOffset54s25ctlv2_OutsideTempAvglog59s18.3ctlv2_z1Timer.Timeframes54sNULLctlv2_z1Timer.Tuesday054sNULLctlv2_z1Timer.Monday054sNULLctlv2_z1Timer.Thursday054sNULLctlv2_z1Timer.Wednesday054sNULLctlv2_ContinuousHeating54s-26ctlv2_z1NightTemp54s18ctlv2_Date54sNULLctlv2_Time54sNULLctlv2_HydraulicScheme54s8ctlv2_HwcMaxFlowTempDesired54s80ctlv2_z1Timer.Saturday054sNULLctlv2_z1Timer.Friday054sNULLctlv2_z1Timer.Sunday054sNULLctlv2_z1HolidayStartPeriod49sNULLctlv2_z1HolidayEndPeriod49sNULLctlv2_z1HolidayTemp49s15ctlv2_Hc1ActualFlowTempDesiredlog49s0ctlv2_Hc1ExcessTemp49s0ctlv2_Hc1HeatCurve49s0.85ctlv2_Hc1MaxFlowTempDesired49s55ctlv2_Hc1MinFlowTempDesired49s25ctlv2_Hc1SummerTempLimit49s18ctlv2_Hc1RoomTempSwitchOn49sNULLctlv2_Hc1CircuitType61 minsNULLctlv2_Hc3CircuitType61 minsNULLctlv2_z3RoomZoneMapping61 minsNULLctlv2_z1RoomZoneMapping61 minsNULLctlv2_Hc2CircuitType61 minsNULLctlv2_z2RoomZoneMapping61 minsNULLctlv2_Hc1AutoOffMode61 minsNULLctlv2_z1Name161 minsNULLscan.ec_65 minsNULLscan.ec_id65 minsNULL

Which ebusd config are you using? It seems you’re not picking up any hmu data.

Thanks Andre, there is some hmu data in the above?

I have: EBUSD_OPTS=“–scanconfig=full -d ens:/dev/ttyACM0 --mqttport=1883 --mqttuser=emonpi --mqttpass=emonpimqtt2016 --mqtttopic=emon/ebusd”

ebusctl find -v yields amongst others:
address 03: master #11
address 08: slave #11, scanned “MF=Vaillant;ID=HMU00;SW=0902;HW=5103”, loaded “vaillant/08.hmu.csv”
address 10: master #2
address 15: slave #2, scanned “MF=Vaillant;ID=CTLV2;SW=0514;HW=1104”, loaded “vaillant/15.ctlv2.csv”
address 31: master #8, ebusd
address 36: slave #8, ebusd, scanning
address 71: master #9
address 76: slave #9, scanned “MF=Vaillant;ID=VWZIO;SW=0607;HW=5103”
address ec: slave, scanned “MF=Vaillant;ID=SOL00;SW=0514;HW=1104”, loaded “vaillant/”
address f1: master #10
address f6: slave #10, scanned “MF=Vaillant;ID=NETX2;SW=4034;HW=5703”

I think that means you’re using the bundled csv versions that come with ebusd. Those are not very complete as far as I’m aware. Clone jonesPDs configs and point your ebusd instance to the direcory, then you should pick up some more stuff. GitHub - jonesPD/ebusd-configuration: ebusd configuration files

Thank you Andre,

That certainly helped. I am stuck with the following in the logfile though:

2024-05-26 17:50:50.168 [bus notice] scan 76: ;Vaillant;VWZIO;0607;5103
2024-05-26 17:50:50.724 [update notice] sent scan-read scan.76 id QQ=31: 21;22;27;0010023611;3110;005811;N1
2024-05-26 17:50:50.725 [main error] error reading scan config file vaillant/76.vwzio.csv for ID “vwzio”, SW0607, HW5103: ERR: end of input reached, vaillant/76.vwzio.csv:1: ERR: end of input reached, missing message type/name/pbsb

The Jones files do have a file called 76.vwzio.csv. However, a ‘symbolic’ link is in there to file 76vwz.csv.

Should the software find its way to that file in my local directory?

In 76vwz.csv there is no mentioning at all of vwzio. Should I expect this file never to work without this reference or would this be only for one parameter that it can’t find?

Next would be to search for F6 file

2024-05-26 17:50:52.879 [bus notice] scan f6: ;Vaillant;NETX2;4034;5703

2024-05-26 17:50:53.511 [update notice] sent scan-read scan.f6 id QQ=31: 21;23;38;0020260962;0933;135507;N6

2024-05-26 17:50:53.511 [main error] unable to load scan config f6: no file from vaillant with prefix f6 found

Haven’t encountered the error myself but I’m also on a kind of Frankenstein config cobbled together from multiple sources. Im on a business trip until Wednesday, I’ll then try to upload my current config for you to test.

How did you install JonesPDs config files? How does your ebusd config look where you point to the config folder?

The f6 also isn’t read for me, that’s the sensoNET controller. All the good stuff with heat pump and hydraulic station should happen in the 08.hmu.csv. can you just rename the 76 for now so it doesn’t try to parse it?

thanks, I installed the Jones files by copying them onto an usb drive, connected it to the RPI and after internet learning copied the files into a folder in the folder structure.

EBUSD_OPTS=“-d ens:/dev/ttyACM0 --configpath=/etc/ebusd/messagedefinitions/en --scanconfig --mqttport=1883 --mqttuser=emonpi --mqttpass=emonpimqtt2016 --mqtttopic=emon/ebusd”

I had scanconfig=full, however it timed out on 76 and f6. better to scan when the slaves appear

I don’t fully understand how the files work, is there some logging where the actual message is shown and the result through Jones files translation as well? I can then study and try to add further lines to the file. would like to know eev position, high low pressure, compressor speed etc.

I can see in vaillant pro that some parameters are sometimes shown and then for weeks they are not. It seems vaillant is developing and activating this. Likewise the inputs turn up or they don’t in emoncms. how do I ask for the same data from the heatpump?

I saw livemonitoring is implemented somewhere. that would be similar data.

for next weeks, little time to work on this…

Hi, I have found the information on this group very useful in successfully talking to an Aerotherm Plus 12kw heat pump. But the system has 2 heat pumps in cascade and I can only see 1 heat pump. I am still trying to figure out the addressing of each HP module. I was expecting on the scan to see an additional HMU with a different address but that does not appear to be the case. When I do a full scan for some reason a Solar module appears that I do not have installed

And doing an ebusd info I get this.

From the identifier in the listing I dont appear to see the second heat pump. wondering if the additional heatpump is a slave. It is possible to have 7 heat pumps cascaded.
Wondering if it was Slave#8.
Any thoughts on how I would proceed would be welcome.
Kind regard