Heat demand explorer partial current day

I’ve noticed what I think is an issue with the Heat demand explorer. It appears to use data from some point during the current day which gives a rogue point on the graph for a couple of reasons:

  1. Many people schedule DHW in the early hours so sampling just that period of the day suggests a much larger mean heat demand than they entire day will yield.
  2. Those early hours tend to be the coldest part of the day and so during shoulder periods when the heat pump might only run during those periods it overstates the heat demand until the full day’s data is accumulated. Of course a perfectly weather compensated system won’t exhibit this behaviour but modulation and temperature limits mean that every system will display something like this when the heat demand is low (my Daikin, for example, doesn’t want to generate < 25C water when that’s exactly what I need in the shoulders).

The result of both of these is that you end up with a single rogue point on the graph which doesn’t represent an entire day i.e. you’ve got one point on the graph which doesn’t mean the same thing as the other points on the graph.

The first issue is probably the most serious since even a well weather compensated system will show an outlier point for the current day, particularly during the shoulder periods and for systems like mine which have a relatively high DHW demand compared to space heating.

It think the right thing to do is simply not display the current day. What do you think?

I’m more than happy to have a swing at addressing this myself but I can’t find the source code for the explorer. If it’s public and someone wants to point it out to me I’d be quite happy to open a PR for comment.

Hello @markh

Yes you are quite right! Strangely I’ve never noticed this! perhaps it’s particularly noticeable at the moment during colder weather? Removing the current day makes sense.

Source code is here: heatpumpmonitor.org/www/views/heatloss.php at main · openenergymonitor/heatpumpmonitor.org · GitHub

It loads in the daily data for the system here: https://github.com/openenergymonitor/heatpumpmonitor.org/blob/main/www/views/heatloss.php#L403 (in CSV format).

Stats/daily returns a lot of data e.g: https://heatpumpmonitor.org/system/stats/daily?id=2

Probably the easiest way to avoid partial days would be to filter out days with combined_data_length values < 64800 (18 hours of data present: 75% coverage).

I’ve applied this change on the server to test. I will push the commit soon, there’s some upstream changes I need to check before pulling them down.

1 Like

Awesome. Thanks Trystan. I think that’s a great approach since we don’t want days with serious amounts of missing data causing trouble as well.