Lua startSource

Hallo Zusammen,

kann mir jemand sagen was dieser Befehl auslöst/bedeutet?
startSource[“type”] == “other”
Ist mir irgendwie unklar.

Gruß
Jörg

Wenn der Auslöser der Szene “other” ist, gibt die Bedingung “true” zurück. Other wäre z.B. wenn du manuell auf start drückst. möglicherweise auch der Autostart der Zentrale. Bin ich mir gerade nicht ganz sicher. Du meinst sicher auch getSoruce.
Hier steht noch ein bisschen mehr dazu:
http://www.fibarouk.co.uk/support/lua/library/fibarogetsourcetrigger/

Noch einmal zur Verwendung: Wenn du die Szene durch verschiedene Sensoren usw Ausführbar machst (im kopf) willst du im Script möglicherweise abfragen welcher GENAU jetzt für den Start verantwortlich ist (tür 1, tür2 oder tür3) und diese Info verwenden. Ich hoffe das hilft dir weiter.

Gruß Daniel

Hallo Daniel,

es ist bereits ein Jahr her, aber ich habe trotzdem eine Frage zu der Triggerung einer Scene:

–[[
%% properties
22 value
114 value
27 value
%% globals
TimeOfDay
–]]

– VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
–local trigger = fibaro:getSourceTrigger()
local scene = 161 – ID dieser Szene
local motion = 22 – ID des Bewegungssensors
local switch = 27 – ID des Relay Switches
local door = 114
– Lösche doppelte Szene(n)

if (fibaro:countScenes()>1)
then
fibaro:abort();
end
– SCHALTE LICHT EIN & AUS
if fibaro:getGlobalValue(“TimeOfDay”)~= “Day” and (tonumber(fibaro:getValue(22, “value”))>0)
and (tonumber(fibaro:getValue(114, “value”))==1) and (tonumber(fibaro:getValue(27, “value”))<1)
–or (trigger[“type”] == “27”) --Soll ein Bewegungsmelder außen darstellen
then
fibaro:call(27, “turnOn”)
fibaro:debug(“Schalte Licht ein”)
–fibaro:debug('Source device = '…trigger[“27”])
end
– Verzögerung in Sekunden nach der letzten erkannten Bewegung, bevor das Licht ausgeschaltet wird
if (tonumber(fibaro:getValue(switch, “value”))) > 0
then
local starttimer = 30;
local timer = (starttimer);
fibaro:debug(“Starte Timer”);
repeat
fibaro:sleep(1000);
– Schalte Licht aus, wenn Schalter manuell betätigt wird und warte 10 Sekunden, um ein
– versehentliches (erneutes) Aktivieren der Szene zu verhindern
if (tonumber(fibaro:getValue(switch, “value”))) < 1
then
timer=1;
fibaro:call(switch, “turnOff”);
fibaro:sleep(10000);
break
end
timer=timer-1;
– Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
if (tonumber(fibaro:getValue(motion, “value”))) > 0
then
timer=starttimer;
fibaro:debug(“Resete Time, Bewegung erkannt bzw. Motionsensor sendet noch nicht (vgl. Parameter 6)”);
end
until (timer<1)

– Schalte Licht aus, wenn Timer vollständig abgelaufen ist
fibaro:call(switch, “turnOff”);
fibaro:debug(“Timer abgelaufen/Schalte Licht aus”);
fibaro:killScenes(scene);
end

die kommentierte Stelle macht mir Kopfzerbrechen. ich möchte dass die Scene nicht nur durch die Z-Wave Module getigert wird sondern auch durch draußen angebrachten Bewegungsmelder, der am Fibaro anstatt eines Schalters angeschloßen ist.

falls eine Skizze benötigt wird bitte melden…

Hi,

dann trägst du oben die ID im Header ein und änderst die ID von dem Motion. :slight_smile: Das war’s.

Ansonsten versteh ich die Frage nicht :frowning:

Gruß