Aller au contenu

Recommended Posts

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:

Partager ce message


Lien à poster
Partager sur d’autres sites

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:

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Cela revient au même que le CurrentIcon .. mais je pense pas que cela fonctionne :(

Partager ce message


Lien à poster
Partager sur d’autres sites

merci Pepite, n'as-tu pas autre chose à  proposer, ça ne marche pas  :20:

Partager ce message


Lien à poster
Partager sur d’autres sites

dommage :60: :60:

 

heuuu @jojo, moi non, j'ai tout donné sur ce coup là  :D :D :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

un peu comme ton Device Properties ? c'est a ca que tu penses ?

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, mais je suis en train d'y travailler. Laisse-moi un peut de temps SVP  :)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

YYYEEESSS

I got It !

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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" ?

Partager ce message


Lien à poster
Partager sur d’autres sites

:D  mon ID , dessolé je change de lunette  

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, le RestartTask devrait le remettre àzéro.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

×