fel-x Posté(e) le 20 janvier Signaler Posté(e) le 20 janvier (modifié) J'avais déjà testé en mettant un intervalle d'une minute, mais sans impact. J'emploierai sans doute cette méthode si je constate des latences dans le futur mais pour le moment ma box n'est pas du tout surchargée et aucune règle GEA n'est loupée. Si je retire la condition "Monthly" ça fonctionne sans problème: GEA.add({"Time", "21:45"}, 30, "il est 21h45", {"Push", 840}) Mais si j'ajoute la condition "Monthly", il n'y a pas de déclenchement: GEA.add({{"Monthly", 20}, {"Time", "21:50"}}, 30, "On est le 20 du mois et il est 21:50", {"Push", 840}) et le debug complet (GEA.debug=true et GEA.lldebug=true) donne ceci : [20.01.2026] [21:50:10] [DEBUG] [QA_GEA_820]: GEA:encapsule() copy.check() copy.name="Monthly" id=20 property=20 value=20 value2=20 value3=20 value4=20 [20.01.2026] [21:50:10] [DEBUG] [QA_GEA_820]: GEA:encapsule() copy.getValue() 2 return copy.lastvalue, copy.lastDisplayValue : true, true [20.01.2026] [21:50:10] [DEBUG] [QA_GEA_820]: GEA:encapsule() copy.check() result = true [20.01.2026] [21:50:10] [DEBUG] [QA_GEA_820]: GEA:check() result = false, true [20.01.2026] [21:50:10] [DEBUG] [QA_GEA_820]: GEA:check() ready = false [20.01.2026] [21:50:10] [DEBUG] [QA_GEA_820]: @180s [Validation] #25 : ["Monthly",[20]] ["Time",["21:50"]] => ["Push",[840]] Idem à 21:50:40 (@210s) Je n'arrive pas à comprendre la cause sur base de ce log, et je veux bien un coup de main Modifié le 20 janvier par fel-x
fel-x Posté(e) le 20 janvier Signaler Posté(e) le 20 janvier (modifié) il y a 26 minutes, fel-x a dit : Je n'arrive pas à comprendre la cause sur base de ce log, et je veux bien un coup de main ...enfin si : je comprends que "Monthly" revient =true et que "Time" revient "false" systématiquement. Si je change la date (21 au lieu de 20 par exemple, puisqu'on est le 20 aujourd'hui) le "Monthly" revient =false aussi (même si je mets le "Temps" sous forme d'intervalle de 1 ou 2 minutes) Mais rien à faire pour que "Time" devienne =true (sauf à retirer la condition "Monthly") Modifié le 20 janvier par fel-x
jmg38 Posté(e) le 23 janvier Signaler Posté(e) le 23 janvier je souhaiterai mettre en marche un dispositif seulement du mois d'avril au mois d'octobre. Quelqu'un peut - il me donner la bonne formule à utiliser dans GEA. Merci
jojo Posté(e) le 23 janvier Signaler Posté(e) le 23 janvier Il y a 5 heures, jmg38 a dit : je souhaiterai mettre en marche un dispositif seulement du mois d'avril au mois d'octobre. Quelqu'un peut - il me donner la bonne formule à utiliser dans GEA. Merci cfr syntaxe Citation -- "Dates" : Teste la date calendaire du jour -- SYNTAXE : {"Dates", <from>, <to>}
jmg38 Posté(e) le 23 janvier Signaler Posté(e) le 23 janvier Merci, j'avais oublié "Dates"! j'ai écrit dans GEA ,,, {"Dates", "01/01", "31/10"},,, et ça marche
fel-x Posté(e) le 23 janvier Signaler Posté(e) le 23 janvier Le 20/01/2026 à 22:12, fel-x a dit : Si je retire la condition "Monthly" ça fonctionne sans problème: GEA.add({"Time", "21:45"}, 30, "il est 21h45", {"Push", 840}) Mais si j'ajoute la condition "Monthly", il n'y a pas de déclenchement: GEA.add({{"Monthly", 20}, {"Time", "21:50"}}, 30, "On est le 20 du mois et il est 21:50", {"Push", 840}) Pour info, j'ai testé plusieurs combinaisons durant quelques jours et j'en conclus que "Monthly" n'accepte pas de condition complémentaire. Les seules possibilités d'emploi de "Monthly" sont décrites dans la syntaxe (v7.39) : -- SYNTAXE : {"Monthly"} {"Monthly", "First|Begin|1"} {"Monthly", "Last|End|31"} {"Monthly", <num_jour>} {"Monthly", <jour>} Si quelqu'un trouve le moyen d'y combiner une seconde condition horaire, je suis preneur En attendant je vais utiliser un scénario en LUA pur.
jojo Posté(e) le 23 janvier Signaler Posté(e) le 23 janvier du coup, il faut truander le système, (en faisant 12 ligne, ou en utilisant "or") avec "date & "time" 1
Lazer Posté(e) le 23 janvier Signaler Posté(e) le 23 janvier @fel-x On dirait bien un bug de la condition Monthly Il faudrait que j'essaie de reproduire et de trouver un correctif. En attendant, tu peux utiliser la solution de contournement proposée par @jojo Et même pas besoin de "Or", car il est fait automatiquement quand GEA détecte plusieurs conditions Time ou Dates dans la même règle. Reste que ça fera une ligne assez longue... fonctionnel mais pas très "joli".
fel-x Posté(e) le 24 janvier Signaler Posté(e) le 24 janvier Bien vu @jojo C'est pas le plus élégant mais ça contourne le problème. Je n'y avais pas pensé car on réfléchit toujours à prendre le chemin le plus court. Et "Monthly" était une évidence ergonomique... j'espère que @Lazer trouvera un jour le temps de tester. Bref je vais écrire les 12 lignes de ce genre pour toute l'année : GEA.add({{"Dates", "27/01"}, {"Time", "11:30"}}, 30, "message", {"Push", 840}) GEA.add({{"Dates", "27/02"}, {"Time", "11:30"}}, 30, "message", {"Push", 840}) GEA.add({{"Dates", "27/03"}, {"Time", "11:30"}}, 30, "message", {"Push", 840}) ...
jmg38 Posté(e) le 24 janvier Signaler Posté(e) le 24 janvier Pour confirmer le PB avec Monthly : sur HC2 j'avais cette ligne qui fonctionnait tous les premiers samedi du mois . J'ai remplacé par la date d'aujourd'hui et changer l'heure = ça ne marche pas sur HC3 . Donc Pb à venir! GEA.add({{"Monthly","Samedi"},{"Time","23:00"}},30,"Charge mensuelle des talkie Walkie",{{"turnOn",id["Pristalwalk"]},{"Sleep",180*60,{"turnOff",id["Pristalwalk"]}},{"Repeat"}})
fel-x Posté(e) le 24 janvier Signaler Posté(e) le 24 janvier Et donc doit-on partir du principe qu'à défaut de pouvoir ajouter une condition "Time", pour l'instant "Monthly" se déclenche une et une seule fois par mois à minuit (entre 00:00:00 et 00:00:31) à la date correspondante ? Par exemple {"Monthly","Samedi"} se déclenchera dès qu'on passera du premier vendredi au premier samedi du mois à minuit.
Lazer Posté(e) dimanche à 10:37 Signaler Posté(e) dimanche à 10:37 @fel-x je pense que tu n'as pas compris mon message précédent. Tu peux mettre toutes les conditions Dates dans une même règle, même sans Or, car GEA réalisera automatiquement le Or pour toi. Inconvénient ça fait une ligne très longue.... mais avantage ça n'en fait qu'une seule ! Et puis surtout en terme de performance d'exécution c'est un peu plus optimal, ça évite à GEA d'analyse 12 règles distinctes. GEA.add({{"Dates", "27/01"}, {"Dates", "27/02"}, {"Dates", "27/03"}, ......., {"Time", "11:30"}}, 0, "message", {"Push", 840}) Note : j'ai aussi repassé la durée à 0, je ne vois aucun intérêt à utiliser une durée de 30s, là encore toute petite optimisation pour les bonnes performances de GEA. 1
fel-x Posté(e) dimanche à 11:23 Signaler Posté(e) dimanche à 11:23 oui en effet @Lazer je n'avais pas saisi le sens de ton message. Je suis justement occupé à remplacer tous mes "Monthly" par 12 lignes mensuelles, car de façon définitive aucune ligne "Monthly" ne fonctionne (même sans autre condition). Et là tu viens de me faire percuter. Je préfère une longue ligne pas jolie, mais une optimisation des ressources ! Je vais modifier de ce pas. J'en profite pour signaler que je constate que le message Push est celui qui est dans l'action et pas dans la notification, lorsque j'emploie "Dates" en condition. GEA.add({"Dates", "01/01"}, 30, "message 1", {"Push", 840) -- l'ID 840 (smartphone) ne reçoit rien GEA.add({"Dates", "01/01"}, 30, "message 1", {"Push", 840, "message 2"}) -- l'ID 840 (smartphone) reçoit "message 2" A quoi sert le "message 1" que je pensais retrouver dans le Push et dans le debug, mais que je ne retrouve nulle part ? Ou c'est moi qui fait un truc pas juste ? Parce qu'avec "Time" ou "Days" (ou les deux) en condition, je reçois bien le "message 1 en Push" et n'ai pas besoin d'ajouter un "message 2" GEA.add({{"Time", "13:10"}, {"Days", "All"}}, 30, "message 1", {"Push", 840}) -- l'ID 840 (smartphone) reçoit "message 1"
Lazer Posté(e) dimanche à 11:31 Signaler Posté(e) dimanche à 11:31 Je ne sais pas trop, je n'ai jamais utilisé l'action Push qui ne doit exister que de façon historique pour des besoins précis demandés par certains utilisateurs. Perso je déclare simplement ma variable GEA.portables = {...} dans la config, et ça suffit à ce que je reçoive les notification sur mes téléphones. Après il n'y a qu'à mettre la notification dans la règles GEA (3ème paramètre, entre la durée et l'action) comme tu le fais déjà. Quand la notification est vide (chaine de caractère ""), alors ça n'envoie tout simplement pas de notification. J'espère que ne dernier firmware de la HC3 ne va pas tout casser (pas testé encore) car apparemment il y a des modifications au niveau de l'API d'envoi de notifications...
jojo Posté(e) dimanche à 13:06 Signaler Posté(e) dimanche à 13:06 il y a une heure, fel-x a dit : Je préfère une longue ligne pas jolie, pour la facilité de lecture, et en n'ayant qu'une condition GEA, tu peux faire ainsi : GEA.add({{"Dates", "27/01"}, {"Dates", "27/02"}, {"Dates", "27/03"}, ......., {"Time", "11:30"}}, 0, "message", {"Push", 840}) Si tu as bien configuré GEA comme @Lazer te l'a suggéré, function config(GEA) -- =================================================== -- Configuration générale -- =================================================== -- list of devices via /api/iosDevices/ GEA.portables = {840,} -- forcer la langue de GEA en "fr" pour que GEA Alarm fonctionne GEA.language = "fr" end function setEvents() ... (tes règles) chaque fois que les conditions sont ok, le message "message 1" est envoyé sur les portables définis plus haut. Donc l'action {"Push",...} est inutile. Maintenant, je ne sais pas si GEA exige d'avoir une action définie. P.S. : je t'avais dit que GEA c'était une tuerie ...
Lazer Posté(e) dimanche à 13:53 Signaler Posté(e) dimanche à 13:53 (modifié) il y a 48 minutes, jojo a dit : Maintenant, je ne sais pas si GEA exige d'avoir une action définie. Non Exemple : GEA.add(true, 0, "Démarrage de GEA le #date# à #time#", nil, "Démarrage GEA") (issu de la config donnée par défaut dans le tuto quand on télécharge GEA) Modifié dimanche à 13:54 par Lazer
fel-x Posté(e) dimanche à 14:17 Signaler Posté(e) dimanche à 14:17 Oui oui j'ai bien la bonne config de base avec GEA.portables = {840} Ceci dit je ne souhaite pas avoir une notification sur mon portable à chaque règle exécutée. Je préfère donc préciser en action vers quel(s) deviceID(s) doivent partir les push. Par exemple ceci fonctionne aussi : {"Push", {840, 716, 717, 718}, "Coucou la famille !"} mais je sais qu'un "Push" tout seul sans aucun argument/paramètre derrière va envoyer vers le {840}
Lazer Posté(e) dimanche à 14:48 Signaler Posté(e) dimanche à 14:48 il y a 27 minutes, fel-x a dit : Ceci dit je ne souhaite pas avoir une notification sur mon portable à chaque règle exécutée. C'est pour cela qu'il est conseillé de ne mettre un texte de notification que lorsque qu'on souhaite en recevoir une, sinon on laisse une chaine vide "" Tu te compliques beaucoup la vie à mettre un texte de notif, et rajouter des Push partout où tu en as besoin. Attention à ne pas confondre le texte de notif, avec le texte final (après les actions) qui sert à décrire la règle, c'est peut être ça qu'il te faut utiliser. On voit bien dans la règle d'exemple lors du démarrage de GEA que j'ai recopiée plus haut, il y a un texte pour la notif, et un autre texte pour décrire la règle (celui ci est facultatif et purement informatif)
jmg38 Posté(e) mercredi à 16:29 Signaler Posté(e) mercredi à 16:29 Bonjour, GEA redémare seul plusieurs fois par jour. Je l'ai réinstallé mais j'ai toujours cette erreur que je ne comprends pas: [17:15: Quick App crashed main.lua 2691: bad argument #1 to 'match ' (string expected, got boolean) Erreur dans une de mes lignes qui le fait planter? au débug je ne vois rien d'anormal!
Lazer Posté(e) mercredi à 17:00 Signaler Posté(e) mercredi à 17:00 Il faudrait que tu arrives à identifier la règle concernée qui fait planter GEA (en isolant les règles une par une jusqu'à trouver celle qui fait crasher GEA) Car là, le plantage se produit en plein milieu du code, impossible de savoir dans quelle condition/action se produit. Seul indice, c'est dans un bloc qui teste les conditions + ou -, donc ça doit correspond à une règle où tu as des conditions de comparaison de valeurs numériques (par exemples "Value+" ou "Value-") LUA n'est pas content car il se retrouve à comparer une valeur booléenne (true/false), c'est ton second indice pour identifier la règle coupable.
jmg38 Posté(e) mercredi à 17:27 Signaler Posté(e) mercredi à 17:27 Merci, réponse ultra rapide et précise. Je vais regarder de près et je soupçonne l'intrus... Je te dis ce que j'ai trouvé ...
jmg38 Posté(e) jeudi à 07:50 Signaler Posté(e) jeudi à 07:50 C'est bien ça un value (très) mal placé ! GEA ronronne calmement! Encore merci Lazer pour ta réactivité et ta perspicacité ! 1
Messages recommandés