Improve efficiency: Turn the heat pump off

This ^ is the reason I come here to chatter :slight_smile:

I tried dropping the target flow temp to, like, 20 degrees, which kinda works. The pumps turn on periodically whenever there’s a call for heat, but the compressor doesn’t start up.

I’ve since changed to using 'Room" mode as you suggest, and that seems to work better. Thanks.

1 Like

I tried that for a while, but found that whenever my code switched the heat pump to “Room” mode (i.e. “off”), it would trigger another heating cycle. I’ve since (today) changed to simply sending Power = false as David suggested. So far (12 hours) it seems to be working nicely.

As we’re entering the heating season, I’m experimenting with my heat pump control system. Current strategy is as follows:

  • Implement a “house thermostat” entirely in software, using aggregate of 5 room sensors
    (plus 0.1 degrees while heat pump is on, to add a little hysteresis)
  • Heat pump power is switched on or off depending on the house temperature vs. thermostat
    (though making sure to wait for the heat pump to finish it’s current cycle, not cutting it short)
  • Physical room stat set to manual so it always calls for heat (+2 degrees to avoid TPI)
  • Set-back temp over night which is gradually increased during the morning up to day temp
    (this gives a chance for the building to get warm naturally from solar gain)
  • Custom weather compensation formula that uses future outdoor temperatures
  • The heat pump system does its own thing regarding flow temps, power draw, cycling, etc.
  • Can be easily overridden by switching HP to built-in “curve” mode, and room stat to auto
    (e.g. for when the broadband connection suddenly stops working, as it did last week)


(blue = “thermostat” temperature, black = average temperature, orange = heating)

There’s probably some more tinkering to be done as the nights draw in and days get colder…

1 Like

I found mine would run and run, so that’s when I started comparing it’s actual efficiency with the expected and if it was getting rubbish I just turned it off anyway.

Mine is set that way too, but after a power cut (two yesterday!) it doesn’t come back “on” until a human presses a little button. Very boring.

Nice.

I’ve also added this code to stop it kicking in, even on the dynamic weather comp curve, if it’s getting warmer outside at a fair rate. For some magic value of “fair”.

Nice, I wish I could get organized to add that :slight_smile:

This is really good to see. I found that letting the occupants take over during the early days helped because they could override the algorithm and feel like they had agency. It’s probably been a year since they last bothered.

Best of luck with your new setup, it’ll be interesting to see. I’d be really interested if you could untangle the impact of different changes. That’s why I wrote my dodgy app so I could look at slices of time where I had been experimenting. It’s good to see you using it. I don’t think it’s clever enough to do the equivalent of Fourier analysis and auto-de-tangle the impacts of various changes, especially as we’re not feeding those parameters into EmonCMS along with the observed outcomes.

At which point a lightbulb obviously goes off in my head.

:slight_smile:

(mumbles to self: must stop making it more and more complicated!)

1 Like

Off? Plunging you into darkness? :wink:

2 Likes

Background: I had previously determined that the TPI feature of the room stat (fitted by HP installer) was causing the HP to cycle unecessarily. So, by setting it to be 2 degrees higher than I need disables that feature. By taking it out of the equation I’m hoping to see if that really is the case or not.

Also, by replacing it with software allows me to setup a much more sophisticated heating program than the 4 time slots that the old one provided.

This is mostly just a refinement of what I had working last winter, with only big change being the thermostat. I’m hoping that this will result in longer running cycles, but it’s not quite cold enough yet to see this in action.

It’s great. I use it all the time now in preference to my own shonky dashboards that I used to use.

1 Like

Hi, I’m new here so sorry if this is in the wrong place.

I have a Ecodan heat pump and I’ve been trying to improve the COP by lowering the flow temps on the weather compensation curve, this worked great at colder temps but when it’s mild weather the unit is doing what I think is referred to as cycling, so it’s heating up and down every 15/20mins rather than maintaining a stead flow temp. I’ve noticed this makes the COP worse that it was before so it’s undesirable and I’d like to stop it.

I decided to try lifting the flow temp at the higher temps (36°C Flow @ 14°C outside) while leaving the rest the same, it seam like the wrong way of doing things but hopefully it will work.

The only other way I can think of doing it is to set the turn on temperature lower on the thermostat, so it stays turned off for longer, but I’m not sure if this is even possible on the Ecodan without altering the turn off temperature.

I see @MyForest has wrote his own script to turn it on and off when he requires but I think that will be beyond my knowledge.

Any help/ideas would be appreciated.

1 Like

Hi Chris, welcome aboard!

My EcoDan also runs 15/20 minutes cycles in mild weather, and I’ve not figured out how to prevent it either. I think it’s because the unit is slightly oversized for the property, and so can’t modulate its power low enough to keep a steady run without going over the target flow temps.

Increasing the flow temp kinda helps, but is a bit counter intuative. I’m flip-flopping between a minimum of 25 and 30 at the moment, but neither seems to work very well. I find that the COP is still pretty reasonable though as it’s warm outside, so I might not worry about it.

Increasing the volume of your heating system might help, by keeping all TRVs fully open and bleeding the radiators. This increases the heat output of the system, with larger delta between flow and return, allowing the HP to run for longer before reaching target temps.

Lowering the room thermostat (if you have one) will reduce the time the HP runs unnecessarily, but that’s a whole different optimisation that affects running costs vs. comfort.

Hope that helps…

1 Like

Yes I do this do this too for my UFH (boiler/TS based).

I’ve just installed an Ecowitt Weather Station which has a solar sensor on it, so (at some point) I’ll add that into the mix. I’m already using it to switch lamps on/off if it suddenly gets a bit too dull or at dawn/dusk.

2 Likes

I’ve since revised this further, having realised that defining my own thermostat in software means I can have more sophistcated control that a usual programmable timer provides. Now I have the target temperature increasing smoothly throughout the morning with the heat pump turning on as required.

(The dip at noon was when HP was busy heating water; at 5pm there’s a small boost)

The thermostat also feeds into weather compensation, with additional load compensation.
Still tweaking and experimenting, waiting to see if it’ll work when it’s proper cold out.

1 Like

Hi Tim,

Thanks for the reply.

I already have all the TRVs fully open but I’ll try bleeding them, thank you for the advice.

You can see in the graph below of my own system the COP drops offs noticeably once the cycling starts above 10°C outside. So think it is worth increasing the flow temp to stop this happening, the house will heat up quicker so it doesn’t need to be on as long.

I’ve noticed manually turn the thermostat down to prevent the heating coming on till the house is below 17.5°C it stops the cycling, but we’d prefer to keep the house warmer than this. Is there a way of increasing the hysteresis?
I assume this makes the delta T greater and stops the cycling. I’m only getting a delta T of 3°C between the flow and return, I’ve read it should be 5 to 7°C.
I’d seen something about reducing the pump speed to increase the DT, does the heat pump do this automatically or is there any way of altering it?

1 Like

Have you just written a script, or using something else?

The engineers who installed mine did reduce the pump speed using some setting deep in the FTC menu; I don’t know which one and wouldn’t want to guess. They were particularly concerned about keeping the flow rate above a certain value, otherwise the HP would shut down. So, may be best to talk to your installer about it. The “Installation Manual” may give some clues, but is very scant on detail.

I get dT between 3 and 5, yet still see the same cycling that you do, so I’m not sure that increasing the dT will necessarily fix the specific problem of cycling (though might improve COP).

Yes, I have a script that decides how warm the house should be, and turns the heat pump on/off accordingly, via MELCloud.

1 Like

@borpin although a few of us have written scripts, Chris doesn’t want to. This is part of the reason for open-sourcing our scripts and results, so the manufacturers can build the adaptations into their devices for regular users. I suspect the UK is a bit awkward because we have so much of the time when we’re around this 10 degrees phase which is tripping up the heat pumps control algorithms and causing cycling.

BTW @cre at least your cycling isn’t as bad as this:

(part of this bigger post)

Yes appreciate that, just couldn’t remember what Tim had done or if he’d moved to a more universal platform for the coding.

I won’t hold my breath :laughing:

I’ve only had my Arotherm a few weeks, but I think some of the “cycling” issue is just the floor/lowest output of many units.

For example, the datasheets for my 5kW Vaillant says a minimum heat output of 2.5kW.
And with it being 13C outside, you’re gonna get a COP of 5, so the unit it just running as low as it can.

In my case, with a heatloss of 5.5kW at -3, 2.5kW heat output is more than I need right now.
But there’s nothing I can do about that.

Vaillant do a 3.5kW Arotherm model. But when you look at the spec of that, it’s still got a floor of 2.5kW heat output. So that wouldn’t help.

So the cycling I’m seeing (and it’s not really cycling) is just the heat pump outputting its minimum. That being too much for the house right now. Heat pump turns off and tries again a bit later on.

An interesting observation looking at my Vaillant, @glyn.hudson Samsung and @TrystanLea Mitsi units, all 5kW is that the Samsumg seems to have a lower floor than the Vaillant and Mitsi. Which appears useful at this time of year.

But I think reality is, once we get into single figure outdoor temps, we’ll likely see the “cycling” go away and each run should start to have longer run times as the heat output starts to match the heat required within the house.

2 Likes

Well, there sort of is: when the house gets too cold, aim to run it at 2.5kW heat output until the house exceeds your too-warm value or a temperature from which it shouldn’t get too cold before electricity becomes cheaper or COP improves significantly.

By the way, does your Vaillant have a good way for it to be controlled by free software/DIY Home Automation? An API without connecting to the internet?

How isn’t that really cycling? And, sadly, for the Ecodans, “a bit later on” seems to be “about 5 minutes later” which is fairly silly and results in turning off again soon, really lowering COP.

Because I’m contrary, I’m slowly unwriting my script. I’ve split it into a MELCloud-MQTT bridge and a Domoticz event script. When I get time, I’ll tidy and publish those. If I get time while I’m home alone (so there’s no-one to inflict cold on if I get it wrong), I’ll try replacing my Domoticz script with widely-available plugins like the PID Controller, or the Smart Variable Thermostat which has some learning/adaptation feature.

The same MQTT bridge should work with Home Assistant (Domoticz and HA share an autodiscovery protocol) so if there’s a clever heating controller for HA, such as one which controls the flow temperature to do price compensation or carbon emission compensation as well as weather compensation, then I’m open to trying that.

2 Likes

MELCloud-MQTT bridge: GitHub - mjray/melcloud-mqtt.py: Python script to translate MQTT command to MELCloud and MELCloud status to MQTT topics

The Domoticz event script switching the heat pump on and off is in a post at: Where do the json_attributes go? - Domoticz

2 Likes

The Vaillant looks woefully short on this i’m afraid.
Even their internet “app” is total trash.

There’s a Home Assistant integration, but warns of “depends which app you’re using”.

The best vaillant interface seems to be via ebus, but you need to buy a reader for that, which are in short supply.

Both @glyn.hudson and I have put our names down for one of these, but it says Q1 next year.

3 Likes