HCL mit beta 4058 und LUA

hier mal die Szene " Licht solange Bewegung"
Möchte nen zweiten Wall Plug schalten, aber irgendwie schaltet nur einer . Woran kann das liegen ?
Danke für eure Hilfe

–[[
%% properties
38 value
45 value
43 value
%% globals
–]]
– VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 21 – ID dieser Szene
local motion = 38 – ID des Bewegungssensors
local switch = 45 – ID der Relay Switches
local switch = 43 – ID der Relay Switches

– Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort();
end
– SCHALTE LICHT EIN & AUS
if (tonumber(fibaro:getValue(motion, “value”)) > 0 ) and (tonumber(fibaro:getValue(switch, “value”))) < 1 then
fibaro:call(switch, “turnOn”);

fibaro:debug(“Schalte Licht ein”);
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 = 900;
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

Hi,

wusste nicht, dass du ein HCL mit LUA nutzt. Kann ich dir nicht empfehlen, sorry.

Und du solltest Variablen schon unterschiedlich benennen :wink:

Gruß…

Hi boomx

welche Variablen meinst du ? Und wieso ist LUA beim HCL nicht empfehlenswert ?

Gruss xn8

Hi,

weil LUA das System an die Leistungsgrenzen bringt. Dafür ist das HCL nicht ausgelegt. Hat schon einen Grund, warum man mit dem HCL eigentlich kein LUA nutzen kann. :wink:

local switch = 45 — ID der Relay Switches
local switch = 43 — ID der Relay Switches

Eindeutige Bezeichnungen sind bei der Programmierung wichtig. :slight_smile:

Gruß

Moin Moin

wie muß die Bezeichnung denn aussehen? Bin wie gesagt totaler Leihe in LUA . Muß ich diese dann nur in den zwei
Zeilen ändern oder auch woanders ?

danke :slight_smile:

Gruss xn8

Hi,

da LUA von dem HCL nicht offiziell unterstützt wird und mit der aktuellen Firmware der Bug bereits behoben wurde, erübrigt sich deine Frage :wink:

Gruß