Schaltung mit 2 Sensoren

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

Hallo,
du musst natürlich die ID vom zweiten Sensor auch eintragen (zwei mal, an Stelle von xx):

–[[
%% properties
79 value
xx value
%% globals
–]]
local currentTime = os.date(„%H:%M“);
local sensors = {79, xx}

Das ist der Hammer, es funktioniert, Du weißt gar nicht wie dankbar ich Dir bin, ich hätte mir zwei Wochen rumexperimentieren sparen können.
Mit dem vaalue eintragen wußßte ich, aber ich wußte nicht, dass ich die zweite ID einfach durch Komme getrennt in die local sensors eintragen kann, deshalb vielen Dank.

Jetzt habe ich noch eine weitere Frage, da ich das Script auch gerne für eine Nachtlichtschaltung benutzen würde, wie müßßte die Zeiteinstellung aussehen?
Momentan habe ich:


if currentTime >= "04:00"  and currentTime < "22:00"
then

ich habe folgendes versucht:


if currentTime >= "22:00"  and currentTime < "04:00"
then

aber da geht nichts wo liegt mein Fehler?

HI,

die Bedingung > 22 UND < 4 wird natürlich niemals erfüllt.

Muss heißen

if currentTime >= “22:00” or currentTime < “04:00”