Affichage des courbes de capteurs sur le dashboard

C’est magnifique! :heart_eyes:

ça me rend fou ce débat :joy:

En fait le problème c’est que chaque cas est unique, dans ton cas ça fait sens, mais dans le cas de @Terdious ça fait pas du tout sens. Du coup il y aura forcément un frustré (battez vous :stuck_out_tongue: )

@VonOx c’est des périphériques venant de quelle intégration ?

Comment les autres box domotique font ?

1 « J'aime »

Et sinon afficher les deux ?

Comme ça :

Température (chambre XXX) - Température (chambre YYY)

Z2M

Si je renomme ma feature dans cette box je vais avoir le prénom de mon fiston partout
image

On override la légende tout simplement

Edit: Il est chiant @Terdious :grin:

Y’a pas la place pour moi, et trop d’infos tue l’info :grinning:

1 « J'aime »

De mon côté je constate une net augmentation de la rapidité de chargement des graphiques. Ce qui pouvait prendre jusqu’à 5 secondes en prends moins de 1 à 2 !
:clap: Bravo pour l’optimisation !

Si tous les dev étaient comme toi à ce niveau, le web ne nécessiterait pas autant de puissance de calcul :sweat_smile:

1 « J'aime »

Aha merci :slight_smile: C’est mon métier la performance, je suis ingénieur backend à côté et c’est ma vie de faire des infra solide, des backend qui répondent vite, de l’optimisation, j’adore ça :stuck_out_tongue:

1 « J'aime »

Hello !!

Logs docker
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-2-centre-equitherapie): 0.42ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-2-centre-equitherapie): 0.049ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-2-centre-equitherapie): 587.672ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-2-centre-equitherapie): 0.393ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-2-centre-equitherapie): 0.383ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-2-centre-equitherapie): 676.25ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-2-centre-equitherapie): 0.06ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-2-centre-equitherapie): 0.022ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-2-centre-equitherapie): 0.061ms
getDeviceFeaturesAggregates: Aggregate by hourly, from Thu Oct 14 2021 06:04:54 GMT+0200 (Central European Summer Time), 138 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-2-centre-equitherapie): 102.103ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-2-centre-equitherapie): 0.626ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-2-centre-equitherapie): 3.578ms
2021-10-15T06:05:10+0200 <info> device.calculateAggregate.js:105 (ChildProcess.<anonymous>) device.calculateAggregate: Finishing processing for interval daily
2021-10-15T06:05:10+0200 <info> device.calculateAggregate.js:38 (DeviceManager.calculateAggregate) Calculating aggregates device feature state for interval monthly
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-1-centre-equitherapie): 0.054ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 582.076ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.079ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.055ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-2-centre-equitherapie): 0.042ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-3-centre-equitherapie): 0.035ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-2-maison-dublem): 0.035ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-1-centre-equitherapie): 0.036ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-2-centre-equitherapie): 0.043ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-2-centre-equitherapie): 720.035ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-2-centre-equitherapie): 0.387ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-2-centre-equitherapie): 0.03ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-2-centre-equitherapie): 720.198ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-2-centre-equitherapie): 0.043ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-2-centre-equitherapie): 0.209ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-3-centre-equitherapie): 2.553s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-3-centre-equitherapie): 0.457ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-3-centre-equitherapie): 0.022ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-2-maison-dublem): 2.563s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-2-maison-dublem): 0.176ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-2-maison-dublem): 0.23ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 2.565s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.062ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.022ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-3-centre-equitherapie): 0.044ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-3-centre-equitherapie): 117.822ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-3-centre-equitherapie): 0.308ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-3-centre-equitherapie): 0.025ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-1-centre-equitherapie): 0.039ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-1-centre-equitherapie): 0.041ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-2-centre-equitherapie): 0.036ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-3-centre-equitherapie): 0.037ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-3-centre-equitherapie): 0.038ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-2-centre-equitherapie): 0.043ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-1-centre-equitherapie): 0.049ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-3-centre-equitherapie): 1.014s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-3-centre-equitherapie): 0.408ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-3-centre-equitherapie): 0.021ms
getDeviceFeaturesAggregates: Aggregate by monthly, from Thu Oct 15 2020 06:05:35 GMT+0200 (Central European Summer Time), 226 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-1-centre-equitherapie): 1.733s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.479ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 1.688ms
getDeviceFeaturesAggregates: Aggregate by monthly, from Thu Oct 15 2020 06:05:35 GMT+0200 (Central European Summer Time), 229 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-2-centre-equitherapie): 1.742s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-2-centre-equitherapie): 0.458ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-2-centre-equitherapie): 1.629ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.724s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.05ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.019ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-2-maison-dublem): 0.045ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 2.414s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.052ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.025ms
getDeviceFeaturesAggregates: Aggregate by monthly, from Thu Oct 15 2020 06:05:35 GMT+0200 (Central European Summer Time), 236 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-3-centre-equitherapie): 2.412s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-3-centre-equitherapie): 0.55ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-3-centre-equitherapie): 1.492ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-2-centre-equitherapie): 2.966s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-2-centre-equitherapie): 0.06ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-2-centre-equitherapie): 0.026ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-2-maison-dublem): 1.636s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-2-maison-dublem): 0.056ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-2-maison-dublem): 0.022ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-1-centre-equitherapie): 0.038ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-1-centre-equitherapie): 0.035ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-1-centre-equitherapie): 0.043ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 1.159s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.046ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.025ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.162s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.058ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.035ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 1.157s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.033ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.02ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-1-centre-equitherapie): 0.04ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-1-centre-equitherapie): 0.042ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-1-centre-equitherapie): 0.033ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 1.154s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.052ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.034ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.155s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.058ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.033ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 1.156s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.086ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.024ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-1-centre-equitherapie): 0.042ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 89.092ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.044ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.054ms
2021-10-15T06:05:48+0200 <info> device.calculateAggregate.js:105 (ChildProcess.<anonymous>) device.calculateAggregate: Finishing processing for interval monthly
Info page web

Le 1er chargement met toujours une 10aine de secondes

Par contre sur mon Dashboard contenant un mix de box appareil, caméra et 3 courbes - C’est très/suffisamment rapide :

Logs docker
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-phase-2-centre-equitherapie): 0.455ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-2-centre-equitherapie): 159.074ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-2-centre-equitherapie): 0.241ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-2-centre-equitherapie): 0.408ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(puissance-phase-2-centre-equitherapie): 0.099ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(intensite-totale-centre-equitherapie): 0.055ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(intensite-totale-batiment-partie-perso): 0.039ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(intensite-totale-maison-dublem): 0.036ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(energie-totale-phase-2-centre-equitherapie): 0.048ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(tension-moyenne-centre-equitherapie): 0.045ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(tension-moyenne-batiment-partie-perso): 0.064ms
getDeviceFeaturesAggregates.findingDeviceFeatureInRAM(tension-moyenne-maison-dublem): 0.037ms
getDeviceFeaturesAggregates: Aggregate by hourly, from Thu Oct 14 2021 06:22:08 GMT+0200 (Central European Summer Time), 138 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-2-centre-equitherapie): 1.304s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-2-centre-equitherapie): 0.657ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-2-centre-equitherapie): 3.528ms
getDeviceFeaturesAggregates: Aggregate by daily, from Fri Oct 08 2021 06:22:08 GMT+0200 (Central European Summer Time), 7 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(tension-moyenne-centre-equitherapie): 1.303s
getDeviceFeaturesAggregates.buildingDownsamplingArray(tension-moyenne-centre-equitherapie): 0.052ms
getDeviceFeaturesAggregates.downsamplingData(tension-moyenne-centre-equitherapie): 0.038ms
getDeviceFeaturesAggregates: Aggregate by daily, from Fri Oct 08 2021 06:22:08 GMT+0200 (Central European Summer Time), 0 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(tension-moyenne-batiment-partie-perso): 1.304s
getDeviceFeaturesAggregates.buildingDownsamplingArray(tension-moyenne-batiment-partie-perso): 0.044ms
getDeviceFeaturesAggregates.downsamplingData(tension-moyenne-batiment-partie-perso): 0.039ms
getDeviceFeaturesAggregates: Aggregate by daily, from Fri Oct 08 2021 06:22:08 GMT+0200 (Central European Summer Time), 7 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(tension-moyenne-maison-dublem): 1.304s
getDeviceFeaturesAggregates.buildingDownsamplingArray(tension-moyenne-maison-dublem): 0.069ms
getDeviceFeaturesAggregates.downsamplingData(tension-moyenne-maison-dublem): 0.045ms
getDeviceFeaturesAggregates: Aggregate by daily, from Fri Oct 08 2021 06:22:08 GMT+0200 (Central European Summer Time), 7 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(intensite-totale-maison-dublem): 1.332s
getDeviceFeaturesAggregates.buildingDownsamplingArray(intensite-totale-maison-dublem): 0.049ms
getDeviceFeaturesAggregates.downsamplingData(intensite-totale-maison-dublem): 0.025ms
getDeviceFeaturesAggregates: Aggregate by daily, from Fri Oct 08 2021 06:22:08 GMT+0200 (Central European Summer Time), 0 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(intensite-totale-batiment-partie-perso): 1.334s
getDeviceFeaturesAggregates.buildingDownsamplingArray(intensite-totale-batiment-partie-perso): 0.023ms
getDeviceFeaturesAggregates.downsamplingData(intensite-totale-batiment-partie-perso): 0.021ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-2-centre-equitherapie): 1.339s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-2-centre-equitherapie): 0.07ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-2-centre-equitherapie): 0.049ms
getDeviceFeaturesAggregates: Aggregate by daily, from Fri Oct 08 2021 06:22:08 GMT+0200 (Central European Summer Time), 7 rows returned
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(intensite-totale-centre-equitherapie): 1.348s
getDeviceFeaturesAggregates.buildingDownsamplingArray(intensite-totale-centre-equitherapie): 0.053ms
getDeviceFeaturesAggregates.downsamplingData(intensite-totale-centre-equitherapie): 0.022ms
Info page web

Donc résultat : Seul une vue dédiée Dashboard est longue à afficher. J’ai 18 courbes « Test » dessus. Mais ça ne me choque pas pour le coup, et ne me dérange pas. Cette vue sera affichée soit rarement, soit sur une vue sur une tablette dédiée à l’avenir.

Si je reprend le même exemple que @VonOx, ici si je ne prend pas le nom des features je me retrouverais avec 3x3 fois le même nom de device ce qui ne fait plus sens. C’est déjà compliqué car on ne peut pas modifier l’ordre d’affichage. Chaque « Energie » et « Energie Totale » serait donc indiscernable :

Il y a de nombreuse solutions pour ne pas faire de « frustré ». Mais si pas possible alors tant pis, je n’ai pas l’envie que quelqu’un soit « puni » à cause de mes demandes ou propositions. J’abandonne le sujet ^^ Le seul sujet c’est que pour le moment plusieurs personnes font la remarque qu’il est impossible de distinguer certains appareils dans les sélections. Comment résoudre cela sans que l’utilisateur soit obliger de créer des appareils fictifs plus scènes pour les gérer (Tasmota multi prises, etc.). A lépoque (il y a plus d’un an) j’avais soumis l’idée de séparer les devices (Type Dual ou CH4 de Sonoff) comptant plusieurs commutateur en plusieurs devices.

:sweat_smile: J’éviterais dorénavant ^^ :kissing_heart:

@Terdious Ok, super intéressant merci !

Comme on peut le voir, les appel les plus lents sont les suivants:

Summary
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 1.154s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.155s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 1.157s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.162s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.724s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 1.159s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 1.156s

getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-1-centre-equitherapie): 1.733s
getDeviceFeaturesAggregates.gettingRowsFromAggregatedDb(energie-totale-phase-2-centre-equitherapie): 1.742s

C’est principalement des appels DB sur la donnée « live », autrement dit, les données de la dernière heure.

Par curiosité, tu enregistre combien d’états par minutes pour ces capteurs ?

Aussi, comme il y a beaucoup de requêtes, le browser queue les requêtes pour ne pas DDOS le serveur, donc c’est plus ou moins normal, pas trop d’inquiétude :slight_smile:

Aussi, tu fais tourner ce backend sur le même disque SSD que ton installation Gladys de prod ? Il y a moyen que les deux se concurrencent sur l’accès disque, donc tu auras peut-être une meilleure performance en production quand tu n’auras plus qu’une instance :slight_smile:

Je comprend l’idée… Peut-être que ces features ne sont juste pas bien discernable dans l’UI (même icône, etc… on pourrait apporter quelque chose pour que ce soit plus lisible ?)

Pour la distinction entre « énergie consommée » et « énergie consommée totale », c’est quelque chose de courant chez les device qu’on trouve dans le commerce ou c’est toi qui fait ta sauce ici @Terdious ?

Pourquoi la « totale » ça serait pas Gladys qui la calculerait ?

C’est la solution vers laquelle on va partir, comme dit sur l’autre sujet :slight_smile:

Dans tous les cas, après avoir fait cette enquête, c’est vraiment le device.name qui est important et qui va être mis en avant dans Gladys, pas le deviceFeature.name.

Je vais le changer dans cette vue aussi, on reste sur le device.name

Nouveau build disponible sur le tag chart avec les dernières corrections:

  • Affichage du device name au lieu du deviceFeature.name (suite aux réflexions sur l’autre sujet)
  • Correction purement dans le code lié aux retours de @AlexTrovato

Il me reste le bug de NaN de @lmilcent à investiguer mais je n’arrive pas à reproduire pour l’instant.

Est-ce que vous avez d’autres retours?

Est-ce que la fonctionnalité fait sens pour tout le monde désormais? :slight_smile:

Salut à tous!

J’ai bien bossé sur la PR aujourd’hui, et pour moi je suis arrivé au bout du développement :

  • J’ai fixé les derniers trucs à fixer
  • Retiré les logs rajouté lors du développement pour debug chez certains
  • Ajouté des données dans le fichier de demo pour le site de démo

J’ai fais un dernier build sur le tag :chart comme d’habitude.

Je suis preneur de tout dernier retour, et si tout le monde est bon je merge ça en prod! :pray:

Merci à tous ceux qui ont testé jusque-là, j’espère que la fonctionnalité sera utile à beaucoup de monde ! :partying_face:

1 « J'aime »

Pour information je viens de merger ce développement, qui sera disponible dans Gladys v4.6.0 (en cours de build)

Je fermerais ce topic quand la release / le post de release sera live !

Merci à tous ceux qui ont donnés leur retour :pray:

Bien entendu, si il y a encore des nouveaux feedbacks, je suis toujours preneur (d’ailleurs il y en aura très certainement avec la release en prod) !!

3 « J'aime »

Je trouve ça top !
J’ai juste une question sur le comportement suivant :
J’ai configuré 2 graphiques de températures (les valeurs des 2 capteurs me sont remontées par le même script via mqtt), et j’ai une décimale qui s’affiche dans un cas, deux dans l’autre. Idem pour les heures : j’ai hh:mm sur le premier graphe et hh:mm:ss sur le second. Est-ce que c’est moi qui ai mal configuré quelque-chose ?

Par ailleurs, si l’on prend le 1er graphe où les températures sont affichées avec une décimale, la valeur la plus récente affichée en gras ne devrait-elle pas suivre le même format ?

PPS : Ce devrait être “DernièreS 24h” :slight_smile:
Dans le même ordre d’idée, si j’essaie d’afficher une durée de 7 jours, j’ai le message “Pas de valeurs sur cet interval” (intervalLE ça serait mieux :slight_smile: ) ; c’est dommage qu’on ne puisse pas afficher le graphe du tout au prétexte qu’on n’a pas de données sur la période entière, je trouve.

C’est juste la librairie qu’on utilise qui adapte le display en fonction de la quantité de donnée, ça me choque pas en tout cas moi :slight_smile:

Ah! Merci du retour!

Merci aussi!

C’est pas la période entière, en gros quand tu affiches les intervalles supérieurs à 24h, on utilise les données « aggrégées », car les données live sont trop lourde pour être affichée dans un si petit graph. L’aggrégation est calculée uniquement toutes les heures, donc ça devrait prendre une petite heure pour que tu ais de la data :slight_smile:

Peut-être qu’un message plus clair qui précise ce point serait intéressant, je me dis que c’est peut-être pas clair actuellement

ok impeccable, je patienterai jusqu’à demain :slight_smile:

Effectivement, je n’avais pas fait gaffe à la différence d’échelle entre les 2 graphes, merci pour le retour.

Hello,
Petite question sur les données agrégées, j’ai fait un flow nodered qui me récupère les données de Coinbase pour le Shiba. Les valeurs sont autours de 0.0005 actuellement, donc le graphique sur une heure s’affiche bien (sauf pour la variation qui n’affiche pas assez de décimale a mon gout :stuck_out_tongue: ) par contre sur le 24h, ce qui semble être agrégé apparait tout le temps à 0 (j’ai pourtant normalement activé le keep_history).
Est ce que c’est normal ?
image image

Il faut être patient, les données agrégées sont calculées toutes les heures :slight_smile: ça va venir !

Il faut que je précise ça dans l’UI ça tu n’es pas le premier à le demander

Cette vue a plutôt été designé pour de l’affichage domotique, pas trop pour des valeurs boursières aussi petite :smiley:

Justement, ça fait plusieurs jours (une dizaine) que mon flow nodered est en lien avec Gladys, et toujours pas de data dans « Dernière 24h »…

Ah ah oui je peux comprendre :smiley:

Ah, je crois comprendre en fait! :smiley: Il y a bels et bien des valeurs, juste que c’est à 0 (tu peux voir la ligne en bas de ton graphique), parce que pour les valeurs aggrégées on fait une moyenne… J’avoue que je n’ai pas du tout designé cet écran pour les valeurs boursières ^^

Je sais pas quelle serait la solution, peut-être proposer différents aggrégats autre que la moyenne ?

La fonctionnalité étant disponible depuis la 4.7, je ferme ce sujet pour libérer les crédits ! :slight_smile:

1 « J'aime »