Water based floor heating - what is really needed?

Dear everyone, everywhere!

While feeling fairly competent in matters of automation in regards to lights, network, sensors etc - I am absolutely lost when it comes to heating. I’ve been googling, but it is one of those cases where I am not sure if I am googling the wrong things or if my case is different.

Basically, I live in Sweden in a modern house (built 2012) with water carried floor heating. The central system is managed through room thermostats with wheels for setting the expected heat level per room. These seem to (haven’t opened one, relying on the manual so far) be a 3 wire setup which in turn controls corresponding valves in the central through a TRIAC.

Now, in my possibly over optimistic and somewhat naive mind, this means the central system is actually already ”smart” enough - I mean, the individual thermostats are already remotely instructing them, no? Following this logic, I have the notion that all I need is a good looking TRIAC based 3 wire thermostat which speaks Z-wave, and boom; we’re golden!

Alright, no project I’ve ever laid hands on has actually been that easy, so I suspect there might be fundamentals I am missing now as well.

Questions then;

  1. If anyone knows of a super relevant thread - please feel free to point me in the right direction!
  2. Is my logic flawed? Am I being stupid?
  3. If my logic is correct (which is where I will do a small but heart felt celebration) - any suggestions on a nice room thermostat speaking Z-wave, and allowing both controller side and room setting of target temperature, which plays well with OH2?

Best,

Petter

Well. I have no links to share either but I’ve built a similar setup in my own house so I can share some experience.

A warning first. Make yourself aware it’s a complex topic. There’s many small variations in how existing systems work and no general solutions. That means there’s many potential pitfalls, so first and foremost don’t be naive and dig into materia deep first.

And yes, I’m sorry I need to tell you that your logic is flawed.
Some background first to avoid misunderstandings: According to common understanding, a thermostat is a thermometer plus a valve to open/shut water flow plus eventually one or more components as a “user interface” (mechanical handle, touchscreen, remote interface such as ZWave etc etc) PLUS a (usually simple) logic when to open/close.
In radiator heating setups, these are usually analog, mechanical and combined into one enclosure.
But in floor heating setups, thermometer, control logic and valve are separated from each other and located in different units and rooms. So your room thermostats aren’t really thermostats but rather thermometers with a UI and a output wire to send a signal when room temperature is below the target value, and your valves are just that, and inbetween there’s a control unit. Most of those simply forward the signal from the room thermostat to the valve to control water flow through that room.
There’s some control units to apply more complex logic and functions, though. Sometimes it also controls when to pump water through the circuits, and eventually it’s signalling the need to heat to the boiler or whatever ultimately is your water heating unit.

Once you start looking for that all I need is a good looking TRIAC based 3 wire thermostat which speaks Z-wave, you’ll notice you won’t find any. All of them are meant to operate radiators, they work based on the builtin thermometer and they don’t have any input port for a wire from the corresponding room thermostat.

Now even if you did find such a unit, there’s a major logic flaw:
If you replace the valves and start controlling water flow using direct zwave control, this will interfere with your central unit unless you completely remove that one from the control circuit.
Your central unit will still be operating the pump(s) or it’s talking to the boiler control unit to do so (in most houses, that boiler control unit will actually be controlling the pumps).
Key to a working system is to operate the pumps and to coordinate that with the valves. If you open valves but noone’s sending hot water, the system does not work efficiently or even not at all (you could set the pumps and “need to heat” contact to always-on but that’s pretty inefficient).
Now once you remove your control unit, you also have to re-implement all of its functions including the whole control logic (or at least some of it) in openHAB yourself.

Also note that the problem is not to replace the valve part (you can hook your valve actuator onto any openHAB-controlled on/off switch), but to replace your room thermostats. Today they just deliver a signal whenever temperature is below the locally-set threshold, but they don’t tell you the temperature. But that is what you need to know to do the control programming.

Effectively, you need to:

  • dump your room thermostats and deploy an openHAB-attached thermometer into each room instead
  • attach all of your valves to openHAB-controlled actuators
  • re-build (program) the whole heating logic including pump control (that’s key)
  • build a new “UI”, that’s simple (it’s the openHAB UI).

Sorry for disillusioning you, but I believe that’s still better than to tell you to invest time & money and nonetheless get a nonsatisfying system.

And yes it can be done.
It’s a major effort, I did, my heating.rules is about 1k lines of code.
But once you made it, you can implement comfort features you cannot have in your exisiting system.
Here’s a thread to help you get going if you still want to.

2 Likes

Crikey, that sounds complicated.

At least in the UK, common wet underfloor heating systems are much simpler to control than that. The central control unit expects simple on/off switching from the thermostats in each room, and they have a 240V supply. So they can be replaced with pretty much any device, and the central unit (a heatmiser one in my case) can’t tell the difference.

I use these heatit zwave devices http://www.heatit.com/heating-control/floor-heating-thermostats/heatit-z-wave-thermostat/ /. Pretty, but very flawed - see discussion elsewhere on the forum.

For some examples, I have detailed my installation on a thread in this forum (as have some others).

Also search the forum for “heating boilerplate”, it has some code designed for that.

I’ve implemented my logic outside of OH, using NodeRed. That may or may not be what you are after; the heating boilerplate contains 100% OH code.

[Edit:] I should have read mstormi’s answer better… he had already linked to the heating boilerplate thread.

Well, it’s true for most continental (:wink: ) central control units, too.
But regardless of where it’s done, valve-pump-boiler coordination is the key problem, especially if you want to renew parts of the heating system while the others are still implemented ‘the old way’ .
And at least in Germany, it’s the hardest job you can think of because you have to stack up against very conservative vendors and craftsmen that don’t neither want to help you nor even understand why you want that new part.
It’s a paradigm shift in how heating systems are to be built that most of them are totally unwilling to accept.
They still want to do the control in hydropneumatics. Electronics they don’t understand, and that smart stuff is evil.

I guess in my system that coordination job is done by the central unit, which I’ve left in place. Although it’s also possible that the boiler simply detects the pressure change and turns on the pump itself - not sure.

Most of the time, pumps are setup to run 24/7, particularly in floor heating (only) environments.
Boilers have a small reservoir of pre-heated water. If whatever entity retrieves hot water, volume
/temperature of that reservoir drops and the boiler starts heating if below a certain threshold.
However, both of these defaults are suboptimal in terms of energy efficiency, which is why more and more control unit vendors, pump vendors, boiler vendors and ‘integrators’ (craftsmen) and of course the owners all try to provide their own improvements to the system from their local perspective, but that’s complicating things even a lot further.
And I haven’t even started talking about solar plants, fresh water systems etc. or apartment buildings or rented houses where you don’t have access to all but just some of the components.

1 Like

First of all, Markus, what an amazing in depth answer! Users like you is why the internet is still a thing. Well. That and certain picture availability, hrm… :wink:

Anyway - this turned into a really interesting thread. It is also putting context to stuff I’ve read in other threads and other places, helping me to grasp the area better.

I will read up on everything everyone is suggesting and take a longer harder look at how my boiler and actuators actually work when I get home. My gut feeling is still that this is THE area where automation can start giving some money back and provide ease of life. Especially as we have a fairly large house and use some of the rooms very sporadically. There should be some logic to tap into there and improve the situation. Luckily, it’s a modern home and the warm season is finally approaching so all heaters are gonna be pretty much OFF for the next few months = project time for me!

So a real big kudos to all of you.
:slight_smile:

Thanks a bunch!

Petter

I’ve recently implemented some control into my home heating: My Central Heating Solution using Thermal Actuators

Since doing so in December-ish, my heating bills haven’t dropped - they’ve actually gone up! But, the house is definitely at exactly the right temperature all the time and is more comfortable to live in, which to me is more important than any cost saving.

1 Like

The element I keep meaning to add, but haven’t, is to stop the heating coming on in the morning if it’s going to be a sunny day and (even on a cold day) the thermal gain means the place will overheat.

Maybe I’m completely misunderstanding, but that is exactly how any heating system works, and the existing universe of smart thermostats are all you need. The thermostat in the room is just a thermometer and a switch, with logic connecting them (“logic” being anything from a clock-spring to a supercomputer). When the room is too cold, the switch is closed, which tells the central control heat is needed. The central control then turns on a pump or opens a valve, or turns on a fan in a forced-air system, so hot water or steam or air can flow. Independently, if the water or air that is flowing isn’t hot enough, the central control turns on the boiler / heat exchanger / reactor etc. So any off-the-shelf Z-wave or IP-networked thermostat will fill the role of monitoring the temperature in the room, and telling the rest of the system, by closing one or more switches, when more heat is needed.

No that’s too simplistic. You usually have multiple circuits with a valve each, some less thermostats but two controllers (one in the distribution system, one in the heater unit), plus the pumps.
But the inner workings of heaters and control units can vary greatly.
It is therefore mandatory to understand their behavior and interaction to be able to get the programming right.
Remind you that it’s not just about to get it to work somehow but you want it to work maintenance-free, under all conditions, without unwanted side effects.
Overall it’s no rocket science, but a lot of work to ‘reverse engineer’ your building’s setup und definitely quite some effort as well to implement new control in a reliable, error-free manner.
Better start in summer :wink:
For the input, any thermometer like those colocated in ZWave multisensors or other OH-controlled device will do for monitoring, and for output (valve open/close) any OH-controlled on/off switch will do.

Hi All,

I invested some time in thinking about implementing intelligent controlling of my water based floor heating. I came to the conclusion that it makes no practical sense. I want to put the point on “PRACTICAL”. It for sure would make alot of fun to do this for sure.
I would like to point out some facts supporting my staement:

  • WFH is embedded in tons of concrete, When I switch off my WFH (outside -5°) the temperature drops 2°/24h
  • House is outside isolated inside walls not, heat is moving between rooms.
  • If you are able to set a room to temporary lower temperature (guest room?), it will need 2 days to heat it up.
  • If you have rooms for constant different temperature you will need set it permanently through hydraukical-equation on the main valves.

Regulary the WFH is regulated through one internal and one external temperature sensor and thats enough. Evry thing else is just “fun” of implementaion, or “money” for people which want to sell complicated systems.

I am fully on the side people who want to have “fun”

2 Likes

Smart heating is not (only) for fun but it is about comfort.
Personal feeling of ‘comfort’ is highly subjective. 2° make for a major difference for many people. It’s even worse when your house is not as-well insulated, or you have a mix of WFH and radiators (running higher temps, also allowing you in turn to warmup a guest room faster).
And unlike one might believe, room (air) temp is not as important to your comfort feeling as is a warm floor.
For example, I switch on my WFH early in the morning then quickly off again. I feel comfortable when getting up (feet are naked but floor is warm) and have my morning coffee before leaving for work although the room hasn’t really heated up to the target air temperature. This in turn also avoids to overheat the room (thus to waste energy). For old-style control, that happens quite often later that day when you have windows to the sun, particularly in spring and autumn timeframe.

From a comfort point of view, you will want to have different temperatures in different rooms at different times of the day. People tend to believe room temperatures will align with each other but they greatly overestimate the heat transport capacity of air (especially with these small temperature differences and when compared to water).
With a smart setup like this, you don’t have to nor want to do any hydropneumatic levelling. That’s the old fashioned (static and therefore inferior in terms of comfort) way of doing the control in hydropneumatic hardware instead of electronics. Smart is way more flexible since it is dynamic. You can change heat distribution throughout the day, depending on way more input parameters (such as e.g. weather forecast or presence detection).
Think of a room that’s used as an office during the day (you want it to be warm) and as a bedroom during nighttime (you want it to be a lot cooler).
In theory, you would also have to do the cumbersome[costly sometimes, too] effort of re-levelling each time you re-purpose a room or change any of the components to affect heat distribution.
Note that w.r.t. energy savings, this smart control described here is an alternative, but non compatible(!) approach to the low-temp-flow-maximized ‘school’ of classic thermodynamic optimization.
Both are ok, but don’t try to do both at the same time.

I largely concur with what Markus said and yes it is a complicated topic.
I have an floor heating that is some 18 years old that sadly only had one thermostat… in the living room.
Recently I wanted to have a per room regulation.
My heat source is a combined boiler/heater
The pump that pumps water through the floor is not on 24/7, it only pumps water if it has a certain temperature and switches off when too low (in order not to cool down the floor) or when it is too hot (in order not to crack the floor).
Fortunately, each of my rooms was on a different outlet in the manifold (that thing the tubes connect to.
So what I did to get per room regulation is that I added separate valves to each of the outlets of the manifold so I can individually switch the heating off per room.
So now I have a per room thermostat that not only switches on the CV, but also opens the specific valve on the manifold.
Alto the chance that for whatever reason the pump would start pumping with none of the valves open, I have a pressure overload valve (that already was installed in my old setup) to deal with that.
The ‘thermostats’ in each room are basically a DS18b20 plus an ESP8266. switching the specific valves open or shut is done through OpenHAB. That works well, but I am in the process of changing that tohave it all regulated by a dedicated Arduino or Raspberry and use openhab just as interface.
Having a complete DIY solution might not be anybodies portee but the principle stays the same: switch on the burner and pump while restricting flow to areas where it is not necessary

In some ways you are in a niche position. Having individual loop/room temperature control couldn’t be better. Most smart thermostats are ‘whole house’ with a few doing zones because that’ the norm for air or water radiators. So the question I have is how smart is your boiler?

Expensive, modern boilers are optimized for efficiency and often measure return water temperature to allow for the ‘load’. Not too much you can do here without upsetting an optimal design. Someone mentioned weather, room stats will take care of that and the boiler will adjust. I know it might fire up BUT it should throttle back quickly to match demand.

One other issue with UFH is a lag time because of the thermal inertia of the floor. This works for and against you. Letting it cool too much destroys instant heat!

My best suggestion would be to introduce some monitoring so that you know what is going on and can measure the effects of any changes you make.

“If it ain’t broke don’ fix it!”

I forgot to mention another topic:

The UFH leaving water temperature are normally arround 30°C for a target Room temperature of 25°C (at leat in my house)
The Floor is best case 30°, the energy transportation is dependent on temperature difference. The UFH has a selfregulation based on incomming temperature.
If you set you hydraulic system the right way and you setup the right heating curve, things are going to be perfect. Almost perfect, because this inert system is only controllable by looking forward.

Example: If I know that today I have outside temperature of 13°C and tomorrow there is a forcast of 25° I could today already turn down the heating for the predicted target. For the whole system.

Here some of my february values for incommind and outgoing temperatures, the spikes are from charging the hot water tank:

I’ve completed an integration with OpenHab for a radiator system with a heating oil / diesel boiler. I agree with those who say it’s complicated, but not so complicated that you can’t do it. You just need to be aware of the limitations and risks.

Big things for me were:

  • I bought radiator thermostats, and use OpenHab to control the setpoint, but not the open/closed (so the thermostat still directly controls the radiator valves). That means the system can still run when OpenHab isn’t working for whatever reason - the setpoints just stay static or need to be manually adjusted. Something equivalent could be useful for you
  • I do actually directly control my boiler - so my OpenHab works out the total heat demand, and turns the boiler on and off. In particular it controls the boiler cycling - so if the heat demand is at 50/700 then it will run the boiler for 30 minutes, then wait for 60. With an oil boiler if you short cycle it then it’ll soot up, and you’ll have to clean it. So be careful about just running the valves and letting the boiler run itself
  • My DHW works through the same system, so I also have to control when the boiler is running for hot water
  • My system has 3 towel rails in it, and those are always open - so if the boiler cycles for some reason with no heating demand, it’ll still heat the towel rails. It’s nice to have something that will absorb excess heat - and it also means that if the heating runs for only one room, the towel rails also add to the demand. If I ask the boiler to run, but it heats that one heater too fast, then the boiler itself will turn off (short cycle) because the return temp is already too high. I also manage this by always heating the DHW whenever the heating is on - so there’s always a little heat load in the hot water cylinder as well. (As you can tell, my biggest problem is that most of the year the boiler can service all the heat demand in about 20 minutes, but 20 minutes is too short run time)
  • I’ve been told that with underfloor heating, the thermal buffer is high enough that a) it’s not really worth running a nighttime setback, and b) you could run your boiler every 2-3 hours without materially impacting room temps. Probably depends on whether your heating is embedded in cement slab, or more surface layer.

Hi MrPetter,

Maybe my tread about my underfloor heating system could be of interest to you:
https://community.openhab.org/t/suggestion-for-controlling-my-underfloor-heating-roth-touchline

The Roth Touchline+ is far from perfect, but at least it is simple enough that it can relatively easy be integrated in to OpenHAB.

Any updates on this topic? I am moving soon to the floor heating apartment powered by air based heat pump, with simple rotating 0-6 thermostats in each room… I don’t know the brand or model of heating system but wonder if it makes sense to try to make it smarter considering insertion of described heating system based on air heat pump?!?
I like Tado solutions for smart heating systems but not sure if it fits in my situation…

Thanks in advance for tips and advices