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.

Great ideas, how did You solve the legionella issue? I am looking into UV lamps…

Thanks for joining the OpenEnergyMonitor community!

In my case we are lucky that the water gets used very often by the residents so it’s not sat around much to get legionella.

However, we use a few approaches to getting rid of legionella.

If the solar diverter has made the water hot enough recently we leave it alone.

If we’re heating the water and it’s been a while since it got really hot then we raise the target tank temperature to be hot. We try to find an efficient time of day to do this.

If it’s been a really long time since we heated the water then we’ll heat it up anyway. This has never happened.

We’re monitoring the temperature every minute so we know when the water has been hot enough for an hour or so. Specifically, if we heat it up a lot but then someone has a shower we don’t count that as having done the job.

This is all a bit more complicated than most schemes which just run on a timed schedule. It means we have to remember when it last happened which we do by storing that time in a file called `last_legionella.txt`

BTW I’ve published my hot water management code, but not the legionella part yet. I’m a bit wary of people taking it who live a different life to us and not realising they need to be more careful. I may just do it but make the time windows much shorter.

You UV approach sounds interesting. Are you thinking of putting it on the supply? I think it would still build up in the tank if any managed to sneak past your UV on a supply. Please let us know what you decide to do.

first off you do not really have to put a temperature sensor inside the tank just slide one in between the canister and the insulation. I usually do where the electric element is. if it happen to be one of those foam injected hotwater tanks you just need use a file to clean away the insulation from the tank. and this will give a reasonably accurate read…
as to legionella never understood how you are going have it bloom in your hotwater tank as it closed loop and it a aerobic bacteria . if it comes from municipal water it is chlorinated so that would control it. and if it well water then your using water that was generally trapped under ground for 100’s if not 1000’s of years with very little or no O2 in the water to support its growth … the only way legionella is introduced if you are using standing open air cistern type system . but you are equally as likely to get that from the “cold” water as well… Asian countries use alot of cistern/rain unchlorinated water and why most of there solar equipment and hotwater tanks have heating cycles that heats the water to 70c once a week … from a Canadian perspective the higher temperature is only used if you have the eggy smelling water to kill anaerobic bacteria that produces that but otherwise relatively harmless bacteria . but you can control that by usually shocking your well once a year with chlorine or when ever the eggy smell redevelops or you can also heat your water to 70c for an hour to kill it as well in the tank . but that will quickly redevelop as the bacteria in the cold supply line that why shocking works better–

edit-- just pointing for clarity shocking the well kills the bacteria through the entire water system–

and for those who are not sure what shocking is - you dump -1 to 2 gallon of chlorine bleach into your average well. depending on the well let sit for 10 minutes then run water until you smell chlorine at your hot and cold taps . let sit over night. then flush your cold water lines for an hour , you do not have to do your hot water lines as hot water line are generally considered non potable water source. but you can do a load of laundry or dishes to reduce the strong smell of chlorine from it - but generally your water will smell like chlorine for a week or so but is considered potable and safe.

Many thanks for your reply. I was thinking of installing the uv lamp on the circulation return. I agree this would not help with cleaning the whole tank, but at least I have a redundant system