Aller au contenu

Messages recommandés

Posté(e)

@Sakkhho,

Sais-tu comment tu ferais en lua ?

Si oui, tu mais ceci comme option dans GEA

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

@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#")
Posté(e)

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

Posté(e)

@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}}) 
Posté(e)

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

Posté(e)

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

Posté(e)

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 ?

Posté(e)

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 ?

Posté(e)

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

Posté(e)

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
--]]
Posté(e)

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.

 

Posté(e)

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

Posté(e)

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
Posté(e)

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 ?

Posté(e)

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
Posté(e)

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

Posté(e)

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

Posté(e)

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
Posté(e)

@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

Posté(e)

@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
×
×
  • Créer...