jojo Posté(e) le 24 novembre 2015 Signaler Posté(e) le 24 novembre 2015 @Sakkhho, Sais-tu comment tu ferais en lua ? Si oui, tu mais ceci comme option dans GEA {"function", function() TON ACTION/CODE LUA end}
Syris Posté(e) le 25 novembre 2015 Signaler Posté(e) le 25 novembre 2015 @sakkhho : Problème résolu, je suis passé par un push + Maj Quelqu'un a t'il le même problème concernant les variables globales et les déclenchements immédiat ? (je suis en 5.40) Impossible d'y faire fonctionner ! Alors qu'avec les modules aucun soucis local ARME = {"Global", "IPX_IN3", "1"} GEA.add(ARME, -1, "Alarme activée à #time# le #date#")
flechg Posté(e) le 25 novembre 2015 Signaler Posté(e) le 25 novembre 2015 SALUT a tous idem pour moi depuis quelques jours c est la panic ca a commencé par plus de notification maintenant gea déraille des actions qui fonctionnaient ne fonctionne plus et maintenant mon oeil qui c est bloqué sur mouvement et meme en elevent la pile rien a faire bizarre bizarre voici les codes ---Activation Alarme sur detection et presence-- PAs de detection pendant 10 mins, tu travailles, et tu n'es pas present : ARMEMENT DES MODULES GEA.add({id["DET_SALON"], {"Global", "JourChome", "NON"}, {"Global", "Presence_Serge", "0"}},1*60, "detecteur armer #time#", {{"Email", 469}}, {{"Inverse"}, {"Virtualdevice", 78, "1"}}) -- Detection de mouvement, tu travailles, tu es PRESENT : DESARMEMENT des modules GEA.add({{"Global", "JourChome", "NON"}, {"Global", "Presence_Serge", "1"}}, 1, "detecteur Desarmer #time#", {{"Email", 469}}, {{"Virtualdevice", 78, "2"}}) GEA.add(true, 1*60, "volets fermés", {{"Email", 469}}, {{"Time", "Sunset+25", "Sunset+30"}, {"Close",id["VOLET_EMMA"],100},{"Close",id["VOLET_PARENT"],100},{"Close",id["VOLET_SALON"],100}}) merci et bonne soirée
jojo Posté(e) le 25 novembre 2015 Signaler Posté(e) le 25 novembre 2015 @Sirys Ta variable IPX_IN3 est-elle bien déclarée dans l'entête ? @flechg, Il y a des erreurs dans ton code : trop de { ---Activation Alarme sur detection et presence-- PAs de detection pendant 10 mins, tu travailles, et tu n'es pas present : ARMEMENT DES MODULES GEA.add({id["DET_SALON"], {"Global", "JourChome", "NON"}, {"Global", "Presence_Serge", "0"}},1*60, "detecteur armer #time#", {{"Email", 469}, {"Inverse"}, {"Virtualdevice", 78, "1"}}) -- Detection de mouvement, tu travailles, tu es PRESENT : DESARMEMENT des modules GEA.add({{"Global", "JourChome", "NON"}, {"Global", "Presence_Serge", "1"}}, 1, "detecteur Desarmer #time#", {{"Email", 469}, {"Virtualdevice", 78, "2"}}) GEA.add(true, 1*60, "volets fermés", {{"Email", 469}}, {{"Time", "Sunset+25", "Sunset+30"}, {"Close",id["VOLET_EMMA"],100},{"Close",id["VOLET_PARENT"],100},{"Close",id["VOLET_SALON"],100}})
flechg Posté(e) le 25 novembre 2015 Signaler Posté(e) le 25 novembre 2015 @JOJO merci de ton aide effectivement cela fonctionne mieux sans quelques {{{{{ merci encore
Syris Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 @jojo : oui, juste avant le %%globals PS : j'ai essayé aussi juste après le %%globals, rien non plus. J'ai fait juste un variable d'essai appellé CONGE que je bascule à 1 via un VD tout con, la variable bascule bien, mais GEA n'envoit jamais de push si je suis en immédiat (-1) il faut que je passe a 1 et la sa fonctionne, mais pas en immédiat... Certains faisait deux instances GEA avant, afin de gérer les immédiats et les différés, mais il me semble que ce n'est plus d'actualité ? La, frcht, je vois pas, j'ai tout essayé :/ (Sachant que mes immédiats via Module fonctionnent très bien, mais via variables, rien à faire)
jojo Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 De toute façon, c'était après le %%globals, pas avant. D'autre part, si tu modifies une variable globale via l'api elle ne génère pas de trigger. Si tu veux en être sûr, tu laisses -1 et tu modifies la variable directement depuis le panneau, et tu vois
Syris Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Jojo : Oui effectivement en modifiant direct dans le panneau variable, sa ne fonctionne pas non plus. (logique si j'ai bien compris) Cependant l& je modifie ma variable via un vd simplement avec un setglobal, il me semble donc que sa devrait passer ?
jojo Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Pour en avoir le coeur net, j'ai fait des test chez moi. J'ai une variable Auth_TV que je modifie par un VD, avec la fonction LUA : fibaro:setGlobal("Auth_TV", "Interdit")Dans mon GEA j'ai une instruction qui coupe la TV immédiatement (-1) si elle est allumée et qu'elle passe en mode interdit (les enfants n'aiment pas ... = pas CAF (Childeren Acceptance Factore)) mais ma variable Auth_TV est bien définie dans l'entête du GEA ... 78 value %% globals Auth_TV Auth_PS3 --]] ton %% globals est bien après ton %% properties ?
Syris Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Oui c'est un mystère... J'ai bien relu la page du support, Domodial avait le même problème a l'époque. Mais la de mon coté, tout me semble bon... Vraiment je sèche. Mon entête me semble bien bonne : --[[ %% autostart %% properties 34 value 71 value 72 value 73 value 11 value %% globals ARROSAGEAUTO ARROSAGECEJOUR Pluie__Actuelle JourChome CONSOECO IPX_IN3 IPX_IN4 IPX_IN5 CONGE --]] J'ai peu être une erreur de syntaxe sur une variable ou une connerie sur un id, je vais refaire un GEA tout propre ce soir. Si sa marche chez toi jojo sa doit marcher chez moi! Merci d'avoir pris du tps pr me répondre
jojo Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Il y a des truc bizarre dans ton entête : juste avant %% globals ARROSAGEAUTO ARROSAGECEJOUR Pluie__Actuelle JourChome CONSOECO essaye juste avec ceci --[[ %% autostart %% properties 34 value 71 value 72 value 73 value 11 value %% globals IPX_IN3 IPX_IN4 IPX_IN5 CONGE --]]
Domodial Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Bonjour à tous, J'ai une ligne qui me remonte la température de l'étage d'un Everspring ST814, mais la notification est farfelue. La ligne est : --- Température étage Alerte à 21° GEA.add({"Value+",id["TEMPERATURE_ETAGE"],21}, 2*60,"Température étage #value#° #time#") Et la notif reçue est du style : 21, 3888888888889° Bon, je veux bien mais heu Avez-vous aussi je genre de chose ? Sur l'hygrométrie ça va.
jojo Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 je pense que cela n'a rien àvoir avec GEA. J'ai déjàobservé ce genre de chose quand je veux afficher dans un label une valeur de température, qui dans le json est à2 décimales, mais s'affiche avec 10 décimales comme toi. donc tu devras te contenter de ta solution "mais heu"
Domodial Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 donc tu devras te contenter de ta solution "mais heu" Lol
Steven Posté(e) le 26 novembre 2015 Auteur Signaler Posté(e) le 26 novembre 2015 Dans ce genre de cas, pour afficher correctement la valeur dans un label, il faut faire fibaro:call(.., "setProperty", "ui.Label1.value", temperature .. " ") Le simple de fait d'ajouter un espace après la valeur (temperature) supprime automatiquement les chiffres en trop. Ne me demander pas pourquoi. Par contre pour Domodial .. rien à faire, cela n'est pas lié à GEA. Donc comme le dis jojo : mais heu 1
Domodial Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Mais heu quoi !! Merci pour la précision Steven
jojo Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 maintenant, si la solution "mais heu" ne te satisfait pas, tu pux ESSAYER de créer une usine àgaz. Mettre la valeur dans un VG (avec deux décimales), puis lire cette VG et l'envoyer. Mais tout ça pour ça ?
Nikko Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 Bonjour, Sinon il y'a éventuellement une autre piste: Exemple: Je crée 2 lignes GEA: -- 319: Id sonde température buanderie GEA.add({"Value-",319,23}, 30,"Température #value#° #time#") -- Variable globale GEA.add({"Global","THERMOSTAT_STATUT","AUTO"}, 30,"VG #value#") Après 30 secondes mon débug envoie ceci: On se retrouve dans le cas de @domodial avec une température super précise On peut peut être modifier le code de GEA dans la fonction getMessage: if (entry[GEA.keys["VALUE"]][1]) then msg = string.gsub(msg, "#value#", entry[GEA.keys["VALUE"]][1]) msg = string.gsub(msg, "#value%[1%]#", entry[GEA.keys["VALUE"]][1]) end Par: if (entry[GEA.keys["VALUE"]][1]) then if tonumber(entry[GEA.keys["VALUE"]][1]) and string.match(entry[GEA.keys["VALUE"]][1], "(%.)") then msg = string.gsub(msg, "#value#", string.format('%.02f ',entry[GEA.keys["VALUE"]][1])) msg = string.gsub(msg, "#value%[1%]#", string.format('%.02f ',entry[GEA.keys["VALUE"]][1])) else msg = string.gsub(msg, "#value#", entry[GEA.keys["VALUE"]][1]) msg = string.gsub(msg, "#value%[1%]#", entry[GEA.keys["VALUE"]][1]) end end Du coup voici le debug ensuite: Je n'ai pas fais plus de test que ça (uniquement ces 2 lignes avec 1 seule conditions) mais si ça marche bien cela évite les manipulations avec les labels de VD. Nicolas 1
jojo Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 whaw ! làtu te hisses au niveau du maître. Heureusement que tu n'étais pas encore parmis nous au moment du concours GEA, je ne l'aurais jamais remporté ! Suggestions de modif àsoumettre au propriétaire du code ...
sebcbien Posté(e) le 26 novembre 2015 Signaler Posté(e) le 26 novembre 2015 clap clap clap clap clap !!!
Syris Posté(e) le 27 novembre 2015 Signaler Posté(e) le 27 novembre 2015 Bonjour, Comment faites vous pour comparer deux valeurs de variables globales ? Meteo_temp_mini m'est donné par la météo du jour et temparrosage est réglé par un slider, je veux donc comparer les deux valeurs et lancer une action, j'ai essayé un : GEA.add ({"Global+", "Meteo_temp_mini", "TEMPARROSAGE"}, 1, "test pour temp ok ou non",{{"MaxTime", 2}}) Mais sa me donne des erreurs...
Nikko Posté(e) le 27 novembre 2015 Signaler Posté(e) le 27 novembre 2015 Bonjour, Une piste, si tu veux comparer le contenu de 2 variables globales, il faudrait peut être passer par une petite fonction du genre: function comparaison() local TempMini = tonumber(fibaro:getGlobalValue('Meteo_temp_mini') local TempArrosage = tonumber(fibaro:getGlobalValue('TEMPARROSAGE') -- Retourne True si TempMini Supérieure à TempArrosage return (TempMini > TempArrosage) end GEA.add ({"Function",function() return comparaison() end} ,1, "test pour temp ok ou non",{{"MaxTime", 2}}) Pas testé donc à voir si ça te convient Nicolas 1
Steven Posté(e) le 27 novembre 2015 Auteur Signaler Posté(e) le 27 novembre 2015 @Nikko 1. Bravo 2. Dans une fonction ajoute la valeur de retour return (TempMini > TempArrosage), TempMini .. " | " .. TempArrosage Ainsi tu pourras utilisé le #value# ou #value[1]# dans les messages si besoins Cordialement
Nikko Posté(e) le 27 novembre 2015 Signaler Posté(e) le 27 novembre 2015 @steven: 1. Merci mais c'est pbien peu de choses par rapport à ce que tu as fais 2.Oui pour la valeur de retour je ne l'ai pas fait car pas demandé dans l'énoncé Nicolas 1
Messages recommandés