Lua Allgemein

Ein paar Fragen zur Lua Programmierung .

Was muß in den Header Bereich des Scriptes und wofür ist dieser ?

–[[
%% properties
75 value
%% globals
–]]

Ist es richtig, das ich startSource[“type”] == “other” verwenden muß,
um eine Scene manuell über den Start Button auszulösen ?

Würde dieses Script funktionieren ohne die Angabe der Sensoren und Aktoren im Header ?

–[[
%% properties
%% globals
–]]

local startSource = fibaro:getSourceTrigger();
local melder = 75
local lampe = 73
local dauer = 120

if (
(tonumber(fibaro:getValue(melder, “value”)) > 0 and
fibaro:getGlobalValue(“TagNacht”) == “Nacht”) or
startSource[“type”] == “other”
)then

print("Schalte ein");
fibaro:call(lampe, "turnOn");

local a = 0

while true do 

	if(tonumber(fibaro:getValue(melder, "value")) > 0) then 
		print("Setze zurück");
		a = 0 
	end

	if(a > dauer) then
		print("Schalte aus");
		fibaro:call(lampe, "turnOff");
		fibaro:abort();
	end
	
	a = a + 1
	fibaro:sleep(1000)

end

end

Unter welchen Bedingungen wird eine Scene ausgewertet ?

  • wenn einer der Sensoren oder Aktoren seinen Zustand ändert ?
  • automatisch jede Sekunde ?

Danke und Gruß

Hi,

im Header legst du fest, wann die Szene ausgeführt werden soll. Wenn du zum Beispiel 76 value (value steht hier für den Zustand; es würde zum Beispiel auch power gehen) einfügst und 76 ist ein MotionSensor, dann wird die Szene immer ausgeführt, wenn sich der Status des MS ändert. Es gibt auch die Möglchkeit bei einer Änderung einer Variablen das Skript zu Triggern. Und %autostart gibt es auch noch. Das benötigst du für Zeitgesteurte Szenen.

Gruß