Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)


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

  • Upvote 1
Posté(e)
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"}})

  • Upvote 2
Posté(e)
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.

Posté(e)

@Steven oops, oui 5.50 j'ai un peu d'avance :rolleyes: (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 ;)

Posté(e)

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

 

 

 

 

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

@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 :13:

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

 

  • Upvote 1
Posté(e)

Oups, en effet ... merci pour la correction.

 

P.S: Pour moi, je confirme un message toutes les 5mn avec un GEA.checkEvery à 30s.

Posté(e) (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é par pepite
Vérif duree Traitements
Posté(e) (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é par ggpublic
test
Posté(e)

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

 

Posté(e) (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é par pepite
  • Upvote 1
Posté(e)

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

 

  • Upvote 1
Posté(e)

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?

Posté(e)

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

 

  • Upvote 1
Posté(e)

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 !

×
×
  • Créer...