Aller au contenu

Messages recommandés

Posté(e) (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 :wacko:

Modifié par fel-x
Posté(e) (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 :wacko:

 

...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é par fel-x
Posté(e)

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

Posté(e)
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>}

 

Posté(e)
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 :2:

En attendant je vais utiliser un scénario en LUA pur.

 

Posté(e)

du coup, il faut  truander le système, (en faisant 12 ligne, ou en utilisant "or") avec "date & "time"

  • Like 1
Posté(e)

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

Posté(e)

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})
...

 

Posté(e)

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

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.

 

 

Posté(e)

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

  • Like 1
Posté(e)

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"

 

Posté(e)

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

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

Posté(e) (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é par Lazer
Posté(e)

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}

Posté(e)
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)

 

×
×
  • Créer...