Aller au contenu

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite

 

ligne 1626:

 

msg = msg .. "[ ".. entry[GEA.keys["ID"]] .. " | ".. name .." ] "

je vais regarder mes local id et regarder tout mes noms

 

merci,

Partager ce message


Lien à poster
Partager sur d’autres sites


@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

Partager ce message


Lien à poster
Partager sur d’autres sites
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

Partager ce message


Lien à poster
Partager sur d’autres sites
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

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?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 !

Partager ce message


Lien à poster
Partager sur d’autres sites

×