Alarm - Leuchten blinken solange Alarm

Hier mal ein Script, welches folgendes realisiert:
Wenn der Wassersensor auslöst, wird eine Globale Variable mit dem Namen “Wasser” auf den Wert “Erkannt” gesetzt.

Danach werden alle Lampen auf den Farbwert = blau gesetzt und es startet eine Schleife. Diese Schaltet die Lampen ein und aus.
Dadurch beginnen diese zu blinken.
Die Schleife wird solange ausgeführt, wie die Globale Variable Wasser noch auf “erkannt” steht.
Wird diese wieder geändert auf “ok” oder einen anderen Wrt, wird die Schleife beenet.
Danach werden alle leuchten auf den Farbwert “warmweiss” gesetzt und das Licht ausgeschalten

--[[
%% properties
48 value
%% globals
--]]

  if ( tonumber(fibaro:getValue(48, "value")) > 0 ) then
        fibaro:setGlobal("Wasser", "erkannt")
   fibaro:debug('Wasser erkannt - Variable gesetzt'); 

  --- Flur Licht ---
  fibaro:call(46, "setColor", "0","0","255","0"); -- setzte Licht Flur auf blau
  fibaro:call(46, "turnOn"); -- schalte Licht flur ein
  -- Wohnzimmer Licht ---- 
  fibaro:call(27, "setColor", "0","0","255","0"); -- setzte Licht Wohnzimmer 1 auf blau
  fibaro:call(27, "turnOn"); -- schalte Licht Wohnzimmer 1 ein
  fibaro:call(29, "setColor", "0","0","255","0"); -- setzte Licht Wohnzimmer 2 auf blau
  fibaro:call(29, "turnOn"); -- schalte Licht Wohnzimmer 2 ein
  -- Kinderzimmer Licht
  fibaro:call(17, "setColor", "0","0","255","0"); -- setzte Licht Kinderzimmer 1 auf blau
  fibaro:call(17, "turnOn"); -- schalte Licht Kinderzimmer 1 ein
  fibaro:call(19, "setColor", "0","0","255","0"); -- setzte Licht Kinderzimmer 2 auf blau
  fibaro:call(19, "turnOn"); -- schalte Licht Kinderzimmer 2 ein
    --- Schlafzimmer Licht ---
  fibaro:call(54, "setColor", "0","0","255","0"); -- setzte Licht Schlafzimmer 1 auf blau
  fibaro:call(54, "turnOn"); -- schalte Licht Schlafzimmer ein
  fibaro:call(69, "setColor", "0","0","255","0"); -- setzte Licht Schlafzimmer 2 auf blau
  fibaro:call(69, "turnOn"); -- schalte Licht Schlafzimmer ein
    --- Büro Licht ---
  fibaro:call(56, "setColor", "0","0","255","0"); -- setzte Licht Büro auf blau
  fibaro:call(56, "turnOn"); -- schalte Licht Büro ein
  
  -- Wasser STOPP! ---
  fibaro:call(58, "turnOff"); -- Wasser ausschalten
  
  	while (fibaro:getGlobal('Wasser') == 'erkannt') do
  	fibaro:debug('Wasser Alarm...');
	fibaro:call(46, "turnOn"); -- Flur Licht
    fibaro:call(29, "turnOn"); 	fibaro:call(27, "turnOn"); -- Wohnzimmer Licht
    fibaro:call(19, "turnOn"); 	fibaro:call(17, "turnOn"); -- Kinderzimmer Licht
	fibaro:call(54, "turnOn");  fibaro:call(69, "turnOn"); -- Schlafzimmer Licht
    fibaro:call(56, "turnOn"); -- Büro Licht
fibaro:sleep(3*1000); 
  	fibaro:call(46, "turnOff");  -- Flur Licht
    fibaro:call(29, "turnOff"); 	fibaro:call(27, "turnOff"); -- Wohnzimmer Licht
    fibaro:call(19, "turnOff"); 	fibaro:call(17, "turnOff"); -- Kinderzimmer Licht
 	fibaro:call(54, "turnOff"); 	fibaro:call(69, "turnOff");-- Schlafzimmer Licht
    fibaro:call(56, "turnOff"); -- Büro Licht
    -- Schleife Ende ---  
  	end
  fibaro:call(46, "setColor", "255", "255", "0", "10"); -- Flur Licht auf warmweiss
  fibaro:call(29, "setColor", "255", "255", "0", "10"); -- Whz1 Licht auf warmweiss
  fibaro:call(27, "setColor", "255", "255", "0", "10"); -- Whz2 Licht auf warmweiss
  fibaro:call(19, "setColor", "255", "255", "0", "10"); -- Kiz1 Licht auf warmweiss
  fibaro:call(17, "setColor", "255", "255", "0", "10"); -- Kiz2 Licht auf warmweiss 
  fibaro:call(54, "setColor", "255", "255", "0", "10"); -- Schlafzimmer 1 Licht auf warmweiss
  fibaro:call(69, "setColor", "255", "255", "0", "10"); -- Schlafzimmer 2 Licht auf warmweis
  fibaro:call(56, "setColor", "255", "255", "0", "10"); -- Büro Licht auf warmweiss  
fibaro:sleep(3*1000);

    fibaro:call(46, "turnOff");  -- Flur Licht
    fibaro:call(29, "turnOff"); 	fibaro:call(27, "turnOff"); -- Wohnzimmer Licht
    fibaro:call(19, "turnOff"); 	fibaro:call(17, "turnOff"); -- Kinderzimmer Licht
    fibaro:call(54, "turnOff");  -- Schlafzimmer 1 Licht 
    fibaro:call(69, "turnOff");  -- Schlafzimmer 2 Licht   
    fibaro:call(56, "turnOff");  -- Büro Licht 

  -- Wasser wieder einschalten ---  
fibaro:call(58, "turnOn") -- wasser marsch
   fibaro:debug('Wasser Alarm beendet'); 
  
end

Hi Chris,
hast Du Dein Wassermelder-Skript zwischendurch schonmal gepimpt? – vielleicht ähnlich Daniels Rauchmelder-Alarm :slight_smile:

Muss man nicht am Ende die Variable “Wasser” wieder auf “sicher” oder sowas setzen?
Oder überseh ich das irgendwo?

VG