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