Affichage des graphiques pour les capteurs binaires

Top, je reprends ce que j’ai fais, ça devrait être rapide.

@pierre-gilles
Dans ce genre de cas, dois je repartir sur une nouvelle PR (en fait je pense qu’il n’y a pas trop le choix car je ne pourrais pas travailler à partir de sa branche ?)

Je dois juste finaliser le tooltip => dur de trouver de l’infot sur ce genre de datas !! Mais j’ai trouvé la source qu’il fallait je pense ^^ https://codepen.io/andrussuitsu/pen/qBKEqzr?editors=1111

Ca conviendrait comme ceci :

3 « J'aime »

Yes forcément une nouvelle PR !

PR : Add binary chart by Terdious · Pull Request #2094 · GladysAssistant/Gladys · GitHub

Par contre ils sont vraiment tout petits avec l’affichage des noms :

En soit l’affichage zoomé sur le dashboard est une PR relativement simple sans l’implémentation de tout l’historique et du date à date !! Ca vaut peut-être le coup de faire une petite PR là-dessus @pierre-gilles non ? Et on pourra ensuite y greffer le sujet ‹ Amélioration des courbes › dans un second temps ?

1 « J'aime »

Il n’y a pas d’autres façons d’afficher les titres ?

Oui 100%, je suis pour des petites PRs, c’est ce qui est le mieux pour débugger, et pour que les fonctionnalités arrive au plus vite à l’utilisateur final.

1 « J'aime »

Le nom juste en dessous de la ligne de graphique peut être ?

Je cherche tout ce qui peut se faire dans la doc ^^ Pas facile, mais on va trouver ^^

2 « J'aime »

@pierre-gilles, est-ce que ceci conviendrait :


C’est assez hacky leur truc pour intervenir comme il convient sur toutes mes recherches, malgré une option yaxis.labels.style.cssClass (Options (Reference) > yaxis – ApexCharts.js) il faut intervenir directement sur le SVG. J’ai donc cassé la partie ‹ device › de la partie ‹ feature › pour faire un saut de ligne.

Je voulais réduire la police au-dela de 2 binaires dans le graphique, qu’en penses tu ? Sur l’image, les noms du graph de droite font tout tassés non ?

2 « J'aime »

Ca rend pas trop mal franchement déjà :slight_smile:

1 « J'aime »

C’est carrément bien je trouve ! Beau travail ! Tout ça c’est dans la PR ? :slight_smile:

1 « J'aime »

Je trouve que le saut de ligne rend bien, je suis pas choqué par le graphe de droite perso.
De toute façon c’est impossible de faire rentrer un nom d’appareil + de feature en entier en toute circonstances à mon avis !

1 « J'aime »

Pas encore ^^ j’attendais validation^^ j essaye ce soir !!
Par contre le style d’écriture me choque, pas vous ?

EDIT : C’est push. @pierre-gilles penses-tu pouvoir me review celle-ci rapidement ?

Je viens de te faire une review, pour l’instant uniquement fonctionnel, malheureusement test pas trop concluant ^^

L’UI freeze complètement chez moi, je n’arrive pas à faire fonctionner la feature :stuck_out_tongue:

Le détail de mon test :

Merci beaucoup, je reprends les tests avec peu de value.

Je reproduis … Mais ce que je n’arrive pas à comprendre, c’est que ça n’a pas de lien direct avec la PR. C’est la requête, d’après le console.log que j’ai mis juste après, qui met beaucoup de temps pour le binaire seulement quand il n’y a pas assez de valeurs (< à 3 ou 5 valeurs) … pour autant, on a rien touché de ce coté …

Je vais regardé côté serveur si il y a une raison particulière.

EDIT :
A vide :
image
et au chargement des datas :
image
Du coup c’est le rendu front :


Je poursuis

1 « J'aime »

Salut @pierre-gilles,

Donc, il s’agissait d’un bug graphique, la génération du graphique mouline je suppose parce qu’il n’arrive pas à construire le graphique rangeBar lorsque les données sont inférieurs à l’échelle min/max de base (qui devaient être de 5 min). Une fois qu’il avait plus de 3/4 minutes de données, il était incapable de restituter les dates au bon format et n’affichait pas les datas malgré l’apparition de la courbe. Et ce jusqu’à 10 minutes de données.
D’après tous mes tests (le temps que j’y ai passé :man_facepalming: ^^) l’ajout dans les options de :

      min: Math.min(...series.flatMap(s => s.data.map(d => d.y[0]))),
      max: Math.max(...series.flatMap(s => s.data.map(d => d.y[1]))),

Ca devrait fonctionner. Je laisse tourner la journée pour être sûr.

EDIT: Les changements sont push

1 « J'aime »

@Terdious Merci pour l’investigation et les changements !

Je viens de pull, j’ai testé ta PR mais ça n’affiche rien alors que l’API renvoie bien des valeurs :

Salut @pierre-gilles,

Au temps pour moi, je n’avais pas rechangé la valeur min de valeur pour afficher la courbe (>1) suite à mes essais. C’est fait. Désolé pour le dérangement.

Dois-je mettre un message spécifique pour le binaire pour prévenir qu’il faut au moins 2 valeurs (sinon cela affiche une courbe vide) ?

@pierre-gilles,

Je souhaiterais ajouter une ‹ heightAdditional › pour l’affichage des binaires lorsqu’il y en a + de 3 sélectionnés. Dans l’idée ça donne ça :

Car sinon, on se retrouve avec ce genre de chose :

Qu’en penses-tu ?
(Ne pas tenir comptes de l’icone en haut à droite, je m’en suis rendu compte pendant mes tests sur la PR de la vue étendue des courbes.)

1 « J'aime »

Ah oui effectivement il ne faut pas limiter la taille de ce widget, tu as modifié ça comment du coup ?

Pourquoi une seule valeur afficherait une courbe vide ?

Si ton capteur tu viens d’ouvrir la porte, la porte doit être marquée comme « ouverte » non ?

C’est un rangeBar, donc il faut obligatoirement 2 points dans le temps. Le graphique affiche ‹ on › de date à date ou ‹ off › de date à date. C’était le développement de base de @Lokkye et ça me parait également être le comportement attendu. Non ?

EDIT : Lol je me suis embobiné dans tes réponses ^^ Je te push la modification et te dis où