Affichage des courbes de capteurs sur le dashboard

Quelques retours :

  • à peu près 4 minutes pour faire les 3 agrégations (3 mois, une quinzaine de devices) :rocket:
  • le widget sur le dashboard est très simple à comprendre et à utiliser :clap: , il est aussi très réactif, quelque soit l’intervalle choisi
  • même remarque de @VonOx sur le titre. Si c’est un champ avec une assistance de remplissage, il faudrait le mettre après la sélection du device. Sinon, c’est frustrant d’entrer quelque chose et qu’il soit remplacé automatiquement
  • quand il n’y a pas de valeurs, “interval” s’écrit “intervalle” en français :wink:
  • même remarque que @VonOx sur l’affichage de l’heure pour les “Dernière 24h” (il manque un S d’ailleurs)

Super boulot en tout cas, c’est une belle fonctionnalité

Merci pour le retour @cicoub13, ça fait sens!

Je prend note.

Oui je suis d’accord, c’est hyper chiant si c’est en premier en plus :sweat_smile:

J’ai corrigé en mettant le titre à la fin (ça fait plus sens), et j’ai retiré l’auto-remplissage, c’est à l’utilisateur de choisir un nom.

Corrigé :slight_smile:

Je vais corriger !

@cicoub13 t’es sur raspberry ?

Non, sur un Macbook Pro :upside_down_face: donc performances à nuancer. Il y a une image docker dispo ?

Nope , mais ça m’a surpri 4 minutes

A mon avis c’est la partie disque SSD du Macbook Pro qui est rapide, car c’est quasiment que du disque au final (lecture/échantillonage mais c’est assez rapide/écriture). Donc si t’as un bon SSD sur ton Pi, ça devrait être bon niveau performance aussi à mon avis :slight_smile:

Je vais build une image :slight_smile:

1 « J'aime »

J’ai la réponse à cette énigme, c’est tout simple: -1 est censé représenter la valeur « illimitée », c’est ce qui est défini dans le code du signup lorsque tu clique sur le radio button « illimitée ».

Le souci, c’est qu’il y avait un double bug dans le code et dans les tests qui font que cette valeur -1 n’a jamais fonctionnée…

Ce qu’il s’est passé:

  • « -1 » s’est comportée comme si tu voulais garder que les états plus vieux que « dans 1 jour dans le futur » (NOW - (-1) = DEMAIN) :scream: Il n’y avait pas de if(-1) pour bloquer la purge des états, je pense j’ai du oublier en le codant. Comme on utilisait pas encore les valeurs de capteurs passée, ça s’est pas vu. Ce qui m’étonne c’est qu’il me semble que @Terdious a bien un historique illimité sur son instance. Tu confirme @Terdious ? Je pense tu dois avoir supprimé cette variable volontairement en DB non ?
  • Dans les tests, erreur assez bête, j’ai utilisé fake.resolves() pour mocker l’appel à variable.getValue(), sauf que j’ai mal utilisé fake.resolves() et du coup quand j’ai du faire mes tests à l’époque, le -1 se comportait comme voulu, car en gros je me retrouvais avec une fonction retournée au lieu de -1, et donc ça empêchait la purge, bref un truc très bête (c’était au tout début de la v4 il y a facile 1 an et demi je pense :D)

J’ai corrigé le bug et j’ai rajouté des tests plus solides pour s’assurer que ça bouge pas.

Dans l’UI, il y a maintenant la possibilité de modifier la valeur dans les paramètres:

@cicoub13 @VonOx pour résoudre le problème de l’affichage de la date sur la vue “dernière heure” ou “dernière 24h”, j’ai changé la vue par défaut, maintenant je format l’affichage du temps en relatif:

Nouvelle proposition d’un autre type d’affichage, l’affichage bar.

Pratique pour certain type de périphériques type “consommation énergie”, précipitation:

Pour l’affichage des axes, ce sera paramètrable aussi quand ça fait sens :slight_smile:

1 « J'aime »

Vue “aire” mais avec les axes affichées:

Affichage “ligne” avec axes affichées:

Affichage “ligne droite” (je sais pas comment traduire ça):

1 « J'aime »

Ce type de capteur peut aussi être très utile pour des capteurs types booléen (capteurs de présence, d’ouverture, etc.).

D’ailleurs dans le cas d’un capteur de présence, comme s’affichent les données ?
“Présence détectée entre 14h et 15h” avec un affichage à “1” sur la courbe puis “0” ensuite ?

Elle existe déjà ou c’est en cours de création ? Je testerai bien :upside_down_face:

Effectivement!

ça dépend de ton capteur de présence, si il envoie des valeurs « 0 » ou pas. Si il n’envoie que des valeurs « 1 », ça ne bougera pas (même si tu verras les points, ça ne sera pas très visuel)

Pour les capteurs de présence, je pense il faudrait faire un affichage type « heat map » avec les heures de présence / absence, style comme ça: (du coup avec 2 couleurs uniquement)

C’est pas compris dans ce développement, car c’est assez différent et propre à la présence. Il faudra qu’on discute de pas mal de points avant de se lancer dans ce développement car c’est pas aussi simple je pense :slight_smile:

Pas pour l’instant, je comptais faire un build à la fin de la journée après tous mes développements du jours, je posterais un message ici quand le build est prêt :slight_smile:

En attendant tout est déjà dans la PR sur GitHub, mais il faut avoir un environnement de développement.

Build Docker en cours: https://github.com/GladysAssistant/Gladys/runs/3717697450?check_suite_focus=true

L’image sera dispo sur le tag « chart », soit gladysassistant/gladys:chart.

Pour rappel:

Pour info le build Docker est fini :slight_smile:

Preneur de tout retour !

C’est une bonne idée !
Par contre il faudrait prévoir de laisser le choix du style de graphique, car parfois j’aimerai savoir a quelle heure j’ai ouvert ma porte hier (par exemple), ce que ne permet pas cette solution.

Quelles sont les limites actuellement ?
Je pensais pouvoir afficher toutes les types de valeur pour le moment (même si le graphique est pas fait pour), ce qui n’est pas le cas (ex : capteur de présence, capteur d’ouverture).

Edit:

Je viens de créer deux tests, qui fonctionnent pas a priori.
image
image

MAIIS je me suis rendu compte que c’est à cause de Afficher les axes ? = Non.

  • Non = Fonctionne pas
  • Oui = Fonctionne

Je propose de préselectionner “Oui” par défaut pour l’affichage des axes.