Forum eedomus
https://forum.eedomus.com/

comparaison heure dans les règles
https://forum.eedomus.com/viewtopic.php?f=18&t=10941
Page 1 sur 1
Auteur:  thrymartin [ 28 Sep 2021 13:25 ]
Sujet du message:  comparaison heure dans les règles

Hello,

Si un capteur affiche une heure sous format hh:mm:ss
Est ce que les comparaisons dans une règle fonctionnent sous ce format ou il faut que les heures soient converties en nombre ?

merci
Auteur:  merguez07 [ 28 Sep 2021 18:22 ]
Sujet du message:  Re: comparaison heure dans les règles

Salut thrymartin,

non ça ne marchera pas (j'ai testé). il faut effectivement une convertion en nombre
Auteur:  thrymartin [ 28 Sep 2021 19:23 ]
Sujet du message:  Re: comparaison heure dans les règles

OK, merci.
Au lieu de bricoler du code en faisant des clés supplémentaire dans le XML, j'ai trouvé ça :

si XPath = //key = 12:34:56 ou "depuis hier"

faire un XPath = translate(//key,'depuis hier:','0') ce qui donne 123456 ou 0
avec un clone du capteur en type de donnée décimale...

j'avoue que j'ai été surpris que ça fonctionne puisque ce n'est pas tout à fait l'utilisation trouvée ici https://www.gchagnon.fr/cours/xml/fonctionsxpath.html
(on peut faire plus de trucs que ce que je pensais avec XPath ! )

En fait, c'est comme si dans le 3eme argument, on avait 0 suivit de 10 ""
donc dans "depuis hier:" seul le d est remplacé par 0, le reste par ""
et dans un format horaire, seul le ":" est remplacé par ""
les chiffres n'étant pas dans le 2eme argument, ils ne sont pas remplacés.

on vérifie ?
translate(//key,'dehiprsu:','0')
et ça marche aussi... (par contre l'espace n'est pas traité, on n'est pas obligé de l'inclure)
Page 1 sur 1 Le fuseau horaire est UTC+1 heure