Improve efficiency: Have a big hot water store and delay heating it until it's warm outside

I’ve implemented a multi-stage algorithm to decide if we should heat the hot water.

Note that I only have a sensor at the bottom of the tank so as soon as someone showers, the tank appears cold to my code. Tap usage is so small it doesn’t register.

If the tank is cold then we heat it up after 10:00.

If the tank is warmish (say over 30) then we defer heating it until 12:00 so it’s warmer outside.

Even in the Winter that gives us a chance that the solar diverter might top it up a bit.

Notably yesterday (2020-02-19) this meant we heated the water at 10:21 when it was 7 Celsius outside and the CoP at flow=40 is 3.81 rather than doing it at something normal like 06:00 when it was 4 Celsius outside with a CoP of 3.24.

Yes, that could clearly be improved by looking at the weather forecast to see when it’s going to be warmest outside rather than a heuristic based on time (which has actually been pretty good so far).

An important part of this is to have a big enough water store that can cope with someone having a shower at 20:00 and still leaving enough hot water for someone else to shower at 07:00. The people in my house shower at totally random times and days. The stratification of the two bodies of water is clearly really important.

If I had a sensor at the top of the tank I’d be able to tell if that was cold and jump into action but I don’t have that yet.

I’ve only had the heat pump since October. I’m looking forward to seeing how this plays out in the summer as we have solar PV and a diverter, but kicking in the heat pump to multiply up the power might be a good idea if there’s lots of solar.

I can hear you all shouting “demand shaper”. That’s why I’m integrating my stuff into Emoncms and chatting to you lovely folks!

FYI my hot water target temperature is 42C.