hallo boomx,
Wie du sicher schon bemerkt hast bin ich (noch) nicht so vertraut mit der ganzen Sache.
Habe mein HC2 auch erst seit 1 Woche…
Ich gkaub ich habs schon selbst gefunden!
Habe DAS
fibaro:call(switch, "turnOn");
gegen DAS:
fibaro:call(22, "turnOn");
ersetzt, jetzt klappt es!
Ok, hab das autostart rausgenommen und die values auch!
Mein fertiges Script sieht jetzt so aus:
--[[
%% properties
%% globals
--]]
local sensors = {15}
local delay = 0
local debug = false
function actionsMotion()
fibaro:call(22, "turnOn");
fibaro:debug('Führe Aktionen bei Bewegungserkennung aus')
end
function actionsNoMotion()
fibaro:call(22, "turnOff");
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(5000);
end
if (debug) then fibaro:debug("Keine Bewegung mehr erkannt."); end
actionsNoMotion()
end
Scheint auch jetzt zu funktionieren…
DANKE!!!