jojo Posté(e) le 18 mai 2015 Signaler Posté(e) le 18 mai 2015 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
jojo Posté(e) le 18 mai 2015 Signaler Posté(e) le 18 mai 2015 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é
jojo Posté(e) le 18 mai 2015 Signaler Posté(e) le 18 mai 2015 @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 ?
pepite Posté(e) le 18 mai 2015 Signaler Posté(e) le 18 mai 2015 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 :-)
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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"}})
pepite Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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"}})
Steven Posté(e) le 19 mai 2015 Auteur Signaler Posté(e) le 19 mai 2015 Cela revient au même que le CurrentIcon .. mais je pense pas que cela fonctionne
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 merci Pepite, n'as-tu pas autre chose à proposer, ça ne marche pas
pepite Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 dommage :60: heuuu @jojo, moi non, j'ai tout donné sur ce coup là :D
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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 ?
pepite Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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
pepite Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 un peu comme ton Device Properties ? c'est a ca que tu penses ?
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 oui, mais je suis en train d'y travailler. Laisse-moi un peut de temps SVP 1
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 en fait je veux faire de la même manière que j'arrive à modifier mes heating panels, mais ça ne veut pas marcher Peut-être n'est-ce pas possible. De toute façon, ci ça avait été possible, Steven nous aurait déjà proposé la solution ...
PITP2 Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 (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é le 19 mai 2015 par PITP2
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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
971jmd Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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"}})
jojo Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 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" ?
971jmd Posté(e) le 19 mai 2015 Signaler Posté(e) le 19 mai 2015 mon ID , dessolé je change de lunette
jojo Posté(e) le 20 mai 2015 Signaler Posté(e) le 20 mai 2015 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é 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 ?
Steven Posté(e) le 20 mai 2015 Auteur Signaler Posté(e) le 20 mai 2015 Oui, le RestartTask devrait le remettre àzéro.
jojo Posté(e) le 20 mai 2015 Signaler Posté(e) le 20 mai 2015 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}})
Steven Posté(e) le 21 mai 2015 Auteur Signaler Posté(e) le 21 mai 2015 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 1
Messages recommandés