Aller au contenu

Lua -> Gea Sur Déclenchement De Sirene


flamalex

Messages recommandés

je re viens sur un nouveau sujet lol  :)

 

je souhaite transformer en GEA les scènes LUA ci dessous.

j'ai une alarme Visonic, lorsque celle ci déclenche la sirene en cas d'intrusion, une scene s'execute. 

j'ai une sortie PGM sur laquelle je récupère le statut de l'alarme (mon fameux 0/1 activation/desactivation alarme) et une sortie 12v sur laquelle j'ai un relais puis un module universel fibaro fgbs001

 

ID 53 pour la sortie de la sirene (avec la particularité que si la sirene SONNE = 0, la sirene est au repos =1)

ID 54 pour le statut (avec la particularité, alarme activée =0, désactivée =1)

ID 76 dimmer SAM

ID 88 dimmer escalier

ID 17/19 Ecl SAM

ID 43  Projecteur Jardin

ID 78 Ecl WC

ID 10,12,66,68  Volets roulants et battants

 

scène SIRàˆNE ON

--[[
%% autostart
%% properties
53 value
54 value
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if ( ( tonumber(fibaro:getValue(53, "value")) == 0  and  tonumber(fibaro:getValue(54, "value")) == 0 )
or
startSource["type"] == "other")
then
fibaro:call(76, "turnOn");
fibaro:call(88, "turnOn");
fibaro:call(17, "turnOn");
fibaro:call(19, "turnOn");
fibaro:call(78, "turnOn");
fibaro:call(43, "turnOn");
fibaro:call(10, "close");
fibaro:call(12, "close");
fibaro:call(66, "close");
fibaro:call(68, "close");
end

Scène SIRàˆNE OFF

--[[
%% autostart
%% properties
53 value
54 value
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if ( ( tonumber(fibaro:getValue(53, "value")) > 0  and  tonumber(fibaro:getValue(54, "value")) > 0 )
or
startSource["type"] == "other")
then
fibaro:call(43, "turnOff");
end
 
Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

A essayer, en adaptant les noms dans les ID

local id = {
        -- Alarme Visionic
        SIRENE = 53 , ALARME = 54 ,
        -- Eclairages
        DIM_SAM = 76 , DIM_ESC = 88 , ECL_SAM = 17 , ECL_SAM1 = 19 , ECL_JARDIN = 43 , ECL_WC = 78,
        -- Volets Roulants
        VR_SALON = 10 , VR_CUISINE = 12 , VR_ENTREE = 66 , VR_BUREAU = 68
        }
        
-- Quand la Sirene s'active si alarme activée, alors on allume tout et on ferme les volets
-- Mettre 53 dans l'entete
GEA.add({{"Value",id["SIRENE"],0},{"Value",id["ALARME"],0}}, -1 , "" , {{"turnOn", id["DIM_SAM"]},{"turnOn", id["DIM_ESC"]},{"turnOn", id["ECL_SAM"]},{"turnOn", id["ECL_SAM1"]},{"Close",id["VR_SALON"],100},{"Close",id["VR_CUISINE"],100},{"Close",id["VR_ENTREE"],100},{"Close",id["VR_BUREAU"],100}})
        
        
-- Quand la sirène s'arrète, si l'alarme est desactivée alors arret eclairage jardin
-- Mettre 53 dans entete
GEA.add({{"Value+",id["SIRENE"],0},{"Value+",id["ALARME"],0}}, -1 , "" , {{"turnOff", id["ECL_JARDIN"]}})

EDIT: dans l'absolu quand ta sirene sonne c'est que l'alarme est active donc la première condition pourrait être:

GEA.add(id["SIRENE"], -1 , "" , {{"Inverse"},{"turnOn", id["DIM_SAM"]},{"turnOn", id["DIM_ESC"]},{"turnOn", id["ECL_SAM"]},{"turnOn", id["ECL_SAM1"]},{"Close",id["VR_SALON"],100},{"Close",id["VR_CUISINE"],100},{"Close",id["VR_ENTREE"],100},{"Close",id["VR_BUREAU"],100}})

Nicolas

Lien vers le commentaire
Partager sur d’autres sites

Ok, Nico

comment ca fonctionne

le value+ veut dire "si valeur > à  0  ? et donc value seul veut dire "=" à  0 dans notre cas

car lorsque la sirene ne sonne pas sa valeur est à  1 et lorsque l'alarme est en statut "OFF" la valeur est à  1 également

 

je ne suis pas obligé de rappeler les "VR " pour les volets si dans mon script GEA, plus haut, je déclare les local  ID VR ?

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

Pour le ID pas besoin de les déclarer de nouveau si elles sont présentes. Je pars du principe que rien n'existe.

 

Pour les explications j'ai mis des commentaires

({{"Value",id["SIRENE"],0},{"Value",id["ALARME"],0}}, -1

Déclenchement Si la sirene est à  0 (donc elle sonne) ET l'alarme est active. Si tu n'as pas les 2 conditions, pas de déclenchement

 

Oui Value+ veut dire "Si valeur supérieure à "

 

Nicolas

Lien vers le commentaire
Partager sur d’autres sites

Nico, tu fais bien de partir du principe que rien n'existe, comme ça je comprends mieux, c'est super Merci  :13:

 

Pepite,  :P  j'avais oublié que je me ferai rappeler à  l'ordre  :D

mise à  part la "notice" GEA, je n'ai pas trouvé (ou suffisamment cherché) le support GEA  :)

 

j'avoue faire des recherches GEA sur Google, mais bcp de forum Allemand anglais, et pratiquement rien, concernant mes besoins, en français.

 

EDIT:

il me reste à  faire des tests, mais comment ne pas faire "péter" les décibels 

 

EDIT2:

si les "local ID" sont plus bas dans le script GEA, dois je les appeler plus haut (ou les supprimer plus bas)?

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...