Aller au contenu
kinou.69

RGB signalisation Etat alarme

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Et si tu postais le code que tu as déjà écrit ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

Devancé par
@jojo

, j'allais demander la même chose, si tu as déjà commencé quelque chose, c'est plus simple ;-)

Partager ce message


Lien à poster
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.

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

merci pépite pour ton aide,

je vais tester ton code et je te dirais ce qu'il en est.

 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour pépite,

cela fonctionne bien quand le rgb passe de vert a blanc.

Par contre ça ne marche pas quand il passe de blanc a vert.

si je fait marche / arret alarme cela fonctionne mais pas dans l'autre sens.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Faut me rafraîchir la mémoire ;-) ..je ne sais plus ce que tu souhaitas exactement ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @kinou.69,
Super si tu as trouvé la solution. Très bonne idée.

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

×