Welkom op onze website

Reinhold, Agnes en kids

Lua scene verwarming 

Ik heb hieronder mijn lua scene voor mijn verwarming, deze code is nog niet af maar ben al ver heen. Doormiddel van deze code kan ik elk vertrek apart van elkaar verwarmen en heeft dus zijn eigen temperatuur instellingen. 

--[[

%% properties
%% events
%% globals
--]]

-- Voorkom starten 2de scene
if (fibaro:countScenes()>1) then fibaro:abort()
fibaro:debug("2de scene word gestopt")
end
-- Zet kleuren voor debug
function Info(color, message) 
    fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span")) 
end
-- wis debug screen
api.delete("/scenes/" ..  __fibaroSceneId .. "/debugMessages")
-----------------------------------------------------------
-- Algehele informatie
local BuitenTemp = tonumber(api.get('/weather')['Temperature'])
Info("yellow", "Algehele informatie:")
Info("white", "Buitentemperatuur is ".. BuitenTemp.." °C")
-----------------------------------------------------------
-- Slaapkamer Reinhold en Agnes 
local TempRA = fibaro:getValue(617, "value")
local SetRA = fibaro:getGlobalValue("Ver_SL_RA")
local RegRA = {654,655} -- Groepen 1 en 2
local TermosRA = 637 -- Virtual device
Info("yellow", "Informatie Slaapkamer Reinhold en Agnes:")
Info("white", "Huidige temperatuur is ".. TempRA.." °C")
Info("white", "Ingestelde temperatuur is ".. SetRA.." °C")
function VerwarmingRA_Controle() 
    for i=1, #RegRA do    
        if(tonumber(fibaro:getValue(RegRA[i], "value")) > 0) then
      fibaro:call(TermosRA, "setProperty", "ui.Veris.value","Verwarming is aan")
      else
      fibaro:call(TermosRA, "setProperty", "ui.Veris.value","Verwarming is uit")
      end
    end
  end
VerwarmingRA_Controle()
-----------------------------------------------------------
-- Badkamer begane grond
local TempBadBG = fibaro:getValue(618, "value")
local SetBadBG = fibaro:getGlobalValue("Ver_Bad_BG")
local RegBadBG = 660 -- Groep 3
local TermosBadBG = 676 -- Virtual device
Info("yellow", "Informatie badkamer begane grond:")
Info("white", "Huidige temperatuur is ".. TempBadBG.." °C")
Info("white", "Ingestelde temperatuur is ".. SetBadBG.." °C")
if(tonumber(fibaro:getValue(RegBadBG, "value")) > 0) then
fibaro:call(TermosBadBG, "setProperty", "ui.Veris.value","Verwarming is aan")
      else
      fibaro:call(TermosBadBG, "setProperty", "ui.Veris.value","Verwarming is uit")
      end
-----------------------------------------------------------
-- Bijkeuken
local TempBij = fibaro:getValue(619, "value")
local SetBij = fibaro:getGlobalValue("Ver_Bkeuk")
local RegBij = 642 -- Groep 8
local TermosBij = 675 -- Virtual device
local ZomerBij = 5
Info("yellow", "Informatie bijkeuken:")
Info("white", "Huidige temperatuur is ".. TempBij.." °C")
Info("white", "Ingestelde temperatuur is ".. SetBij.." °C")
if (tonumber(fibaro:getValue(RegBij, "value")) > 0) then
fibaro:call(TermosBij, "setProperty", "ui.Veris.value","Verwarming is aan")
      else
      fibaro:call(TermosBij, "setProperty", "ui.Veris.value","Verwarming is uit")
      end 
-----------------------------------------------------------
-- Slaapkamer Iris
local TempI = fibaro:getValue(699, "value")
local SetI = fibaro:getGlobalValue("Ver_SL_Ir")
local RegI = 642 -- Radiator
local TermosI = 705 -- Virtual device
Info("yellow", "Informatie slaapkamer Iris:")
Info("white", "Huidige temperatuur is ".. TempI.." °C")
Info("white", "Ingestelde temperatuur is ".. SetI.." °C")
if(tonumber(fibaro:getValue(RegI, "value")) > 0) then
fibaro:call(TermosI, "setProperty", "ui.Veris.value","Verwarming is aan")
      else
      fibaro:call(TermosI, "setProperty", "ui.Veris.value","Verwarming is uit")
      end
-----------------------------------------------------------
-- CV Ketel aan of uit zetten
local Aan = 0.4
local Uit = 0.2
local CVKetel = 690 -- Schakelaar CV ketel
local Groepen = {654,655,660,661,666,667,672,642,643,648,649} -- Groepen schakelaars
local Groepen_AU = 0 -- Groepen Aan Uit controle
local Virtual = {675,676,637,605} -- Virtual devices
---------------------------------------------------------
-- CV ketel aan of uit
function Groepen_Controle()
    for i=1, #Groepen do   
        if(tonumber(fibaro:getValue(Groepen[i], "value")) > 0) then
            Groepen_AU = 1          
    end  
  end
end

function Berichten()
    if (Groepen_AU == 1) then
        Info("green", "Warmte vraag voor:")
    for k,v in pairs(Groepen) do 
  if  tonumber(fibaro:getValue(v, "value")) ~= 0 then
    Info("green","Verwarming aan voor: ".. fibaro:getRoomNameByDeviceID(v) .. " - " ..fibaro:getName(v))
    fibaro:call(CVKetel, "turnOn")     
      end
end
    elseif (Groepen_AU == 0) then 
        Info("green"," Geen warmte vraag meer") 
    fibaro:call(CVKetel, "turnOff")
    end
  end

Groepen_Controle() 
Berichten()
if tonumber(fibaro:getValue(CVKetel, "value")) > 0 then
    Info("green", "CV ketel is ingeschakeld") else
    Info("Green", "CV ketel is uitgeschakeld")
  end
-----------------------------------------------------------
-- Bediening slaapkamer verwarming Agnes en Reinhold
if tonumber(TempRA) < (SetRA - Aan) then
  fibaro:call(654, "turnOn")
  fibaro:call(655, "turnOn")
  elseif tonumber(TempRA) > (SetRA - Uit) then
  fibaro:call(654, "turnOff")
  fibaro:call(655, "turnOff")
  end
fibaro:call(TermosRA, "setProperty", "ui.Tempis.value","Huidige temperatuur "..(TempRA).." °C")
fibaro:call(TermosRA, "setProperty", "ui.TempSet.value","Ingestelde temperatuur "..(SetRA).." °C")
-----------------------------------------------------------
-- Bediening badkamer begane grond
if tonumber(TempBadBG) < (SetBadBG - Aan) then
  fibaro:call(660, "turnOn")
  elseif tonumber(TempBadBG) > (SetBadBG - Uit) then
  fibaro:call(660, "turnOff")
  end
fibaro:call(TermosBadBG, "setProperty", "ui.Tempis.value","Huidige temperatuur "..(TempBadBG).." °C")
fibaro:call(TermosBadBG, "setProperty", "ui.TempSet.value","Ingestelde temperatuur "..(SetBadBG).." °C")
-----------------------------------------------------------
-- Bediening bijkeuken
if (tonumber(TempBij) < (SetBij - Aan)) then
  fibaro:call(642, "turnOn")
  elseif (tonumber(TempBij) > (SetBij - Uit)) then
  fibaro:call(642, "turnOff")
  end
fibaro:call(TermosBij, "setProperty", "ui.Tempis.value","Huidige temperatuur "..(TempBij).." °C")
fibaro:call(TermosBij, "setProperty", "ui.TempSet.value","Ingestelde temperatuur "..(SetBij).." °C")
-----------------------------------------------------------
-- Bediening slaapkamer Iris
fibaro:call(TermosI, "setProperty", "ui.Tempis.value","Huidige temperatuur "..(TempI).." °C")
fibaro:call(TermosI, "setProperty", "ui.TempSet.value","Ingestelde temperatuur "..(SetI).." °C")

 
E-mailen
Bellen