Aller au contenu

Recommended Posts

@Sakkhho,

Sais-tu comment tu ferais en lua ?

Si oui, tu mais ceci comme option dans GEA

{"function", function() TON ACTION/CODE LUA end}

Partager ce message


Lien à poster
Partager sur d’autres sites

@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#")

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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}}) 

Partager ce message


Lien à poster
Partager sur d’autres sites

@JOJO

merci de ton aide effectivement cela fonctionne mieux sans quelques {{{{{ :60:  :60:  :lol:  :D

merci encore

Partager ce message


Lien à poster
Partager sur d’autres sites

@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)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

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
--]]

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

 

Avez-vous aussi je genre de chose ? Sur l'hygrométrie ça va.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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" ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

donc tu devras te contenter de ta solution "mais heu" ;)

Lol :P

Partager ce message


Lien à poster
Partager sur d’autres sites

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

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais heu quoi !! :D

 

Merci pour la précision Steven :)

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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:

 

post-376-0-94645300-1448579400_thumb.png

 

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:

 

post-376-0-42369100-1448579527_thumb.png

 

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

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

whaw ! :13: 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 ...

Partager ce message


Lien à poster
Partager sur d’autres sites

clap clap clap clap clap !!!

Partager ce message


Lien à poster
Partager sur d’autres sites

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...

Partager ce message


Lien à poster
Partager sur d’autres sites

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

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Nikko

1. Bravo  :60:

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@steven:

 

1. Merci mais c'est pbien peu de choses par rapport à  ce que tu as fais :13:

2.Oui pour la valeur de retour je ne l'ai pas fait car pas demandé dans l'énoncé :D

 

Nicolas

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×