Improve efficiency: Turn the heat pump off

Yep, I believe Tim is doing that. I think this is an example:

Here’s me walking mine gently up from 25 °C to 40 °C over about 90 minutes this morning. This is why I like have “desired” in my chart because I can see the heat pump rising up to it.

There’s a blip near the start for defrosting. There’s a spike in the middle where it decided it had done heating, spotted the hot water could do with some love, did that and then came back to find the space heating could do with another 15 minutes.

Ah, interesting. Now I’m getting HeatPumpFrequency again (every 2 minutes) I’ve re-introduced my code that says “if the heat pump thinks it’s time to stop bothering then simply switch off”. Then it goes into it’s “Let’s wait until the return pipe on the heat pump gets cold again” (as a proxy for the radiators getting cold and calling-for-heat).

For bonus points @TrystanLea we could have the app return an image when discourse was asking for a preview from a given URL with a time range :slight_smile:

Yes, I do this. I find that setting the target to be 7 degrees above return temperature seems to work pretty, though I’m open to other ideas. It’s a delicate balance between not letting HP get too excited, and failing to get the house warm enough. Tempted to try something based on runtime, like increasing by half-a-degree every minute.

Yep, my algorithm is based on finding that if it’s already pretty warm outside (e.g. over 9 °C) then the heat pump won’t walk up gently.

However, if it’s cold enough we can walk up gently.

Here is all it’s ugliness:

1 Like

I found that sometimes when I’d tell it to turn off (lower flow by 7 degrees) it had already decided to start a new cycle. Sending a “power off” message is more effective, but the compressor won’t like doing that too often. YMMV.

1 Like

Sorry to dig up an old part of the thread here, but I discovered something in my experimentation that it may be helpful for you to know. At least on our FTC6 unit, when you activate “Force DHW/Heat Now”, the system seems to ignore the “Eco” DHW setting, and instead heats in the more aggressive “Normal” mode.

My take-away from this is that it’s better to leave the DHW enabled at all times you might want it, and then to suppress it under software control by reducing the tank target temperature when you don’t want it to run. I haven’t actually implemented this yet, though!


Huh, that’s interesting - that would explain why I’m not seeing a difference after turning off Eco mode while forcing the hot water on at the same time every day. I’ll try it the other way, see how it performs.

(I had turned off Eco mode during the colder months in the hope that it would heat up the cylinder quickly and get back to heating the house sooner)


I was just about to dive into this, but I can see a hiccup.

In my case I’m regularly heating up the hot water in the middle of the night. Recently I had started turning on the heat pump around that time and a subtle bug meant it would end up doing space heating before considering switching to hot water. As a result I was spending a lot of money heating up the house during the night for no reason.

I like Paul’s suggestion but I believe the Ecodan will simply turn on and blunder off doing space heating even if the desired tank temp is set high. I may be wrong.

Good news on the low temp though, I was able to send an update which put the SetTankWaterTemperature down to 10 °C so that would be the “off” setting you are after.

I’ll probably wait until the warmer months before trying Eco mode again, when it won’t be competing with space heating, and I’ll be looking to minimise peak power usage while the sun is shining.

I’ll share this with you for kicks.

We went away for a few days so I blocked the heating. We got down to 15 °C inside and then it took about seven hours for things to come back up again fighting against what was fairly cold outside.

Now if only we could cope with living at 15 °C we could save loads of money on heating.

From this chart I’d say that I can see how the space heating would run for a long time, but it is pretty rare for me that it runs so much of the time that we couldn’t sneak some DHW in. I suspect I’ll come to the same conclusion as you that in Eco mode the DHW doesn’t get the job done quickly enough. However, maybe I can lean on my estimate of when the heating needs to come back on (based on the temp dropping) and pair the up with my “should the DHW be on” to decide if I can let Eco mode do the job. If it decides that Eco mode isn’t getting the job done then it could force the DHW.

I keep thinking up reasons this won’t work and then working around them. It may actually work.

1 Like

Another update from me breaking my system and it dropping back to default mode. It was running continuously from 14:00-18:00 so that’s four one-hour bars in the chart.

Here it is in MELCloud just for a change:

So when running continuously it used 2+1.6+1.8+1.7 = 7.1kWh and produced 6.3+5.6+5.8+5.5=23.2 for a CoP of 3.27.

Now, compare this with yesterday. The weather was practically identical and the house was set up the same.

So yesterday, (when my code was turning it on-and-off) it used 0.6+1.1+1.1+1.2=4kWh and produced 2.2+4+3.9+4.1=14.2kWh for a CoP of 3.55.

Yes, the CoP was better by turning it on-and-off, but that’s not the interesting part of the story. It only used 56% of the energy so turning on-and-off reduced the bill from 2.41GBP to 1.36GBP.

Of course, I got less heat out too, but it turns out the house was 20-21 °C yesterday and 21-22 °C today with constant-running. I could have held it back with TRVs, but we’ve all got them wide-open these days so that didn’t happen.

From where I’m currently sat, changing to constant-running would increase my power consumption from 4kWh to 7kWh which is a 77% increase.

Having it modulate down further would help, but I was surprised how easy it was to consume so much more power just by having this change. I can see how people are getting into trouble, even if their CoP seems good. They could still be consuming lots of energy that isn’t really making a difference to their lives.

(on the bright side we did work out the largest sphere you could host in a tetrahedron so the distraction was worth it :slight_smile: )


Thanks @pault

I think your useful observation is getting lost in the on/off discussion. Ironically I was looking for your post and even posted something else to this thread this evening :slight_smile:

I’ve taken the “force DHW” off over here so it’s got it’s own place to flourish.

1 Like

That is some statement!

I’m not entirely clear which chart is which situation. Is the lower chart (less consumption) where you are forcing it back to default mode?

This again demonstrates the highly complex nature of controlling HPs that the average Joe has little chance of understanding or manipulating to their benefit.

That’s understandable, it wasn’t clear enough. I’ve edited it to make it clearer if someone else comes along.

The top chart is it the default behaviour of it running continuously from 14:00-18:00.

The bottom chart is where my code is handling when to turn it on-and-off.

Yep, that’s why I’m sharing what I’m doing so people building new control algorithms can use this data (well, anecdote really because it’s just one system). Also, Tim’s comparison website will also show the behaviour of highly tweaked systems so we can all discuss what works well for different use cases.


Agreed, but, as you say, it is more than just COP!

1 Like

I have been looking at something like this with my Samsung (but am a little way off actually doing anything).

I don’t have a heat meter, but do have heat pump flow/return temperatures and a pretty constant flow rate.

I was looking at the local My Heatpump app with the Carnot calculation switched on.
Then, drilling down into specific instances of the HP coming on; the Tado mostly calls for heat for 10-15 minutes but when a temperature increase is needed, it will be on for maybe 1.5-2 hours.

What I could see was, for the first n minutes, while the deltaT was increasing, it was a better CoP, then as deltaT starts to reduce (I guess all the water’s circulated at least once) the CoP also starts to reduce.

I’m doing some test on varying the pump speeds but when I’ve completed those I’m definitely going to see if I can automate switching it off when deltaT/the efficiency starts to drop.

The question then will be, how long to leave it off for to achieve the desired steady or increased temperature?


Yep, I’m doing something the other way round in that I’m keeping it on if dt > 5. Of course that means when dt drops the code will consider switching off which is the same effect you are after.

You can also see the code taking things gently by not turning off until the dwell time has passed.

I’m doing a similar dwell to bring it back on.

I’m waiting until “the radiators” have become “cold”. Of course “cold” depends on the season. Also, I don’t actually have a reading from the radiators so I’m using the return temp as proxy. It works surprisingly well.

Basically, if the radiators become cold it makes the people feel like the room is cold so my heat pump spends its life trying to keep the radiators between something like 26 °C and 40 °C.

You’ll want to be consider the house temperature too, and keep it running if it’s too cold, and only attempt to optimise COP when warm enough. Otherwise you’ll get complaints…

I wait for the compressor to turn off naturally, and then I keep it off for ten minutes before allowing it to turn back on (if it wants to). See this thread for more on turning of heat pump between cycles:

I know what I’m about to say sounds ridiculous:

I don’t take the house / room temperature into consideration.

My old oil boiler from the 1980’s just used the return temperature as it’s guide. When that got high it stopped heating. Stupidly simplistic.

I was somewhat surprised to see this mechanism worked with the heat pump too.

1 Like

Fairy nuff. Do you need to keep the pumps running so you can measure the rad temps at the return sensor? Or do you find the sensor point loses heat at the same rate while the water is stationary?

I’ve heard that Ecodan’s auto-adapt feature keeps the pumps running for this purpose.