Precision archivage données historisés (bug ?)

Bonjour,

Je constate un pb d’arrondi dans l’archivage des données historisées.
J’ai une commande avec une precision de 1 digit … OK, les valeurs sont bien arrondies (à l’affichage et dans la table history)
Par contre, si je remonte plus loin dans l’historique, je constate des valeurs avec + d’1 digit voir des valeurs de nombres rationnels (1,333333333333). et donc je constate bien ces valeurs dans la table history_arch.
Je comprends que ces valeurs sont issues d’une moyenne de valeurs lors de la bascule des données de history vers history_arch la nuit (afin de limiter le volume de données)
Par contre, le non-arrondi à 1 digit lors de cette moyenne comme paramétré dans la commande ne me semble pas normal.

Norbert

ne faut il pas enlever le lissage par moyenne ?

Ca règlerait sans doute le pb mais ca ne règle néanmoins pas le pb de fond, … et ca va grandement augmenter le nb de données en base

Norbert

si, ca règle le problème, il n’y aura plus que des données sur un digit mais très nombreuses … pour compresser, on réduit la précision

la précision coute cher … au moins en place

il faut peut être régler le pb en amont en ne stockant que les changements d’état par exemple, tout dépend de quoi on parle

C’est un détecteur de hauteur d’eau de piscine dont la précision envoyée à JC est au centième de millimètres
Aucun intérêt, donc j’arrondis au millimètre (c’est déjà beaucoup comme précision pour une hauteur d’eau de piscine.
Non répétition des valeurs activée
Donc je ne stocke QUE les chgts d’état

On est d’accord, mais en l’occurrence, il me fait le contraire, je pars de 1 digit non compressé pour arriver à 2,3, voir x digits compressés

Ex, sur une heure, hier
3 valeurs sauvegardees, 0.1, 0.2 et 0.1
→ valeur archivée 0.133333333 au lieu de 0.1 (0.4/3)

Norbert

la moyenne est bien de 0.13333 qui tient sur une seule valeur au lieu de 3, je pense que ca gagne de la place dans la base. je ne pense pas que la base stocke sous forme de digits…

la hauteur d’eau dans une piscine peut avoir 3 valeurs différentes dans une heure ?? ne vaudrait il pas mieux relever cette hauteur que toutes les heures, voir plus ?

C’est un exemple !
Le pb n’est pas la mesure du niveau de l’eau de ma piscine (qui peut bien en l’occurrence évoluer dans la même heure en cas de pluie, cf une des dernières pluies, 15mm en une heure, ou bien lorsque je la reremplis, ou je serai bien content que la vanne s’arrête lorsqu’elle est pleine et pas 1h après dans le pire des cas), mais la gestion de l’archivage des données.
La précision d’une moyenne ne peut pas être supérieure à la précision des données unitaires, c’est physique ( au sens des cours de physique du collège). Le contraire n’a pas de sens.
Les données archivées devraient l’être sur la base du même arrondi que la valeur elle même

Norbert

What ??? Donc quand tu a 18/20 et 17/20 tu n’a pas 17.5 de moyenne ?? :face_with_raised_eyebrow: :thinking:

1 « J'aime »

ok

la précision de la moyenne n’est pas supérieure mais seulement une moyenne, donc elle peut avoir des virgules contrairement aux chiffres moyennés (au sens mathématique du primaire ou collège). On n’y peut rien.

bon courage pour la suite

Pas du tout, ton 17 et ton 18/20 ne sont pas des arrondis, mais des valeurs exactes donc avoir plus de décimales pour la moyenne à un sens.

Règle
Lorsque l’on additionne ou soustrait des données, le résultat doit toujours être exprimé avec la même précision que la valeur la moins précise, soit celle ayant le moins de chiffres après la virgule.

dans ton exemple, le nombre de chiffres significatifs après la virgule est 1 (Tu peux avoir 18,0 ou 18,5), donc avec une moyenne avec un chiffre après la virgule est totalement juste

Je note ca comme un bug ? :sweat_smile:

Salut Norbert,

La prise en compte des arrondis lors de l’archivage de l’historique a été implémentée hier en alpha pour info

2 « J'aime »

Merci pour le retour et la prise en compte !
Norbert

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.