Aller au contenu

RGB signalisation Etat alarme


kinou.69

Messages recommandés

Bonjour,

pourriez vous m'aider à créer une scene pour le pilotage d'un bandeau LED.

je souhaite qu'il s'allume de différentes couleurs suivant l'état de l'alarme :

blanc : désactivation

vert : en marche

orange : déclenchement temporisée

rouge : déclenché

Quand j'arrete l'alarme, le bandeau s'allume en blanc pendant 30seconde.

Quand je met en marche l'alarme, le bandeau s'allume en vert pendant 3 minutes.

Quand la porte s'ouvre, le RGB s'allume en orange si l'alarme est activé

Quand l'alarme est déclenché, le RGB est rouge, jusqu’à arrêt de l'alarme.

j'arrive a programmer ces cas de fonctionnement. Par contre, je bloque pour faire fonctionner ensemble.

PAr exemple, marche/arret de l'alarme avant la fin des 3minutes durant lesquelles le RGB est vert.

Merci d'avance pour votre aide.

Modifié par kinou.69
Lien vers le commentaire
Partager sur d’autres sites

--[[
%% properties
413 value
414 value
388 value
390 value
392 value
410 value
%% events
%% globals
VGtest
PA_Mode
PA_Sensor
--]]

410, "value")) > 0 or --porte entrée
     --tonumber(fibaro:getValue(388, "value")) > 0 or --porte garage K
     --tonumber(fibaro:getValue(392, "value")) > 0 or --entrée garage K
     --tonumber(fibaro:getValue(390
fibaro:debug("lancement de la scene")


--------------------------------
local AlarmeFibaro = fibaro:getGlobal("Alarme_Diagral")
local AlarmeMaison = fibaro:getGlobal("Alarme_Fibaro")
local AlarmeCabane = fibaro:getGlobal("Cabane_Alarme")
local VGJourNuit = fibaro:getGlobal("Jour_Nuit")
local PAMODE = fibaro:getGlobal("PA_Mode") 
local Sirene = fibaro:getGlobal("Status_Sirene") 
local VGtest = fibaro:getGlobal("VGtest")

--RGB eteint quand désactivation de l'alarme 
if 
 ( --fibaro:getGlobalValue("Alarme_Fibaro") == "OFF" or --Alarme Fibaro OFF
   fibaro:getGlobalValue("VGtest") == "0"  --variable pour tester le script
 )
 then
    fibaro:debug("Arret de l'Alarme, RGB blanc")
    fibaro:call(473, "setColor", "100","100","100","0");
    setTimeout(function()
		fibaro:call(473, "turnOff");
        fibaro:killScenes(270)
	end, 5000)

end

--RGB vert quand mise en marche de l'alarme uniquement
if (--tonumber(fibaro:getValue(413, "value")) > 0 or --Alarme Diagral ON
    --fibaro:getGlobalValue("Alarme_Fibaro") == "ON" or --Alarme Fibaro ON
    fibaro:getGlobalValue("VGtest") == "10" )
then
    fibaro:debug("Alarme en marche, RGB vert")
    fibaro:call(473, "setG", "100");
    setTimeout(function()
      fibaro:call(473, "turnOff");
      fibaro:killScenes(270)
	end, 10000)
end

--RGB orange quand détection par capteur temporisé
if (
    (--tonumber(fibaro:getValue(410, "value")) > 0 or --porte entrée
     --tonumber(fibaro:getValue(388, "value")) > 0 or --porte garage K
     --tonumber(fibaro:getValue(392, "value")) > 0 or --entrée garage K
     --tonumber(fibaro:getValue(390, "value")) > 0 or --porte garage Flo
     fibaro:getGlobalValue("VGtest") == "20" 
    )
    -- and fibaro:getGlobalValue("Alarme_Fibaro") == "ON" or --Alarme Fibaro ON
   )
then
    fibaro:debug("Alarme en marche, RGB orange")
    fibaro:call(473, "setColor", "100","50","0","0");
    setTimeout(function()
      fibaro:call(473, "setColor", "100","0","0","0");
	end, 15000)
end

--RGB rouge quand détection par capteur temporisé
if (
    (--tonumber(fibaro:getValue(413, "value")) > 0 or --alarme diagral déclenché
     fibaro:getGlobalValue("VGtest") == "30" 
    )
    -- and fibaro:getGlobalValue("Alarme_Fibaro") == "ON" or --Alarme Fibaro ON
   )
then
    fibaro:debug("Alarme en marche, RGB rouge")
    fibaro:call(473, "setR", "100");
end

la variable VGtest me sert de trigger.

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @kinou.69,

 

Tu dois pouvoir faire quelquechose comme ca, à tester évidemment en utilisant une variable locale qui passe de false à true. 

 

- declaration d'une variable à false

- Marche alarme --> RGB vert --> passage de la variable à true

 - Arret alarme pendant que RGB est vert --> RGB eteint si variable est true et si alarme : off


 

local rgbvert = false

--RGB eteint quand désactivation de l'alarme
if fibaro:getGlobalValue("VGtest") == "0" then
     fibaro:debug("Arret de l'Alarme, RGB blanc")
     fibaro:call(473, "setColor", "100","100","100","0")
    setTimeout(function()
        fibaro:call(473, "turnOff");
        fibaro:killScenes(270)
    end, 5000)
else
    if fibaro:getGlobalValue("VGtest") == "0" and rgbvert then
        fibaro:call(473, "turnOff");
        fibaro:killScenes(270)
        rgbvert = false
    end
end

--RGB vert quand mise en marche de l'alarme uniquement
if (--tonumber(fibaro:getValue(413, "value")) > 0 or --Alarme Diagral ON
    --fibaro:getGlobalValue("Alarme_Fibaro") == "ON" or --Alarme Fibaro ON
    fibaro:getGlobalValue("VGtest") == "10" )
then
    fibaro:debug("Alarme en marche, RGB vert")
    fibaro:call(473, "setG", "100");
    -- variable rgbvert à true
    rgbvert = true
    setTimeout(function()
      fibaro:call(473, "turnOff");
      -- pas d'arret de l'alarme rgbvert = false
      rgbvert = false
      fibaro:killScenes(270)
    end, 10000)
end

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 2 semaines après...

Bonsoir Pépite,

je pense avoir trouvé une solution. J'utilise une nouvelle scene simplement pour éteindre le RGB. celle-ci se lance sur changement d'état d'une VG CouleurRGB.

Dans mon module virtuel de l'alarme, quand j’appuie sur le bouton marche, j'allume le RGB en vert et la VG CouleurRGB prend la valeur Vert -> la scene se lance.

Je fais la même chose avec le bouton arrêt alarme -> couleur blanc.

Dans la scene de l'alarme, quand un capteur temporisé est en alerte,  le RGB s'allume en orange.

Dans la scene de l'alarme, quand l'alarme est en alerte, le RGB s'allume en rouge.

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...