Bonjour,patoche94 a écrit : ↑12 mai 2019, 16:11bonjour
le widget est très sympa mais il y a un gros problème : l'aiguille se positionne correctement lorsqu'on affiche le dashboard, mais dès que la valeur s'actualise, l'aiguille se met à tourner parfois d'un ou 2 tours complets pour se repositionner sur une valeur totalement fausse.
J'ai ce comportement sur une indication de puissance dont l'échelle est 0-5000 W
PS : pour le calcul de "angle", j'aurais plutôt mis (si la position min est à -10° et la position max à 232°) :
angle = Math.round(((_options.display_value - #minValue# ) * 242 / plage) - 10 )
mais ceci dit ce n'est pas l'origine du problème que je rencontre, c'est plutôt je pense dans l'utilisation de "rotate" dans la ligne du dessous, mais là, je ne suis pas assez calé ...
Quel navigateur ? valeurs min & max renseignées sur la commande ? Dernière version du widget (2019-05-07 15:27:25) ?
Pour info l'angle total du min au max représente 222° donc l'aiguille va de 0° à 222°. @jpty a (entre autre) ajouté des butées minimales et maximales respectivement à -10° et à 232° pour arrêter l'aiguille justement.
Le "rotate" anime l'aiguille pour la faire tourner à l'angle voulu (de 0° à 222° donc) selon le calcul suivant:
(valeur - valeur minimale) * 222 (angle total) / plage (valeur maximale - valeur minimale)
Concernant ton équipement, la valeur minimale est donc 0 et maximale 5000...
Ce qui donne pour une valeur de 1750W par exemple: (1750-0)*222 / 5000=77,7°
Pour vérifier avec une valeur moyenne on doit arriver à 111° (222° d'angle total / 2): (2500-0) * 222 / 5000 = 111°