Separate DHW and Space heat monitoring

Might be worth adding another state for defrosting.

Like this? I’m getting N/A result currently…

Use Source feed not + source feed.


Thanks Tim, that has worked a treat


Hi @Timbones - some more info on the minor issue Dom and I commented on previously,

In the new “DAY” (i.e. previous 24 hours) view, the summary data looks good:

The “COP in window” of 3.59 appears correct; lower than the 4.84 when in Heating mode (because I get significant passive solar gain on cold-but-sunny days and my system spends a lot of time pulling 60W in Standby with no heat production).

When I click on the current day on the overview histogram and go into the ‘today’ view (i.e. from 00:00, showing the data up to ‘now’) the summary COP data appears to be wrong:

The “COP in window” looks OK (less time spent in standby so expected to be a bit higher than the 3.58 on the previous image) but I don’t believe the 5.98 when in Heating mode.

Due to the long period in standby, both graphs show the same three heating cycles (no DHW because my solar PV divert covered that) so I was expecting the figures to be identical. While “heat produced” is very close (17.298 versus 17.290) the “Electricity consumed” is quite different (3.577 versus 2.893).

Does that give you any clues? It seems to be missing some of the electricity consumption when working out the COP. Is the calculation looking at the right time period?

1 Like

Heating consumption is calculated as total - dhw - standby. The actual bug is in the standby consumption:

  • incomplete day

  • midnight to 13:30

It’s like it assumes the standby period is for the entire day rather than up to the last reading.

1 Like

Looking at the incomplete day for my own system, it thinks I’ve consumed/produced way more from hot water (that’s running right now) that an entire morning of heating, so I get negative numbers:

Real numbers for midnight until now:

1 Like

I have a fix for this. Will contribute a pull request shortly…

Edit: Issues mentioned above fixed in this update.


Having our Vaillant ASHP installed in mid-December with the level 3 monitoring kit.
Would love to get this DHW/CH split.

I have had a level 3 OEM kit on my system reporting data for a few months now. I don’t have home assistant or any other feeds.

Am I able to split CH & DHW, as per question above?

I haven’t delved in to setting up virtual feeds or any other functionality that the dashboard can provide, so a guide would be handy. I have tried to work through this thread and create a virtual feed but I have no idea whether it’s working, and if it is, how I can then display the info.

Sorry, I think I need a dummy guide to get me started on the additional features of this site beyond the basics of what was provided with the OEM setup. I don’t have the programming background some of you have.

Without some additional input that tells you the state of the appropriate valve or pump, your only real option is to detect when the flow temperature is higher than normal space heating, which works best with low heating curves.

Virtual feed would look something like this:


This will produce a zero value when flow is 45° or less, and a non-zero value when above 45°.

Click on the feed in the list of feeds to see a graph of values to check it. Adjust threshold as required.

1 Like

Another option, if your hot water runs at a fixed time every day, is to set a Schedule:


And then create a Virtual feed like this:



Thanks Tim.

I now run DHW with a reheat, so was thinking temperature above low 40C, I run at fixed 38C+/- 2C modulation for CH. Or use flow rate above 23l/min, I usually only see this flow during DHW run or for very occasional short times in the start up after the pump has been off for a while

I’ve seen what I was missing, it was the ‘-‘ in the second line of the process

Trying out both options above now. Thanks again :+1:

Yet another option is to use the flow rate (if that is an available input) as it may be higher during DHW cycles. Your mileage may vary.


The MyVaillant integetation for Home Assistant unfortunately doesn’t have a simple boolean for space vs DHW but I have noticed that when the DHW is being heated the state_in_circuit_0 sensor reports “STANDBY” and when space heating it reports “HEATING”.

Could be used in combination with the current_flow_temperature_in_circuit_0 sensor to create a boolean helper. Although, the integration only makes calls to the Vaillant API every 60 seconds to avoid being blocked by their rate limiting, so it’s perhaps not the ideal option.

Looking at my system, there’s a Honeywell 3 way valve, which according to the manual I found online "opens to Port A (from Port B) in 18 seconds (under power). It mentions power consumption of 6W at 230VAC, so perhaps a Shelly Plus PM Mini could be wired to monitor when the valve is powered. (I’m assuming the default state would generally be heating on Port B, and hot water being the powered state?)

Screenshot of Home Assistant sensor history, where I toggled the Vaillant hot water to ‘Manual’ at 16:18

1 Like

I have created a binary_sensor in Home Assistant and configured it to be passed to my local emoncms via the Emoncms History integration. I have created a feed named heatpump_dhw. Does it matter that it’s under “301”?

Am I correct in thinking I need to tweak the emonHub configuation, to get these additional feeds automatically published to, to save me clicking the Upload buttons on the Sync page, please?

The Sync tab in the web interface is a one time fire and forget.

To setup a periodic sync you’ll need to setup a cron tab (on the ssh interface) .

Use putty to connect to emonhp.local (or the ip address of your instance)
default username is pi and default password is on the paperwork that came with the unit.

then type

crontab -e

at the bottom of the file add the below line

*/5 * * * * php /opt/emoncms/modules/sync/sync_upload.php

This will upload the data to emoncms every 5 minutes.

Let me know if this helps :slight_smile:

1 Like

Which paperwork, please?
I have 3 pieces of A4 with 5 pages printed that mentions a default username of emonhp.

The ssh username and password that will have been provided with the kit (back page of the instructions.

Unless my installer didn’t hand everything over, the final page only mentions access to the “Local web-interface”.