Aller au contenu

Messages recommandés

Posté(e)

en fait, j'utilisais avant {'Function", ...

  GEA.add({{"Property-", id["SALON_TMP"], "lastChanged", {"Function", function() return os.time() - 10 end}},
           {"Value!", id["SALON_TMP"],0}}, 3*60*60, "",
          {{"Repeat"},
           {"Email", "admin", "Valeur de SALON_TMP inchangée depuis 3 heures.\nSALON_TMP = #value[2]# °C.\nLe #date# à #time#.",
                              "SALON_TMP : Valeur inchangée"}})

et ça fonctionnait parfaitement.

Je voulais simplement éviter d'emploi "Function" pour res en 100% GEA.

Alors, quand avec cette instruction

  GEA.add({{"Property!", id["SALON_TMP"], "lastChanged", {"Time"}},
           {"Value!", id["SALON_TMP"], 0}}, 10, "",
          {"Email", "admin", "Valeur de SALON_TMP inchangée depuis #value[1]#.\nSALON_TMP = #value[2]# °C.\nLe #date# à #time#.",
                              "SALON_TMP : Valeur inchangée"})

j'obtenais ceci :

Citation

Valeur de SALON_TMP inchangée depuis 1784293828.
SALON_TMP = 28.4 °C.
Le 17/07/2026 à 15:10:34.

j'étais persuadé que {"Time"} retournait un nombre; donc {"Time"}-1 aurait du être ok (je retirais 1 sec au temps unix).

D'où ma surprise de voir l'erreur que c'était une table et du coup je me demandais s'il n'y avait pas une astuce cachée.

Du coup j'ai fait ceci :

    GEA.add({{"Property-", id["SALON_TMP"], "lastChanged", {"Time"}},
             {"Value!", id["SALON_TMP"], 0}}, SalonTmpUnchangedDuree, "",
            {{"Repeat"},
             {"Email", "admin", "Valeur de SALON_TMP inchangée depuis #duration#.\nSALON_TMP = #value[2]# °C.\nLe #date# à #time#.",
                                "SALON_TMP : Valeur inchangée"}})

mais ça ne fonctionne pas, et je pense que c'est le"Property-"(/+) qui ne donne pas le résultat escompté, car il veut comparer une valeur avec un tableau, puisque "Property!" fonctionne.

Je crois dès lors que l'origine du problème vient du fait que {"Time"} retourne du tableau et non une valeur comme les autres options .

Posté(e)
Le 18/07/2026 à 11:53, jojo a dit :

j'étais persuadé que {"Time"} retournait un nombre;

Non pas du tout, ça retourne une heure au format lisible par un humain, exemple "20:02" (à l'heure où j'écris.... chouette le palindrome :D ), donc une chaine de caractères.

Tu confonds avec l'instruction LUA os.time() dont je parlais quelques messages plus haut ;)

 

Le 18/07/2026 à 11:53, jojo a dit :

donc {"Time"}-1 aurait du être ok

Jamais de la vie, encore une fois, bien lire le message d'erreur qui est envoyé par l'interpréteur LUA avant même l'exécution du QA (et donc de GEA) : tu ne peux pas faire une opération arithmétique entre une table ( {"Time"} ) et un nombre ( 1 )

Dit autrement, ce n'est pas une erreur GEA, mais une erreur LUA.

Et puis de toute façon, même si ça avait été toléré en LUA, de son coté GEA ne permet pas ce genre de calcul.

 

Le 18/07/2026 à 11:53, jojo a dit :

mais ça ne fonctionne pas, et je pense que c'est le"Property-"(/+) qui ne donne pas le résultat escompté

Non toujours pas, c'est ton {"Time"} qui ne retourne pas un nombre. Tu ne peux donc pas comparer son résultat à celui de "Property"

 

Le 18/07/2026 à 11:53, jojo a dit :

Je crois dès lors que l'origine du problème vient du fait que {"Time"} retourne du tableau et non une valeur

Non, pas un tableau, juste une chaine de caractères.

Mais enfin la seconde partie de ta phrase est presque correcte : ce n'est pas un nombre :) (attention pas valeur, c'est trop générique comme terme)

 

 

Posté(e)

je suis donc revenu à mon ancien code avec {"Function" ...}

mais je continue de trouver étrant  que quand j'imprime #value[1]# (qui fait référence à {"Time"}) il me retourne un temps unix (1784293828), donc non lisible par les humains

Posté(e)

Parce que #value# fait une interprétation du résultat retourné.


C'est pas évident à comprendre, car tu mélanges plein de concepts différents dans tes messages : du pur LUA, de l'option (condition/action) GEA, et de la valeur dans une chaine de caractère interprété par GEA.

Posté(e)

Ah mais pour moi c'est à peu près clair, et c'est bien pour ça que très rapidement dans la discussion je t'ai dirigé vers l"utilisation de l'option GEA "Function".

 

 

C'est dans ta tête que ça semble moins clair :2: désolé je fais au mieux pour t'aider ;)

 

 

  • Upvote 1
×
×
  • Créer...