Someone needs to make a relay module

I confess that I cheated here, and limited the flow temp so that it wouldn’t get too excited [like MyForest does]. However, I don’t really like doing this as it adds more complication to the system, and is another thing to go wrong if I mess up. Sometimes the house struggles to get warm as a result. I’d prefer to let the HP do its own thing, overriding as little as possible. Interesting to experiment with though.

A few further thoughts…

  1. Today was much colder and I saw my first defrosts of the season. I was worried that this “relay” was interfering with that process, though looking back at the data maybe not as the compressor was still being used during the defrost.
  2. I also worry that turning the HP off (via MelCloud) is perhaps too abrupt for the system; I’d hope that the controller would stop gracefully, but I don’t know if it does.
    An alternative strategy I’m trying is to drop the target flow temp right down for a short while after each cycle, letting the HP come to a stop when it’s ready.
  3. After the DWH cycle finishes, I actually want the SH cycle to start immediately, without any forced pause [another thread]. This means making the “relay” more sophisticated so it can tell the difference between cycling and a mode change.

I did give that sort of thing a try, but the Ecodan controller decides it’s no longer worth running and shut itself down quickly anyway. Maybe give it a try with your system and see how it behaves.

Hmm, I think I must be missing a reference in an earlier post where you are chatting about the pause.

If we gloss-over my stupid two-minute polling problem, you can see mine was:

  • doing space heating
  • decided it had done enough of that
  • switched to DHW
  • came out of that and decided it was worth doing some space heating
  • eventually decided there was nothing worth doing

2022-11-19T20:04:05.992 Setting initial target flow temperature to 35.5 °C. The flow is currently 31.5 °C
2022-11-19T20:04:06.316 Turning on so we can do some heating. Has been cold
2022-11-19T20:18:04.651 Setting target flow temperature to 37.5 °C so it’s gently increasing. The maximum is 38 °C.
2022-11-19T20:24:04.637 Setting target flow temperature to 38 °C so it’s gently increasing. The maximum is 38 °C.
2022-11-19T20:34:04.944 We’re going to heat the tank to 39 °C because it’s at 16.5 °C which is lower than the trigger temperature of 18.0 °C and the flow is at 38.0 °C
2022-11-19T20:48:04.725 The tank temperature is 40.0 °C which is at least as hot as the target of 39.0 °C so stopping forced hot water mode
2022-11-19T20:50:13.373 Setting target flow temperature to 39 °C so it’s gently increasing. The maximum is 39 °C.
2022-11-19T20:56:04.946 Turning off because the average recent target temperature 38.3 °C is higher than the maximum of 38 °C.

Are you seeing some other behaviour as you switch modes?

Bear in mind that mine is set to block hot water on the FTC5. It only ever goes over to DHW because my script turns on “forced hot water” mode.

John proposed a simple relay that detects when the compressor turns off, and keeps it off for a certain period (the pause). The idea is to prevent it cycling so much, and let the flow temps drop a bit before starting a new cycle. This could improve COP overall.

I’ve been experimenting with a couple software implementations of a relay. One of the considerations I pointed out above is that we don’t want to put in a pause between the heating and hot water cycles, as per your chart.

If I were to implement this in hardware, I think I’d put the relay on the “call for heat” line from the thermostat, reading state of the compressor and 3-way valve. When compressor stops, turn off the call for heat, unless we were previously heating water.

I have just joined the two-minute polling club too :frowning:

Apologies, I was being dim.

I know my complicated, expensive and hard-to-reproduce solution isn’t the answer, but this chunk of code is what’s been working well for me. I hate that it has so many magic numbers which are local to my setup. As Brian keeps reminding us, this will not get fine-tuned by the installer.

Anyway, feel free to use as much of that logic as you wish, I’ve put it online so you can see it.


@johncantor John - is that not what degree minute (DM) control would give you? Vaillant, NIBE and I think a few others manufacturers have it built into to their controllers. Example data from my NiBE F2040 8kW showing the heat/electric data for 3 cycles at low demand and also the DM data from the controller over the same period.

Yes indeed, and Nibe have been using degree mins for very many years. I guess many of the the air con derived systems have controls that are somewhat crude. Its a complex topic to grapple with.

1 Like

The FTC5 manual says it does, running the water pump after the heatpump shuts down to discourage scale build-up.

I still suspect there is a large but relatively simple formula for T_flow = f(T_int_target, T_int, T_ext, T_ext_forecast, T_ext_forecast+1, E_n, E_n+1, E_n+2, cooling_coeff, heating_coeff) linking interior and exterior temperatures and forecasts with energy prices and some things reflecting the thermal performance of the house, finding the current flow rate for minimum cost to hit the target temperature. I’ve not figured it out yet, though!

Or maybe there isn’t and that’s why manufacturer heat pump control programs seem to perform worse than enthusiast ones… :roll_eyes:

1 Like

For me it’s the n+k things that become interesting because that’s where humans think they are adding value by controlling things. Unfortunately I’m missing the bit that predicts when a teenager will take a shower to know how long I can defer the DHW.

BTW, just to give you hope, we created suite of machine learning algorithms at my old job and in the end found that you could get similar results with linear regression which would only need 3-5 terms in the polynomial to give reasonable accuracy.

It might amuse you to see there’s even a library to explain ML models like you are 5:

Here’s another snapshot showing the effect of a forced pause (gridlines every 10 minutes) (Dec 4th am)

The first couple pauses didn’t really work, as HP had already decided that it wanted to start another cycle before it got the memo. CoP was around 3.7. The third pause (dip in the middle of the chart) did take hold and resulted in an hour long cycle with better CoP (4.0) even thoug the temps were 2 degrees higher.


However, I have to ask why your flow temp is exceeding the desired flow temp? I’m mostly asking because my “walking up” of the desired temp ends up with the heat pump hugging the blue line pretty tightly. However, my deltaT is nothing like as good as your 5 °C

I’m impressed the deltaT stays so healthy as your flow temp rises so much.

1 Like

My EcoDan sees the target flow temp to be more of a guideline and will happily exceed it. No idea what is going on in it’s little brain, but performance is okay so I’ll leave it to do what it does.

I’ve since tweaked my “walking up” algorithm, and I’m seeing tighter correlation of flow to target temps.
(90 minute run here)


Yeah, I’m pretty happy with the dT. Shortly after installation, I was getting barely more than 3C, and it was very noisy. The engineers then reduced the pump speed to reduce the noise, and the dT also improved.

I also keep the TRVs as open as possible, 5 in main rooms, 4 in bedrooms to limit overheating.


I’m learning that my (oversized) heat pump has a minimum output between 4 and 6 kW, depending on the outside temperature. If the radiators can’t emit that all that energy then the flow temperature will keep on rising. Meanwhile, the heat loss of the property is only 4 kW at 4C, which is less than the minimum output of the (11 kW) heat pump. (I’ve see it go as high as 14 kW!)

(MCS calculated peak load of 9.5 kW at -3C. I’m seeing actual load of 6 kW)

  • HeatingEnergy (W) is the measured heat output from the heat pump
  • EmitterOutput (W) is computed the wattage of all radiators for the flow temperature
  • HeatLoss (W) is computed based on inside - outside temperature x heat loss coefficient

When HeatingEnergy is below EmitterOutput (assuming all TRVs are open), the flow temperature will stabilise, and the HP will run for a long cycle. Otherwise, the flow temp creeps up and up until the HP stops for a breather.

Also, as HeatingEnergy is often above the HeatLoss of the building, the average temperature of the whole house is either increasing (when it’s on) or decreasing (when it’s off). Like a good ole gas boiler. /sarcasm

So, during milder days (i.e. above freezing) my HP is doomed to cycle, either bouncing the flow temp or the house temp. I don’t know if fiddling with flow speed will help, or I need to add more radiators. Probably needs a smaller heat pump.

On the other hand, the house is warm, and it’s still cheaper to run than gas, so I should be content with that.

1 Like

That’s pretty much the point I’m at.

My heat pump is clearly capable of generating enough heat to keep us warm from the evidence of the last three years.

I still remember ten years ago when it was -15 °C for a number of days and I need something to keep us warm when that next happens in a few years time. Talking about how efficient my heat pump is when it’s warm won’t help.

So I’m willing to tolerate a fair amount of inefficiency to ensure we will always be warm.

In my case we have a lot of large multi-layer radiators which are good at releasing heat, but most of the time my flow temp wanders up like yours and the house would overheat if we just left it running.

When we get better insulation it will clearly be much too large and will produce too much heat at its lowest setting so will have to work in bursts. The bursts with the oil boiler were bad because the radiators got to 60 °C and it was “too hot” and then later “too cold”. With the low flow temps of an ASHP the radiator is just warm and then later just cool so the variations are more bearable when the heat pump is shut down.

I actually quite like having a “transit van” of a heat pump because I wanted something that would just chug along and do it’s job without needing the device to have lots of specialist intervention. My tinkering with the algorithm is just a hobby and the Ecodan would be OK without me doing that.

I believe that if I slow the flow rate the heat pump will turn itself off because it can’t get rid of the heat it has collected.

Of course we’re all looking forward to heat pumps that can modulate better. It’s easy to forget that they didn’t modulate at all in the past so it was much harder to get things working smoothly back then.

1 Like

This lack of accurate estimates for the design and a fear of under specifying is a serious issue IMHO. It is seen in so many different ways.

It is the question of whether the main heating source should be sized for all eventualities? My thoughts are that as long as it can deal with the average cold conditions, then in the long term accepting that you may need a couple of fan heaters to cover the extremes, may be the most efficient overall.

So a smaller HP, that can do what you need efficiently for ~90% of the time, and then supported by other direct heating options for the remaining extremes, might be more efficient than an HP that can cover all eventualities.

For afar, it seems a smaller HP, that can modulate right down, is likely to be the better option.

As an aside (but related) I’m looking at this Direct Water Heater - DCE-S 10/12 Plus Compact instantaneous water heater of STIEBEL ELTRON. It seems it will take warm water up to 55°C and I’m hoping it can be fitted inline to the DHW. If I can, for me this would mean I can run the gas boiler more efficiently and not heat the tank so high (with the associated losses) and for a HP, it might mean not needing the DHW heating period, so again possibly increasing overall efficiency.

Because of the location and planning of my house, I have quite long runs to the furthest shower, so the water in the tank need to be hot enough to cope with that.


Yes, the oversizing problem seems to be one of the consequences of the various grant schemes to replace fossil burners which say the old heaters can’t remain installed in a way that could be used as primary heating. So some useful things like clean infrared and storage heaters have to go, while we can keep our dirty wood stove for the rare times it’s below -7.

It makes sense in one way, in that they don’t want less efficient things like IR heaters kicking in at peak times in deep winter, right when everyone has heat pumps running at max and they’re less efficient and renewable electricity production is at its lowest.

True, but from a whole system view, a smaller HP that needs some ‘inefficient’ boost, is probably going to be more efficient overall, plus as a bonus, should require lower capital investment thus whole life cost is lower.

1 Like

A New Thing which would mostly have the effect which you desired, without sneezing the complicated and unknown internal shufflings of heat pumps (or fridge-freezers) would be for the manufacturer to provide a way to “bump the Thermostat”.

Such could be retrofitted to any device which you are ok to take the lid off which contains an “NTC” type thermister (there is more explanation about a 3.9kOhm@25C thermister somewhere near to this forum) and in which the ace dabbler can safely find the (?two wires?) going to that thermister. The mod is to cut one of those wires and solder in a new proposed board containing a small series resister (for example 200Ohms to increase R at 45C from 2kOhm to for example 2.2kOhm unless a single transister bypasses that extra R). Then drill a hole in the case to feed in GND and a +3.3V DC “bump” signal which goes into the transister base (or gate) through quite a large resistor such as 33kOhm. While bump=3.3Volts, the temperature sensor and appliance behaves (roughly) as it used to. While bump=0.0Volts, the appliance aims for a higher setpoint T, for example heating the room preferentially while bump=0.0 but sufficiently while bump=3.3. The appliance thinks that its T sensor is seeing (for example) 2.2 kOhm instead of 2.0, which can be used to encourage it to try harder to do heating for as long as the bump wire remains 0.0 or until its internal (and unknown) workings decide that it is time to stop; for example if its NTC warms up to 1.8kOhm then it sees 2.0kOhm and its usual thermostat decision says “warm enough, stop”. This is a two wire interface which should be compatible with raspberry pi GPIO pins (two pins amongst the eight rows to the right of the RF shield if you have one) as long as your raspberry pi ground is the same as the NTC sensor ground.

The choice of for example 200 Ohms to go with a 4kOhm@25C NTC near 45C defines how far apart the two setpoint temperatures will be so you do need to know the R(T) curve of your thermister and where on it you expect to be aiming for.

The best place to “bump the thermostat” could be at room target temperature, which does get recalibrated for two setpoints (T while solar power is plentiful OR T while solar power is scarce)

Has anyone looked under the lid inside their heat pump and found out what sort of temperature sensors are in theirs and how they are connected? Vaillant gas combi boilers use the water pipes as ground, which is annoying, because I’d want to insert the “bump” device between ground and sensor.

It might be more efficient for you and lower cost, but it might not be when you take system cost into account. If you need more networks upgrades and more peaking/low renewables plant, perhaps hydrogen fired at 35% round-trip efficiency, and operating at very low capacity factor, then that could quickly cancel out your benefit, certinaly from a whole-system cost perspective.

True. But I’m not going to be thanked or rewarded for taking that into account, so what is best for me will always win. That’s why HPs tend to only be done by those with sufficient capital and the social conscience to spend it that way. The rest buy new cars and take foreign holidays. This is also true for home insulation, electric cars, solar panels etc. etc. Until the financials stack up, it will only ever be the minority that take it up and they usually have money to spare to do so. And as ever, those with the capital benefit (look at solar panels and early FITs and the money made off them) and those without are penalised.

1 Like

Well i guess thats for people like me, working in BEIS clean heat policy, to sort out!