Ich habe in meinem Bad eine sehr gut funktionierende Schaltung für meinen Sonoslautsprecher, die mir bei Bewegung zwischen 4Uhr ubd 22Uhr die Musik einschaltet und falls keine Bewegung mehr erfolgt die Musik nach einiger Zeit ausschaltet. Nun habe ich eine begehbare Dusche, in die der Sensor nicht hineinschauen kann,deshalb möchte ich einen zweiten Sensor integrieren. Ich habe alles mögkiche versucht, aber ich bekomme das Script einfach nicht zum Laufen. Auch mit den zahlreichen Lichtsteuerungen, die es hier gibz komme ich einfach zu keinem Ergebnis. deshalb bitte ich hier um Hilfe.
Anbei mei Script mit einem Senser(ID79)-
`–[[
%% properties
79 value
%% globals
–]]
local currentTime = os.date("%H:%M");
local sensors = {79}
local delay = 0
local debug = false
if currentTime >= “04:00” and currentTime < “22:00”
then
function actionsMotion()
fibaro:call(283, “pressButton”, “8”);
fibaro:call(283, “pressButton”, “25”);
fibaro:debug(‘Führe Aktionen bei Bewegungserkennung aus’)
end
function actionsNoMotion()
fibaro:call(283, “pressButton”, “6”);
fibaro:debug(‘Führe Aktionen nach Ende Bewegung aus’)
end
local instances = tonumber(fibaro:countScenes());
function getSensorStatus()
for i,n in ipairs(sensors) do
if (tonumber(fibaro:getValue(n, “value”)) > 0) then
return 1;
end
end
return 0;
end
function getLastBreach()
local breach = 0;
for i,n in ipairs(sensors) do
local nBreach = tonumber(fibaro:getValue(n, “lastBreached”));
if(nBreach > breach) then
breach = nBreach;
end
end
return breach;
end
function checkMotion()
lastBreached = getLastBreach();
time = os.time();
if (debug) then fibaro:debug(“Zuletzt ausgelöst: Vor “…(time-lastBreached)…” Sekunden”); end
if (getSensorStatus() == 1) then
return true;
end
if ((time-lastBreached)>=delay) then
return false;
end
return true;
end
local lastBreached = getLastBreach()
if (fibaro:getSourceTriggerType() == ‘property’ and getSensorStatus() == 1)
then
if (instances > 1) then fibaro:abort(); end
fibaro:debug(‘Bewegung im Raum erkannt - Starte Timer’)
actionsMotion()
while (checkMotion()) do
fibaro:sleep(60*5000);
end
if (debug) then fibaro:debug(“Keine Bewegung mehr erkannt.”);
end
actionsNoMotion()
end
end