Some thoughts or suggestions on my central heating control project would be welcome. I have installed a Sonoff TH16 device in place of my hall mounted thermostat which will read the temperature in the hallway and switch the central heating on or off in response to the temperature there. This is sent to a Node Red flow over MQTT which averages out the temperature over a period of time to prevent excessive operation of the boiler and compares it to a set temperature which is adjusted via a dashboard setting in a numeric node.
This all works fine and is stable. However, because the sensor is in the hallway (one of the coolest parts of the house) the temperature in our living room is usually a few degrees higher. This is due to the fact that the living room has two large radiators, a TV, dog and a couple of adults all providing additional heat. To prevent the living room getting too warm I have reduced the set temperature in the hallway but this then makes the hallway, landing, bathroom and bedrooms too cool! So to try and address this issue I have added a second Sonoff TH16 with a sensor in the front room and used that to control the central heating. Now the problem is that the front room reaches a nice temperature but the rest of the house is too cool. I thought about leaving the front room door open a little so some of the warm air will penetrate the hallway but this feels like an unsatisfactory solution. Anyhow, I don’t really like leaving the door open as it creates draughts which the little lady is unhappy about.
So I thought I’d go a bit further and fitted a Sonoff device to control my front room electric fire which has a built-in fan heater. Now I can control the front room temperature with the electric fire using the sensor in the front room and can control the rest of the house temperature by using the Hallway sensor.
This sounds good but the problem I’m now having is that when the temperature in the hallway drops below the set temperature, the central heating turns on which also includes the two big radiators in the front room. This of course brings me back to my previous issue of the front room getting too hot.
I know one solution would be to fit thermostatic radiator valves to the front room radiators and I will probably do this in the future (when the weather improves i.e. summer time) but till then is there some kind of fancy control solution I could implement to better control my house temperature, or am I over thinking the whole thing. I’ve kinda made a rod for my own back by fitting these devices and having too much time on my hands (I’ve just retired and enjoy tinkering).
Not sure there is a solution really. The problem is not the sensing but the heat output to the spaces. Fitting TRV's on the radiators is the best approach. Though if your boiler is of a traditional type, you should consider keeping 1 radiator without a TRV and keeping it on. That's because older boilers may not have the built-in overrides to prevent overheating of the boiler if all of the radiators shut off but the request for heat hasn't shut off. Modern boilers shouldn't need that.
You should probably also have a feedback loop in place to prevent the boiler from cycling too rapidly as this may not be good for it. And really old boilers might need a temperature sensor on the output feed from the boiler as well as another safety measure.
But without TRV's, you have no real control over room differences.
Yes, I thought TRVs would be best but until I can fit them I wondered if there was be some exotic mathematical function type solution using temp sensor data and operating heat sources accordingly.
Turn off the boiler and put large numbers of Raspberry Pi's or 1 small server in each room, all running Node-RED and reporting their temperatures to a central Node-RED flow. Then you can run some heavy compute process to heat the rooms evenly
Maybe. The most important indicator is the liquid return temperature. When the liquid made a circle and gave off some of the heat. By focusing on these readings, it will be easier to set up each room separately.