Aller au contenu

Messages recommandés

Posté(e)

j'ai essayé ceci (ce que vous m'avez recommandé)

  -- Mettre ECS à  oui pendant 20 min
     -- Tache en sommeil (NotStarted)
     -- Cette tache va passer la variable à  Non si elle est à  Oui depuis plus de 20 minutes
     local autoECSNon = GEA.add (estECS, 1*60, "Variable ECS à  OUI depuis #durationfull#", {{"VirtualDevice", DeviceID["VAR_ECS"], 4}, {"Email", UserID["Vincent"], "INFO - ECS"}, {"NotStarted"}, {"MaxTime", 1}})
     -- Cette tache va passer la variable à  Oui si la lumière de la douche est allumée depuis 1 min et que la variable ECS est à  non
     -- Elle va aussi redémarrer la tache si dessus
     GEA.add ({DeviceID["ALARME_ACTIVE"], DeviceID["LUM_SDBREZ_DOUCHE"], pasECS}, 1*60, "Variable ECS à  OUI car LUM_SDBREZ_DOUCHE allumée depuis #duration#.",{{"Inverse"}, {"VirtualDevice", DeviceID["VAR_ECS"], 3}, {"Email", UserID["Vincent"], "INFO - ECS"}, {"RestartTask", autoECSNon}})

mais la tâche AutoECSNon ne démarre même plus une fois  :20:

Posté(e)

ok, je savais que GEA ne pouvait pas se faire dépasser par le mode bloc  :)

En fait, il faut mettre ceci : {"MaxTime", 2}

     local autoECSNon = GEA.add (estECS, 20*60, "Variable ECS à  OUI depuis #durationfull#", {{"VirtualDevice", DeviceID["VAR_ECS"], 4}, {"Email", UserID["Vincent"], "INFO - ECS"}, {"NotStarted"}, {"MaxTime", 2}})

car le 1 serait pour sa première exécusion "pour rien", ie annulée par le {"NotStarted"}; et donc il doit pouvoir fonctionner 2 fois sinon ...

 

Je parie que Steven ne s'avait pas qu'il avait quelque chose d'aussi perfectionné :2:

Posté(e)

@Steven,

Dans le code ci-dessus j'utilise (suivant ton conseil) la variable #durationfull# qui n'est pas documentée.

Je te laisse mettre à  jour ton Wiki avec cette info ?

Posté(e)

Excellentissime, oui en fait depuis je ne sais plus qu'elle version, le MAxTime : 1 merite parfois un 2 ;-)

 

Ben bien sur qu'il le sait :-)

Posté(e)

est-il possible de changer l'icône d'un device autre qu'un module virtuel.

J'ai une sonde de température (raccordée àun FGBS) dans le congélateur, avec GEA je suis averti si la température est trop élevée, mais j'aimerais changer l'icône (ID 1028) par défaut de mon thermomètre (ID 340)

GEA.add ({"Value+", DeviceID["TMP_FREZE"], -30}, 1, "La température du Freeze du garage est de #value# °C depuis #duration# (#date# #time#).", {{"Portable", MobileID["V_Nexus5"]}, {"CurrentIcon", 340, 1028}, {"Email", UserID["Vincent"], "ALERTE - température freeze"}, {"Repeat"}})
Posté(e)

salut @jojo,

 

J'essaierais quelquechose comme ca avec "FUNCTION"

GEA.add ({"Value+", DeviceID["TMP_FREZE"], -30}, 1, "La température du Freeze du garage est de #value# °C depuis #duration# (#date# #time#).", {{"Portable", MobileID["V_Nexus5"]}, {"Function", function() fibaro:call(340, "setProperty", "currentIcon", 1028) end}, {"Email", UserID["Vincent"], "ALERTE - température freeze"}, {"Repeat"}})

 

Posté(e)

je crains qu'il faille passer par la modification du json de la device, c'est àdire que je ferais un VD qui serait appelé par GEA.

Si j'y arrive, ce serait peut-être une idée d'évolution du GEA Steven ?

Posté(e)

oui alors  un VD qui recupere la temperature du device et qui t'affiche l'icone en fonction de la temperature du congelateur et un press button dans GEA, bonne idee @jojo

Posté(e)

non, c'est pas beau, un VD avec du code LUA qui pourrait modifier l'icône d'un device autre qu'un VD.

J'y travaille, et vous tiens au jus

Posté(e)

en fait je veux faire de la même manière que j'arrive à  modifier mes heating panels, mais ça ne veut pas marcher  :angry:  :angry:

 

Peut-être n'est-ce pas possible. De toute façon, ci ça avait été possible, Steven nous aurait déjà  proposé la solution ...

Posté(e) (modifié)

Cela devrait le faire Jojo avec le json, c'est une propriété comme une autre ?

 

Oups nos messages se sont croisés

Modifié par PITP2
Posté(e)

c'est pour ça que j'ai insisté, mais en V3.x c'est un plus compliqué qu'en v4.x

Je prépare un petit VD tout beau, tout propre 

Posté(e)

bonjour

 

j'ai un souci mon Virtualdevice ne fonction plus, j'ai peut être oublier quel que chose 

 

quand je double clik sur mon interrupteur je reçois bien la notification " tv sony on off" mai le bouton virtual 6 ne fonctionne pas. 

--Salon
CP_PORTE = 287, TV_SONY = 280, RGBW_ = 190, RADIO = 27, LAMPE_SALON = 274, ON_OFF_GENERAL = 170, 

GEA.add({"SceneActivation", id["VOLET_DU_BAR"] , 14}, -1, "tv sony on off", {{"VirtualDevice", id["TV_SONY"], "6"}})
Posté(e)

es-tu sà»r que le n° de bouton de VD et/ou que son ID ?

 

tu peux également essayer ceci, pour savoir si c'est l'action ou la condition qui pose problème

 

ton interrupeur, ces le "VOLET_DU_BAR" ?

Posté(e)

ok, je savais que GEA ne pouvait pas se faire dépasser par le mode bloc  :)

En fait, il faut mettre ceci : {"MaxTime", 2}

     local autoECSNon = GEA.add (estECS, 20*60, "Variable ECS à  OUI depuis #durationfull#", {{"VirtualDevice", DeviceID["VAR_ECS"], 4}, {"Email", UserID["Vincent"], "INFO - ECS"}, {"NotStarted"}, {"MaxTime", 2}})

car le 1 serait pour sa première exécusion "pour rien", ie annulée par le {"NotStarted"}; et donc il doit pouvoir fonctionner 2 fois sinon ...

 

Je parie que Steven ne s'avait pas qu'il avait quelque chose d'aussi perfectionné :2:

 

En fait ça a bien marché un peu, mais plus maintenant (que le GEA tourne depuis un certain temps).

C'est comme si le MaxTime ne se remettait pas à  zéro à  chaque restart de la tâche.

N'est-ce pas comme ça que cela devrait fonctionner ?

Posté(e)

Merci Steven pour la confirmation de mon interprétation.

Y a-t-il une erreur dans mon code ou s'agit-il d'un bug (comme ça je sais si je dois continuer àchercher une solution) ?

  -- Mettre ECS àoui pendant 20 min
     -- Tache en sommeil (NotStarted)
     -- Cette tache va passer la variable àNon si elle est àOui depuis plus de 20 minutes seulement si elle était passée àOui àcause de LUM_SDBREZ_DOUCHE
     local autoECSNon = GEA.add (estECS, 20*60, "Variable ECS àOUI depuis #durationfull# => variable ECS = NON", {{"VirtualDevice", DeviceID["VAR_ECS"], 4}, {"Email", UserID["Vincent"], "INFO - ECS"}, {"NotStarted"}, {"MaxTime", 2}})
     -- Cette tache va passer la variable àOui si la lumière de la douche est allumée depuis 1 min et que la variable ECS est ànon
     -- Elle va aussi redémarrer la tache si dessus
     GEA.add ({DeviceID["ALARME_ACTIVE"], DeviceID["LUM_SDBREZ_DOUCHE"], pasECS}, 1*60, "Variable ECS àOUI car LUM_SDBREZ_DOUCHE allumée depuis #duration#.",{{"Inverse"}, {"VirtualDevice", DeviceID["VAR_ECS"], 3}, {"Email", UserID["Vincent"], "INFO - ECS"}, {"RestartTask", autoECSNon}})
Posté(e)

Je te confirme qu'il doit y avoir un bug car ton code est propre. 

 

De plus, on voit bien que mettre MaxTime à  2 pour en réalité ne faire que 1 ... c'est déjà  pas bon.

 

Je pense que la conjonction entre le NotStarted et le MaxTime ne font pas bon ménage mais il y a peut-être plus que cela.

 

 

J'en profite pour t'annoncer que le Wiki est à  nouveau disponible, le bug tracker aussi et je pense que je vais devoir y rajouter le MaxTime :)

  • Upvote 1
×
×
  • Créer...