Amélioration des graphiques

:sweat_smile::sweat_smile: motivé ^^ et c’est sympa de reprogrammer apres cette « longue » absence.

Bon en fait ca marche aussi pour les courbes « Aire ». C est juste que j avais plusieurs courbes et ca ne fonctionne pas. De ce que je vois et comprends sur le github, l’export csv ne fonctionne sur le multi courbe si les valeurs de temps sont différentes. Donc je suppose que si les valeurs ont un ‹ created_at › identique ca doit fonctionner… je testerais a l occasion.
En attendant je vais chercher une methode pour pouvoir au moins selectionner la courbe a exporter …

Salut @Terdious :slight_smile:

Très cool toutes ces investigations, c’est vrai que ce serait chouette de pouvoir plus explorer la data déjà présente dans Gladys !

Par contre je suis pas forcément pour l’onglet séparé (qui n’est au final exactement la même chose que le tableau de bord), il faudrait plutôt intégrer ce que tu as fais là au tableau de bord déjà existant :slight_smile:

Je préfère que tu gardes l’autre fonctionnalité qui est une fonctionnalité précise.

Je pense que je vais convertir ce sujet en discussion dans « Développement », et fermer la demande de fonctionnalité « améliorer les graphiques » car la demande initiale de @Hizo a en fait déjà été développé (avoir les couleurs personnalisées dans les graphiques)

J’ai pour ambition de passer sur DuckDB dès que ça passe en 1.0 (normalement prévu pour fin du S1 2024), j’en avais parlé sur un autre sujet je ne sais pas si tu avais vu.

ça améliora drastiquement les performances de requêtes même en tapant dans la donnée brute.

A voir si ce développement doit être fait avant ou pas. Effectivement en attendant on peut appeler la donnée agrégées dès que la durée sélectionnée dépasse une certaine période.

Je veux pas te casser dans le feu du développement, mais pense à bien découper ce que tu fais pour pas retomber dans tes travers : des PRs énormes :joy:

Je pense que là si tu veux que ce développement atterrisse dans Gladys, il faut se repencher sur le fonctionnement de base: l’intégration propre avec Gladys (a quel besoin ça répond, et où on le met dans Gladys), et pour l’instant ne pas trop partir dans tous les sens pour avoir une PR clean :wink:

Après on pourra itérer sans souci comme pour Netatmo!

Salut @pierre-gilles ,

Tout d’abord merci pour la mise au propre du sujet. Tu as raison. Désolé de la pollution.

Ton avis est-il définitif à ce sujet ou est-ce possible de faire parler la commu ?
Sincerement je vois chez moi par exemple quelque chose d’apport, le dashboard etant plutôt un acces commande + visu rapide sur les états, j’en ai deja une tonne :


Pour moi il s’agit plus d’analyse et est a part ds dashboard, je vais en creer / supprimé régulièrement. Et sincerement avoir 10 vues courbes en plus au milieu de mes tableaux de bord me gênerait considerablement, meme si bien entendu je les utiliserais tout de meme ainsi.

Toutefois on peut peut-être trouver d autres solutions ^^ si je créé une PR maintenant, pourras-tu faire des propositions.

Et le côté colonne unique est indispensable pour ce developpement.

Oui, nous en avions parlé de vive voix ensemble et je l’ai bien en tete. C’est pour cette raison que j’exprimais cette solution, qu’elle soit temporaire ou non car je n’ai pas idée de quand tu passeras sur DuckDb et ensuite si les tests sur 1 année seront concluants. Hate ^^

Aucune chance ^^ J’ai bien compris le truc pas d’inquiétude. Pour le coup :

  • j’ai quand meme besoins d’avoir une vision plus large meme si ma PR est ensuite decoupée !!
  • presque pas de partie server touchée/impactée (une 10aine de ligne)
  • principales modifications côté front… et du coup pour le moment attente de ta decision sur nouvel onglet ou pas ^^

Quand tu dis ca, tu parles de la partie selection de feature qui est differente de l actuelle ou par exemple de la partie export ? Car cette dernière n’est vraiment pas lourde !

C’est tout à fait ouvert à la discussion :slight_smile:

Il faut voir quelle est l’usage final de la fonctionnalité, et si ça fait plutôt sens d’avoir ça dans le dashboard, par exemple via un bouton qui permettrait « d’étendre » la vue graphique d’un capteur, comme on fait pour les caméras par exemple (avec le bouton « ouvrir en plein écran »), ou si vraiment on veut un onglet vraiment dédié à l’analyse.

Dans le cas où on veut un onglet lié à l’analyse, pourquoi pas mais du coup il faut faire quelque chose de vraiment différent du tableau de bord !

oui moi non plus aucune idée de quand ça sera prêt chez eux, autant ne pas attendre, et adapter ensuite quand on passera à DuckDB

A toi de voir au feeling, mais comme toujours il faut rester concis et se focus sur une fonctionnalité principale, sans trop toucher à tout comme ça c’est plus facile à review, et ça créé pas des instabilités à d’autres endroits :wink:

1 « J'aime »

Victory !! ^^ Enfin maybe si ça plait pour l’export multi courbe :

Je suis en cours de nettoyage du code pour reduire au strict minimum, j ai créé la PR : Add charts-history feature and related components and styles. Dès que c’est prêt je fais une image. Si il y a des testeurs qui peuvent copier/coller leur base prod et tester à l’usage pour avoir des retours notamment sur le point mentionné par @pierre-gilles pour donner un avis sur :

  • utilisation des courbes actuelles sur le dashboard avec une ouverture pour avoir ce genre de chose
  • ou une page dédiée ou on a la possibilité de se faire des vues d’historiques dédiées.

Je vous tiens au jus

3 « J'aime »

Download charts and histo compressé

4 « J'aime »

Et enfin le zoom avec précision :
Zoom charts and histo

Et bien entendu l’export fonctionne avec la courbe affichée. Ne me reste plus que les chevrons gauche droite à terminer pour ajouter le pas en fonction de l’affichage et non de l’intervalle, et on est bon pour les tests, les 3/4 fonctionnalités d’origines (recensées dans les divers sujets) étant là je pense :

  • Vue d’historique précise en grand (encore à déterminer si il faut passer par des courbes existantes depuis le dashboard ou une vue à part entière pour la consultation)
  • Téléchargement des états en .csv / .xlsx
  • Précision des données affichées sur zoom
  • Pouvoir sélectionner de date à date
4 « J'aime »

Pour moi un développement TRÈS utile vu que je suis ma consommation / production d’électricité à la maison !!

Merci encore @Terdious, et même si j’imagine qu’il va y avoir d’abord des débats, ensuite du codage, ensuite des tests… vivement que ce soit intégré à Gladys :heart_eyes: !!

5 « J'aime »

Image en cours de build docker pull terdious/gladys:add-view-charts. Je la testerais demain pour vous dire si ça marche ^^

Dans tous les cas, j’espere que ça lance le sujet ^^ Et oui comme tu dis, possiblement des débats ^^ Pour le moment ce n’est que la vision que j’en ai ^^

2 « J'aime »

J’ai tenté la construction d’une image de test mais que ce soit sur la PR ou sur la construction d’image côté github action cela plante sur la version linux/amd64 dans « Docker magic ! ». Je ne n’arrive pas à voir pourquoi. @pierre-gilles aurais-tu une idée ?

J’ai monté une image en arm V8 (linux/arm64) : docker pull terdious/gladys:add-view-charts (si quelqu’un peut tester ça m’intéresse de savoir si les perfs sont mieux qu’en v7 ^^)
Et une en linux/arm/v7 : docker pull terdious/gladys:add-view-charts-armv7
EDIT2 : Fonctionne en armV7 pour ceux qui souhaitent tester.

Mes remarques notées pour le moment et une vue :
Historique et courbe : Page Historiques et courbes vide : Le bouton "Nouveau" n'a pas de texte, juste un "+" à vérifier.
Dashboard : Revoir la hauteur pour les graphiques côté Dashboard (remettre comme à l'origine)
Edition Historique et courbe : Revoir les noms des services affichés dans l'édition (pas tous de title ??). Voir ce qui ce fait ailleurs (liste des services dans le menu intégrations).
Edition Historique et courbe : Lenteur à l'affichage (récupération des services/devices/features longue ?)
Edition Historique et courbe : Si pas de type de courbe sélectionné => Erreur à l'affichage de la vue car plante sur 'lowerCase' dans les type Apex.
	Gérer l'erreur et empecher d'enregistrer (avec erreur) la vue d'édition
Export XLSX : Tenter d'ajouter la construction en tableau structuré des données (permet de filtrer plus facilement dès le départ)
Export XLSX : Formater la 1ere colonne en date et la deuxieme en time


En arm/v7, la réactivité reste relativement bonne même si certains lag pour récupérer 3900 états (6 jours x 3 features) :

EDIT: @pierre-gilles j’ai supposé que c’était dû à l’installation des nouveaux paquets xlsx-js-style et sweetalert2 mais visiblement ils sont bien compatibles avec amd64. xlsx-js-style utilise xlsx (SheetJs) qui est déjà utilisé visiblement côté server en dépendance d’autres paquets.


Et ca tourne sous mobile (quelques correctifs a faire ^^). Tres reactif sur 6 jours. Les boutons de zoom sont bien pratiques ainsi que les chevrons gauche droite pour le coup (merci @guim31 d’y avoir pensé dès le depart ^^)

1 « J'aime »

Je sais pas coder mais parfois j’ai des idées :sweat_smile:

1 « J'aime »

Oui il y eu une mise à jour de l’image de base Docker qu’on utilise, et ça a pété le build amd64

J’ai fais des correctifs dans cette PR : Google Cast integration by Pierre-Gilles · Pull Request #2088 · GladysAssistant/Gladys · GitHub (Pas encore mergé)

Tu peux te baser dessus si tu veux que ça build chez toi :slight_smile:

1 « J'aime »

Ah ouf !! C’est bien ce qui me semblait en regardant l’histo des builds ^^ Tu me rassures ^^

Sauf si un beta testeur a besoin de l’image en amd64 (faites moi signe ^^) je vais rester comme ca jusque ton merge. Finalement je peux faire le test en arm64 également.

Pour info, je vais faire une branche a côté en ajoutant ton idée avec l’option d’une vue en grand directement sur le dashboard … parce que de toute facon l’un n’empeche pas l’autre, et ce sera facile de reprendre le travail si au final on se decide seulement pour cette 2eme option.

Ca permettra de tester directement les 2 possibilités

1 « J'aime »

Hello @pierre-gilles,

J’ai en soit terminé la proposition pour l’affichage fullscreen par sélection directement depuis une courbe du dashboard … mais alors je suis tellement en galere profonde sur le design avec le css … je patauge des heures et des heures, et j’ai beau lire les docs, je ne m’en sors pas (et l’IA pas mieux malheureusement ^^).

Exemple : je tente d’ajuster la croix pour la fermeture … cata ^^

En soit c’est fonctionnel on pourra revoir le design ensuite. Si tu veux/peux tester (du coup les 2 versions qui seront presentent sur la meme image) ce serait vraiment top. Pour ceux qui souhaiteraient tester et donner des retours, l’image sera disponible demain matin …
Zoom charts and histo on dashboard short

Si j’ai le temps je ferais un essai dans le week end

1 « J'aime »

Image prête : docker pull terdious/gladys:add-view-charts

EDIT: Nouvelle image en cours de build (même lien) dispo d’ici 1h un peu plus propre

J’ai réussi a faire à peu près ce que je voulais :
Zoom charts and histo on dashboard short

1 « J'aime »

Si je veux tester faut que je récupères ma BDD actuelle (de prod) et que je la copie dans mon container de test ?

Disons que si tu veux tester en réel oui c’est mieux en ayant de la data (notamment pour tester les perfs sur une grande periode, il y aura peut-être besoin de découper en d’autres périodicité… notamment pour les architectures armv6/v7)

Pour info la nouvelle image est buildée.

1 « J'aime »

J’adore !! Pouvoir visualiser au moins 2 phases en même temps sur 7 jours avec en primes pouvoir tout exporter en excel directement … C’est vraiment top !!
Et avec les flèches gauche/droite qui permette de garder la meme echelle, on visualise rapidement les différences et il est beaucoup plus facile de constater, pour ma part, les déséquilibre de phase.

Il serait bien de pouvoir ajouter en visu une fonctionnalité à visualiser en temporaire directrement (un refresh l’enlèverai). Dans mon cas ça permetterai de tenter de retrouver les appareils qui se mettent en route en meme temps (enfin suffit de mettre une courbe binaire en dessous avec les équipements suspectés vous me direz ^^

Vraiment hâte.


On voit ce qui consomme très rapidement ^^

5 « J'aime »