How to control heating in each room separately with single zone boiler

Marcus Khoo shared this idea 6 months ago
Under Consideration


I want to be able to control the temperature of every room in my home separately however I only have a single zone boiler.

If I create a thermostat pro for every room and have each one switch the boiler on and off I get the problem where one of the room thermostats switches off boiler – when I really need the boiler to still be on for another room.

So I have found the following solution that gives me a virtual thermostat in each room without one thermostat interfering with another.


This solution will allow my single zone single boiler system+ Zipato to give me thermostatic control in every room. Effectively providing as many “zones” as there are rooms.

What you need:

· A way to monitor temperature in every room (i.e.a temperature sensor)

· A way to control a heat source in every room(i.e. a z-wave TRV)

· A way to control the switching of the boiler (i.ea z-wave switch)

How to do it:

Create one virtual switch for every room. I used a naming convention of “{Room} HN” (e.g.Kitchen HN). The “HN” indicates that Heat is Needed. This virtual switch will be turned ON when heat is needed and switches OFF when heat is not needed for the Thermostat Pro.

Create one thermostat pro for every room. For each thermostat, set up the following:


· your z-wave temperature sensor


· your z-wave heat control and

· the virtual switch for that room



Next, create a rule that turns the heat or off using the following logic:

When any of the virtual switches changes state

If all of the virtual switches are OFF

Turnoff the boiler

If any of the virtual switches are ON

Turn on the boiler

For five rooms it will look like this:


Now any thermostat will turn the boiler ON if needed but the boiler is only turned off if NO thermostat needs the heat.

Hope that helps someone.

Comments (8)


Very nice but still need the Pro version. How did you set exactly your virtual switch? How does the virtual switch know "when heat is needed turn ON and switches OFF when heat is not needed" from where do you take that info? The thermostat?

I will appreciate a solution that will not involve purchasing pro version.

Does anyone did it?

My actual set-up

3x Valve eurotronic spirit

3x Fibaro multi sensor for temperature in each room.

1x Zipatile use relay for my boiler.

Is there a way to achieve the same without pro version?


Forgot to add. Problem when using thermostat is you set a target like 22. Then it set the valve to 22 but does not open the valve at max so your heating will take longer. Because these kind of valve have they own thermostat.

What I need is simple is

-if temp is below set point (according to schedule)

-open the valve at max

-switch ON relay boiler

and this for each room independently


Hi Thomas, not sure how to do this without the "Thermostat Pro" I have never tried to use the "Thermostat" to be honest so am not familiar with the restrictions on the "non pro" version.

In any case, this is my process:

1) I create a Virtual switch for every room

2) I create a Thermostat Pro for every room and set the Heating OUTPUT to be the corresponding virtual switch. (That is shown as "Living HN" in my Thermostat Pro image in the original post.)

3) I set the Temperature sensor for the Thermostat Pro to be whatever temperature sensor is in the room (I use Fibaro motion sensors and they have a temperature sensor built in)

4) I schedule the temperature I want during the day in the Thermostat Pro.

Now, when the Thermostat Pro says it needs heat for that room it switches on the corresponding virtual switch (not the boiler directly)

The rule that I posted is used to consolidate all my virtual switches. It switches the boiler "ON" if needed by examining the virtual switches for the heating output.

If the room no longer needs heat (i.e. at the correct temperature) then it will turn the virtual switch "OFF". However, it may be the case that another room still needs heat so I can't switch my boiler off until ALL virtual switches are "OFF". My rule caters for that case.

With regard to your TVR query. As far as I know a TVR will set the temperature of the radiator according to the temperature seen on the ROOM - not in the water pipe. As the room gets warmer, the TRV will RESTRICT the flow in the radiator gradually. As the room gets colder in "INCREASES" the flow in the radiator. This means that if you have a cold room (say 10 degrees) and set the temperature on the TRV to 22 then the TRV will be fully open immediately and will only start to close when the room temperature gets closer to 22. Therefore I don't think you need to be concerned about how much the TVR is open when the boiler is on.

Hope that helps

Best regards



Thank you Marcus for your reply.

I will give a try like this then.


I have seen another post that in case you have a TRV the PRO thermostat is not required, but you require a PRO puzzle licence. Can you guys try the following and let me know if this also works? This can save money:

instead of adding a virtual switch into the thermostat pro as output, create a rule for each TRV separate. In each rule check the actual measured temperature as WHEN block (any change in the actual temperature) and then create an IF statement where, IF the actual measured temperature - 0,5 (being hysteresis) is less than heat target temperature for the specific zone, then turn on the virtual switch of the corresponding zone, else turn off.

I dont have a valve, but I tried it before on another setup and it did work.


Hi Attila,

I do have the pro puzzle licence not sure how you want do that. Also by doing that way you will not be able to set the temperature via the thermostat. You will have to be in the rule. Nor I have the zipatile and nice to set the temperature if needed.

I did purchase the pro thermostat and solve my problem. But want to add something about TRV's, Marcus comment I don't think you need to be concerned about how much the TVR is open when the boiler is on.

Actually it does matter, because after few test I had set a zoneA to 12 degres and Zone B to 21. The heating sart after few minute I check the radiator in A and it was warm even with the TRV set at 12. It should have cold it's was already 21 in that room.

I have solve the problem by manually control the valve. Not sure if all TRV can do that but the Eurotronics spirit does. Here are some screen shot.


So now in my pro thermostat I have only the virtual switch otherwise when it was going to Heat it also change the TRV mode to heat and afterward does not came back to manual control.


And the rules

For the boiler


And one for each TRV like this


Like that I'm controlling the valve and not the temperature on the TRV.

So when the virtual switch is turn on, it will open the valve at 100% and all other TRV will be closed independately.

After 2 days of test it work perfectly.


Hi Thomas

I think the suggestion for the thermostat would have been something like this - which picks up the temperature on the virtual thermostat. In this rule you are comparing the current temperature with the non-Pro virtual thermostat heating target:



Yes I see. My setup is working now very well. Only one thing. When I have Zone A and B on heat and if for example zone B stop I can hear the relay from my zipatile going OFF and back to ON directly. Is there a way to avoid that. If a zone is still on demand the relay should not do that. I see I can configure the relay will try that.