UK user - central heating and hot water control - initial questions

Hi there.

I am toying with the idea of adding central heating and hot water control to my HA server and have a few initial questions before I do anything.

By way of background, I have a Y Plan, heating system:

Y Plan central heating system (flameport.com)

Which means that my boiler either runs to the hot water tank and/or radiators.

In terms of control, I have quite a basic timer that runs the central hearing continuously and has the hot water come on a couple of times a day for about an hour.

In addition to this, I have an intelligent room thermostat that I use to keep the house to a certain minimum temperature and different times of day.

I say an intelligent timer as it is not smart - it does, however, learn about how long the house takes to warm up and works out if the heating needs to come on earlier when the current temperature is lower.

I do not have any TRVs on the radiators.

What are my options (Zigbee if preferable)?

My initial thought was just to make the hot water controllable by HA and leave the current thermostat in place - my reasoning being that it would be too complicated to try and have HA work out when to turn the hearing on early.

Any pointers would be much appreciated.

Hi, my input would be that you may already have an effective enough solution on your boiler for your heating needs where additional technology might not do much better. But you can improve on functionality by adding a parallel controller to the existing timer which will allow you to turn off the timer and manually trigger the heating instead.

I don’t know of an automation/blueprint within HA which has the ability to preemptively turn on a boiler on the basis of the external temperature (akin to OpenTherm), perhaps individually configured scripts have taken this into account, but I’m also on the lookout for such.

Aside from that, TRV’s would be another significant step forward.

If there was improvement which I could recommend to you, it would be to manage the central heating on the basis of the difference in temperature of the feed versus the return water so that the boiler is running in it’s most efficient state (high delta-T). This important for all boilers to prevent short-cycling, but is critical for a condensing boiler as otherwise they can sit in non-condensing mode for most of the day. So if you had a way measure the delta-T and then to turn-off the boiler before it short-cycles, then power it all back up again when the return temperature has dropped sufficiently (by monitoring either rads or room temps), then you could maximise the efficiency somewhat.

As a sidenote, you have to love JW’s (flameport) level of documentation for all things electrical.

1 Like

Thanks very much for this - really helpful.

I was wondering whether perhaps I was going down the route of trying to fix something that wasn’t broken.

One thing that would be very useful, however, would be perhaps the ability to remove the thermostats ability to work when no-one is home - could you perhaps elaborate on how a parallel controller might work, please?

One thing that would, however, be useful is a Zigbee relay for controlling the boiler - the current timer has a timer but the “extra hour” button is often used but it is in quite an inconvenient place to reach. Plus, the ability to boost the water for less or more than an hour would be a great improvement.

As you say, JW’s diagrams are an absolute godsend - I sort of worked out that I could remove my timer altogether. If I do this, I could connect a relay that switches the connection between live and channel and live and channel 3.

I’m a fan of Shelly equipment and I have deployed a Shelly 1PM as a hot-water zone switch. I’ll be doing the same for the two-zone heating soon too.
The killer function for me is the restartable count-down timer natively on the 1PM which you can use as the output of any trigger script. Having the countdown timer on the 1PM gives you a level of security or robustness around the heating, knowing that if you trigger it now it’s going to turn off in a duration whether you have a WiFi fault or a software crash in the meantime. The Shelly’s also have a fall-back which is somewhat handy - they will revert to being a standard WiFi AP if the configured WiFi fails - meaning that you’re not left in the proverbial cold in the event of a WiFi fault.

I have an S-plan system (S Plan central heating system) and all that I need to do is wire the output of the Shelly into the output of pin 3 of the Programmer, meaning that I retain the automation of the programmer, but I can now boost my DHW based on a script or button in HA.
Y-plan would be slightly different due to the two-way valve, but I’m sure that there are guides on this around.

1 Like

Thanks for this, Ronnie - you have given me a brilliant idea on what to do.

If I can find a two channel Zigbee relay, I can swap out the current timer with that.

I can leave the current central heating thermostat to do its thing but disconnect it when HomeAssistant senses that no-one is home.

I can then have more flexible control with the boiler timers as well (using HomeAssistant for this instead).

Edit - the only thing I need to be a bit careful about is frost protection. To get round this, I will need another wireless thermostat that makes sure that the central heating relay does not turn off if it senses a minimum temperature.

Ok, great!
Just bear in mind that by eliminating the timer completely you risk a no-communication/no-heat scenario if HA is down. Also try ensure that there is an independent countdown timer on the two channel Zigbee as timers and waits in HA aren’t 100% reliable!
But yes, please keep us posted on the progress!

1 Like

I have a Y-plan system, and have gone DIY with my own room sensor and heating / water controller. Pics in this post.

The only actual control you need is one on/off relay for the heating and one switchover-style relay for the hot water — that’s what’s in my box with all the LEDs on the front, along with a little ESP8266 unit. The temperature sensor is powered from that box over the old switch wiring, and is another ESP8266 with sensor and screen connected. All of the communication between them is over wifi via HA, which is the brains of the system handling scheduling, temperature thresholds, presence detection etc etc.

As @RonnieLast says, HA going down would mean no heat or hot water — but I’ve been running fine for two years now.

2 Likes

Thanks guys - I can see I need to do quite a bit more research before tinkering with this.

The countdown timer issue seems very interesting. Am struggling to find anything with both this, two channels and Zigbee at the moment.

As mentioned, I am just trying to figure out what might be the worst scenario if HomeAssistant gets stuck on or off on either of the channels.

Troon - may I just ask about the generic thermostat that you have referred to in you earlier post, please? Is generic thermostat software, hardware of both?

Software: Generic thermostat - Home Assistant

You provide it with a temperature sensor entity and a switch entity. It does the rest. My UI is below: the generic thermostat card is the top bit:

2 Likes

Great - I see, now.

So how sophisticated is this? Does this simply switch the temperature on and off or does it take into account, warm up times etc?

Read the docs I linked to — it’ll do hysteresis (tolerance around the threshold) and cycle timing (so you don’t wreck your boiler turning it on and off every 10 seconds). It doesn’t do pre-heat, although you could “easily” create some automations to switch from e.g. sleep to comfort mode at different times based on some function of outside temperature, inside temperature, sunload, whatever.

That’s the beauty of using HA: if you can access the data you need to do something, you can do it.

Mine is set up for day/night, away and working-from-home adjustments with different schedules depending on whether it’s a work day or holiday.

I have recently installed (dumb) TRVs in most rooms, which is a big improvement in keeping an even temperature. I would go fully smart but £££ — I’ll manually adjust the rooms that aren’t being used.

1 Like

Oh that’s super Troon, I was unaware of that platform! I’ll be giving it a test over the coming days.
I ordered a “ESP32 WIFI Bluetooth BLE Four-way Relay Module ESP32-WROOM Development Board” recently and I aim on deploying it on that.

1 Like

Totally agree about TRVs - would also like to go fully smart with these but, as you say, they are really expensive, still. I do not even have regular TRVs, so might think about adding some for some manual control.

I have to admit, I am a real beginner with electronics and Home Assistant. I even had to look up what ESP was.

Troon - having seen an actual photo of your setup, I am fascinated by how professional it looks and am now looking at whether I might be able to do something similar.

Excluding anything involving the immersion heater, am I correct in thinking that the box in your second photo has six wires coming into it (Live, Neutral, Earth, Central Heating on, Water off, Water on)?

Is this connected to a single ESP8266 board?

Yes that’s right, although no earth as there’s no metal inside. It’s wired up exactly as the prior Danfoss controller. I use a Vigortronix VTX-214-005-105 module to convert the (fused) mains to 5VDC.

The ESP8266 brain is a Wemos D1 Mini with a pair of SPDT relays switching the two circuits. The 5V module also sends power down the old thermostat switch wiring in the wall to the module running the sensor and display in the hall.

That D1 Mini also handles the six LEDs (power LED is just connected to Vcc; and two of the six are in parallel with their relay signal) and has five DS18B20 sensors connected to it, reading three points on my hot water cylinder, my loft cold water tank temperature and the loft ambient temperature (wired via the two jack plugs coming in at the top). These temperatures are fed to HA: there’s no logic in the box itself. I had plans for contingency stand-alone running in case HA packed up, but haven’t had the need to actually finish that.

There is no connected wiring for the immersion heater — that’s switched by a Shelly 1PM. The box just runs the two related status LEDs, to keep the status of all hot water controls visible in one place.

Interior of the box is designed to hold the modules / PCBs in place, with mounting pegs for the chocolate block connectors (yes, I know Wagos are better):

1/3/4 wiring labels are as per the standard Y-plan convention.

2 Likes

Thanks so much for this.

You clearly have a great knowledge of electronics - I am going to try and sketch out how you have wired everything up as I never even heard of any of those sensors and am going to look them all up and how they might fit together.

You also have a much more sophisticated set up with extra sensors for hot water and loft temperatures.

I am wondering whether I might stick with a regular 2-channel Zigbee relay time being as I am not sure I trust myself to get anything even close to what you have. I might, however, put a Zigbee air and water sensor in the loft as well - this is a really clever idea.

Furthermore, I am thinking of moving house in the next 18 months so I wonder if that will be the opportunity to try and do something a bit more adventurous like you.

Credit due - very impressive indeed.

Hot water system documented here: Asymmetrically-damped sensor

The loft temperatures aren’t used for anything at the moment, except trigger a warning if the cold water tank is approaching freezing point. I had originally planned to compensate for the cold water temperature in scheduling the hot water tank “level”, as you need more hot water for a shower if it’s mixing with winter-temperature cold water compared with summer-temperature cold water — but again, it’s not reached the top of my priority list.

Equally important is a respect for mains voltages. Do be careful.

1 Like

It is really interesting that you mention the hot water tank temperature as we have struggled with inconsistencies in water temperature for years.

Sometimes you can run a bath and it is really very hot and sometimes it can be considerably less so - this is if the hot water is heated for exactly the same time and no hot water is used elsewhere.

My only explanation was firstly, as you said, it depends on the temperature outside the water tank - if it is colder to begin with, an hour of heating will heat the water to a lower temperature.

Secondly, as I have a Y plan set up, if the heating is on at the same time as the boiler, hot water gets diverted to both the central heating and the boiler, so will again take longer for the boiler to get hot in any set hour.

You mean “as the water heating” — the boiler is on to supply either or both.

I allow for this in my water tank “charge” calculation (although I removed that complication from the explanation in the link above) — if the central heating is on, the tank is assumed to only heat up at 2% points per minute, otherwise it can do 3% points per minute.

1 Like

Marvellous - really pleasing. You certainly seem to have covered everything.

Out of interest - is this purely a hobby or do you work in a trade that involves this sort of thing?

I would really love to get up-to-speed with electronics but have no idea where to start, really.

The nice thing about HA is you don’t need to have everything sorted at once. You can continue to add data and controls and tweak the way it works. If there were a requirement to, say, have the central heating stop an hour either side of the full moon (to avoid attracting werewolves, obviously), then that would be an easy addition, implementable in about 20 minutes. Try that with any consumer heating solution.

In Agile-speak, you can start with a “minimum viable product” — the bare essentials. I got the controller relays working first, but didn’t have the room sensor designed or built: I used a breadboard-built tabletop temperature sensor to feed the system. Then I could take my time getting the sensor sorted — which took a surprisingly long time to get the airflows right to prevent the ESP and screen heating the sensor!

Just a run-of-the-mill nerd. My degree’s in electronics and computing, but pre-dates anything like Python or ESP8266. Probably means I have the right mindset for thinking these things through.