Bonjour,
Je souhaite faire varier la couleur d’un texte en fonction du résultat d’un time_diff entre la valeur du paramètre et l’heure actuelle.
Il y a quelque chose qui m’échappe car, quand j’utilise time_diff dans mes tests, le widget ne fonctionne plus.
Est-ce possible de faire ce genre de test ou pas?
Merci d’avance pour les réponses,
Stephan
Droopy
Juillet 4, 2024, 6:17
2
Bonjour,
Personne pour m’apporter un peu d’aide sur ce problème?
Stephan
Bison
Juillet 4, 2024, 6:57
3
Bonjour,
J’ai jamais essayé ce test ici mais bon …
Que contient la commande sur laquelle tu appliques ton widget ?
Tu veux faire un truc comme ça ?
Droopy
Juillet 4, 2024, 7:31
5
Re,
J’ai un écran sur lequel j’affiche tous mes équipements ZIGBEE avec la qualité de communication et la date/heure de dernière connexion
J’aimerais que l’affichage de la date/heure change de couleur en fonction du delta entre l’heure courante et l’heure de dernière communication
J’ai un virtuel qui contient toutes ces valeurs
Et j’ai un widget multistate qui teste le delta avec time_diff
Si j’applique le widget à une des commandes, rien ne s’affiche pour cette commande. Dans le cas ci-dessous, j’ai appliqué le widget à la commande du module salon
J’ai vérifié mon expression avec le testeur d’expression (pour être certain que je n’avais pas fait une erreur de frappe) et cela fonctionne:
Pour info, normalement j’avais time_diff(#value#,now,m) > 50 comme expression de test.
Je bloque depuis plusieurs jours là-dessus, merci pour un éventuel coup de main
Stephan
Droopy
Juillet 4, 2024, 8:13
6
La commande contient ceci: 2024-07-04 09:29:05
Bison
Juillet 4, 2024, 8:31
7
Bon, du coup c’est qu’il ne sera pas possible d’utiliser ce type de test dans le paramétrage du widget.
Il va falloir procéder avec la méthode remontée par Noyax37 et donc utiliser le time_diff dans une commande virtuelle.
C’est sur cette commande que tu pourras appliquer ton widget dont le test sera bien plus simple (#value# > xxx)
Droopy
Juillet 4, 2024, 7:22
8
Serait-ce un oubli dans la fonction WIDGET ? Est-ce que cela risque d’être corrigé un jour ?
Bison
Juillet 4, 2024, 7:38
9
Vu de la doc ce n’est pas un oubli non :
https://doc.jeedom.com/fr_FR/core/4.4/widgets
Un test comme round(#value#) > 2 ne fonctionne donc pas. Pas plus que l’utilisation d’un time_diff()
Ce n’est donc pas vraiment un bug mais une non prise en compte de fonctions à l’intérieur de ces tests.
Il te faut donc mettre ton time_diff dans la commande virtuelle et faire un test plus simpe comme décrit dans la doc
Droopy
Juillet 4, 2024, 7:43
10
Merci Bison pour cette explication. C’est dommage que l’on ne puisse pas mettre de fonction dans ces tests mais peut-être que c’est plus compliqué à faire qu’à le souhaiter.
Bison
Juillet 4, 2024, 7:46
11
Ça c’est le cas de partout
1 « J'aime »
system
A fermé ce sujet ()
Juillet 5, 2024, 7:46
12
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.