Lazer Posté(e) le 13 octobre Signaler Posté(e) le 13 octobre Il y a 9 heures, Domodial a dit : Quelqu'un saurait pourquoi la première ligne de commande ne fonctionne pas, alors que la deuxième fonctionne avec le QA Dawn&Dusk ? --- ne Fonctionne pas GEA.add( {{"Days", "WeekEnd"}, {"Time", "Sunset+10", "Sunset+11"}, estAbsent, VRestAllOn}, -1, "Absent : <font color=green>fermeture</font> volets sud et nord le week end #date# à #time#", {{"Close", VR_Nord}, {"Sleep", 2, {"Close", VR_Sud}}}) Parce que tu as mis une durée = -1 alors que ni Days, ni Time, ne supportent le déclenchement instantané. Voir la doc de syntaxe. Donc ta règle ne se déclenche tout simplement jamais. Avec "Time", le mieux est d'utiliser une durée = 0.
Domodial Posté(e) le 13 octobre Signaler Posté(e) le 13 octobre (modifié) @jojo Oui, c'est un sans faute de ce côté car pour le coup j'ai encore été voir tout à l'heure. Modifié le 13 octobre par Domodial
Domodial Posté(e) le 13 octobre Signaler Posté(e) le 13 octobre (modifié) il y a 29 minutes, Lazer a dit : Parce que tu as mis une durée = -1 alors que ni Days, ni Time, ne supportent le déclenchement instantané. Voir la doc de syntaxe. Donc ta règle ne se déclenche tout simplement jamais. Avec "Time", le mieux est d'utiliser une durée = 0. Zut ... Je ne grandit vraiment pas avec GEA. Je vais essayer dès demain. Merci bcp @Lazer Modifié le 13 octobre par Domodial
Domodial Posté(e) le 14 octobre Signaler Posté(e) le 14 octobre (modifié) C'est fonctionnel, trop de copier/coller, j'avais gardé le param -1 spécifique de la ligne avec le CustomEvent ^^ Encore merci. Modifié le 14 octobre par Domodial
jojo Posté(e) le 14 octobre Signaler Posté(e) le 14 octobre @Lazer, en effet la syntaxe précise que "Days" et "Time" ne supportent pas les -1. Mais alors pourquoi la règle que @Domodial dit qui fonctionne fonctionne-t-elle, car c'est également un -1 ?
Lazer Posté(e) le 14 octobre Signaler Posté(e) le 14 octobre (modifié) Ben non, il dit qu'elle ne fonctionne pas justement, d'où sa question. EDIT : c'est sa seconde règle qui fonctionnait, car elle se base sur la condition "CustomEvent" qui est bien compatible avec le déclenchement instantané par trigger. Conclusion : son problème n'est pas lié à l'heure du coucher de soleil, au titrage du cidre breton, ou bien qu QA Dawn&Dusk, mais juste à la syntaxe GEA. Modifié le 14 octobre par Lazer 1
jojo Posté(e) le 14 octobre Signaler Posté(e) le 14 octobre d'accord avec toi, mais je croyais que toute la règle était invalidée si une des conditions n'était pas bonne. En fait la condition était bonne, mais ne fonctionnai juste pas ... J'ai encore appris qqch. 1
Lazer Posté(e) le 14 octobre Signaler Posté(e) le 14 octobre Hum... oui effectivement, les conditions Days et Time peuvent très bien être bonnes, si on est en mode déclenchement instantané (durée = -1), alors la règle ne se déclenchera jamais. Ne pas oublier que dans GEA, et c'est historique (pas lié à la HC3), il y a 2 modes de fonctionnement : le mode de fonctionnement par cycle (30 secondes par défaut), où les règles concernées (c'est à dire avec durée >= 0) sont analysées à chaque cycle le mode de fonctionnement instantané, où les règles concernées ne sont analysées qu'à chaque déclenchement (trigger, comme les bonnes vielles scènes de GEA sur HC2). Dans le cas présent on se trouve dans cette situation, si pas de trigger, alors les conditions Days et Time n'ont aucune chance d'être testées. 1
Domodial Posté(e) le 15 octobre Signaler Posté(e) le 15 octobre (modifié) Re, J'essaye une autre chose, et contrairement à ce qui est expliqué, ça ne fonctionne pas bien : -- > Basé sur l'heure (fonctionne bien) GEA.add( {{"Or", {"Days", "WeekDays"}, {"Days", "WeekEnd"}}, {"Time", "07:30", "07:31"}, estAbsent}, 0, "Absent semaine : <font color=yellow>Allumage</font> couloir matin 10mn avant le levé du soleil #date# à #time#", {{"TurnOn", Lum_Entree, 15*60}, {"Value", Lum_Entree, 100}}) -- > Basé sur Sunrise, déclencheur 0 ou 30 (ne fonctionne pas sur Sunrise ou Sunset), la lumière s'allume immédiatement. GEA.add( {{"Or", {"Days", "WeekDays"}, {"Days", "WeekEnd"}}, {"Time", "Sunrise+10", "Sunrise+11"}, estAbsent}, 0, "Absent semaine : <font color=yellow>Allumage</font> couloir matin 10mn avant le levé du soleil #date# à #time#", {{"TurnOn", Lum_Entree, 15*60}, {"Value", Lum_Entree, 100}}) -- Test de notif sur Sunrise (fonctionne bien) mais sans {"Days", "WeekDays"} comme si "Day" sur la ligne précédente faisait déconner. GEA.add( {{"Time", "Sunrise+10", "Sunrise+11"}, estAbsent, VRestAllOn}, 0, "Test levé du soleil #date# à #time#") -- en test Modifié le 15 octobre par Domodial
Lazer Posté(e) le 15 octobre Signaler Posté(e) le 15 octobre C'est tout de même étrange ta condition "Or" avec les 2 sous-conditions qui se complémentent : weekdays ou weekend, il y a obligatoirement une des 2 conditions qui est valide, donc la condition Or est toujours valide => donc inutile. Pourquoi ne pas la supprimer ? D'autant plus si ça rend GEA fou, car le comportement de ta 2nde règle ne me semble pas normal. 1
Domodial Posté(e) le 16 octobre Signaler Posté(e) le 16 octobre (modifié) Hello, merci pour la réponse. Je suis assez dépité, car le Days WeekEnd seul, ou Days WeekDays seul avec Sunrise ou Sunset ne fonctionne pas. Effectivement j'avais poussé le test avec Or incroyablement loin en cumulant les conditions. Je ne m'en sort pas. Je continue a tester. Modifié le 16 octobre par Domodial
Dragoniacs Posté(e) le 18 octobre Signaler Posté(e) le 18 octobre Je reposte ma question ici Bonjour à tous, Maintenant que les températures baissent, je vois que le fonctionnement de mes thermostats via GEA ne sont pas au top. Je m'explique Si je modifie (pour déshumidifier une pièce, par exemple) le mode de mon thermostat avec GEA, je n'arrive pas à le faire revenir en mode précédent. Quand on clique du le bouton manuellement, on a toujours une tempo de 2h qui s'engage, et on peut la corriger, ou appuyer sur "return" pour revenir au planning normal. Avec GEA, le mode change, mais sans tempo. Et je ne sais pas comment le faire revenir au mode schedule (sauf ajouter une ligne de commande "Climat"... "Schedule"). Une idée ? Mes lignes : GEA.add({{"thermostatMode","Climatisation Combles","Off"},{"Value+","Humidité Combles",70}},15 * 60,"COMBLES : Lancement de la déshumidification - Hum #value[2]#",{"thermostatMode","Thermostat Combles","DesHum"}) GEA.add({{"thermostatMode","Climatisation Combles","DesHum"},{"Value-","Humidité Combles",60}},30,"COMBLES : Arrêt de la déshumidification - Hum #value[2]#",{{"thermostatMode","Thermostat Combles","Off"},{"Sleep",5*60,{"Climate","Combles","Schedule"}}})
Lazer Posté(e) le 18 octobre Signaler Posté(e) le 18 octobre Plusieurs pistes, en fait ça dépend de tes besoins : - tu peux ajouter des règles pour changer le mode / température du thermostat s'il est dans le mode précédent depuis 2 h (soit une durée de 2*60*60 secondes) - dans tes règles existantes, tu peux aussi positionner une variable cache lors du changement de mode du thermostat, afin que GEA sache que c'est lui-même qui a mis le thermostat dans ce mode, et puis une autre règles comme pour ma suggestion précédente, au bout de 2h revenir à un autre mode si la variable cache a la valeur qui va bien (ainsi, contrairement à la première suggestion, ces nouvelles règles GEA ne réagiront que si c'est GEA lui même qui a changé le mode de thermostat, mais pas l'utilisateur directement) - utiliser la durée dans l'action Climate en mode Manual, et ne pas utiliser les actions/conditions de thermostat (vu que le panneau de climat, lorsque modifié, va agir directement sur le(s) thermostat(s) de la zone)
jojo Posté(e) le 18 octobre Signaler Posté(e) le 18 octobre j'utilise GEA pour commander des thermostats PID, où il y a un mode manuel (consighe de température et de temps) et ce QA revient à la consigne qui précédait l'activation du mode manuel. il est ici :
jojo Posté(e) le 20 octobre Signaler Posté(e) le 20 octobre Bonjour les amis, J'ai besoins de votre aide pour m'aider à réfléchir (mon cerveau devient de plus en plus fainéant ) Lors d'une intrusion, je fais clignoter l'éclairage de la maison (ok). A la fin de l'intrusion, les lampes retournent en mode standard (ok) et elle s'éteignent (c'est la mon problème, car quand je sauve GEA, les lampes s'éteignent). Voici ma règle GEA : GEA.add ({"Value", id["ALARME_INTRUSION"], false}, 0, "", {{"Email", "admin", "Alarme Intrusion : OFF\nle #date# à #time#.", "Alarme Intrusion : OFF"}, {"QuickApp", id["ALARMEINTRUSION_ACTIONS"], "FlashingOff"}}) et le code de la QA qui est appelé : function QuickApp:FlashingOff() self:Flashing("Standard") hub.call(FlashingDevicesID, "turnOff") end -- FlashingDevicesID est l'ID du groupe de devicesconcernés par le clignottement Mon idée (mais si vous en avez une autre ) était que la règle GEA ne s'exécute pas au démarrage, donc comparer le timestamp actuel avec celui de la dernière sauvegarde de GEA (si pas possible avec GEA, peut être dans mon code LUA ?) Merci pour votre prêt de neurones ...
Domodial Posté(e) le 20 octobre Signaler Posté(e) le 20 octobre Arf zut jojo, moi c'est pas 1 neurone qu'il me manque. Pour le coup je ne peux pas t'aider. 1
jojo Posté(e) le 20 octobre Signaler Posté(e) le 20 octobre je m'auto-répond - j'ai réussi à réactiver mes neurones. Solution : os.time() retourne le timestamp de l'heure actuelle. Dans le JSON du GEA, il y a "modified": 1729423775, (PAS une propriété !) et il n'y a donc "plus qu'à" comparer
jojo Posté(e) le 20 octobre Signaler Posté(e) le 20 octobre @Domodial , nos messages se sont croisés 1
Lazer Posté(e) le 20 octobre Signaler Posté(e) le 20 octobre ça me fait penser que j'ai eu exactement le même problème quand j'utilisais GEA sur HC2, j'avais alors commenté la ligne ne me disant que je solutionnerai ce problème plus tard, entre temps j'ai migré sur HC3, et je viens de vérifier à l'instant, ma règle est toujours commenté Je pense qu'il y a moyen de s'en sortir avec NotStart et RestartTask, ou bien avec Depend. Quelques pistes à creuser... Attention Jojo avec le JSON modified, ça correspond au timestamp de modification du QuickApps, pas à son démarrage. Il peut avoir redémarré 100x depuis la dernière modification... par exemple après un plantage, un reboot, une sauvegarde, etc...
jojo Posté(e) le 21 octobre Signaler Posté(e) le 21 octobre Il y a 15 heures, Lazer a dit : après un plantage, même si je n'ai pas une HCNico (mais seulement une HC3) elle est très stable => les redémarrages de GEA sont liés à 60% à des sauvegardes de GEA et 39% à des backups automatique les dimanches à 3h00. Je vais investiguer tes pistes et revient avec une solution ("tout problème a une solution", donc si pas de solution, c'est que pas de problème ...)
fredokl Posté(e) le 22 octobre Signaler Posté(e) le 22 octobre 60% + 39% = 99%, où est donc passé le 1% --> loi de Murphy?
fredokl Posté(e) le 22 octobre Signaler Posté(e) le 22 octobre Ben ça colle. Pourquoi tout devrait fonctionner si ça doit planter!
jojo Posté(e) le 26 octobre Signaler Posté(e) le 26 octobre Je n'ai pas réussi en 100% GEA, surtout que : je suis fainéant je ne suis pas assez expert en GEA j'ai trouvé une solution en LUA qui fonctionne et me va bien Voici ma solution : function QuickApp:FlashingOff() local HC3JSon = api.get("/settings/info") local RebootTimestamp = HC3JSon.serverStatus local GEAJSon = api.get("/devices/"..GEAId) local GEATimestamp = GEAJSon.modified local GEASave = false if os.time()-GEATimestamp <= 100 then GEASave = true end local HC3Reboot = false if os.time()-RebootTimestamp <= 100 then HC3Reboot = true end if (GEASave == false and HC3Reboot == false) then hub.call(2, "sendEmail", "Intrusion Times", "Current time = "..os.time().."\n".. "Last GEA saved = "..GEATimestamp.."("..os.time()-GEATimestamp.."s) - "..tostring(GEASave).."\n".. "Reboot = "..RebootTimestamp.."("..os.time()-RebootTimestamp.."s) - "..tostring(HC3Reboot).."\n") self:Flashing("Standard") hub.call(FlashingDevicesID, "turnOff") end end
Messages recommandés