Advice on air-source heatpump/thermostat settings?

At the moment I have a separate Python script to drive the heatpump which I use it to drive the manufacturers web app. The folks on this forum are much better informed in implementing control hardware than me.

Emoncms is acting as a central point for data from the solar panels, weather station and heat pump so the control alogrithm can get what it wants.

When we get a battery and an agile tariff I may move to the Demand Shaper plugin for Emoncms.

You might be interested in these experiments I did…

Notably, we don’t heat for when the showers are planned because there are four people in the house and showers are very random. In fact sometimes we shower when it’s a good time for the heat pump. For example we’ll shower at 13:00 when the morning sun has heated the tank and we’re creating “space” for the afternoon sun to heat the tank. Also, our tank doesn’t lose much heat so we’re free to leave it full of water.

Yep Brian, that’s been a key part of our setup too. The residents know they can just tell it what to do whenever they like if the clever stuff isn’t working for them. That makes them much more willing to let the computer take control most of the time. It’s rare they feel the need to intervene. My control algorithms have gating unit tests which stops them going live if they are going to misbehave.

It sounds crazy, but I can understand why you’d do that. We found we weren’t emitting enough heat with a room delta that low so the pump would switch off because the return was coming back too warm.

We think of the radiators as “a big warm dog lay in the corner” rather than “a furnace” so if they are only running at 28 Celsius that’s fine.

What will it take to make you very happy?

It’s not as mad as it sounds. I took the defaults on our system in October and November and only took computer control at the end of November when I had something interesting to work on and some evidence that the defaults we’re working for me.

That bumped us up from the red line to the blue line:

It was warm enough in October that it would have been OK to have been playing with the control then and people wouldn’t have noticed much. You probably want to get the hardware in place by then though.

Good luck.

David

Thanks, all good info. Yes, Emoncms makes it easy to use various bits of data in different places, so plenty of implementation options.

Thanks for those threads, I’l have another read through now I’ve a better idea of the concepts :slight_smile: Fair point on not timing DHW for showers. Ours is ‘only’ a 200litre cylinder, and seems to be losing about 80W at ~45degC, but that gives us about 24hrs of warm water from a DHW run so that should be enough to play with.

It seems the weather curve I set is ok when warm out, but only just barely enough when cold, so I’ll need to tweak the bottom end up a bit. I suspect the true ‘perfect curve’ is far from a straight line, but so long as I’m on the right side of it, we’ll be warm.

I miss-spoke… (got my maths the wrong way around) - dropping the weather curve ‘only’ dropped consumption by ~30%. But… yesterday I turned it off at noon, back on again at 5pm, and off at 10pm. This seems to have resulted in power consumption of ~40% of where we were a few days ago. (Well, ~30%, but I trying to account for the slight increase in outdoor temps) That might’ve been a bit far, as it felt a little chilly, but there’s room to tweak timings and settings :slight_smile: Perhaps ‘reasonably happy’ is a slight understatement haha (of course, this is only one day, it’d take longer to get a proper understanding)

Here’s some of this morning’s run:


Those short spikes are from the system circulating water (to monitor flow/return temps), but not running the compressor. The graphs also highlight the very poor resolution of the heat metering…

Yes, so long as the hardware’s in and the system is nominally working, colder weather is probably an ideal time to be ‘optimising’ haha.

Thanks for all your help :slight_smile:
Matt

1 Like

A few things are interesting in that graph.

Firstly the bars seem surprisingly wide on your efficiency graph. On my browser they don’t overlap each other. I’m on Firefox on Linux.

Did you change it to do that because you wanted to, or did it just behave like that for you?

I found I didn’t need the runs to determine the return temp. I just use the temperature from the sensor on the heat pump which is on a vaguely lagged pipe. It gets cool at about the same speed as the radiators so is a reasonable proxy for them.

I like how it’s showing the CoP for the time range. The instantaneous CoPs are always pretty inaccurate, even though the shape is pretty useful. I hope the time navigation is helping you review different experiments. I can see from a sliver of green that you have “Show Latest” turned on which I personally find very useful as I sit watching things unfold.

I’m also pleased to see some of the un-mapped feeds are hidden in the graph (e.g. “solar”) which keeps your analysis and screenshots crisper.

You’re very welcome. I’m pleased to see someone benefiting from my heatpump-experimentation app in Emoncms.

Keep up the good work.

David

Hmm, no, I haven’t changed anything regarding bar widths. I’ll try other devices/browsers, (this is chromium/linux) although it may be due to me having a 5s period on the feeds instead of the default 10s.

Yeah, the periodic circ pump runs are just a default setting on this ashp. They can be adjusted, or set to ‘always running’ or based on thermal store temp (which I don’t currently have). The return water temp sensor seems to drop much quicker than flow, although I’m not sure how this correlates to the rads. The flow temp sensor is fitted above the PHX, so is likely to be warmed slightly, and the return sensor is right at the bottom, so may be cooled a touch. I could wire in a temp sensor on the buffer and set the ASHP to use that, but I’m not too worried about it at the moment - although I’ll probably adjust the circ runs to be shorter and longer apart at some point. Edit: Actually, this isn’t particularly useful, as it will only ever be able to measure the temps in the buffer, and not the rads, unless the second rad circ pump is also running. They should all be fairly close, but not guaranteed. Although the rad pump will be running all the time while the stat calls for heat… hmmm more thinking required here.

Yes, your app has been very useful, both watching current behaviour, and comparing with historical data :slight_smile: I keep meaning to ask - how is your ‘effective’ outside temp calculated/detected? (I assume it includes some function of solar gain/extra infiltration losses on windy days etc?)

1 Like

Glad to hear it. Feel free to discuss things you might also want to see.

That came about during the really stormy week when it was feeling much colder in the house than was being reported. It hadn’t been terribly important until then. I just followed this strategy:

https://pywws.readthedocs.io/en/latest/api/pywws.conversions.html#pywws.conversions.apparent_temp

I have a cheap and cheerful weather station that pushes to Emoncms. I don’t include solar gain, even though that might be useful. I’ve just put in a binary behaviour that says “is it getting warmer and are the solar panels generating something interesting” - if that kicks in it suppresses the heat pump. It’s saved it coming on about 8-10 am where the house will soon be warm, but has a bit of a chill on it.

The period shouldn’t be a problem, I have a mix of 6s, 1 minute and 5 minutes all on the same graph :slight_smile:

I’ve just tried on Chromium on Linux and it looks pretty happy even when I tried zooming in and out and things like that. For example:

I’m using the normal flot charting tools from Emoncms but I do have a few of their plugins loaded and I hack about with the style quite a bit:

If it’s OK with you, I’m going to gloss over your exciting UI for now because I expect Emoncms might get a new charting library in the next year or so.

Thanks for sharing your progress.

David

Gotcha, that makes sense. Thanks for the link.

Yeah of course, not a problem. It’s definitely something to do with my particular setup, but it causes no usability issues! I hadn’t noticed until you pointed it out haha.

1 Like

Hi mathew. I’m over here in west wales near cardigan also and have recently had an aerona 3 installed. Am having fun fiddling with delta t and garious other things! Could probably do with tapping into your knowledge based in the discussion above!

Hi Marc,

Dim probs, any particular problems with your setup, or just looking at optimising?

It won’t take long to share my knowledge haha

Hi :+1:t3: Yes, mainly optimizing advice tbh and how you’ve managed to extract that data to monitor the cycling. We’ve got the 17kw aerona 3, ground floor ufh and rads upstairs. We did have 9 seperate ufh zones on the ground floor, but I decided to cut that down to 3 by re-configuring the manifold wiring boxes to disconnect 6 stats and then connect the three remaining stats to get three fairly large zones. I think the heat pump is cycling much less as it now has more volume to heat up each time one of three stats kicks in. We have the hot water cylinder with integrated 50litre buffer/volumizer - this has been configured to use the 50l as a volumizer on the return flow to the ashp. I can’t quite get the 8degree delta T that the grant manual asks for - when ufh and rads are on, i’ d guess that there’s a royal mix of thermodynamics going on! I’m pretty sure that i can probably tweak the ufh manifold to get the 8degC difference, but not sure what to do with the rads upstairs. It’s a new build so the rads upstairs come in here and there, so we’re not heavily reliant on the upstairs being optimised tbh.

Sounds like you’ve got the same ashp and cylinder as us then :slight_smile:

Getting the data into the emonpi requires some surgery on the ‘remote’, a bit of soldering, an esp8266, and an Arduino… Happy to give you some pointers on this, but I suspect it’s warranty voiding, so you may be better off watching the meter reading and outdoor temperature to give you an idea of ‘better’ or ‘worse’ for each change.

More volume is always better. On our system, most of the cycling was down to the wall thermostat, which implemented something called TPI - a method suited to oil or gas boilers, which uses fairly short on/off periods to try to keep room temperature more constant (the idea being that a more constant temperature can allow a lower average temperature, reducing consumption) This doesn’t play nicely with a heat pump, we noticed a big improvement by changing this for a thermostat that didn’t do TPI.

We don’t get much dT either, approx 2degC is normal. I’ve not been able to determine if the ‘8k’ route of thumb means ‘max 8k’ or ‘min 8k’, but my own musings suggest that the dT should be minimised (heat out of the ufh/rads is roughly proportional to the mean temp, but heat pump cop will increase as follows temperature increases, so we try to maximise mean temp while minimising flow temp)

The other large improvement we saw was reducing the flow temps - ours were set very high, and reducing them closer to MyForest’s numbers above made a huge difference. The method I used to ‘optimise’ our temperatures was as follows:
Set min and max outdoor temperatures to something reasonable (I’ve got our min as -5, max is +18 - below min the flow is set to max temp, above max the heatpump won’t run)
Flow temps can be set based on estimates of heat required at those outdoor temperatures, and the flow temps required to get that power (based on floor/rad area)
If the flow settings are too low, the heatpump will run constantly and the room won’t reach temperature. If too high, the heatpump will cycle and the floor/rads may get hot then cold.
Over a few hot/cold days you should be able to get pretty close :slight_smile:

Aim for the ‘slightly too warm’ side - the extra power will cope with heating the house quickly (if you choose to have a lower temperature setting overnight, for example) and with windy/dark/etc days where losses might be higher.

Mixing rads and ufh can be difficult, depending on setup. If the ufh was installed assuming a standard boiler, it’ll probably have mixer valves to drop flow temps from 70-80degC from a boiler to lower temps for the floor. This can reduce efficiency a bit with a heatpump. Equally, if flow temps are set to suit the ufh, then the rads may not do much unless they’re very large. As yours are upstairs, that’s probably not a huge issue. I don’t have ufh here yet, so can only really recommend that you do some reading about ufh with heatpumps (I did read a few while doing my own research, but don’t have the links to hand at present, sorry)

Hope that helps get you started :slight_smile:

3 Likes

Hi, which thermostat did you end up using?

We’re putting in UFH with ASHP in a new build and I’ve been trying to work out the best way to control this - the advice about large zones and buffers is very useful and seems to be the way many people go.

Simon

I actually built my own - I’d connected an esp8266 to the ASHP remote anyway to get data from it, and this also had some DS18B20’s connected to it to measure cylinder and buffer temperatures, so it was fairly straight forward to add another sensor to measure room temp in the main house. I’d have liked to measure a number of rooms, but a single sensor in the living room has worked fine. A basic thermostat would do the same job though really.

That said, if I was building the system from scratch, I’d be looking for a heat pump that could take a proportional input from a room sensor to modulate heat output. The efficiency improvements would probably be pretty small to be fair, but you could end up with a really constant room temperature, and minimum cycling if the heat pump can throttle far enough.

Thanks Matthew - looks like the similar esp system I built to measure my heat bank will come in useful in the new house after all!

Simon

Many thanks, all great advice. I’m pretty handy with a soldering iron, but you are absolutely correct on the warranty - some flying leads from the controller would no doubt be obvious to the grant engineer - who’s due to come out in a few weeks to check on a few things. In terms of delta T, I can’t see how it’s possible to keep that at 8degrees under all circumstances - I can just about get it with all ufh heating zones on, but on average it’s around the 4 to 5 mark. I’m tempted to get rid of the thermostat upstairs for the rads - it’s a basic plumb center rf stat with TPI (not possible to inhibit). I may permanently wire the thermostat input and then leave the ashp run for 3 to 4 hours on timer for the 1st floor rads - that will allow the heat pump to run its own cycling routine! Upstairs only needs the occassional heat top up

Yeah, let the warranty run out first at least :slight_smile: Some detail here though if you’re interested: Reverse Engineering Grant ASHP Remote Protocol | Hackaday.io (I need to update that - an esp8266 couldn’t cope with the slow serial from the heat pump, pressing buttons, and talking to the DS19B20s, so I used a arduino to talk serial to the heat pump and press buttons, and send data to the esp over SPI)

Yes, I’d be tempted to hotwire the upstairs stat (worth trying ‘off’ too?) and running the heat pump on a timer. If you get the flow temps set nicely, that’ll be all you need.

Have a play with this ods spreadsheet. It helped me work out decent flow temps and settings (the first few sheets were me working out mass flow rates to roughly emulate a heat meter - I know the mass and temperature of the water in the cylinder, and the time taken to heat it, so I know watts in and watts out :slight_smile: )CoPcalcs.ods (96.5 KB)

Many thanks, will have a play with that spreadsheet :+1:t3: I think you’re right, bypassing the stat is the way to go - damn TPI on an ashp :rofl: unfortunately i didn’t do the research to challenge our plumber beforehand. I normally do my research…

I’ve just set up our first compensation curve - luckily we’ve had a good temperature swing over here in the past month from minus 8 to plus 15 external. I’ve gone for a max temp of 45 and min of 30, between external temp of minus 6 to plus 15. I think that’s a good starter. I have noticed that the ashp controller is displaying the external temp a couple of degrees higher than my independant thermometer. The 2 degree difference is pretty consistent.

Is your integral 50litre buffer tank plumbed as a true buffer (two in two out) or just as a volumizer (one in one out)? Did you get any good advice from the heating engineer who installed the system?

No problem at all. Forgot to add that is possible to set the flow temps low enough that the floor/rads can’t dissipate the minimum power from the heatpump -may be better in this case to accept higher flow temps and more thermostat cycling, but also may be an indication of too small rads (it is here, the system was specced for ufh which we haven’t installed yet) unlikely to be an issue for you though.

Don’t worry, it’s not exactly an obvious thing to check!

Yup, sounds reasonable, and it’s easy enough to adjust if you need to :slight_smile: ours is a couple degrees off too, not sure if it’s just slightly off, it affected by other great sources, but it doesn’t really matter.

Our buffer is a ‘true’ buffer. A volumiser would be a little more efficient, but not sure where the choice come from. Perhaps just a recommendation from Grant.

Yes, there comes a point when radiator convection fails if temp is below a certain figure. Was your system designed and installed by grant, or was it all spec’d/installed by a local heating company?

From the paperwork we have, it looks like the installers spec’d it, but it could quite easily have been copy-pasted from a Grant selection. We didn’t deal with Grant directly at any point.

:+1:t3: Thanks