ggpublic Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 merci bcp @Steven et @pepite pour vos réponses. C'est à dire que j'ai l'impression que ma HC2 ne kill pas la scène, il y a juste des pauses inexpliquées. J'arrive toujours à redémarrer GEA en faisant un save (sans reboot de la box) Et sinon oui j'avais installé depuis longtemps l'excellent watchdog de @Lazer et j'en étais super content mais j'avais du le désactiver justement pcq en l'absence du string "...en execution" dans le debug de GEA, mon watchdog redémarrait GEA toutes les minutes ...avec pour conséquence un spam email de dingue
Plap3014 Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @pepite ligne 1626: msg = msg .. "[ ".. entry[GEA.keys["ID"]] .. " | ".. name .." ] " je vais regarder mes local id et regarder tout mes noms merci,
pepite Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @ggpublic, pas de souci entre le Watchdog et GEA, juste que tu n'essaies pas de matcher le bon string ;-) Ceci fonctionne pour moi type = "Scene", id = 7, match = {text="Durée des traitements", interval=11*60}, no_match = {text=""}, count=1, restart=true, notification = {"push", "email"}}, -- GEA @Plap3014, utilise le "checkAllIds aussi du master pendnant que tu y es ;-) 1
Steven Posté(e) le 6 décembre 2016 Auteur Signaler Posté(e) le 6 décembre 2016 Il y a 3 heures, ggpublic a dit : Passage en 4.1 : je crois que ça marchait mieux avant Le contenu du debug qui n'affiche plus "GEA Version 5.50 : en execution..." toutes les 30s / Après un restart, c'est OK mais par la suite non. Là par exemple, il me donne ça: [DEBUG] 10:03:54: GEA Version 5.40 : en exécution... [DEBUG] 10:06:42: Durée des traitements : 4s nouveau délai : 26s / tourne depuis 1h 29m 59s donc il s'est passé 3 minutes entre les deux sans nouvelle entrée dans le debug, c'est normal? Quand je lui demande de mettre à jour une variable avec l'heure actuelle, il déconne complètement et update ma variable avec des valeurs fausses (j'utilise le code suivant : os.date("%A, ".."%X")) 1. C'est malheureusement possible. 2. Version 5.50 ... hummm ... . Le message "GEA Version X.XX : en execution" : n'apparait pas toutes les 30s mais à chaque fois que GEA est lancé (une fois lors de la sauvegarde et chaque fois qu'il y a un déclencheur qui arrive). Le message "Durée de traitements..." lui apparait toutes les 10 execétutions, si ton GEA se lance toutes les 30 secondes, il affichera ce message toutes les 5mn. 3. Je ne sais pas comment tu l'utilise et je pense que le soucis vient de là, un petit exemple stp. Ce code doit te retourner "Tuesday, 14:01:08" Il y a 3 heures, ggpublic a dit : GEA.add(true,20*60,"",{{"Function",function () if fibaro:getValue(76,'value') - fibaro:getGlobalValue('last_humidity') > 3 then fibaro:setGlobal('douche',1) end fibaro:setGlobal('last_humidity', fibaro:getValue(76,'value')) end},{"Repeat"}}) Attention quand tu compares des chiffres, il faut forcer leur transcodage un numérique car ce qui vient de getGlobalValue est une chaîne de caractères même si tu y as mis du numérique. Pour assurer, il faut mettre ceci : GEA.add(true,20*60,"",{{"Function",function () if tonumber(fibaro:getValue(76,'value')) - tonumber(fibaro:getGlobalValue('last_humidity')) > 3 then fibaro:setGlobal('douche',1) end fibaro:setGlobal('last_humidity', fibaro:getValue(76,'value')) end},{"Repeat"}}) 2
Steven Posté(e) le 6 décembre 2016 Auteur Signaler Posté(e) le 6 décembre 2016 Il y a 1 heure, Plap3014 a dit : merci de vos conseilles Lors de la mise à jour, tu as sûrement un module qui a changé d'ID. Il faut malheureusement tout vérifier Normalement, le module en question devrait être le 8ème GEA.add que tu as dans ton code.
ggpublic Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @Steven oops, oui 5.50 j'ai un peu d'avance (ceci dit, tu confirmes que ta version officielle reste la 5.40 ? j'ai vu des 5.41 ou 5.42...) Merci bcp pour le rappel du fonctionnement des messages du debug. J'ai vérifié, c'est curieux mais l'apparition de "durée des traitements" se fait chez moi exactement toutes les 10 minutes alors que mon GEA.checkEvery est bien resté par défaut à 30s. Ptet un début de piste du pourquoi ça plante ? (même comportement après un reboot de box, je viens de tester, tjs 10min) Pour mon histoire de dates, oui c'est bien ce que je veux qu'il me retourne (jour, heure). Voila un exemple d'un code qui dit : si je suis à la maison depuis 2 minutes, mets à jour une variable globale avec le jour et l'heure GEA.add({"Global","Presence_GG","IN"}, 2*60, "GG is @Home", {{"Portable", phoneGG},{"Global","last_GG_IN",os.date("%A, ".."%X")}}) ...et yes, je mets les tonumber(), tu as raison. Je n'avais pas pris cette précaution du fait que ma fonction marchait sans problèmes
ggpublic Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @pepite merci merci, je modifie mon code de ce pas
pepite Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @ggpublic, Je vais peut-etre dire une betise pour les dates, mais pourquoi ne pas l'ecrire avec du GEA en natif GEA.add({"Global","Presence_GG","IN"}, 2*60, "GG is @Home", {{"Portable", phoneGG},{"Global","last_GG_IN","#date# - #time#"}})
ggpublic Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @pepite je dirais...parceque je suis encore un jeune padawan en GEA ? :-) je fais le test dès que possible. au sujet du watchdog, tu fais un monitoring toutes les 11 minutes : est-ce pcq ton debug GEA n'affiche "en execution" que toutes les 10 minutes aussi ?
Steven Posté(e) le 6 décembre 2016 Auteur Signaler Posté(e) le 6 décembre 2016 @pepite a raison et je vous explique pourquoi. Quand tu vais un GEA.add(....... ,... os.date("...")), LUA va traduire os.date() puis faire le GEA.add, donc ton heure ne sera pas celle de ta présence + 2 minutes mais celle de l'enregistrement de ton scénario GEA J'avais mis en place le #date# et #time# pour éviter ce genre de soucis, sinon il y a une astuce qui est de faire ainsi : GEA.add({{"Global","Presence_GG","IN"}, {"Function", function() return true, os.date("%A, ".."%X") end}}, 2*60, "GG is @Home", {{"Portable", phoneGG},{"Global","last_GG_IN",#value2#}}) Oui, je suis en 5.40 mais il y a eu des correctifs d'autres personnes qui a donc amené la version à la 5.42 avec le code de @tibahut. Je check pour la durée des messages.
pepite Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @ggpublic Attention, ce n'est pas "en execution" le match, mais sur "Duree des traitements" !! Et c'est la même explication que le master concernant "Duree des traitements", après un save par exemple.
ggpublic Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 @pepite oui oui pardon, c'est moi qui t'embrouille, il fallait bien lire "durée des traitements". Donc je confirme que chez moi, ce string n'apparait que toutes les 10 minutes, pas 5. Et comme je voyais que tu avais paramétré ton watchdog pour vérifier sa présence dans le debug GEA toutes les 11 minutes, je m'interrogeais sur la fréquence d'apparition de ce string dans ton debug GEA à toi. @Steven ah ben voilà, mille mercis pour cette histoire de dates, voilà un loup de levé, ça fonctionne nickel Je me permets juste au cas où quelqu'un relis ces posts et cherche à reprendre ton astuce de fonction pour les dates, de corriger du détail: -> les termes value sont à mettre entre guillemets -> la position de la variable à retourner est à mettre entre crochets Cela donnerait donc pour que ça fonctionne : GEA.add({{"Global","Presence_GG","IN"}, {"Function", function() return true, os.date("%A, ".."%X") end}}, 2*60, "GG is @Home", {{"Portable", phoneGG},{"Global","last_GG_IN","#value[2]#"}}) voilà voilà, pardon hein, je ne fait que répéter ce que j'ai appris 1
Steven Posté(e) le 6 décembre 2016 Auteur Signaler Posté(e) le 6 décembre 2016 Oups, en effet ... merci pour la correction. P.S: Pour moi, je confirme un message toutes les 5mn avec un GEA.checkEvery à 30s.
pepite Posté(e) le 6 décembre 2016 Signaler Posté(e) le 6 décembre 2016 (modifié) je vais jeter un oeil à mon debug pour le message "duree des traitements". si tu as 10 mins, c'est encore mieux, en cas de reboot + le cycle de 10 mins pour tester, ca evite de relancer la scene trop tot inutilement PS : confirmé aussi pour moi, toutes les 5 mins "Duree des Traitements", GEA.CheckEvery à 30s Modifié le 6 décembre 2016 par pepite Vérif duree Traitements
Plap3014 Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 @Steven Merci, j'ai un module qui as disparu. je vais devoir le re-intégrer!
ggpublic Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 (modifié) @Steven @pepite merci pour votre aide J'ai pris une instance GEA toute neuve, j'y colle mon code, même chose, 10 minutes entre chaque message. Curieux mais pourrait être un symptôme qui montre qu'il tourne sur 3 pattes. je vais reprendre ligne à ligne pour voir. ----- bon ben je ne comprends rien de rien, j'ai une instance GEA toute neuve avec une seule ligne, après un reboot de la box, j'ai toujours ce "duree des traitements" toutes les 10 minutes. [DEBUG] 15:43:44: Durée des traitements : 0s nouveau délai : 30s / tourne depuis 10m [DEBUG] 15:53:44: Durée des traitements : 0s nouveau délai : 30s / tourne depuis 20m [DEBUG] 16:03:44: Durée des traitements : 0s nouveau délai : 30s / tourne depuis 30m Modifié le 7 décembre 2016 par ggpublic test
sonnyboy Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 Hello is there any possibility to have like this in GEA (math.random(6000,15000)) i would like to have some time between the lights when they turn on. GEA.add({"Global-", "Sun", "1.0"}, 30, "", {{"Time", "05:30", "12:50"}, {"Days", "Weekday"}, {"turnOn", LivingRoom["Bakom_Soffa"]}, {"turnOn", LivingRoom["Bakom_Tv"]}, {"turnOn", Kitchen["Window"]}})
pepite Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 @sonnyboy, Not natively with GEA, but when do you want the time ? Between each light turned or between the first lights all turned on and the second time
sonnyboy Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 @pepite, I wanted it Between each light turned on
pepite Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 (modifié) @sonnyboy, Have you ever an existing scene which do this ? @Steven gives you a response : -- Shuffle a table function shuffleTable( table ) math.randomseed( os.time() ) for i = #table, 2, -1 do j = math.random(i) table[i], table[j] = table[j], table[i] end return table end -- Read the new shuffle table for _, device in ipairs( shuffleTable({10, 20, 30, 40, 50}) ) do print(device) end Write a scene with the lights in and with GEA call the scene GEA.add({"Global-", "Sun", "1.0"}, 30, "", {{"Time", "05:30", "12:50"}, {"Days", "Weekday"}, {"Scenario", id} Modifié le 7 décembre 2016 par pepite 1
sonnyboy Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 @pepite Thanks for putting me in the right direction again, i can use me old VD for this. I call the VD from Gea and then it works Example code From my VD that turn on the light. fibaro:call(36, "turnOn") fibaro:sleep(math.random(3000,12000)) fibaro:call(266, "turnOn") fibaro:wakeUpDeadDevice(274) -- Wake up if dead fibaro:sleep(math.random(5000,14000)) fibaro:call(274, "setValue", "99") fibaro:sleep(math.random(6000,15000)) fibaro:call(300, "turnOn") 1
elacombe Posté(e) le 7 décembre 2016 Signaler Posté(e) le 7 décembre 2016 Bonjour, J'ai des soucis avec l'exécution de certaines parties de mon GEA depuis le passage en 4.102. Notamment pour l'allumage de lampes à des horaires précis. Quelqu'un a t"il eu les mêmes soucis?
Steven Posté(e) le 8 décembre 2016 Auteur Signaler Posté(e) le 8 décembre 2016 @ggpublic Tu peux m'envoyer ta version par mail @ steven.piccand@gmail.com s'il te plait (celle avec une seule ligne me va très bien :-)). 1
Steven Posté(e) le 9 décembre 2016 Auteur Signaler Posté(e) le 9 décembre 2016 @ggpublic Merci pour ton code. Je comprends mieux : ma version afficher un message toutes les 10 exécutions soit toutes les 5mn, celle de @tibahut affiche un message toutes les 20 exécutions soit toutes les 10mn. C'est le genre de changement dont je me serais bien passé, mais une fois qu'on connait c'est pas un soucis Ceci explique donc cela et tout va, à priori, bien. 1
ggpublic Posté(e) le 9 décembre 2016 Signaler Posté(e) le 9 décembre 2016 merci @Steven d'avoir regardé ah tiens, je croyais utiliser ton code (5.40) ... ? bon en tout cas, ça ne résout pas mon pb, je vais ptet downgrader du coup. Big up à vous 2 pour le support et la réponse aux questions, c'est top !
Messages recommandés