Designing heating s...
 
Notifications
Clear all

Designing heating system with air to water heat pump in France, near Lyon

13 Posts
4 Users
3 Reactions
161 Views
bobflux
(@bobflux)
Eminent Member Member
Joined: 1 week ago
Posts: 23
Topic starter  

Greetings!

I am renovating the family house, and now is the time to finally tackle the 50 years old mess of a heating system...

- Location: South East of France, near Lyon. Altitude 214m. Design temperature -7°C.

- Two floors (Ground floor and 1st floor), no basement, 192m² per level, total 384m².

- Build date 1732.

- The house is rectangular, with the longest side facing south. It used to be a huge farm building, that was then divided, so the North and West walls are common with the neighbors (no heat loss). There are many large windows facing South, giving a ton of solar gain.

- Thermal mass is enormous: all walls (interior, exterior) are 50cm thick stone, the ground floor has 10cm thick concrete slabs over insulation.

When I got the house, it was in a state of disrepair, with roof leaks etc. This has all been fixed. It also leaked heat like a sieve: absolutely not airtight, lots of drafts, single glaze windows, no insulation anywhere, etc. It was heated by an old 20kW groundwater source heat pump, and even with that, electrical consumption was pretty damn high at 20 MWh/year. Thus I did the following:

- Loft: airtight vapor barrier on the floor to stop air leaks through the innumerable cracks + lots of careful sealing + 40cm blown in fiberglass (R=7): this took care of the drafts.

- Exterior walls: 20cm thick Rockwool exterior insulation (R=5.7), all windows and doors replaced with modern double glazing installed in the thickness of the insulation layer to avoid thermal bridges around the openings. 

- 12kW PV on the roof with 20kWh battery storage.

- All first floor windows: louvred shutters. Ground floor windows: solid wood shutters. Two enormous vaulted patio doors (3.50m x 3.50m): perforated white steel roller shutters.

- Installed automatic ventilation

So far, very happy with the results. Massive upgrade to the comfort level. There are no drafts. Thermal mass is so high that when the old heat pump broke down (which was rather frequent) nobody noticed for at least 24 hours.

No one has any idea what the outside temperature is unless they actually open a door and feel it.

Total energy bill from the grid is 2000 kWh/year, electric car included (-90% reduction).

In winter, the enormous south facing windows let in a considerable amount of heat when the sun shines, but... due to the thermal mass, it only raises the indoors temperature by 1°C at the end of the day, all the heat is stored. In summer, the shutters are extremely effective against solar gain. Indoor and outdoor temperatures during the last summer heat wave, while the house was empty:

image

Summer comfort without AC requires active measures. The reason for the louvred/perforated shutters is ventilation. When coming back from vacation August 19, I opened the windows, put a large fan in the corridor, and let it run all night. This brought the thermal mass temperature from max 25°C down to 20°C.

image

Now back to the heating system design...

 


This topic was modified 2 days ago by Mars

   
Quote
bobflux
(@bobflux)
Eminent Member Member
Joined: 1 week ago
Posts: 23
Topic starter  

Thanks to home automation, heat loss is done in one SQL query:

Besoins en chaleur

The difference in heat loss from insulation can be seen between 2021 and 2025...

Projected heat loss at design temp of -7°C is 100 kWh/day. This corresponds to 4kW, which is ridiculous. However this does not account for ventilation (currently not installed in the whole house but will be), and solar gain is baked in, so it does not account for the worst case scenario, which is a whole week of cold weather without much sun.

Heat pump sizing: with this much thermal mass, it is possible to only run the heat pump during the day when outside temperature is higher, COP is higher, and if the sun is shining, PV electricity is free anyway. This needs a more powerful heat pump, since it will run part time. So I felt like 12kW would be a nice number.

I had several installers come. None could remotely believe this number, they all wanted to install either cascade heat pumps, or a huge one with an equally huge electrical backup heater, at enormous cost. They all insisted on adding buffer tanks, which I don't need. I know for a fact this house was heated just fine from 1982 till 2020 by a 12kW ground source heat pump. That was before any insulation was installed. Sometimes it ran 24/7 full power but it did the job.

So I fired them. I could get and install myself the LG R290 monoblock with warranty.

I noticed in the service manual that the 16kW model is exactly the same as the 12kW model, the only difference being the software power cap, the low end of the modulation range is the same, so I ordered and installed the 16kW R290 monoblock. It speaks Modbus, so I can use it, it works absolutely fine, it delivers the COPs it's supposed to, and it makes so little noise the neighbors still haven't noticed it's there. 

Back to heating system design. I have:

- One LG ThermaV 16kW R290 monoblock.

- 150m² underfloor heating: 20mm PEX in concrete slabs, 18 loops, pipe spacing 125mm. So it's a high-flow, low-temperature UFH designed in the 1980's for high heat loss and low temperature. Unfortunately the PEX is non-oxygen-barrier, which is the reason why it destroyed the heat exchangers on the three previous groundwater source heat pumps. 

- Six Panasonic FD30 fan coil units currently sitting in a pile

- The rest of the house has at least 50 years old cast iron radiators which are filled with a mix of rust, sludge, and a bit of water.

- Also lots of pipes, randomly distributed.

- A large pile of assorted circulators

The plan:

- Tear down all the pipes and radiators, sell the copper for scrap, keep only the UFH loops. Repipe with MLC and copper.

- Power flush the underfloor loops, which according to the thermal camera, are pretty clogged with cast iron radiator paste

- Install MLC pipe radiant ceilings in the rooms that used to have radiators (I'm on it at the moment). Reason for this choice: it's a good match with UFH on flow temperature, and the roof leaks busted the ceilings so I have to redo them anyway.

- Install fan coil units for cooling in the summer

- Split the system in two: dirty side with the non-barrier PEX slabs, clean side with everything else including the heat pump on the clean side.

- Stainless plate heat exchanger between the dirty and clean sides. I already have it, it is currently sitting between the brand new heat pump, which runs on clean water, and the old installation full of sludge and rust.

- Heat pump powered DHW tank 

Hmmm sounds good, will add more later

 

 

 

 



   
ReplyQuote
Batpred
(@batpred)
Prominent Member Member
Joined: 1 year ago
Posts: 739
 

Posted by: @bobflux

Thanks to home automation, heat loss is done in one SQL query:

Besoins en chaleur

The difference in heat loss from insulation can be seen between 2021 and 2025...

A slight diversion, but I am curious on what you use for home automation.

I have a home assistant that I find very useful to monitor lots of iot devices at home, namely the battery and inverter.

Charting capabilities are very good with an addin enabling combination of several items on the same chart with different y axis scaling. You can also run grafana on a separate container. All these modules are nicely integrated..

 

 


8kW Solis S6-EH1P8K-L-PLUS hybrid inverter; G99: 8kw export; 16kWh Seplos Fogstar battery; Ohme Home Pro EV charger; 100Amp head, HA lab on mini PC


   
ReplyQuote



bobflux
(@bobflux)
Eminent Member Member
Joined: 1 week ago
Posts: 23
Topic starter  

I use Home Assistant for its strong points: excellent user interface, ability to interface with anything, and of course Zigbee2MQTT. However HA's automation features are almost non existent and its database stores a ton of information which is very nice to have for debugging but causes the size to explode when attempting to store long term or frequently updated sensor data. So I only use HA's database for short term or slow data (ie, not the energy monitoring) and it works fine.

Complex automations like energy/PV management are Python scripts running on a Pi, and these scripts all talk MQTT between each other and with HA. MQTT is awesome, it allows so many different things to share data transparently, it is so convenient and simple.

One of these scripts listens to all published MQTT messages and stores everything into a Clickhouse database, which has compression so efficient it uses about 1 byte per row on average for (topic, timestamp, value). There's no need to drop old data. All the history is kept, the smartmeters output 10 data points per second each. It uses about 1Gb/year, at the current price of storage, not an issue. Also I can query it to run analytics like the heat loss calculation.

The old heating system was controlled by an ESP32 toggling relays and reading various sensors, I built that before switching to Home Assistant. 

For the new heating system, I will be using Pi Pico2 Ethernet modules, mounted on various boards for sensors and actuators, I will use micropython as programming language and MQTT as glue.

At the moment, an old laptop is hooked to the heat pump's Modbus port and posts the data on MQTT.

With MQTT discovery my scripts simply post messages that tell HA to create sensors and configuration switches. This appears directly on HA's dashboard, all I have to do in HA is make the layout look nice. So I press a button in HA, which activates a HA scheduler, which will post a MQTT message tonight at 2AM, which tells the python script in charge of energy management to force charge 20kWh into the car. Then this script talks to the charger on Modbus and launches it.

 



   
👍
1
ReplyQuote
Batpred
(@batpred)
Prominent Member Member
Joined: 1 year ago
Posts: 739
 

Posted by: @bobflux

I use Home Assistant for its strong points: excellent user interface, ability to interface with anything, and of course Zigbee2MQTT. However HA's automation features are almost non existent and its database stores a ton of information which is very nice to have for debugging but causes the size to explode when attempting to store long term or frequently updated sensor data. So I only use HA's database for short term or slow data (ie, not the energy monitoring) and it works fine.

Thanks, many of us here use HA, there are great overview articles from @majordennisbloodnok and a tinkerers corner

 


This post was modified 4 days ago by Batpred

8kW Solis S6-EH1P8K-L-PLUS hybrid inverter; G99: 8kw export; 16kWh Seplos Fogstar battery; Ohme Home Pro EV charger; 100Amp head, HA lab on mini PC


   
ReplyQuote
Majordennisbloodnok
(@majordennisbloodnok)
Famed Member Moderator
Joined: 4 years ago
Posts: 1629
 

Posted by: @bobflux

...

However HA's automation features are almost non existent...

@bobflux, I'm very intrigued at that comment. Could you elaborate, please? I use quite a bit of HA automation so my assumption is that you're not describing the same problem I'm thinking you are.

 


105 m2 bungalow in South East England
Mitsubishi Ecodan 8.5 kW air source heat pump
18 x 360W solar panels
1 x 6 kW GroWatt battery and SPH5000 inverter
1 x Myenergi Zappi
1 x VW ID3
Raised beds for home-grown veg and chickens for eggs

"Semper in excretia; sumus solum profundum variat"


   
👍
1
ReplyQuote



bobflux
(@bobflux)
Eminent Member Member
Joined: 1 week ago
Posts: 23
Topic starter  

Posted by: @majordennisbloodnok

@bobflux, I'm very intrigued at that comment. Could you elaborate, please? I use quite a bit of HA automation so my assumption is that you're not describing the same problem I'm thinking you are.

Simple: HA automations are awesome for very simple things. However, once it gets even a tiny bit more complicated, then the "programming language" becomes completely useless. It is difficult to have states variables, you can add helpers but they're cumbersome and not namespaced, etc. Code reuse is problematic. Frequent HA restarts due to updates wreck things. Many things that are one-liners in Python require tens of clicks and pages of YAML...

For example, consider the following goal: allocate photovoltaic production between battery charging, EV charging, water heater, and a bunch of Wifi smart plugs powering stuff like towel rails and small electric radiators.

It's not an issue though, I love HA for its many other strengths.

 

 



   
ReplyQuote
Majordennisbloodnok
(@majordennisbloodnok)
Famed Member Moderator
Joined: 4 years ago
Posts: 1629
 

Posted by: @bobflux

Posted by: @majordennisbloodnok

@bobflux, I'm very intrigued at that comment. Could you elaborate, please? I use quite a bit of HA automation so my assumption is that you're not describing the same problem I'm thinking you are.

Simple: HA automations are awesome for very simple things. However, once it gets even a tiny bit more complicated, then the "programming language" becomes completely useless. It is difficult to have states variables, you can add helpers but they're cumbersome and not namespaced, etc. Code reuse is problematic. Frequent HA restarts due to updates wreck things. Many things that are one-liners in Python require tens of clicks and pages of YAML...

For example, consider the following goal: allocate photovoltaic production between battery charging, EV charging, water heater, and a bunch of Wifi smart plugs powering stuff like towel rails and small electric radiators.

It's not an issue though, I love HA for its many other strengths.

Yup, I can understand exactly what you're talking about. HA's flexibility necessarily comes at a cost and you've described very well some of the trade-offs.

It's also true that HA is such a broad application that I'm sure there are features that could be useful to you that you're not even aware exist; I know that's true in my case. Even then, though, just because you can manage to achieve something within HA doesn't mean you should, and you've certainly described a setup that works well for you. I'm impressed.

My tendency is to try to simplify my problems as much as possible and to standardise on HA wherever I can so as to centralise my management of stuff, even if it means accepting some clunky solutions. @cathoderay prefers by far to standardise on Python scripting and use HA as little as possible. You appear to be using a middle route to get the greatest mileage for you, and that adds a really useful perspective for the rest of us. My only issue with any of these approaches is that I believe we ought to be able to expect enough standardisation amongst manufacturers to allow for a truly plug and play alternative that would make HA and custom Python code redundant for the average homeowner, whilst allowing a heat pump, PV, battery, EV and EV wallbox to operate in a joined-up way with any fixed, variable or ToU tariff. In this day and age, linking your heat pump into your smart home should be no more difficult than any other bit of smart home kit, so I see what you, I and others like us are doing as simply proving to a somewhat tardy industry that this cohesive running of multiple things is not only possible but practical and of real benefit.

 


105 m2 bungalow in South East England
Mitsubishi Ecodan 8.5 kW air source heat pump
18 x 360W solar panels
1 x 6 kW GroWatt battery and SPH5000 inverter
1 x Myenergi Zappi
1 x VW ID3
Raised beds for home-grown veg and chickens for eggs

"Semper in excretia; sumus solum profundum variat"


   
ReplyQuote
cathodeRay
(@cathoderay)
Famed Member Moderator
Joined: 4 years ago
Posts: 2795
 

Posted by: @bobflux

Many things that are one-liners in Python require tens of clicks and pages of YAML...

Indeed, and that is why I write my own code. Python can be very neat, particularly with one liners that manage to remain human readable. A bonus is that I actually have to understand the code, something that is often easier said than done with HA code. Doing my own coding also means I can use things like plotly for charts, and I can also choose to keep my data in csv files, which makes it much easier to manage and far less prone to database corruption. And yet another benefit is that by learning python coding for one use, I can then use that knowledge to code for other things eg my work on historical wind trends.

But I do fully appreciate it is very much horses for courses and what works for one person may not work for another. 


Midea 14kW (for now...) ASHP heating both building and DHW


   
ReplyQuote



bobflux
(@bobflux)
Eminent Member Member
Joined: 1 week ago
Posts: 23
Topic starter  

Designing a good programming language is extremely difficult, very few succeed. Thus application specific languages like HA's automations are red flags. 

I looked into ways to neatly integrate scripts in HA.

It is possible to use python scripts, which solves one problem (the language) but not the others (still no long running processes).

Tried pyscript, which is a python interpreter written in python. Why they made that choice, I have no idea, as it introduces tons of problems. It tended to work then randomly stop working, and did not allow the use of all python libraries, so nope.

There's also appdaemon which uses real python, but it insists on setting up an environment on startup and in doing so it reinstalls all the libs you want to use, which means it can't start without an internet connection, so again, nope.

In the end, raw python scripts talking via MQTT just work fine with a lot less headaches. HA can export its states with MQTT statestream, it can create MQTT sensors and actuators, Z2M speaks MQTT directly, etc. It's a nice solution. HA can do the high level stuff like draw a nice scheduler GUI or buttons to set modes, this then sends MQTT commands to python scripts which do all the low level stuff.

Posted by: @majordennisbloodnok
I believe we ought to be able to expect enough standardisation amongst manufacturers to allow for a truly plug and play alternative that would make HA and custom Python code redundant for the average homeowner, whilst allowing a heat pump, PV, battery, EV and EV wallbox to operate in a joined-up way with any fixed, variable or ToU tariff.

Yes indeed.

Never gonna happen though. Vendor lock-in is simply too profitable 🤣 

Most of these devices do not even expose a public API, you have to either reverse engineer it yourself or rely on other people to reverse engineer it.

 

 

 



   
ReplyQuote
Majordennisbloodnok
(@majordennisbloodnok)
Famed Member Moderator
Joined: 4 years ago
Posts: 1629
 

Posted by: @majordennisbloodnok
Posted by: @majordennisbloodnok

I believe we ought to be able to expect enough standardisation amongst manufacturers to allow for a truly plug and play alternative that would make HA and custom Python code redundant for the average homeowner, whilst allowing a heat pump, PV, battery, EV and EV wallbox to operate in a joined-up way with any fixed, variable or ToU tariff.

Yes indeed.

Never gonna happen though. Vendor lock-in is simply too profitable 🤣 

Most of these devices do not even expose a public API, you have to either reverse engineer it yourself or rely on other people to reverse engineer it.

I'm certainly not sure but I am more hopeful. I remember the time long ago when there were competing hardware standards for expansion boards in PCs, with Compaq and IBM trying to impose their proprietary standards instead of the ISA standard, and standardisation eventually won. I'm expecting that eventually heat pumps, inverters and the like will effectively become white goods and integration/interoperability will become more important than what an individual manufacturer wants.

That said, I'm well aware it is a power struggle and not all power struggles resolve in the best way. Optimistic I may be but not to the point of unreality.


105 m2 bungalow in South East England
Mitsubishi Ecodan 8.5 kW air source heat pump
18 x 360W solar panels
1 x 6 kW GroWatt battery and SPH5000 inverter
1 x Myenergi Zappi
1 x VW ID3
Raised beds for home-grown veg and chickens for eggs

"Semper in excretia; sumus solum profundum variat"


   
ReplyQuote
bobflux
(@bobflux)
Eminent Member Member
Joined: 1 week ago
Posts: 23
Topic starter  

One can dream!

We can Do Our Part by refusing to buy gear that does not expose usable APIs or forces cloud garbage. That's one of the main reasons I got the LG heat pump: it speaks Modbus, most of it is documented, and the undocumented registers have been reverse engineered anyway. It took a Waveshare RS485 dongle and a couple hours from zero to full Home Assistant integration. Most of the time was spent picking pretty icons and doing layout. On the other hand, my friend has an Atlantic heat pump which speaks BSB, an obscure undocumented protocol which has been reverse engineered by a German dude. It was a nightmare to get it to talk.

Indeed Modbus is from the stone age. But it has one very very strong advantage: it does not require internet. Without being connected to the internet, there is no way the device can update its firmware without permission, and then either brick itself or proudly announce your favorite feature now requires a monthly subscription.

I picked Solis S5 hybrid inverters for the same reason. They speak Modbus, so I have full control.

There should be a Darwin award for hybrid photovoltaic inverters with backup output that can only be configured via cloud app.

Anyway, back to the topic, which was designing this cursed installation.

All pressure drops and flow rates have been computed using SPICE electronics simulation software: Voltage is pressure, Current is flow, then easy enough make component models for pipes, valves and circulators and build a circuit.

Design notes:

All emitters are low temperature UFH and radiant ceilings.

A wood boiler (disguised as a fireplace) and associated 1000l buffer tank will be installed. Power is 20kW to water plus 10kW to air. The tank has instant DHW heating coil, so as long as it is hot enough it will produce DHW.

I have two underfloor heating manifolds (12 loops) with non barrier PEX which will let tons of oxygen into the water and corrode everything, so I'm putting in the big plate heat exchanger. Thus two independent circuits, the main circuit with the heat pump and most of the emitters running on pristine oxygen free VDE2035 water, and the separate circuit with two non-barrier UFHs slowly rotting. It's going to be fun power flushing this one, it's quite clogged from 40 years of circulating sludge.

Requirements:

In summer, cooling to a civilized temperature is an absolute requirement, so my pile of Panasonic fan coil units goes in. With 5°C water, all pipes must be vapor tight insulated which is a pain. So when cooling, cold water must flow ONLY to the fan coils, with the rest of the circuit remaining at ambient temperature thus not requiring careful insulation. Fan coils pressure drop and flow are within heat pump requirements.

The heating system must heat the house with heat pump only, wood boiler/tank only, or both at the same time.

The big tank can be heated with the heat pump or the wood boiler to heat DHW with its coil.

Photovoltaic inverters provide backup power, so in case of blackout, circulators and the rest of the installation will run on backup power, with wood providing the heat.

The heat pump (and its internal circulator) are not on backup power. One drawback of this LG monobloc is the circulator is in the monobloc, not in the indoors unit.

If the heat pump breaks down in winter, or there is a week long blackout, it must not freeze. This must require no manual intervention.

Design paradigm:

It feels like the current paradigm regarding heating is: control and regulation are complicated mystery boxes, balancing is complicated, a lot of manual work and fine tuning is required. The goal of plumbing is to control flow, but no one uses any sensors to actually measure it, which leads to complex delicate machined devices like PICVs, etc.

I'm an EE so I come at things from a different angle. 0.1°C factory calibrated temperature probes cost 2€. Motorized ball valves cost 20-30€. Ultrasonic flow meter costs 50€. Microcontrollers and software cost nothing, especially now that a 10€ PiPico2 module offers both Micropython, Ethernet, a CPU many times more powerful than the Apollo flight computers. Control costs nothing.

So it's going to look a bit... different.

Draft:

 

image

 The wood boiler is not shown, it is plumbed to the tank with the two vertical pipes exiting the frame, it's a classic schematic with anti condensation mixing valve, all the safeties, circulator, etc.

Mode 1: air cooling

In this mode, the heat pump sends cold water to the fan coil units, and the appropriate valves close to make sure the rest of the system does not drip with condensation. Besides that, flow from the heat pump goes direct to the fan coils, and it will modulate using the heat pump inverter and fan coil speed control.

image

Fan coils are only used to cool air, so in the next modes they are shut off.

Mode 2: heat pump heats/cools radiants

In heating, the HP outputs low temperature hot water (24-28°C depending on weather compensation). In cooling, it outputs water around 18°C, above the dew point, so no condensation occurs. Flow is direct from heat pump to emitters. To avoid cycling at low power, it will simply turn off for a few hours when the job is done: the building thermal mass is so enormous no-one will notice.

image

Mode 3: Heat Pump heats radiants, with help from the wood boiler's big tank

The heat pump's circulator moves water, and the heat pump provides the first few degrees of deltaT. Valves labeled V6 and V7 modulate a little bit to divert some of the flow through the big tank to inject some hot water into the flow and raise the temperature a bit more. This way, mixed temperature is independent of the heat pump's circulator flow rate.

image

Mode 4: Heating with wood only

The heat pump is off, including its internal circulator. There is no way to control it independently, so the second circulator turns on and V9 closes to allow it to do its job. Mixing is done as in the previous mode. Valve V8 can modulate to divert some of the return through the heat pump to keep it from freezing, even if it is unpowered or if it fails.

image

Wood boilers do not modulate. However underfloor heating flow rates are sufficient to absorb all the power from the wood boiler, so the heat can be stored in the slabs first, then once the slab returns reach desired temperature, the big water tank can be used as storage.

Mode 5: DHW

When not burning some logs, the big tank still must be heated by the heat pump to provide DHW, which needs one extra valve.

image

Mode 6: emergency drain

V2/V3 close, V1a/V1b open, the outdoors pipes drain and will not freeze. The rest of the installation does not drain and can keep running on wood. This is much better than the passive antifreeze valves which will simply drain the whole installation.

---

Now this sure looks... different from the usual business 🤣 it should work, but I still wonder if I am a little bit over enthusiastic lol

 

 


This post was modified 2 days ago by bobflux

   
👍
1
ReplyQuote



Page 1 / 2



Share:

Join Us!

Latest Posts

Click to access the login or register cheese
x  Powerful Protection for WordPress, from Shield Security PRO
This Site Is Protected By
Shield Security PRO