Lichtsteuerung mit Türkontakt

Hallo zusammen,

möchte eine Szene umsetzen, die bewirkt, dass im Außenbereich (Eingang und Auffahrt) Licht angeht, wenn ich meine Eingangstür öffne und es draußen dunkel ist. So weit so einfach. Ich möchte aber auch, dass das Licht 60 Sekunden, nachdem ich die Tür zugemacht habe, wieder ausgeht. Und das bekomme ich nicht umgesetzt. Mir fehlt allein schon die Grundidee, wie man das logisch programmiert?! Kann mir damit jemand auf die Sprünge helfen?

Das ist mein bisheriges Skript:

--[[
%% properties
67 value
18 value
43 value
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if (
 ( tonumber(fibaro:getValue(67, "value")) > 0  and  tonumber(fibaro:getValue(18, "value")) < 5000  and  tonumber(fibaro:getValue(43, "value")) == 0 )
or
startSource["type"] == "other"
)
then
	fibaro:call(43, "turnOn");
	fibaro:call(81, "turnOn");
	setTimeout(function()
		fibaro:call(43, "turnOff");
	fibaro:call(81, "turnOff");
	end, 60000)
end

Hier mein code… Habe es mit einer whileschleife gelöst#:

--[[
%% properties
30 value
%% globals
--]]
---  Schleifen Schutz --- 
if (fibaro:countScenes()>1) then
fibaro:abort(); 
fibaro:debug('nur eine instanz'); 
end
--------------------------
--- Bedingungen ---
  if ( tonumber(fibaro:getValue(30, "value")) > 0  and
    fibaro:getGlobalValue("Tageszeit") == "Abend"  or
    fibaro:getGlobalValue("Tageszeit") == "Nacht" ) then
    --fibaro:debug('Türe auf');
   
   --- Anfang Schleife ---
  	while ( tonumber(fibaro:getValue(30, "value")) > 0 )  do
  fibaro:call(9, "turnOn"); -- Licht an solagne Türe auf
    fibaro:sleep(1*1000);
---- Ende Schleife ---  
end
  --fibaro:debug('Türe zu - Warte 2 Minuten'); 
fibaro:sleep(120000); -- warte 2 Minuten
  fibaro:call(9, "turnOff");
    --fibaro:debug('Licht aus!'); 
end

Geniale Sache. Funktioniert auf Anhieb. Vielen Dank!