Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 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
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 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.
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 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})
pepite Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 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 ...
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 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é
Ludwig Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Bon je teste tout cela ce soir... J'espère juste que ma mise en PROD va passer sinon ça attendra
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 @Steven Non effectivement ça fonctionne pas, j'ai effectué qu'elle que modif mais ma non
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 @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é)
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 (modifié) non je pense que ça vient de function estLumi() Modifié le 20 janvier 2015 par 971jmd
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 Encore une fois .. j'avais oublié le mot clé "value"
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 nikel dans un prochaine version de GEA, nous pourront affecter un valeur venant d'un bouton slider
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 C'est plus àmoi qu'il faut le demande
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 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.
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 @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#"}})
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 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.
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 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
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 @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.
pepite Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 @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#"}})
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 oui mai çà ne fonction pas pur moi
Steven Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 Ben chez moi ça marche, suffit d'avoir la bonne version 5.15 ou 5.20.
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 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#]
Moicphil Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 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"}})
Arbu-jl Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 @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 ?
Messages recommandés