Zone heating in the Fibaro system

Zone heating in the Fibaro system

Zone heating

In these instructions we will show you how to control the boiler relay for the central heating of water in radiators using the so-called zone heating. This means that the boiler relay is unlinked and the boiler will not heat water if the required temperature is reached in the particular rooms. The boiler will be switched on until the the real room temperature is lower than the set temperature in the thermostatic head of the radiator in at least one room.

To achieve this you need the following in the rooms you want to control:

Warning: These instructions are for inspiration, you yourself have to make the decision. The author is not responsible for the possible failures.

Zone heating for particular rooms (zones) using the Z-Wave thermostatic heads

In this part the instructions focus on the setting of tempertures in the particular zones (rooms). The temperature setting in the given zone is carried out by the Z-Wave thermostatic head on the radiator fan in the particular room.

Heating panel

In its panels the Fibaro system offers the "Heating panel" in which you can nicely and neatly define the temperatures for the particular parts of the day in accordance with a schedule. For each day you can choose different temperatures or use one schedule for more or all days.

Click Panels -> Heating panel. Add a new zone with for example the name of the room to which it is assigned to, in our case it is SH ShowRoom.

Zonove kurenie Fibaro

After clicking the Add button a new page opens where you can define your own temperatures for each day of the week.

Zonove kurenie Fibaro

After setting the schedule it is necessary to assign this schedule to the selected room, on the left you can see the "List of zones" where we can see the zone created by us. Click the "pencil" and this allows you to add the scene to the room.

Note: You can assign one schedule to each room or you can create your own room with optional temperatures for each room separately.

Zonove kurenie Fibaro

Finally, it is necessary to set the central thermostat for the room so that it is controlled according to the heating zone defined above. Click the "Rooms" panel. Click the setting of the selected room and at the "central thermostat" item you can select the particular head located in the given room.

Note: Do not forget to select a different head for the particular rooms.

Zonove kurenie Fibaro

Zonove kurenie Fibaro

LUA Script for switching the boiler relay

After you have set the particular zones you can create the LUA script to control the boiler realys. The LUA script will continuously run in a loop and it will control the real temperature in the given room and the set temperature for the given room that had been defined using the "Heating panel".

Logic of the LUA Script

The logic of the script is very simple, it is about the comparison of the real temperature measured by some thermal sensor in the given room with the temperature set on the thermostat head using the "Heating panel" for the given room. If at least in one room the real temperature is lower that it is necessary, the boiler will always be switched on.

You can find out the ID of the device if you click its settings - designation of the ID.

Change the Wake-Up intervals of the thermostatic heads to 300 seconds. And then push the button with a dot on the head - to save the setting.

Zonove kurenie Fibaro

Exampe with a traditional realy on the thermostat

As a separate relay you can use:

LuUA Script

The necessary changes that must be carried out in the Script are described in the comments. Before the start you should see the entire scene.

 
--[[
%% properties
%% autostart
%% globals
--]]

if (fibaro:countScenes()>1) then 
fibaro:debug('Ukonči druhú scénu!'); 
fibaro:abort(); 
end 

local boiler = tonumber(fibaro:getValue(1019, "value")) -- Cislo 1019 nastavte na ID tvojho kotloveho relatka.
fibaro:debug('Stav relé na kotli: ' ..boiler);

-- jednotlive ID hlavic (cervene cislo) a senzorov musite zmenit za vase ID
while true do
  
  -- Termostaticke hlavice, ak vas pocet je vacsi skopirujte 2 riadky upravte na temp4 zmente prislusne ID
  local temp1 = tonumber(fibaro:getValue(1096, "value")); -- Danfoss hlavica ShowRoom, nastavena teplota
  fibaro:sleep(1000); -- 1s uspatie, pauza
  local temp2 = tonumber(fibaro:getValue(82, "value")); -- Danfoss hlavica ...
  fibaro:sleep(1000);
  local temp3 = tonumber(fibaro:getValue(84, "value")); -- Danfoss hlavica ...

  -- Teplotne senzory, ak vas pocet je vacsi skopirujte 2 riadky upravte na temp40 zmente prislusne ID
  local temp10 = tonumber(fibaro:getValue(992, "value")); -- Teplotny senzor ShowRoom
  fibaro:sleep(1000);
  local temp20 = tonumber(fibaro:getValue(103, "value")) + 1; -- Teplotny senzor ... s 1 stupnovym offsetom, ktory mozete vymazat
  fibaro:sleep(1000);
  local temp30 = tonumber(fibaro:getValue(72, "value")) + 3.5; -- Teplotny senzor ... s 3.5 stupnovym offsetom, ktory mozete vymazat
  fibaro:sleep(1000); 
  
  
  fibaro:debug('Teploty načítané.');
  
  -- Vypisanie teplot v debugovacom okne, ak ste vyssie pridali hlavicu a senzor tak to treba pridat aj sem, skopirovat riadok a upravit retazec temp
  fibaro:debug('ShowRoom hlavica: ' ..temp1); -- zobrazi sa dole v okne teplota nastavena na hlavici
  --fibaro:debug('... hlavica: ' ..temp2); -- ak chcete vidiet nizsie v okne teploty odstrante komentar a teda odstrante pomlcky
  --fibaro:debug('... hlavica: ' ..temp3);

  fibaro:debug('Teplotny senzor ShowRoom: ' ..temp10);
  --fibaro:debug('Teplotny senzor ...: ' ..temp20);
  --fibaro:debug('Teplotny senzor ...: ' ..temp30);
  fibaro:sleep(1000);
  -- rovnako treba nove hlavice a senzory pridat do porovnavacej podmienky IF 
  if ((temp10 ~= temp1) or (temp20 ~= temp2) or (temp30 ~= temp3))
    then
        fibaro:debug('Bol zistený rozdiel medzi teplotou hlavice a požadovanou teplotou.');    
        if ((temp10 < temp1) or (temp20 < temp2) or (temp30 < temp3))
        then
            if boiler == 0 then
            fibaro:debug('Najmenej v jednej izbe je teplota stále nizka, zapínam bojler.')
            fibaro:call(1019, "turnOn") -- ID cislo rele na kotli
            boiler = 1
            fibaro:debug(boiler)
            else
            fibaro:debug('Bojler už bol zapnutý, nevyžaduje sa ďalšia akcia.')
            end
        else
            if boiler == 1 then
            fibaro:debug('Izbové teploty sú v poriadku, bojler sa vypne.')
            fibaro:call(1019, "turnOff") -- ID cislo rele na kotli
            boiler = 0
            fibaro:debug(boiler)
            else
            fibaro:debug('Bojler už bol vypnutý, nevyžaduje sa ďalšia akcia.')
        	fibaro:debug('Izbové teploty sú v poriadku.')
            end
        end
    end
  fibaro:sleep(300000);
end
  

Example with a Z-Wave replacement for the traditional thermostat

As a Z-Wave replacement for a traditional thermostat you can use:

The only change compared to the above-mentioned example is that, regarding the fact that in this solution it is not possible to directly control the relay in the thermostat, it is necessary to use the "setpoint" = change of the temperature set in the thermostat to switch on/off the boiler. Before the start you should see the entire scene.

Change the Wake-Up interval of the thermostat on the SRT 323 device to 300 s in its settings and then wake up the thermostats. To do this you need to switch button 1 on the thermostat to the position ON - upper position. Then the displays shows n and confirm this by pushing the round button.

Before the start of the scene you must set the thermostat to the temperture of 15°C.

Lua Script

 
--[[
%% properties
%% autostart
%% globals
--]]

if (fibaro:countScenes()>1) then 
fibaro:debug('Ukonči druhú scénu!'); 
fibaro:abort(); 
end 

local boiler = tonumber(fibaro:getValue(1098, "value")) -- Cislo 1098 nastavte na ID tvojho kotloveho relatka.
fibaro:debug('Stav relé na kotli: ' ..boiler);

-- jednotlive ID hlavic (cervene cislo) a senzorov musite zmenit za vase ID
while true do
  
  -- Termostaticke hlavice, ak vas pocet je vacsi skopirujte 2 riadky upravte na temp4 zmente prislusne ID
  local temp1 = tonumber(fibaro:getValue(1096, "value")); -- Danfoss hlavica ShowRoom, nastavena teplota
  fibaro:sleep(1000); -- 1s uspatie, pauza
  local temp2 = tonumber(fibaro:getValue(82, "value")); -- Danfoss hlavica ...
  fibaro:sleep(1000);
  local temp3 = tonumber(fibaro:getValue(84, "value")); -- Danfoss hlavica ...

  -- Teplotne senzory, ak vas pocet je vacsi skopirujte 2 riadky upravte na temp40 zmente prislusne ID
  local temp10 = tonumber(fibaro:getValue(992, "value")); -- Teplotny senzor ShowRoom
  fibaro:sleep(1000);
  local temp20 = tonumber(fibaro:getValue(103, "value")) + 1; -- Teplotny senzor ... s 1 stupnovym offsetom, ktory mozete vymazat
  fibaro:sleep(1000);
  local temp30 = tonumber(fibaro:getValue(72, "value")) + 3.5; -- Teplotny senzor ... s 3.5 stupnovym offsetom, ktory mozete vymazat
  fibaro:sleep(1000); 
  
  
  fibaro:debug('Teploty načítané.');
  
  -- Vypisanie teplot v debugovacom okne, ak ste vyssie pridali hlavicu a senzor tak to treba pridat aj sem, skopirovat riadok a upravit retazec temp
  fibaro:debug('ShowRoom hlavica: ' ..temp1); -- zobrazi sa dole v okne teplota nastavena na hlavici
  --fibaro:debug('... hlavica: ' ..temp2); -- ak chcete vidiet nizsie v okne teploty odstrante komentar a teda odstrante pomlcky
  --fibaro:debug('... hlavica: ' ..temp3);

  fibaro:debug('Teplotny senzor ShowRoom: ' ..temp10);
  --fibaro:debug('Teplotny senzor ...: ' ..temp20);
  --fibaro:debug('Teplotny senzor ...: ' ..temp30);
  fibaro:sleep(1000);
  -- rovnako treba nove hlavice a senzory pridat do porovnavacej podmienky IF 
  if ((temp10 ~= temp1) or (temp20 ~= temp2) or (temp30 ~= temp3))
    then
        fibaro:debug('Bol zistený rozdiel medzi teplotou hlavice a požadovanou teplotou.');    
        if ((temp10 < temp1) or (temp20 < temp2) or (temp30 < temp3))
        then
            if boiler == 15 then
            fibaro:debug('Najmenej v jednej izbe je teplota stále nizka, zapínam bojler.')
            fibaro:call(1098, "setThermostatSetpoint", "1", "30") -- ID cislo rele na kotli
            boiler = 30
            fibaro:debug(boiler)
            else
            fibaro:debug('Bojler už bol zapnutý, nevyžaduje sa ďalšia akcia.')
            end
        else
            if boiler == 30 then
            fibaro:debug('Izbové teploty sú v poriadku, bojler sa vypne.')
            fibaro:call(1098, "setThermostatSetpoint", "1", "15") -- ID cislo rele na kotli
            boiler = 15
            fibaro:debug(boiler)
            else
            fibaro:debug('Bojler už bol vypnutý, nevyžaduje sa ďalšia akcia.')
        	fibaro:debug('Izbové teploty sú v poriadku.')
            end
        end
    end
  fibaro:sleep(300000)
end
  

Conclusion: After the start the scene will be repeated in a 5-minute cycle.

4 Komentáre

  • Martin

    Martin 08/17/2017 Odpovedať

    dakujem za odpoved.
    Na strankach zipata som uz nasiel nejake namety ako spravit viaczonove kurenie. Virtual thermostat vie denne/nocne/dovolenkove programy, ale je mozne, ze budem potrebovat thermostat pro, takze aj PRO licenciu.
    Este potrebujem zistit, aky spinac budem potrebovat na ten kotol. Viete mi poradit?
    Martin
    • SmarterHOME Team

      SmarterHOME Team 08/24/2017 Odpovedať

      Dobrý deň,
      plynový kotol je väčšinou spínaný nato určeným stykačom, overte si ako je to vo Vašom prípade. Následne je takýto stykač možné ovládať napr. relé FIBARO SINGLE SWITCH 2 (FGS-213), resp. SECURE HRT BOILER ACTUATOR (RECEIVER).
      Prajeme príjemný deň.
  • Martin

    Martin 08/15/2017 Odpovedať

    Dobry den,
    potrebujem poradit s navrhom pre zonove kurenie. Mam plynovy kotol s ohrevom TUV Buderus GB022-24/24K ovladanie buderus v obyvacke, ktora je referencna. Po novu by som chcel mat navyse moznost riadit aj teplotu v jednej detskej izbe. V obyvacke je krb, ktoreho beh teraz vypne kotol. Do obyvacky planujem dat dve hlavice POPP a jednu do detskej. Teplota na hlavici bude nastavovat teplotu v miestnosti, v obyvacke by bolo dobre aby sa synchronizovali. Hlavice zaroven hlasia teplotu. Kotle buderus maju vlastnu zbernicu EMS, ktora sa neda ovladat cez z-wave, ale mal by sa dat pripojit rele spinac a ovladat ho ako on/off. Zohrievanie TUV by mal potom riadit nezavisle kotol. Ovladaciu jednotku mam Zipato.
    Bude to takto fungovat? Teda, ze rele bude spustat kotol, ked bude v jednej z miestnosti namerana mensia teplota ako nastavena?
    dalej, pojde:
    - termostaticke hlavice v obyvacke budu synchronizovane
    - naprogramovat teplotne rezimy na den/noc/vikend (pre obe miestnosti zvlast, ale nemusi to byt nutne)
    - bude mozne cez mobil jednoducho zapnut rezim dovolenka/sviatok
    Ktore rele je na to vhodne?

    dakujem,
    Martin
    • SmarterHOME Team

      SmarterHOME Team 08/17/2017 Odpovedať

      Dobrý deň,
      Vami požadované ovládanie je čiastočne možné realizovať v Rule Creator-e (Zipato jednotke) a teda priamo závisí od možností tohto Creatora.
      Nakoľko takúto jednotku vlastníte môžete si vyskúšať čo takýto Puzzle Creator dokáže.
      Synchronizácia hlavíc by sa dala urobiť jednoduchým pravidlom. Spínanie relé taktiež aj keď bude potrebné pravdepodobne využiť premenné, ktoré sú dostupné až v PRO licencii. Na koľko by ste chceli naprogramovať denné programy a dovolenkové režimy bohužiaľ budete potrebovať PRO licenciu pre riadiacu jednotku Zipato - viac informácii nájdete na tomto linku - https://www.zipato.com/how-it-works/features
      Prajeme príjemný deň.

Zanechajte nám Váš názorZanechajte odpoveď

Vyhľadávanie v blogu

Najnovšie názory

Recently Viewed

No products

Menu

Compare 0