Bitte Hilfe bei Klingel Script

Hallo, ich habe meine Klingel vom Haus mit meiner HC2 verbunden. Draußen an der Tür einen Berker Serien Taster mit einer großen Wippe (wie beim normalen Schalter), über den ersten Schließer habe ich die Leitung zur Klingel geführt , und am zweiten Schließer habe ich einen der älteren Fibaro Door/Window Sensoren angeschlossen. Funktioniert eigentlich soweit gut. Ich schalte damit einige Lampen und ein RGBW Modul.Nur mein Script bringt immer wieder die Meldung “To many instances”. Ich vermute es kommt daher das auch der ein oder andere auch gerne zweimal drückt. Hier ist nun mein Script, und die Frage ist, kann man das Script so ändern das der zweite oder sogar dritte “Drücker” nicht an den Sensor weiter gegeben wird,
und vielleicht dadurch die Meldung “To many instances” nicht mehr kommt?

Danke für eure Hilfe.

–[[
%% properties
93 value
%% weather
%% events
%% globals
–]]

local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(93, “value”)) > 0 )
or
startSource[“type”] == “other”
)
then
fibaro:call(127, “turnOn”);
fibaro:call(124, “turnOn”);
fibaro:call(158, “turnOn”);
fibaro:call(43, “turnOn”);
fibaro:call(64, “turnOn”);
fibaro:call(184, “startProgram”, “5”);
setTimeout(function()
fibaro:call(127, “turnOff”);
fibaro:call(124, “turnOff”);
fibaro:call(158, “turnOff”);
fibaro:call(43, “turnOff”);
end, 5000)
setTimeout(function()
fibaro:call(184, “turnOff”);
end, 10000)
setTimeout(function()
fibaro:call(64, “turnOff”);
end, 30000)
end

Das sollte helfen. Nach den –]] einfügen.

if (fibaro:countScenes()>1) then
   fibaro:debug('Doppelte Szene - wurde abgebrochen!');
   fibaro:abort(); 
end

Aber bitte dsa nächste mal das Script in Code Tags setzen, kann man oben auswählen.

Hallo,

danke für die schnelle Antwort, du meinst so ?

--[[
%% properties
93 value
%% weather
%% events
%% globals
--]]
if (fibaro:countScenes()>1) then
   fibaro:debug('Doppelte Szene - wurde abgebrochen!');
   fibaro:abort(); 
end

local startSource = fibaro:getSourceTrigger();
if (
 ( tonumber(fibaro:getValue(93, "value")) > 0 )
or
startSource["type"] == "other"
)
then
	fibaro:call(127, "turnOn");
	fibaro:call(124, "turnOn");
	fibaro:call(158, "turnOn");
	fibaro:call(43, "turnOn");
	fibaro:call(64, "turnOn");
	fibaro:call(184, "startProgram", "5");
	setTimeout(function()
		fibaro:call(127, "turnOff");
	fibaro:call(124, "turnOff");
	fibaro:call(158, "turnOff");
	fibaro:call(43, "turnOff");
	end, 5000)
	setTimeout(function()
		fibaro:call(184, "turnOff");
	end, 10000)
	setTimeout(function()
		fibaro:call(64, "turnOff");
	end, 30000)
end

Ja, das passt so.

Ich nochmal, hat so leider so nicht funktioniert. Die Postfrau hat heute dreimal hintereinander geklingelt und anschließend hatte ich wieder die zu viele Instanzen Meldung.
Hat noch jemand eine Idee?

Hallo,

Vermutlich prellt der Klingeltaster zusätzlich und die Szene wird wiederholt gestartet. Du hast ja auch noch Wartezeit in der Szene. Erhöhe mal schrittweise max. ausführbare Instanzen.

PS: Den vorherigen Lua-Block trotzdem drin lassen!

Hallo,

danke für deine Hilfe, ich werds testen.

Grüße

@ändi: wenn ich den taster betätige löst er beim drücken sowie beim loslassen aus. Kann man das irgendwie ändern?

bg
Marc

@scheifli, könnte an Parameter 3 und 4 liegen. Mal auf 0 stellen und beobachten. Der Eingang wird dann immer bei geschlossenen Kontakten als ausgelöst angezeigt, was wohl den meisten Anwendungen entspricht.