Skip to content

Conversation

@burmistrzak
Copy link

Follow-up for #472 to ensure changes stay in their own branch.

Please see the original PR for FAQ.

@burmistrzak
Copy link
Author

@kgeree Had to do some cleanup to keep different PRs separate. 😅
You'll find the latest patches here, and pre-compiled CSVs here.
Simply clone the repo, switch to the csvgen branch, point ebusd to ebusd-configuration/outcsv/@ebusd/ebus-typespec, and reload.

@burmistrzak
Copy link
Author

@chrizzzp Feel free to give this one a try.
Also, does SourceTempInput work for you?

@kgeree
Copy link

kgeree commented Jan 27, 2025

@kgeree Had to do some cleanup to keep different PRs separate. 😅 You'll find the latest patches here, and pre-compiled CSVs here. Simply clone the repo, switch to the csvgen branch, point ebusd to ebusd-configuration/outcsv/@ebusd/ebus-typespec, and reload.

thanks, I gave it a try and looks quite nice.

A few comments:

  1. I see there is "CurrentPowerConsumption" and also "CurrentConsumedPower" - whats the difference? I get "Unknown" for "CurrentPowerConsumption"
    image

  2. I see still "hwc" instead of DHW in "Status" and "Statuscode". 

  3. Can we remove the "value" suffix for the values? At least in HomeAssistant it looks ugly - and useless...
    image
    (also would be applicable for other CSVs (700,720,ctlv*,basv*...)

Otherwise nice work on cleaning this up so far! Thx!

@chrizzzp
Copy link

@burmistrzak

Also, does SourceTempInput work for you?

No, all "Source"-related definitions don't work on my system. I guess these values are relevant only for geothermal heat pumps?

*r,,,,,,B51A,05,,,IGN:3,,,,,,,,,,,,,,,,,,,,,
r,,SourceTempInput,,,,,FF3222,,,D2C,,°C,,,,,,,,,,,,,,,,,,,
r,,SourceTempOutput,,,,,FF3227,,,D2C,,°C,,,,,,,,,,,,,,,,,,,
r,,SourcePressure,,,,,FF323E,,,D2C,4,bar,,,,,,,,,,,,,,,,,,,

@chrizzzp
Copy link

chrizzzp commented Jan 27, 2025

@kgeree @burmistrzak

  1. I see there is "CurrentPowerConsumption" and also "CurrentConsumedPower" - whats the difference? I get "Unknown" for "CurrentPowerConsumption"

The first is the current electrical power consumption truncated to whole kW.
The latter is the same in Watt, so higher precision. But this value seems to be available only for newer hmu software versions (SW>=902)?
I think the choice of the similar names is a bit unfortunate?

@burmistrzak
Copy link
Author

No, all "Source"-related definitions don't work on my system. I guess these values are relevant only for geothermal heat pumps?

@chrizzzp Thanks for checking! Exactly what I thought.

@burmistrzak
Copy link
Author

  1. I see there is "CurrentPowerConsumption" and also "CurrentConsumedPower" - whats the difference? I get "Unknown" for "CurrentPowerConsumption"
    @kgeree Thanks for testing!

As @chrizzzp said, one is in Watt, the other in kW.
Might be related to software version indeed.
Can you please log everything your VR 921 is periodically requesting?

  1. I see still "hwc" instead of DHW in "Status" and "Statuscode".

That's expected, because I reuse existing value templates that still use hwc.
We'll have to ask @john30 about that.

  1. Can we remove the "value" suffix for the values? At least in HomeAssistant it looks ugly - and useless...
    (also would be applicable for other CSVs (700,720,ctlv*,basv*...)

Not an issue on my end. Make sure you're running the lastest ebusd, and HASS-MQTT config.
Also, here's my env config:

      EBUSD_CONFIGPATH: "/config/ebusd-configuration/outcsv/@ebusd/ebus-typespec"
      EBUSD_MQTTJSON: ""
      EBUSD_MQTTINT: "/etc/ebusd/mqtt-hassio.cfg"
      EBUSD_MQTTVAR: "filter-name=^*,filter-non-circuit=vwz|hmu,filter-non-name=^Z2|^Z3|^Hc2|^Hc3"

@kgeree
Copy link

kgeree commented Jan 28, 2025

  1. I see there is "CurrentPowerConsumption" and also "CurrentConsumedPower" - whats the difference? I get "Unknown" for "CurrentPowerConsumption"
    @kgeree Thanks for testing!

As @chrizzzp said, one is in Watt, the other in kW. Might be related to software version indeed. Can you please log everything your VR 921 is periodically requesting?

  1. I see still "hwc" instead of DHW in "Status" and "Statuscode".

That's expected, because I reuse existing value templates that still use hwc. We'll have to ask @john30 about that.

  1. Can we remove the "value" suffix for the values? At least in HomeAssistant it looks ugly - and useless...
    (also would be applicable for other CSVs (700,720,ctlv*,basv*...)

Not an issue on my end. Make sure you're running the lastest ebusd, and HASS-MQTT config. Also, here's my env config:

      EBUSD_CONFIGPATH: "/config/ebusd-configuration/outcsv/@ebusd/ebus-typespec"
      EBUSD_MQTTJSON: ""
      EBUSD_MQTTINT: "/etc/ebusd/mqtt-hassio.cfg"
      EBUSD_MQTTVAR: "filter-name=^*,filter-non-circuit=vwz|hmu,filter-non-name=^Z2|^Z3|^Hc2|^Hc3"

Thanks, indeed, I had an older mqtt-hassio.cfg. Updating that solved the "value" suffix issue.

Can you please log everything your VR 921 is periodically requesting?

How to do that? I get the following erroor for CurrentPowerConsumption:
2025-01-28 09:39:20.344 [update error] unable to parse poll-read hw5103 CurrentPowerConsumption from 3108b5160114 / 00: ERR: invalid position

@GuyHarg
Copy link

GuyHarg commented Jan 28, 2025

Hi @burmistrzak I seem to have a similar but slightly different setup to you guys on this thread but I definitely have HMU HW 5103 so your PRs are of keen interest to me thank you. I have an aroTHERM+ 5kW (HMU00) + what Vaillant tells me is 1st gen VRC 720F (no version) (BASV0) + 3-zone circuit box VR_71 + control unit VWZIO + sensoNET (NETX2) running on Raspi + HA + ebusd addin showing info as:

address 00: master #1
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0607;HW=5103", loaded "vaillant/08.hmu.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=BASV0;SW=0217;HW=8803", loaded "vaillant/15.basv.csv"
address 26: slave, scanned "MF=Vaillant;ID=VR_71;SW=0104;HW=0503", loaded "vaillant/26.vr_71.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 71: master #9
address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0202;HW=0103", loaded "vaillant/76.vwzio.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Vaillant;ID=NETX2;SW=4035;HW=5703"

I’m still using JonesPD’s config rep but wondering two things 1) would your most recent config csv rep work with my setup and 2) I’d be interested in helping to debug/discover my config file setup if that would help your efforts? Was a bit green on the coding / ebusd operation etc but coming up to speed now.

@GuyHarg
Copy link

GuyHarg commented Jan 28, 2025

@kgeree Had to do some cleanup to keep different PRs separate. 😅 You'll find the latest patches here, and pre-compiled CSVs here. Simply clone the repo, switch to the csvgen branch, point ebusd to ebusd-configuration/outcsv/@ebusd/ebus-typespec, and reload.

I cloned the csvgen branch onto HA and pointed config at the typespec directoryu via ebusd addin and restarted. Both 15 and 76 didn’t load config files. @kgeree you have similar HA setup any advice?

@burmistrzak
Copy link
Author

How to do that? I get the following erroor for CurrentPowerConsumption: 2025-01-28 09:39:20.344 [update error] unable to parse poll-read hw5103 CurrentPowerConsumption from 3108b5160114 / 00: ERR: invalid position

@kgeree The 00 response indicates that the register is not implemented.
For logging, set the log level to notice, and grep "cmd: f108b5" the respective ebusd log file.
That should tell us which registers your gateway is polling.

@burmistrzak
Copy link
Author

I’m still using JonesPD’s config rep but wondering two things 1) would your most recent config csv rep work with my setup and 2) I’d be interested in helping to debug/discover my config file setup if that would help your efforts? Was a bit green on the coding / ebusd operation etc but coming up to speed now.

@GuyHarg 👋

  1. As long as your ebusd & HASS versions are up-to-date, yes. However, because your VRC 720 is a bit older, you would have to symlink basv3.csv to basv0.csv to benefit from recent developments. VWZIO support is coming soon.
  2. Absolutely! We need more folks with different software revisions for testing. 💪

@burmistrzak
Copy link
Author

I cloned the csvgen branch onto HA and pointed config at the typespec directoryu via ebusd addin and restarted. Both 15 and 76 didn’t load config files.

@GuyHarg Should be a quick fix. Run inside ebusd-configuration/outcsv/@ebusd/ebus-typespec/vaillant either ln -s 15.basv3.csv 15.basv0.csv for the latest version, or ln -s 15.700.csv 15.basv0.csv for the previous configuration.

@GuyHarg
Copy link

GuyHarg commented Jan 28, 2025

  1. As long as your ebusd & HASS versions are up-to-date, yes. However, because your VRC 720 is a bit older, you would have to symlink basv3.csv to basv0.csv to benefit from recent developments. VWZIO support is coming soon.

Thx do I need to symlink 08.hmu.csv to 08.hmu.hw5103.csv as well, or is it more a case of trying to combine those files for my system to fix all the hmu data points showing up in MQTT explorer under homeassistant? In MQTT explorer under ebusd/hmu there are a few unknowns as well.

@GuyHarg
Copy link

GuyHarg commented Jan 28, 2025

@GuyHarg Should be a quick fix. Run inside ebusd-configuration/outcsv/@ebusd/ebus-typespec/vaillant either ln -s 15.basv3.csv 15.basv0.csv for the latest version, or ln -s 15.700.csv 15.basv0.csv for the previous configuration.

Ran the first cmd still no basv file loaded. I was previously picking up 15.basv.csv is that interchangeable with basv0? The command will be effective even when I run the app via HA ebusd addin yes?

Also a problem I have is trying to wrap my head around the whole system/data flow - I guess everyone has the same when they start? Is there a good reading area to get up to speed? Or really john30 wikis etc?

@burmistrzak
Copy link
Author

Thx do I need to symlink 08.hmu.csv to 08.hmu.hw5103.csv as well, or is it more a case of trying to combine those files for my system to fix all the hmu data points showing up in MQTT explorer under homeassistant? In MQTT explorer under ebusd/hmu there are a few unknowns as well.

@GuyHarg No, 08.hmu.hw5103.csv will be picked up automatically. You had to symlink only the other config because it was previously a link as well.

For best results, delete the hw5103 MQTT device from HASS and restart ebusd.
After that, give it some time to poll registers. You‘ll find any errors in the ebusd log file.

@burmistrzak
Copy link
Author

Ran the first cmd still no basv file loaded. I was previously picking up 15.basv.csv is that interchangeable with basv0? The command will be effective even when I run the app via HA ebusd addin yes?

@GuyHarg Yes, 15.basv.csv will match BASV*, unless there’s a more specific file available. The previous 15.basv.csv was/is symlinked to 15.700.csv.

Also a problem I have is trying to wrap my head around the whole system/data flow - I guess everyone has the same when they start? Is there a good reading area to get up to speed? Or really john30 wikis etc?

Not entirely sure what you’re asking about. Do you mean where’s the MQTT data coming from?
The wiki is a good starting point.

@TheEragon
Copy link

Hello @burmistrzak ,

I tried using your csvgen branch but 08.hmu.hw5103.csv is not picked up, any idea what might be wrong?

address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0901;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 26: slave, scanned "MF=Vaillant;ID=VR_71;SW=0201;HW=0503", loaded "vaillant/26.vr_71.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 71: master #9
address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0902;HW=5103"
address f1: master #10
address f6: slave #10, scanned "MF=Vaillant;ID=NETX2;SW=4035;HW=5703"

@burmistrzak
Copy link
Author

I tried using your csvgen branch but 08.hmu.hw5103.csv is not picked up, any idea what might be wrong?

@TheEragon Thanks for testing!
Have you tried restarting/reloading ebusd?
Also, did you set the config path to ebusd-configuration/outcsv/@ebusd/ebus-typespec?

@TheEragon
Copy link

Unfortunately, yes, and yes :(

@burmistrzak
Copy link
Author

burmistrzak commented Jan 29, 2025

@TheEragon Can you tell me a bit more about your setup (versions, etc.)? Any errors in logs?
Also, do a git pull and checkout the new preview branch. It includes VWZIO support as well.

@TheEragon
Copy link

I'm running ebusd addon in Home assistant, with you testing branch I get the following output

2ad9b828-ebusd:/# ebusctl i
version: ebusd 24.1.p20241114
device: /dev/ttyACM0, serial high speed, enhanced, firmware 1.1[5114].1[5114]
access: *
signal: acquired
symbol rate: 46
max symbol rate: 189
min arbitration micros: 7
max arbitration micros: 24
min symbol latency: 4
max symbol latency: 6
scan: finished
reconnects: 0
masters: 5
messages: 702
conditional: 0
poll: 134
update: 29
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0901;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 26: slave, scanned "MF=Vaillant;ID=VR_71;SW=0201;HW=0503", loaded "vaillant/26.vr_71.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 71: master #9
address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0902;HW=5103"
address f1: master #10
address f6: slave #10, scanned "MF=Vaillant;ID=NETX2;SW=4035;HW=5703"

There are no errors in the log and config files are picked up without a problem

ebusd --foreground --mqtthost=core-mosquitto --mqttport=1883 --mqttuser=addons --mqttpass=feaHoighae8eethiphieR3rie0zaibuWeikielarae4keezuungoh2quai3Deeph --scanconfig --mqttjson --configpath=/config/ebusd-configuration/outcsv/@ebusd/ebus-typespec --accesslevel=* --mqttint=/config/mqtt-hassio.cfg --mqtttopic=ebusd --device=ens:/dev/ttyACM0 --log=all:notice
2025-01-29 20:44:10.819 [device notice] transport opened
2025-01-29 20:44:10.822 [main notice] ebusd 24.1.p20241114 started with broadcast scan on device: /dev/ttyACM0, serial high speed, enhanced
2025-01-29 20:44:10.824 [bus notice] bus started with own address 31/36
2025-01-29 20:44:10.824 [device notice] reset, supports info
2025-01-29 20:44:10.825 [device notice] extra info: firmware 1.1[5114].1[5114], jumpers 0x03
2025-01-29 20:44:10.826 [mqtt notice] connection established
2025-01-29 20:44:10.851 [bus notice] signal acquired

@TheEragon
Copy link

TheEragon commented Feb 1, 2025

I think the b516 is updated more frequently compared to b509

@burmistrzak
I managed to get the new csv loaded but I had to rename it to 08.hmu00.hw5103.csv

@burmistrzak
Copy link
Author

I think the b516 is updated more frequently compared to b509

@TheEragon Both registers are polled at slightly different points in time, but b516 is polled every minute by the VR940f so ebusd picks that up as well.

I managed to get the new csv loaded but I had to rename it to 08.hmu00.hw5103.csv

Interesting, I was under the impression that trailing zeros are stripped during config scan
@john30 Is this behavior expected, i.e. the device ID has to match exactly when a HW version is append?

@TheEragon Also, I assume your system is a aroTHERM plus & uniTOWER plus package as well?

@TheEragon
Copy link

@TheEragon Also, I assume your system is a aroTHERM plus & uniTOWER plus package as well?

Yes, that's correct.

@burmistrzak
Copy link
Author

Yes, that's correct.

@TheEragon We almost have the same HMU revision… However, my configuration is picked up correctly… 🤔

address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0902;HW=5103", loaded "vaillant/08.hmu.hw5103.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=BASV3;SW=0760;HW=7304", loaded "vaillant/15.basv3.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 71: master #9
address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0902;HW=5103", loaded "vaillant/76.vwzio.hw5103.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Vaillant;ID=NETX3;SW=0124;HW=0404"

@burmistrzak
Copy link
Author

@kgeree What‘s the resolution (kW vs. W) of current power consumption (under Energy Information > System View > Main System) in your myVaillant app?

@kgeree
Copy link

kgeree commented Feb 2, 2025

@kgeree What‘s the resolution (kW vs. W) of current power consumption (under Energy Information > System View > Main System) in your myVaillant app?

It's kWh both in myVaillant app and in the Unitower live monitor.

@chrizzzp
Copy link

chrizzzp commented Feb 2, 2025

@kgeree

It's kWh both in myVaillant app and in the Unitower live monitor.

In the app: when the compressor is idle it will display 0.0 kW or does it display the standby consumption (< 20 Watt)?

As your hmu firmware is <9.x.x (SW:0607) I suspect it will show 0.0 kW.

@kgeree
Copy link

kgeree commented Feb 2, 2025

@kgeree

It's kWh both in myVaillant app and in the Unitower live monitor.

In the app: when the compressor is idle it will display 0.0 kWh or does it display the standby consumption (< 20 Watt)?

As your hmu firmware is <9.x.x (SW:0607) I suspect it will show 0.0 kWh.

It is 0.0kwh in the app an on the Unitower as well.
(I just have a separate Shelly EM for the outer unit and there I usually see the standby consumption as~7.5-8w)

@burmistrzak
Copy link
Author

@chrizzzp Wow! At least we now know that we haven’t overlooked any registers… 🫣

@kgeree I made a bunch of changes that are now available on my preview branch. Using that, you should be able see some data for PowerConsumptionHMU… 🤞

@kgeree
Copy link

kgeree commented Feb 3, 2025

Using that, you should be able see some data for PowerConsumptionHMU… 🤞

Indeed, PowerConsumptionHMU shows the power consumption in W now.

@kgeree
Copy link

kgeree commented Feb 3, 2025

Anyone could found "Buildig Circuit Brine Pressure" from Live monitor? I'd be interested in that value. Any hint how can we find it? In the menu its under Live monitor, right after the Building Circuit pressure. But I assume its only for monobloc systems.

@burmistrzak
Copy link
Author

Indeed, PowerConsumptionHMU shows the power consumption in W now.

@kgeree Excellent! We now have better integration than Vaillant themselves. 😉

@burmistrzak
Copy link
Author

Anyone could found "Buildig Circuit Brine Pressure" from Live monitor? I'd be interested in that value. Any hint how can we find it? In the menu its under Live monitor, right after the Building Circuit pressure. But I assume its only for monobloc systems.

@kgeree It's likely also part of the somewhat problematic B503 register block. These registers probably shouldn't be read via polling.
You'll have to click through the live monitor and log everything on the eBus to find additional messages.

# Values from Live Monitor. EnableLiveMonitorMain message needs to be sent before the read message works.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

IMHO, a more worthwhile and safer option is decoding the B509 config/diagnostics block.
Best case scenario, we somehow can get a peek at the register table of the serviceDIALOG software. Something similar has already been done. 😎

@chrizzzp
Copy link

Just to add some more pieces to the EBUS puzzle: while tracking the VR921 EBUS traffic I noticed the gateway reads diagnostic values also from a slightly different hmu address section (b509 29):

08b50903299808 / 0698082f6c3541
08b5090329a208 / 06a208a6a5c541

Interestingly, these registers correspond to compressor inlet and outlet temperatures, respectively, which can also be read from the already known b509 540200 registers and give exactly the same values encoded as EXP (4 bytes):

08b509055402009808 / 08020198082f6c3541
08b50905540200a208 / 080201a208a6a5c541

I checked other registers from the b509 540200 region, many of them also exist as b509 29 registers, some don't. I wonder why these different register blocks exist and why Vaillant reads diagnostic data from both of them? So far I could log only the two examples of compressor temperature which are read from the b509 29 addresses.

@burmistrzak
Copy link
Author

@chrizzzp Huh, very interesting find!
I guess one of these blocks might be used purely for monitoring, the other probably for read/write operations?

AFAICT, it’s not uncommon for the same feature/function to be represented by multiple registers. I‘ve seen this myself with the VR940f and setting SFMode from myVaillant. It all feels very unorganized, tbh…

Until we get hands on diagnostics software, maybe booking the remote diagnostics/optimization service will yield some more registers?

@chrizzzp
Copy link

chrizzzp commented Feb 28, 2025

@burmistrzak

Concerning decoding the b516 (energy statistics) registers I think we've made some significant progress. But we might need some help in how to make the reading efficient (avoiding endless message definitions in the CSV). Maybe you can help?

#490

@burmistrzak
Copy link
Author

Concerning decoding the b516 (energy statistics) registers I think we've made some significant progress. But we might need some help in how to make the reading efficient (avoiding endless message definitions in the CSV). Maybe you can help?

@chrizzzp AFAIK, we‘ll have to define every single register at least once. There’s likely no way around it… 😅

@GuyHarg
Copy link

GuyHarg commented Jul 2, 2025

Hi chaps where is this development left Im wondering if it will help with some VR_71 data that I'm struggling to get my system to produce?

@chrizzzp
Copy link

chrizzzp commented Jul 4, 2025

@GuyHarg
Could you share a few more details what you're trying to achieve with the VR_71 (I also have one)?

Our findings of the b516 energy statistics (also work with VR_71) have resulted in this this PR.

@GuyHarg
Copy link

GuyHarg commented Jul 4, 2025

@GuyHarg Could you share a few more details what you're trying to achieve with the VR_71 (I also have one)?

Hi @chrizzzp I’m running HA Core 2025.6.0 on a Pi5 logging data to influxDB and using Grafana to visualise.

My setup is Vaillant aroTHERM+ 5kW monobloc ASHP heating and cooling the house via Zehnder Q450 MVHR. DHW is 2x Sunamp thermal stores Uniq HW 12+ I-VT for the main house and Uniq HW 6+ I-VT for a basement rental apartment.

The Vaillant setup is:

08: Heat mgmt ID HMU00 HW 5103 MF Vaillant SW 0607
15: VRC 720f ID BASV0 HW 8803 MF Vaillant SW 0217 (gen 1)
26: Circuit box ID VR_71 HW 0503 MF Vaillant SW 0104
76: Control unit ID VWZIO HW 0103 MF Vaillant SW 0202
f6: SensoNET ID NETX2 HW 5703 MF Vaillant SW 4035

Both TSs can call for charge from the ASHP via connection to VR_71 with the main TS on DHW circuit and the basement TS on DHW Circuit 3. Both can also be charged via internal immersion heaters, to which I’ve had to add HomeKit activated devices to enable control of immersion charging remotely and via automations. The TS units are very much unintelligent slaves as they are a few years old now.

To read the basement TS SOC the entity ebusd_vr_71_sensordata1_s4 logs as a temperature reading but it goes offline a lot. As does the .26 scan entity ebusd_scan_26_sw and almost all the ebusd scan data.

I’m not a software guy and have both admired and struggled to understand the efforts you guys have made in this and the other PRs. My VRC 720f is gen 1 and I’m not getting much help from Vaillant.

I’d very much like to refine my config files for my system and hopefully set it to regularly poll the small amount of data I need. Probably need to start with an upgraded appreciation of the elements I have and what is redundant. Appreciate any pointers to help me get myself up to speed.

Our findings of the b516 energy statistics (also work with VR_71) have resulted in this

Took a look at the b516 work but not sure if it was helpful for me.

@chrizzzp
Copy link

chrizzzp commented Jul 4, 2025

@GuyHarg
Interesting setup with the Sunamp thermal batteries. Never heard of them before, they seem to be nice space savers. Photovoltaics would suit perfectly to charge them I guess. BTW this can be nicely coupled via ebusd and the VR71 to trigger charging the DHW stores based on PV excess. I do the same thing with a conventional buffer storage cylinder, but you will need some sort of home automation platform (I use Home Assistant).

Anyway, as I understand one of your problems is sensor S4 going offline. Do you have more sensors connected to the VR71? Do they all go offline? When offline, can S4 be read using the sensor/actor check of the VRC720f (or is it also shown offline there?)? I'm just trying to figure out if it's a general Ebus problem or just a flaky Ebus signal arriving at the Ebus adapter. Are only VR71 entities affected? Do you use a wired connection to the ebus adapter or wireless?

The VR71 will not deliver too many data apart from the temperature sensors (and mixer data, if present). More important would probably be to have the VRC720f heat circuit data (and maybe some from the HMU). This PR might be interesting for you then.

Maybe you should define which data you want to poll and then it would be clearer which configs you need.

@GuyHarg
Copy link

GuyHarg commented Jul 5, 2025

@chrizzzp thanks yeah I have 7.25kWp PV and a 14kWp FoxESS LFP battery w/ 5kW inverter just installed in May and working great so far. About to install a Modbus adapter and connect my HA to FoxESS cloud. I'm running HA Core 2025.6.0 on a Pi5 logging data to influxDB and visualising with Grafana. I have ebusd w/ updated firmware connected over WiFi which seems to have been working fine for over a year of install. I'm running the jonesPD config files and the HA ebusd add-on. This PR and the basv3 PR have been of most interest to me but I haven't done much for four months as been tied up with other stuff. Now ready and keen to troubleshoot and develop my ebusd data and system. Would love to be able to control the basement SunAmp charging via VR_71 because My Vaillant app lets me control main SunAmp but not circuit 3 basement SunAmp. I suspect Vaillant don't care to add this functionality to My Vaillant app because not many guys have my setup and my VRC720f is gen 1 ie old. I've asked them to add control functionality and apparently "it's in the dev pipe list" which I don't believe for a second. So to control the basement SunAmp I have to operate the VRC720f manually which is in my utility room ie not that handy!

I'll put together a list of data I get now and data I'd like. Wondering if I should try the cfg files from #481 and #482 or start from jonesPD and go from there?

@chrizzzp
Copy link

chrizzzp commented Jul 5, 2025

@GuyHarg

Would love to be able to control the basement SunAmp charging via VR_71 because My Vaillant app lets me control main SunAmp but not circuit 3 basement SunAmp. I suspect Vaillant don't care to add this functionality to My Vaillant app because not many guys have my setup and my VRC720f is gen 1 ie old.

If your basement SunAmp is connected as External DHW circuit though the VR_71 then this should work. I basically discarded the Vaillant App because you get so much more data via Ebusd than in the App. And also adjusting regulator settings e.g. via MQTT works nicely and is much more customizable than in the App.

I'll put together a list of data I get now and data I'd like. Wondering if I should try the cfg files from #481 and #482 or start from jonesPD and go from there?

The repo from @jonesPD is probably the most complete one (up to 2024), but was set up for ebusd 24.x (works also with 25.x).

@GuyHarg
Copy link

GuyHarg commented Jul 6, 2025

Thx @chrizzzp I've made a chunk of progress with GPT today defn think basv which ebusd is reading for my setup is not correct but basv2→ ctlv2 might be gen 2 or 3 so probably have to fiddle around somewhere in the middle.

@chrizzzp
Copy link

chrizzzp commented Jul 7, 2025

@GuyHarg Try renaming 15.ctlv2.csv to 15.basv0.csv.

@john30 john30 marked this pull request as ready for review September 30, 2025 04:16
@inherit(r_3)
@ext(0x16)
model YieldHwc {
value: energy;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure this is energy and not energy4 as in the main hmu.tsp?

Copy link

@chrizzzp chrizzzp Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, datatype UIN (not ULG) is sufficient here. Never saw any 4-byte values.

ebusctl hex 08b51a0405ff3216
0aff0826b3080000000000

(result for this example should be 2227 kW/h)

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, but I'm sure this is energy4 then as well, since the answer is long enough anyway

@ext(0x1f)
model SupplyTempWeighted {
@unit("°C")
@divisor(10)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure this is right and not without divisor as in the main hmu.tsp?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not really sure how this value is calculated (and what it's good for), but if it's a supply temperature than it is indeed without divisor.

@ext(0x25)
model CompressorModulation {
@unit("%")
value: D2C;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure this is D2C and not D1B as in the main hmu.tsp?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, D2C is correct. I'm not sure why it was originally established as D1B. Maybe older models?

1803b59

@unit("kWh")
value: energy;
}
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall this seems to be a reduced version of the main hmu.tsp, so it might make more sense to add conditions to that. or maybe share the common part in another file instead of duplicating and having to maintain both

Copy link

@chrizzzp chrizzzp Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I generally agree. However, it seems not so straightforward as some definitions of the main hmu.tsp don't work for more recent heat pump models any longer. Unfortunately there is no systematic analysis of this (I can provide examples). I think @burmistrzak intention for this PR was to create a (possibly) more universal base for as many current HMUs as possible (based on HW=5103), and then use conditions invoke more specific parts. Unfortunately, the work has stalled since some month.

BTW: with the latest HMUX0 heat pump models it is apparent that many of the message definitions from this PR won't work (see #522 (comment)).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i have the HW=5103 model and ebusd seems to use the default csvs from the cdn (https://github.com/eBUS/ebus.github.io/blob/main/next/de/vaillant/08.hmu.csv). It seems that many values are missing though. This csv, which is linked as latest (https://github.com/john30/ebusd-configuration/blob/1755c158f641a0eeaf7ce9754b137eb226a532db/ebusd-2.1.x/de/vaillant/08.hmu.csv) seems to be completely different. Im new to ebusd and honestly I don't understand what version to use. Can someone enlighten me please?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Blackspell01

The second link in your post is not the latest. It's on the old repo and not maintained anymore (see explanations here https://github.com/john30/ebusd-configuration). Especially the german version is very incomplete. However, the csv in your first link (recent repo) is the latest in the "development" branch 'next'), but not all definitions work for all units.

The present PR is an effort to validate the hmu messages for units based on HW=1503 and add newly discovered ones.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I understand. Thank you. For better understanding, should I use the PR version for now, or will this be available as CSV soon?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know. Usually PRs take a while before fully reviewed and approved. You can the CSV yourself and see which one works best for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants