hat einer von Euch 10 Min Zeit der LUA kann und würde sich mal das folgende mal anschauen und mir verständlich mitteilen wo der Fehler liegt bzw. was ich zu korrigieren habe?
Folgendes sollte passieren:
An jedem Wochentag sollen die Ambiente leuchten links & rechts um 21:50 (+60 und 120 sek) ausgehen, vorausgesetzt der SONOS hat keinen Strom.
Hat der SONOS an einem Tag um 21:50 Uhr Strom, dann sollen die Leuchten erst dann ausgehen (Verzögerung 60 und 120sek) wenn der SONOS manuell ausgeschaltet wird.
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) … „:“ … string.format("%02d", currentDate.min) == „21:50“) )
and
( tonumber(fibaro:getValue(290, „value“)) == 0 )
)
then
setTimeout(function()
fibaro:call(276, „turnOff“);
end, 60000)
setTimeout(function()
fibaro:call(274, „turnOff“);
end, 120000)
end
setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger[„type“] == „autostart“) then
tempFunc()
else
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) )
and
( tonumber(fibaro:getValue(290, „value“)) == 0 )
or
startSource[„type“] == „other“
)
then
setTimeout(function()
fibaro:call(276, „turnOff“);
end, 60000)
setTimeout(function()
fibaro:call(274, „turnOff“);
end, 120000)
end
Wenn ich das richtig lese fehlt dir ja der zweite Teil, wenn der Sonos nach 21:50 ausgemacht wird dann mache die Lichter aus. Sonst passt doch alles - oder?
Dafür könntest du doch einfach eine zweite Szene machen, wenn nach 21:50 und Sonos geht aus, dann mach auch die Lichter aus.
Geht so was nur mit einer weiteren separaten Szene, kann man das nicht da rein packen?
Ich tu mich schwer mit den triggern und vermute das ich da auch ein Problem damit habe, oder passt das so?
Und wieviel ausgeführte Instanzen darf es in diesem Fall geben?
So wie es aktuell ist, gehen die Leuchten normal aus wenn der SONOS keinen Strom hat.
hat der SONOS Strom bleiben die leuchten an, gehen aber auch nicht aus wenn der SONOS keinen Strom mehr hat.
Hatte tatsächlich 10 Min Zeit.
Den Sonos als Trigger braucht man nicht da man ja auf Zeit überprüft. Sonos ist ja nur eine Bedingung.
Wenn’s nicht funktioniert nochmal melden.
--[[
%% autostart
%% properties
%% events
--]]
local sourceTrigger = fibaro:getSourceTrigger();
local Deko1 = 276
local Deko2 = 274
local Sonos = 290
local LichtAus = "21:50"
function DekoLichterAus()
local currentDate = os.date("*t");
local actionTime = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min);
if (actionTime == LichtAus and tonumber(fibaro:getValue(107, "value")) == 0)
or (actionTime > LichtAus and tonumber(fibaro:getValue(107, "value")) == 0)
then
setTimeout(function()
fibaro:call(Deko1, "turnOff");
end, 60000)
setTimeout(function()
fibaro:call(Deko2, "turnOff");
end, 120000)
end
setTimeout(DekoLichterAus, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
DekoLichterAus()
else
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (( tonumber(fibaro:getValue(Sonos, "value")) == 0 )
or startSource["type"] == "other" )
then
setTimeout(function()
fibaro:call(Deko1, "turnOff");
end, 60000)
setTimeout(function()
fibaro:call(Deko2, "turnOff");
end, 120000)
end
end
besten Dank für den Lösungsweg.
ich habe das Script nun mal in eine neue Szene eingesetzt und werde morgen berichten ob es funzt.
Bei Deinem Script gibt es im Reiter „Allgemein“ gar nicht die Option „Starten, wenn HomeCenter 2 startet“ braucht man das nicht zwingend damit die Szenen nach einem Neustart wieder aktiv sind?
So, gestern getestet und es hat nicht funktioniert.
Die LED Leuchten sind weiterhin an geblieben nachdem der SONOS um ca. 22:15 Uhr vom Strom getrennt wurde. Um 23:30 Uhr habe ich die LED Leuchten dann manuell ausgeschaltet.
Kann noch jemand was zu meinen Fragen bzgl. Autostart und Anzahl der möglichen Instanzen sagen?
passt das so wie es in den Screenshots in den vorherigen Einträgen zu sehen ist ?
Automatisch, dann läuft ja die Instanz und checkt jede Minute.
Die maximale Anzahl Instanzen ist, soweit ich das durchblickt habe, nur relevant wenn die Szene einen Auslöser hat. Einfach auf Standard 2 lassen.
Und anstatt da 290 hinzuschreiben ist es schöner und lesbarer wenn du da sonos hinschreibst, hast ja oben extra eine Variable definiert die sonos heisst und den Wert 290 enthält!