Seeking some conceptual advice and/or sanity checking.
I have a radiator heating system with wifi heating valves on each heater. It is currently fired with an oil boiler, but I am planning to move to a ground source heat pump (actually, lake source, but same thing).
I’ve been looking into how I would integrate this into my openhab setup, and how to optimally control the heat pump. With my boiler I’ve tended to cycle it on/off based on a view of the heat demand, largely because I have no electronic way to control the heat output.
I’m looking at an EcoForest heat pump (probably this one: ↠ ecoGEO+ 4-16 PRO 2025 | Ecoforest), which I believe I can control using the http binding. I can’t find documentation, but online hints suggest I’ll be able to control the output temperature.
The heat pump does have quite good weather compensation. My current heating setup basically uses load compensation/room compensation. There’s reasonable discussions of these here: Weather Compensation or Load Compensation? - HeatGeek. In summary weather compensation looks at the outside temperature and essentially sets the heat pump output temperature based on an estimate of how fast your house is losing heat (in turn based on delta-T between outside temperature and your desired set point).
My problem is that I have a home automation system (openhab), and I can code, and I think I can do better than the heat pump. My reasons for thinking that are:
- Our house is old but extensively renovated. We have really different heat loss in different areas of the house - some areas reasonably wind tight and double glazed, other areas single glazed and very draughty
- Our heating load is quite wind sensitive, and the heat pump doesn’t take that into account
- We get a lot of solar load in the afternoon - we face the setting sun and don’t have a good way to shade (no curtains in living areas, and the house is art deco hence no eaves). Even when there is a lot of delta-T we can be quite hot inside
- The radiator valves constantly adjust based on how much load they think they have - they try to adjust their opening to hold the target set point. This is information the heat pump won’t have
My thought is that I can take outside temperature, wind, solar gain, and the total current heating load across all radiator valves into account, and adjust the output temperature. I also think this could be a very good use case for a feedback loop - the radiator valves will reduce their opening if I’m supplying too much heat, so as the radiator valves reduce their opening I can turn down the temperature, and I can increase the temperature as the heating load increases. That should allow the whole system to automatically find an equilibrium, and then adjust that as temperatures change.
My general plan is to:
- Create a feedback loop where as the total radiator valve opening increases, the heat pump output temperature increases
- Conversely, when the total radiator valve opening decreases, the heat pump output temperature decreases
- That is a load following strategy - the advice is also to try to predict heat demand a bit. So with time of day, or when setpoints change, or when the weather changes, I could predictively adjust the heating output temp.
- The simplest way to do this would be something like adding 5 degrees to output temp when it’s windy, removing 5 degrees when it’s sunny, and maybe running an output temperature curve with outside temperature. The heating valves will still adjust to an equilibrium, but just from a different base
- I have a lot of the base of this anyway - I’ve always been controlling boiler run-time based on total valve opening and some other parameters
I’m interested in feedback from people who may have done similar things, or have experience with heat pump controls, on tricks and traps. I have a fair idea of how to code it - I have similar compensation going on with the watering system based on rainfall and time of year, so I have a lot of the building blocks available to me.