aktuell versuche ich meine HUE Lampen über LUA Szenen einzubinden, da diese in den Widgets der Android App von Fibaro leider nicht angezeigt werden.
Jetzt wollte ich einen einfachen An-/Aus- Schalter wie folgt bauen. Habe hier schon etwas gesucht, jedoch nichts gefunden (vermutlich zu simpel :D)
Hier mein Versuch:
if (tonumber(fibaro:getValue(125, "value"))) < 1 then
fibaro:call(125, "turnOn");
fibaro:debug("Eingeschaltet");
else
if (tonumber(fibaro:getValue(125, "value"))) > 1 then
fibaro:call(125, "turnOff");
fibaro:debug("Ausgeschaltet");
end
Reicht das so oder würdet ihr empfehlen den Code noch zu erweitern? z.B. mit
if (fibaro:countScenes()>1) then
fibaro:abort();
oder gibt es sogar irgendwo sowas schon in fertig? Gruß
Schaut doch ganz ok aus. Den letzten Absatz brauchst Du nur, wenn Du befürchtest, dass die Szene 2x gestartet werden kann. Da sie aber gleich wieder beendet wird, kann wohl nix passieren.
Du kannst den ersten Teil auch in ein Virtual Device hinter einen Button packen. Fänd ich schöner als eine Szene. Vor Allem wenn’s mehrere Schalter sind.
if (tonumber(fibaro:getValue(125, "value"))) < 1 then
fibaro:call(125, "turnOn");
fibaro:debug("Eingeschaltet");
else (tonumber(fibaro:getValue(125, "value"))) > 1 then
fibaro:call(125, "turnOff");
fibaro:debug("Ausgeschaltet");
end
Debug gibt mir immer noch einen Fehler raus: “[ERROR] 12:59:47: line 5: syntax error near ‘>’”
Hi ZonyD
Zeile 4 darf keine Bedingung enthalten oder du setzt vorne elseif ein
also entweder nur:
if (tonumber(fibaro:getValue(125, "value"))) < 1 then
fibaro:call(125, "turnOn");
fibaro:debug("Eingeschaltet");
else
fibaro:call(125, "turnOff");
fibaro:debug("Ausgeschaltet");
end
oder:
if (tonumber(fibaro:getValue(125, "value"))) < 1 then
fibaro:call(125, "turnOn");
fibaro:debug("Eingeschaltet");
elseif (tonumber(fibaro:getValue(125, "value"))) > 1 then
fibaro:call(125, "turnOff");
fibaro:debug("Ausgeschaltet");
end
Moin,
ich rufe den Status, also den Wert value mit
local value = fibaro:getValue(130, "ui.hue.value") -- 130 ist die ID der Hue-Lampe
Ich habe es so glöst
hueState = tonumber(fibaro:getValue(160, "ui.hue.value")) --Status der HUE Lampe auslesen
if hueState == 0 -- ist HUE Lampe aus dann
then --dann
fibaro:call(160, "turnOn") --schalte HUE Lampe mit der ID 160 an
Schwere Geburt aber ich habe es endlich geschafft… Hier der Code der funktioniert:
if (tonumber(fibaro:getValue(135, "ui.onOff.value"))) < 1 then
fibaro:call(135, "turnOn");
fibaro:debug("Eingeschaltet");
elseif (tonumber(fibaro:getValue(135, "ui.onOff.value"))) == 1 then
fibaro:call(135, "turnOff");
fibaro:debug("Ausgeschaltet");
end