Allgemeine Lua Frage

Hallo,

ich hätte eine allgemeine Frage zu Lua.

Wenn ich per Lua beispielsweise einen Wert aus einem Device lese. Wartet das Programm dann mit der nächsten Programmzeile bis es den Wert erhalten hat, oder läuft es weiter und parallel wird der Wert ausgelesen? Ich meine aufgrund der Funktechnik dauert der Auslesevorgang sicher auch eine halbe Sekunde je nach Entfernung der Devices.

Danke für eine kurze Antwort.

Hi,

der Wert kommt nicht von den Gerät, sondern von der API (JSON). Von daher muss das System auf nichts warten.

Gruss

Richtig. Das auslesen der Daten passiert unabhängig vom Programm. Kannst du an sich vernachlässigen.
Was du vielleicht auch hören willst: Die Programmzeilen werden nacheinander ausgeführt. Irgendwelche “pausen” zwischen den befehlen sind IDR nicht nötig!

Grüße

OK, verstanden.

Was würde dann passieren, wenn ich via Lua eine Lampe blinken kassen wollte (nur mal ein Beispiel) und würde in einer Schleife nacheinander

fibaro:call(ID, “turnOn”)
fibaro:call(ID, “turnOff”)

laufen lassen. Dann würde der Code doch so schnell durchlaufen, dass sich an der Lampe voraussichtlich nichts ändert? Wenn ich dann noch direkt nach “turnOn” den Zustand des Schalters einer Variablen zuweisen würde das Relay aufgrund der Vwrzögerung noch nicht geschaltet hätte…dann wäreesdoch Zufall welchen Wert die Variable erhalten würde oder nicht?

Nein, das wäre kein Blinken. Da sollte schon ein sleep-Befehl mit rein.

Die Variable wäre richtig, da er ja den Zustand wieder in der JSON abfragt und diese wird ja direkt aktualisiert :wink: