Hallo, erklärt mir das mal bitte einer mit der tmp func?
Konkret habe ich ein Aussenlicht Script, welches bei Änderung der DayTime Variable anders reagieren soll.
Da das Script einmal gestartet immer nur auf abend erkennt gehe ich davon aus das der Fehler darin liegt das ich das nicht in eine tmp func verpackt habe.
Da ich auch lernen und nicht nur kopieren will…Wozu genau ist die gut? Und um welche Zeilen genau muss ich die verpacken?
Hier mein Script:
--[[
%% properties
106 value
%% globals
Haustuer
TimeOfDay
--]]
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(106, "value")) > 0 )
or
( fibaro:getGlobalValue("Haustuer") == "auf" )
and
( fibaro:getGlobalValue("TimeOfDay") == "Evening" )
or
startSource["type"] == "other"
)
then
fibaro:debug('Ausgelöst Aussentreppe Abend');
fibaro:call(102, "setColor", "50","0","0","0");
fibaro:call(104, "setColor", "50","0","0","0");
fibaro:sleep(1000); --3sec
fibaro:call(102, "setColor", "0","0","0","255");
fibaro:call(104, "setColor", "0","0","0","255");
elseif (
( tonumber(fibaro:getValue(106, "value")) > 0 )
or
( fibaro:getGlobalValue("Haustuer") == "auf" )
and
( fibaro:getGlobalValue("TimeOfDay") == "Night" )
or
startSource["type"] == "other"
)
then
fibaro:debug('Ausgelöst Aussentreppe Nacht');
fibaro:call(102, "setColor", "50","0","0","0");
fibaro:call(104, "setColor", "50","0","0","0");
fibaro:sleep(1000);
fibaro:call(102, "setColor", "250","160","0","15");
fibaro:call(104, "setColor", "250","160","0","15");
end
fibaro:sleep(60000); --1min
fibaro:call(104, "turnOff");
fibaro:call(102, "turnOff");
fibaro:debug('finster');