Lua Script die Erste

Hallo,

versuche nun meine Szenen mit Lua zu realisieren
Hat jemand eine Idee warum ich die folgende Meldung bekomme. “[DEBUG] 20:00:32: line 10: ‘)’ expected near ‘then’”
Ich möchte meinen Türsensor abfragen…

Grüße,
Robert

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

local window = fibaro:get(111, ‘value’ );

if (tonumber(fibaro: getValue(window, “value”)) > 0 then

fibaro: debug (’ Fenster ist unscharf ');

elseif (tonumber(fibaro: getValue(window, “value”)) == 0 then
fibaro: debug (’ Fenster ist scharf ');

else
fibaro: debug (’ Test ');

end

Hi,

das ist mehr als nur ein Fehler drin (Falsche Abfragen, falsche Nutzung von IDs, usw.). Wandel am Besten mal eine Blockszene um, dann hast du wenigstens die richtigen Abfragen. Am Besten schaust du dir auch mal die Doku von Fibaro an. Diese findest du hier:

https://developer.fibaro.com

Gruß

So, habe mich nun etwas eingearbeitet.
Schaut mal:

local value = fibaro:getValue(111, 'armed')   
    
if (tonumber(Value) == 0) then
    fibaro:debug( 'scharf');
elseif(tonumber(Value) == 1) then
    fibaro:debug( 'unscharf');
else 
  fibaro: debug  (' keine Funktion ');
end

Wenn ich das Skript starte, lande ich immer bei “keine Funktion”.
Warum funktioniert die Zustandsprüfung nicht? Bin leider überfragt…
Kann mit jemand einen Tip geben?

Gruß
Robert

Hi,

das liegt an deiner Definition von “value” (erste Zeile).
Du willst doch den Wert abfragen und vergleichen, , also:

fibaro:getValue(111, "value")

VG Hoggle

Vielen Dank!

Hallo Robert,

ausserdem solltest Du darauf achten, dass Lua Casesensitive ist. Wenn Du also local value definierst, kannst Du später nicht if (tonumber(Value) == 0) abfragen.

Hallo Bastian,

klär mich doch bitte auf, warum kann ich “if (tonumber(Value) == 0)” später so nicht benutzen?
Es funktioniert momentan problemlos.

Gruß
Robert

Hallo Bastian,

ich habe es verstanden. Das ist mir auch schon aufgefallen und habe es geändert. Trotzdem “Danke” für die Info.

Gruß
Robert