Alerte Lumineuse RGBW sur détection de mouvement
 
 
Avec le module RGBW, comme l'explique Fibaro, il est possible d'utiliser plusieurs formes d'alertes lumineuses, seul l'absence d'imagination est un frein.
(Eau de la baignoire trop chaude, distance de garage minimum, température aquarium, état de la météo) à  l'aide d'un bandeau à  led RGB.
Le fait d'avoir des "notifications" visuel est très intéressant pour moi, autant qu'une sirène lors d'une effraction.
 
Ici, nous voulons juste être avertit lors d'une séance cinéma, qu'un intrus potentiel franchit une zone extérieur sous contrôle.
Une sorte d'alarme silencieuse, qui ne dérange pas vos invités, mais vous incite à  aller voir ce qu'il se passe.
Il serait possible de pousser le vis plus loin avec une incrustation sur l'écran sous forme de PIP, provenant d'une caméra vidéo.
Alerte lumineuse + confirmation par la caméra qu'il s'agit du chat, ou d'un réel intrus.
 
Le script maintenant :
Quand le détecteur de mouvement extérieur (69) est en alerte et armé
Si uniquement il fait nuit (coucher du soleil par une variable)
Alors déclencher alerte lumineuse (90)
Avec un programme rouge clignotant (7) sous le meuble cinéma pendant 10 secondes
Puis revenir à  la couleur ou programme précédent.
 
Cela fonctionne aussi bien si un programme complet était lancé ou juste une couleur fixe.
à‡a a l'air bête et simple expliqué sur 3 lignes, mais c’était ici la complexité d'avoir les deux à  la fois, et pas évident, Fibaro n'ayant pas tout permit de manière simple dans les blocs, ou pas.
Au départ ça fonctionnait uniquement en couleur fixe.
 
69 est le détecteur de mouvement
90 le module RGBW Fibaro
7 est le numéro du programme RGBW a déclencher
 
Les autres lignes sont commentés.
 
Bonne bidouilles
 
Merci @Krikroff pour m'avoir écrit ce script ! Sans sont aide je serais encore à  la première ligne...cad celle là  --[[ 
 


--[[
%% properties
69 value
69 armed
Jour_Nuit
%% globals
--]]

--Quand detecteur de mouvement rue est en alerte et armed
local startSource = fibaro:getSourceTrigger();
if (
( (tonumber(fibaro:getValue(69, "value")) > 0 and tonumber(fibaro:getValue(69, "armed")) > 0) )
--Et uniquement si il fait nuit (variable sur la semaine + coucher du soleil)
--S'il fait jour aucune raison d'allumer les leds car je ne suis pas devant la TV
and
( fibaro:getGlobalValue("Jour_Nuit") == "Nuit" )
--Alors allumer les led du meuble TV
and
( tonumber(fibaro:getValue(90, "value")) > 0 )
or
startSource["type"] == "other"
)
then
fibaro:call(90, "turnOn");

--Si un programme led est actif
local currentProgramID = tonumber(fibaro:getValue(90, "currentProgramID"));

if (currentProgramID > 0) then
--stoper le prog en cours
fibaro:call(90, "turnOff");

--lancer le programme ALERTE 7
fibaro:call(90, "startProgram", "7");

--Passer en lunimosite maximal 100
fibaro:call(90, "setValue", "100");

--Fait une pause de 10 secondes
fibaro:sleep(10000);

--apres 10 secondes, relancer le programme precedent
fibaro:call(90, "startProgram", currentProgramID);
else

--get last color
local colorSet = fibaro:getValue(90, "lastColorSet");
--set old color
local RGBWTable= {};
local i = 1;

for value in string.gmatch(colorSet,"(%d+)") do
RGBWTable[i] = value;
i = i + 1;
end
-- lance le prog ALERTE !!!!
fibaro:call(90, "startProgram", "7");
fibaro:sleep(10000);
-- apres 10 secondes, relance la couleur fixe
--fibaro:call(90, "stopProgram", "7"); -- pas utile mais a activer si probleme de changement de couleur
fibaro:call(90, "setColor", RGBWTable[1], RGBWTable[2], RGBWTable[3], RGBWTable[4]);
end
end