Aller au contenu

Messages recommandés

Posté(e)

Juste pour information, non, le IF n'est pas la condition pour que l'action se lance. Au contraire, c'est la condition pour que l'action ne se lance pas :)

Dans ton exemple : {nuit} est le déclencheur -1 signifie déclenchement instantané, et le tout uniquement si le coursOn (If) est respecté.

Attention, avec les déclenchement instantanés, il ne faut pas oublié de les mettre dans l'entête. Voir les exemples, c'est tout en haut du script.

Je sais, je suis absolument pas clair :(

Posté(e)

Ah et c'est un travail collaboratif. On est partit de 100 lignes de code et on a ajouté, ajouté et ajouté .. les idées ne sont donc pas de moi et GEA est bien le résultat d'un travail de groupe. Je ne fut que les petites mains.

Posté(e)

pour aller plus loin :)  

 

au lieu de rentrée une valeur  (a)  manuellement (ligne 5), je souhaite que cette dernier viennes d'un variable (var1) comment faire ? 

 1 local detecteurcour = 211
 2 local centretable = 40
 3 local deteclumino = 213
  
 4 local a = {"Global", "var1"}
 
 5 local lumi = {"If", {{"Value-", deteclumino, a}}} 
  
  
 6 GEA.add( detecteurcour, -1, "detection", {{"turnOn", centretable}, lumi})
Posté(e)

pour la valeur des lux c'est ca ? je crois que je l'ai lu il n'y a pas longtemps, j'essaie de le retrouver.

 

sinon dans une scene ou module tu mets

fibaro:getvalue...ou fibaro:getGlobalValue...

que tu recup apres avec GEA peut-etre

 

Je cherche le post.

 

Une idee juste ... :(

Posté(e)

GEA ne gère pas ce genre de traitement, le seul moyen est de mixer GEA avec du code LUA :

 

function estLumi()
   local a = tonumber(fibaro:getGlobalValue("var1"))
   local lumi = tonumber(fibaro:getValue(deteclumino, "value"))
   return lumi < a, lumi
end

GEA.add( { detecteurcour, {"Function", function() return estLumi() end} }, -1, "detection", {{"turnOn", centretable}}) 
Attention, non testé.

Edit : code modifié

Posté(e)

@971jmd

Reprend mon code (2 post au dessus), je me suis planté dans le français/anglais

(Mais j'ai toujours pas pu le testé)

Posté(e)

Le but de mes travaux est de créer un tableau de bord dans le module virtuel, comportant des boutons et slider nous permettant ainsi de modifier des variables sans pour autant rentrer dans le code GEA.

Posté(e)

@Steven

 

​autre chose, je me casse la tête pour trouver le moyen d'affecter la valeur d'un module dans une variable.

 

j'ai essayer plusieur code pour copier la valeur d'une lampe dans la variable (lum)

 local valeur = {"Function", function() fibaro:getGlobalValue(10, "value" ) end}
  
GEA.add(10, 15, "luminosite ", {{"CopyGlobal", "valeur", "lum"}})        -- Copy la valeur de la variable global <var_source> dans la variable global <var_dest>

GEA.add(10, 15, "luminosite ", {{"CopyGlobal", "lum", "#valeur#"}})

GEA.add(10, 15, "luminosite ", {{"Global", "lum", "#valeur#"}}) 

 

Posté(e)

Heuuu, cela fonctionne déjà

GEA.add( {"Slider", 130, "MonSlider", 50}, 30, "")

GEA.add( {"Slider+", 130, "MonSlider", 50}, 30, "")

GEA.add( {"Slider-", 130, "MonSlider", 50}, 30, "")

130 étant le numéro du module virtuel

50 la valeur testée

MonSlider est le nom du slider dans le module virtuel.

Posté(e)

Heuuu, cela fonctionne déjà 

GEA.add( {"Slider", 130, "MonSlider", 50}, 30, "")

GEA.add( {"Slider+", 130, "MonSlider", 50}, 30, "")

GEA.add( {"Slider-", 130, "MonSlider", 50}, 30, "")

130 étant le numéro du module virtuel

50 la valeur testée

MonSlider est le nom du slider dans le module virtuel.

 

je comprend pas très bien 

Posté(e)

@Steven

​autre chose, je me casse la tête pour trouver le moyen d'affecter la valeur d'un module dans une variable.

Je crois que sur ce sujet, j'ai déjà  répondu lorsque j'ai posté la version 5.15 sur laquelle il y a une dédicace spéciale pour toi et ton soucis.

Posté(e)

@Steven, @971jmd, je dirais ici maintenant, je l'avais aussi vu, j'etais interesse ;-)

et c'etait bien au moment de la version 5.15

GEA.add(id["LAMPE_ESCALIER"], -1, "", {{"Global", "Test", "#value#"}})
Posté(e)

voici le debug

[DEBUG] 13:21:10: GEA Version 5.15 : en exécution...
[DEBUG] 13:21:10: [ 40 | LP centre table ] sendActions : traitement des actions (ID:2) [Global,Test,#value#]
[DEBUG] 13:21:10: [ 40 | LP centre table ] sendActions : !ACTION! : setGlobal Test,1 (ID:2) [Global,Test,#value#]
Posté(e)

Bon, je viens de migrer mon install en V4.032... Ce qui devait arriver arriva, je m'en doutais GEA HS

 

J'ai mis la dernière version du Git

 

J'ai ce message là  :

[ERROR] 18:15:13: line 383: attempt to concatenate a nil value

Qui correspond à  :

elseif (type(id) == "table" and string.lower(id[1]) == "dead") then
			return "Dead [" .. id[2].."|"..fibaro:getName(tonumber(id[2])) .. "]", GEA.getRoom(tonumber(id[2]))

.

 

Je cherche mais ne vois pas...si quelqu'un à  une idée  ;)

 

 

Voici mon code pour info :

  -- CONTROLE DES PORTES 
GEA.add(id["Porte_Garage"], 10*60, "La porte du garage est ouverte depuis plus de 10 minutes", {{"Repeat"}, {"Time", "21:00", "05:00"}, {"Program", id["Rgbw_Automatisme"], 5}, {"Global", "pushover", "La porte du garage est ouverte depuis plus de 10 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 1}, {"Function", function() fibaro:sleep(4000) end}, {"Global", "Karotz", "La porte du garage est ouverte depuis plus de 10 minutes"}, {"VirtualDevice", id["Tts_Karotz"], 1}})
 
  -- CONTROLE DES PRISES
GEA.add({"Global", "ETATALARME", "Active"}, -1, "", {{"turnOff",id["Galaxytab"]}}) 
GEA.add({"Global", "ETATALARME", "Desactive"}, -1, "", {{"turnOn",id["Galaxytab"]}})  

GEA.add(id["Hc_Lite"], 30*60, "HC Lite deconnectée depuis 30 minutes", {{"Repeat"}, {"Inverse"}, {"Global", "pushover", "La Hc Lite est deconnectée du secteur depuis 30 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 2}})
GEA.add(id["Hc2_Pret"], 30*60, "HC2 de pret deconnectée depuis 30 minutes", {{"Repeat"}, {"Inverse"}, {"Global", "pushover", "La HC2 de pret est deconnectée du secteur depuis 30 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 2}})
GEA.add(id["Hub"], 30*60, "Hub deconnectée depuis 30 minutes", {{"Repeat"}, {"Inverse"}, {"Global", "pushover", "La Hub est deconnectée du secteur depuis 30 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 2}})
  
  -- REVEIL DES NOEUX MORTS MODULES SUR SECTEUR
GEA.add({"Dead", id["Rgbw_Salon"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Rgbw_Salon"]}})
GEA.add({"Dead", id["Rgbw_Automatisme"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Rgbw_Automatisme"]}})
GEA.add({"Dead", id["Rgbw_Cuisine"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Rgbw_Cuisine"]}})
GEA.add({"Dead", id["Lampe_Sdb"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Lampe_Sdb"]}})
GEA.add({"Dead", id["Vmc"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Vmc"]}})
GEA.add({"Dead", id["Sirene_Garage"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Sirene_Garage"]}})
GEA.add({"Dead", id["Sirene_Salon"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Sirene_Salon"]}})
GEA.add({"Dead", id["Guirlandes_ext"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Guirlandes_ext"]}})
GEA.add({"Dead", id["Portail"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Portail"]}})
GEA.add({"Dead", id["Pac"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Pac"]}})
GEA.add({"Dead", id["Garage"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Garage"]}})
GEA.add({"Dead", id["Interphone"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Interphone"]}})
GEA.add({"Dead", id["Chauf_Sdb_Haut"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Chauf_Sdb_Haut"]}})
GEA.add({"Dead", id["Machine_a_Laver"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Machine_a_Laver"]}})
GEA.add({"Dead", id["Chauf_Sdb_Bas"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Chauf_Sdb_Bas"]}})
GEA.add({"Dead", id["Halogenes_Ext"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Halogenes_Ext"]}})
GEA.add({"Dead", id["Lampes_bar"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Lampes_bar"]}})
GEA.add({"Dead", id["Fumee_Cuisine"]}, 1*60, "Le périphérique #name# ne répond plus", {{"WakeUp", id["Fumee_Cuisine"]}})
 
  -- PUSH METEO
GEA.add({"Slider+", id["NetAtmo"], "sIntCo2", 1300}, 24*60*60, "Le taux de Co2 dans la maison est trop elevé...(#value#)...Il faut aérer!", {{"Repeat"}})
GEA.add({"Slider-", id["NetAtmo"], "sExtPress", 1005}, 1*60, "Météo : pression athmosphérique basse!..(#value#)..., dépression en approche...", {{"Global", "pushover", "Météo : pression athmosphérique basse!..(#value#)..., dépression en approche..."}, {"VirtualDevice", id["Mv_Pushover"], 2}})

  -- CONTROLE DES PILES
GEA.add({"Batteries", 40}, 12*60*60, "", {{"Repeat"}})
  
  -- PUSH ETAT ALARME--
GEA.add({"Global", "PA_Mode", "Jour"}, -1, "Alarme Jour activée à  #time# le #date#", {{"Global", "pushover", "Alarme Jour activée à  #time# le #date#"}, {"VirtualDevice", id["Mv_Pushover"], 2}}) 
GEA.add({"Global", "PA_Mode", "Nuit"}, -1, "Alarme nuit activée à  #time# le #date#", {{"Global", "pushover", "Alarme Nuit activée à  #time# le #date#"}, {"VirtualDevice", id["Mv_Pushover"], 2}, {"Global", "Karotz", "J'active l'alarme et etteint les lumieres, bonne nuit"}, {"VirtualDevice", id["Tts_Karotz"], 1}})       
GEA.add({"Global", "PA_Mode", "Silence"}, -1, "Alarme Silence activée à  #time# le #date#", {{"Global", "pushover", "Alarme Silence activée à  #time# le #date#"}, {"VirtualDevice", id["Mv_Pushover"], 2}})   
GEA.add({"Global", "PA_Mode", "Arret"}, -1, "Alarme en Arret à  #time# le #date#", {{"Global", "pushover", "Alarme en Arret à  #time# le #date#"}, {"VirtualDevice", id["Mv_Pushover"], 2}})   
 
  -- ALERTE LAMPES ALLUMEES
  local condition = {"If",{{"Global", "ETATALARME", "Active"}}}
GEA.add(id["Lampes_bar"], 5*60, "La lumière de la cuisine est allumée depuis plus de 5 minutes", {{"Days", "All"}, condition, {"Repeat"}, {"Global", "pushover", "La cuisine est allumée depuis 5 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 4}}) 
GEA.add(id["Halogenes_Ext"], 5*60, "Les halogènes extérieurs sont allumés depuis plus de 5 minutes",{{"Days", "All"}, condition, {"Repeat"}, {"Global", "pushover", "Les halogènes extérieurs sont allumés depuis 5 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 4}})
GEA.add(id["Lampe_Sdb"], 5*60, "La salle de bain est allumée depuis plus de 5 minutes", {{"Days", "All"}, condition, {"Repeat"}, {"Global", "pushover", "La salle de bain est allumée depuis 5 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 4}, {"turnOff",id["Lampe_Sdb"]}})--   
GEA.add(id["Rgbw_Automatisme"], 5*60, "RGBW automatisme est allumée depuis plus de 5 minutes", {{"Days", "All"}, condition, {"Repeat"}, {"Global", "pushover", "RGBW automatisme est allumé depuis 5 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 4}}) 
GEA.add(id["Rgbw_Salon"], 5*60, "Le bandeau Led salon est allumée depuis plus de 5 minutes", {{"Days", "All"}, condition, {"Repeat"}, {"Global", "pushover", "Le bandeau Led salon est allumé depuis 5 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 4}}) 
GEA.add(id["Rgbw_Cuisine"], 5*60, "Le bandeau Led cuisine est allumée depuis plus de 5 minutes", {{"Days", "All"}, condition, {"Repeat"}, {"Global", "pushover", "Le bandeau Led cuisine est allumé depuis 5 minutes"}, {"VirtualDevice", id["Mv_Pushover"], 4}}) 
  
  
--Maj des datas EccoDevice 
GEA.add(true, 1*60, "",{{"VirtualDevice", id["Mv_Ecodevice"], "1"},{"Repeat"}})  
 
Posté(e)

@pepite, @Steven

Merci pour vos retours.

J'ai modifié les lignes, voici ce que j'obtiens.

J'ai mis dans l'entête les déclencheurs...

--[[
%% autostart
%% properties
179 value
178 value
243 value
242 value
%% globals
Alarm_State
Cours
--]]

	-- Si Sunset et ouverture porte ou detection garage alors Lampe allumée, puis extinction après 3 minutes
	local nuit = {"Global", "JOUR_NUIT", "NUIT"}
	local coursOn = {"Global", "Cours", "1"}
	local coursOff = {"Global", "Cours", "0"}

  	GEA.add(id["SENSOR_ENTPRIN"], -1, "Cours On Sensor", {{"VirtualDevice", id["VD_IPX800"], "1"}})  
  	GEA.add({coursOn, nuit}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}})  
  	local LumCours = GEA.add(coursOff, 1*30, "", {{"VirtualDevice", id["VD_IPX800"], "9"}})
	GEA.add(coursOn, -1, "", {{"RestartTask", LumCours}})
	GEA.add({id["SENSOR_ENTPRIN"], coursOff}, 1*40, "", {{"VirtualDevice", id["VD_IPX800"], "9"}, {"Inverse"}})


Bon malheureusement je ne peux que tester àdistance cette semaine, j'espère qu'au moins la lampe ne restera pas allumé pendant des heures...

Pouvez-vous me dire si cela vous parait cohérent ?

×
×
  • Créer...