Den Dimmer einen bestimmten Wert zuweisen, zb. 15%
fibaro:call(ID, "setValue", 15)
Szene abbrechen
fibaro:abort()
Wird häufig im zusammenhang mit benutzt wenn der Trigger auf Sensoren o.ä. gesetzt ist, verhindert so ein doppeltes ausführen.
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
Kommentare im Script einfügen mit 2 Bindestrichen
-- Kommentar das im Script nicht gelesen wird, nützlich für Informationen
Vielen Dank für die schnelle Antwort. In manchen Scripten sind dort auch Zeilen eingetragen. Wie hier z.B. (aus: “Lichtsteuerung Teil 2: Fibaro Tageszeiten Variable via LUA setzen”):
–[[
%% properties
222 value
352 value
%% globals
–]]
Welche Eintragungen werden dort gemacht? Sind “222” und “352” Modul-ID’s und das Script wird gestartet, wenn die “value” der beiden Module auslösen? Oder wie muss ich mir das vorstellen?
Genau, die Szene wird immer dann ausgelöst, wenn sich die value der device-IDs 222 & 352 ändert. Bei einem Wallplug zum Beispiel könnt da auch 10 power stehen, dann würde das Skript getriggert werden, wenn sich die Leistungsaufnahme des Plugs ändert.
Unter den gloabls kannst du globale Variablen eintragen, welche dann bei einer Änderung die Szene triggern.
Wäre es auch möglich, eine Variable in dem Header Bereich zu verwenden ?
local startSource = fibaro:getSourceTrigger();
local melder = 75
local lampe = 73
local dauer = 120
Ich habe 2 Variablen “PresentState” und “TimeOfDay”.
Wie kann ich folgendes realisieren:
Wenn nicht “Nacht” dann Verbraucher einschalten und wenn “Nacht” oder “Away” dann Verbraucher ausschalten.
Meine Szene reagiert nicht auf “Away” weil es ja nicht “Nacht” ist.
Im Bild ist die Variable “PresentState” auf “Away” und trotzdem geht der Verbraucher nicht aus.
Du musst die erste if Abfrage für away setzen. (Sollte ja Tageszeitunabhängig greifen)
Dann elseif auf Nacht
und am Schluss else (deckt restliche Tageszeiten ab)
Die Bedingungen werden der Reihe nach abgearbeitet und sobald eine Bedingung erfüllt ist verlässt das Program die Else Abfrage
Was ich heute lange gesucht habe ist, eine Variable zu splitten bzw. den ersten Teil der Variable zu bekommen:
local Teil = string.sub(Lang, 1, 5);
wobei “Lang” die Ursprungs-Variable ist
“1” ist der Startwert, ab dem die Auslesung beginnt.
“5” es werden die ersten 5 Zeichen ausgelesen
“Teil” ist die neue Variable mit den ersten fünf Zeichen der Ursprungs-Variable