NodOn - Erstfunktion fehlerhaft

Hallo Leute,
Ich habe mir vor einiger Zeit mit Hilfe der Muster hier im Forum ein Szene Skript für den NodOn Switch gebaut.
Soweit funktioniert das Skript sehr gut.
Manchmal jedoch kommt es beim ersten Schaltvorgang dazu, dass das geschaltete Ziel EINMAL zu viel getriggert wird.
Das heißt die angeschlossene Lampe schaltet zuerst ein, dann wieder aus.
DANACH funktioniert alles bestens, egal wieviele Schaltvorgänge ich nachher noch mache.

Habt ihr eine Idee wo der Fehler liegen könnte?
Anbei mein Skript:

--[[
%% properties
110 sceneActivation
%% globals
--]]
 
local id= 110; -- Hier die und in Zeile 3 die ID des NodOn Moduls eintragen
local name = fibaro:getName(id)
 
if (tonumber(fibaro:getValue(id, "sceneActivation"))==10)
then
 local deviceValue1 = tonumber(fibaro:getValue(95, "value"));
	if (deviceValue1 > 0) then
		fibaro:call(95, "turnOff");
	else
		fibaro:call(95, "turnOn");
	end  
fibaro:debug("1 drücken auf Taste 1 --> Modul: "..name); 
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==13)
then
  fibaro:debug("Doppelt drücken auf Taste 1 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==12)
then
fibaro:debug("Lange drücken auf Taste 1 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==11)
then
fibaro:debug("Loslassen nach langem drücken auf Taste 1 --> Modul: "..name)
 
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==20)
then
  local deviceValue1 = tonumber(fibaro:getValue(38, "value"));
	if (deviceValue1 > 0) then
		fibaro:call(38, "turnOff");
	else
		fibaro:call(38, "turnOn");
	end
fibaro:debug("1 drücken auf Taste 2 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==23)
then
fibaro:debug("Doppelt drücken auf Taste 2 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==22)
then
fibaro:debug("Lange drücken auf Taste 2 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==21)
then
fibaro:debug("Loslassen nach langem drücken auf Taste 2 --> Modul: "..name)
 
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==30)
then
  local deviceValue1 = tonumber(fibaro:getValue(41, "value"));
	if (deviceValue1 > 0) then
		fibaro:call(41, "turnOff");
	else
		fibaro:call(41, "turnOn");
	end
fibaro:debug("1 drücken auf Taste 3 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==33)
then
fibaro:debug("Doppelt drücken auf Taste 3 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==32)
then
fibaro:debug("Lange drücken auf Taste 3 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==31)
then
fibaro:debug("Loslassen nach langem drücken auf Taste 3 --> Modul: "..name)
 
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==40)
then
fibaro:debug("1 drücken auf Taste 4 --> Modul: "..name);
local deviceValue1 = tonumber(fibaro:getValue(87, "value"));
	if (deviceValue1 > 0) then
		fibaro:call(87, "turnOff");
	else
		fibaro:call(87, "turnOn");
	end
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==43)
then
fibaro:debug("Doppelt drücken auf Taste 4 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==42)
then
fibaro:debug("Lange drücken auf Taste 4 --> Modul: "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==41)
then
fibaro:debug("Loslassen nach langem drücken auf Taste 4 --> Modul: "..name)
end

Das Problem ist inzwischen verschwunden, ich weiß aber ehrlich gesagt nicht wieso?
Möglicherweise gabs irgendwelche Unstimmigkeiten zwischen zwei Skripten!?