Best practices for turning on/off a central heating system

Hi folks,

I have a very classical CV system in my house: it burns oil to heat my boiler to have hot water, and to heat my radiators. Nothing smart at all.

Recently I have added a temperature sensor, so I now have the temperature readings of my boiler water in Node-RED available. Would like to turn my entire heating system on and off (with a simple shelly plug-S) when I don't need hot water. So something like this:


I first wanted to turn it on only during the morning and evening when we need hot water. But perhaps I can make my classic system a bit smarter: e.g. when the temperature drops below X °C I turn the system on, and when it goes above Y °C I turn the system off again.

Does anybody have other ideas about this, or things I should take into account. E.g. bacteria in the water, or how to avoid my heating system starts condensating (and as a result starts to rust), links to other useful related discussions, and so on...

P.S. would like to implement the logic inside Node-RED, without extra smart hardware or software...


The best is to know well your enemy.

So key point is of course water temperature > 60 ° C ...

Situations like this:
Boiler is used and periodically heated up to the safe temperature. Cut the heating to go to longer vacation for example. Somebody still uses the hot water so the temperature is at some mid range. Fresh water is taken in and if you then leave it like it is for longer period without heating it to the safe temperature - if there was even one of them, you have started the colony.

Hi Bart,
That looks very basic. Can I ask whether you have an electric pump to pump water around your radiators?

Yes you are very right that I absolutely want to avoid legionally. And strictly speaking you would need at least to have a water temperature of 60°C, to kill 90% of the bacteria within minutes. Found a nice graph in this article:

I don't have the intention to shut down my heating for a week. But just wondering if it needs to be 60°C continiously to be safe. Cannot quickly find any information about that unfortunately. Does anybody know if it is ok to heat the water at least every few hours daily above 60°C?

Yes David, indeed there is a pump for the boiler and one for the radiators. They are controlled by the heating system. Don't know the internal logic of that at the moment.

In the summer I just put the boiler (also oil) on for a few hours each day to heat it up.
Is legionnaire's disease a real issue with domestic systems? I have never heard mention of it in a home environment, and indeed it was not even described until it appeared in 1976.
No-one has died in our house yet.

1 Like

Thanks for the scientific evidence! That was also one my wife's requirements for my new setup :rofl:

So I could turn it on anyway in the morning (just before we stand up), and in the evening (just before we normally go in bath). In between I shut the system off, and I turn it automatically on when the water temperature drops e.g. below 30 or 40 degrees. Too make sure that you get hot water if you should need it in between. Or anybody a better idea?

I think that this is the recommended way to handle the legionnaire issue, which could be easily coded with node-RED - How the Nest thermostat helps prevent Legionella bacteria - Google Nest Help

1 Like

One other thing to consider...

Using a geofence that tracks your family's phones, and if everyone is away, it drops the temperature of your heating system, and raises it again when you return.
I use this, and also have a residency sensor to override the geofence if it detects motion.
(I'm using a Nest thermostat).

1 Like

Just remember to keep the occasional boost going if away for >48hrs.

The other thing to think about is that if you have a hot water tank, the temperature will tend to stratify. So a circulating pump is sometimes recommended to keep the whole of the tank at the desired temperature.

1 Like

Hey Julian,
Good that you mention it. Looks obvious, but easy to forget about it.

For all non-native-english-speaking people (like me): stratification means that the water is not evenly warm throughout the water tank. Instead you get layers of cold and warm water, as a result of the different density of cold and hot water...


Interesting. Will start with a simple setup, but definately will get back on Discourse in the future with questions about that...

1 Like

Legionella : Colin is correct, mainly only a problem with open cooling towers. Max heating temperature depends on the boiler (for example mine is 63 degrees)

Your heating system should have a chemical in the water to prevent rust etc.

The best place for the temperature sensor is 1/3 - 1/2 the way up the hot water tank (I am assuming that what you have labelled 'boiler' is actually a hot water tank.) measuring the temperature of the boiler output (other than checking that the boiler is getting up to the correct temperature and that the temperature drop between output and input is optimal - probably in heating boiler manual) is not very useful.

Do you not already have a thermostat on the hot water tank?

You would be better off controlling the pump to the hot water so you keep hot water and radiator control separate.

1 Like

Yes i believe it is grossly over exaggerated in a domestic setting and have never heard of it either in such an environment.

In the case out here in OZ - when they sell Heat Pump Hot water heaters - the cheaper models have an element in them and a timed program so that once a week the element comes on and heats the whole tank to 65c - it does not keep it there for any period of time - just a normal thermostat cuts in and dumps the load once it reaches 65c - i think this is more a cover your arse approach than anything scientific


1 Like

I have been looking into the Legionella side of things in these days of high energy prices and it seems very difficult to get a definitive guide, most applying to Care Homes, Hospitals and Industrial/Office environments, with hints towards 'Domestic Installations'.

However, I did come across this document from the CDC (Centers for Disease Control and Prevention, USA) which seems to give a more 'level headed' description of cause and prevention. On the treatment side it seems that Chlorine Dioxide is the chemical of choice which gives the best safe treatment, but a dosing system would be required.

As for our system, we do switch ours off when not needed. I monitor the Hot Water tank 1/3rd up and also at the top. I can get a temperature differential of >20 deg C between the two over a distance of 70cm. (Forget the Boiler and HW setpoint plots, they are not currently used. Awaiting Opentherm Gateway for our new modulating Gas boiler so they cannot currently be used!). I also do a boost during the night using the Immersion Heater during my cheap rate (currently 7.5p kWh, so cheaper than gas, which works out at 11p kWh using 90% efficiency).

I know, I need to up the HW setpoint for the Immersion a little bit, but it is still early days and as the Boiler is using condensing mode to up efficiency, it needs an output lower than 55 deg C.

This whole 'OLD' system was controlled by WiFi switches using an Industrial controller (had a couple laying around - Opto22 PAC R1) with 3 Sonoff/Tasmota Wifi Relays (Pump, Boiler and Diverter Vave), 1 KingArt WiFi switch and Contactor for the Immersion Heater and Node-RED to provide the Setpoints and feedback/HMI. There was also a limited 'Weather Compensation' routine that monitored the outside temperature and adjusted both the Boiler SP and the Water Temp threshold for having a shower (measured to see if it was hot enough). During the Winter, the boiler SP was higher, as was the HW Temperature for 'Shower Mode'. In Summer, the Shower Mode temp. is 'up to' 5 deg C cooler.

Only reason not all on Node-RED? Wasn't using Node-RED when I started the project. Staring over, I still might go down same route as the Opto 22 is VERY stable (as in years between resets providing PSU voltage is correct).

Oooops!! Forgot to add Graph Plot!!

EDIT: New Graph to show just relevant water temperature. Didn't know you could select multi Grafana plots you wanted, thought it was only the one you could select!)

I usually just have mine on in the evening. The tank is well enough insulated that it is fine for showers etc in the morning.

1 Like

And that is what got me looking when legionella was mentioned in this thread. The current recommendations on condensing boilers is to reduce the output temperature as far as possible since they are a lot more efficient when the return water temperature is lower. But of course, that goes against the recommendations for legionella. Thankfully, we don't have any tanks at all and I think that the throughput of the hot water in the system will be enough not to worry about it.

But this thread also explains why the boiler service engineers always whack the temperature back up to uncomfortable levels. Doubtless that is what they are taught is "safe". I always turn it back down again. I also leave our Wiser smart heating controller on "Away" mode during the summer. I doesn't control water heating as we have no tank. Hot water is just "on demand".

Hi guys,
Sorry for the delay. Being very busy at the moment...
Thanks all for joining my discussion!!

Yes we say "boiler" to the hot water tank...
The problem is that I don't have any way to install a temperature sensor inside my hot water tank.
So I can only add it at the top and bottom, and mount it to the metal tubes (behind the isolation).
By putting the sensor behind the isolation (which is around my tubes), I can clearly see the temperature changing when the heater is started and when we start using hot water.
I assume I will need to add some kind of fixed offset value* to it, to estimate the value inside the hot water tank.


That is what I mean above. If I can determine the difference, I could add it to the temperature measured at the top of my hot water tank.

That is a good tip!! We also have a cheaper night tarif.

Not sure what your tanks look like Bart - but ours in Oz have about a 25mm spray (closed cell) foam on the outside of the tank and then a thin metal outer shell to project the foam etc.

What i did with mine (which we use as a preheat) is to drill 4 holes in the outer shell up the side of the tank - then push through a small screwdrivers and clear out the foam around each of the holes - i then installed 2 x DS18B20 in each hole and made sure they were pushed against the metal of the tank and then sprayed some more foam back in - sealed them all in nice and tight and with them touching the tank wall we get pretty close to accurate temperature readings

I have all 8 of these probes going to a Sonoff TH16- basically all spliced together with an additional external 4k7 resistor between the data and +ve lines

Works well for allowing me to see when our tank is fully heated from the excess heat from our crypto farm and then i kick in the element for a couple of hours to bring the whole tank up to 65c