--[[
%% properties
58 value
61 value
43 value
%% globals
Jahreszeit
--]]
SollwertKind = fibaro:getValue(45, "value") --Thermostat Kinderzimmer
IstwertKind = fibaro:getValue(46, "value") --Thermostat Kinderzimmer
SollwertBad = fibaro:getValue(48, "value") --Thermostat Badezimmer oben
IstwertBad = fibaro:getValue(49, "value") --Thermostat Badezimmer oben
SollwertEZ = fibaro:getValue(51, "value") --Thermostat Esszimmer
IstwertEZ = fibaro:getValue(52, "value") --Thermostat Esszimmer
SollwertWZ = fibaro:getValue(54, "value") --Thermostat Wohnzimmer
IstwertWZ = fibaro:getValue(55, "value") --Thermostat Wohnzimmer
SollwertSZ = fibaro:getValue(57, "value") --Thermostat Schlafzimmer
IstwertSZ = fibaro:getValue(58, "value") --Thermostat Schlafzimmer
SollwertWC = fibaro:getValue(60, "value") --Thermostat Badezimmer unten
IstwertWC = fibaro:getValue(61, "value") --Thermostat Badezimmer unten
SollwertWR = fibaro:getValue(63, "value") --Thermostat Werkraum
IstwertWR = fibaro:getValue(118, "value") --Fenster Werkraum
function Debug( color, message )
fibaro:debug(string.format('<%s style="color:%s;">%s<!--%s-->', "span", color, message, "span"));
end
if (fibaro:getGlobalValue("Jahreszeit") == "Sommer") then
if (tonumber(IstwertKind) +2 >= tonumber(SollwertKind) and
tonumber(IstwertBad) +2 >= tonumber(SollwertBad) and
tonumber(IstwertEZ) +2 >= tonumber(SollwertEZ) and
tonumber(IstwertWZ) +2 >= tonumber(SollwertWZ) and
tonumber(IstwertSZ) +2 >= tonumber(SollwertSZ) and
tonumber(IstwertWC) +2 >= tonumber(SollwertWC)) then
fibaro:call(41, "turnOn") -- Heizungspumpe aus (arbeitet mit einem Öffner)
fibaro:sleep(1*1000)
Debug("yellow",'Heizung steht auf Sommermodus, Fahre Heizung runter.')
fibaro:debug( 'Schaltet Hauptthermostat ' .. fibaro:getValue(41, "value" ) .. '=ein und somit die Pumpe auf aus !' )
else
fibaro:call(41, "turnOff") -- Heizungspumpe an
fibaro:sleep(1*1000)
Debug("green",'Heizung steht auf Sommer, aber Raumtemperatur zu kalt.')
fibaro:debug( 'schaltet Hauptthermostat ' .. fibaro:getValue(41, "value" ) .. '=aus und die Heizungspumpe ein !' )
end
elseif (fibaro:getGlobalValue("Jahreszeit") == "Winter") then
----
if (tonumber(IstwertKind) -0.5 >= tonumber(SollwertKind) and
tonumber(IstwertBad) -0.5 >= tonumber(SollwertBad) and
tonumber(IstwertEZ) -0.5 >= tonumber(SollwertEZ) and
tonumber(IstwertWZ) -0.5 >= tonumber(SollwertWZ) and
tonumber(IstwertSZ) -0.5 >= tonumber(SollwertSZ) and
tonumber(IstwertWC) -0.5 >= tonumber(SollwertWC)) then
fibaro:call(41, "turnOn") -- Heizungspumpe aus (arbeitet mit einem Öffner)
fibaro:sleep(1*1000)
fibaro:debug( 'Kinderzimmertemperatur ist mit ' .. fibaro:getValue(46, "value" ) .. ' Grad groesser als Raumsollwert mit ' .. fibaro:getValue(45, "value" ) .. ' Grad' )
fibaro:debug( 'Badezimmertemperatur oben ist mit ' .. fibaro:getValue(49, "value" ) .. ' Grad groesser als Raumsollwert mit ' .. fibaro:getValue(48, "value" ) .. ' Grad' )
fibaro:debug( 'Esszimmertemperatur ist mit ' .. fibaro:getValue(52, "value" ) .. ' Grad groesser als Raumsollwert mit ' .. fibaro:getValue(51, "value" ) .. ' Grad' )
fibaro:debug( 'Wohnzimmertemperatur ist mit ' .. fibaro:getValue(55, "value" ) .. ' Grad groesser als Raumsollwert mit ' .. fibaro:getValue(54, "value" ) .. ' Grad' )
fibaro:debug( 'Schlafzimmertemperatur ist mit ' .. fibaro:getValue(58, "value" ) .. ' Grad groesser als Raumsollwert mit ' .. fibaro:getValue(57, "value" ) .. ' Grad' )
fibaro:debug( 'Badezimmertemperatur unten ist mit ' .. fibaro:getValue(61, "value" ) .. ' Grad groesser als Raumsollwert mit ' .. fibaro:getValue(60, "value" ) .. ' Grad' )
Debug("orange", 'Heizung steht auf Wintermodus.')
fibaro:debug( 'Schaltet Hauptthermostat ' .. fibaro:getValue(41, "value" ) .. '=ein und somit die Pumpe auf aus, da es warm genug ist !' )
else
fibaro:call(41, "turnOff") -- Heizungspumpe an
fibaro:sleep(1*1000)
Debug("red",'Heizung steht auf Wintermodus')
fibaro:debug( 'schaltet Hauptthermostat ' .. fibaro:getValue(41, "value" ) .. '=aus und somit die Heizungspumpe ein !' )
end
else
if (tonumber(IstwertKind) >= tonumber(SollwertKind) and
tonumber(IstwertBad) >= tonumber(SollwertBad) and
tonumber(IstwertEZ) >= tonumber(SollwertEZ) and
tonumber(IstwertWZ) >= tonumber(SollwertWZ) and
tonumber(IstwertSZ) >= tonumber(SollwertSZ) and
tonumber(IstwertWC) >= tonumber(SollwertWC)) then
fibaro:call(41, "turnOn") -- Heizungspumpe aus (arbeitet mit einem Öffner)
fibaro:sleep(1*1000)
Debug("cyan",'Heizung steht auf Herbst/Frühlings-Modus,')
fibaro:debug( 'Schaltet Hauptthermostat ' .. fibaro:getValue(41, "value" ) .. '=ein und somit die Pumpe auf aus !' )
else
fibaro:call(41, "turnOff") -- Heizungspumpe an
fibaro:sleep(1*1000)
Debug("magenta",'Heizung steht auf Herbst/Frühlings-Modus,')
fibaro:debug( 'schaltet Hauptthermostat ' .. fibaro:getValue(41, "value" ) .. '=aus und die Heizungspumpe ein !' )
end
end
Das ist bei mir jetzt erst mal raus gekommen…Es gibt noch “Sommer”, “Winter”, “Herbst” und “Frühling” als Variablen, wobei Herbst und Frühling gleich sind ID43 nutze ich als Testtrigger “Winter und Herbst/Frühling” Umschalter…Sommer schaltet bei Außentemperatur von >= 18 Grad selbsttätig…gibts noch Ideen oder Verbesserungen…und immer daran denken, dass ich Anfänger bin