Affichage graphique maximum jour

Bonjour,

J’ai un problème d’affichage dans les graphiques (barre ou autre) avec maximum par jour.

A J-1 rien ne s’affiche et tout est décalé d’un jour avant J-1, (au 22 juillet on est en faite avec les valeurs du 23…)

J’ai une unique valeur par jour qui du coup est à 00h00mn00s pour chaque journée (entre 0h00 et 23h59), pour le jour en cour j’ai une valeur toute les 30mn.

Mais je m’attendrais à ce que en ayant opté pour Maximum par jour j’obtienne le maxi du jour en cour sur les 30mn et après pour chaque jour vu que je n’ai qu’une seule valeur, ça serait forcément celle là, hors un décalage ce produit.

Est ce que qqn a une idée pour régler ce problème ?

Merci

Bonjour,

C’est bien le comportement attendu.

Il faudrait voir ce qu’il y a en bdd, et sans doute plus d’info sur cette commande, qu’est-ce qui fait que tu garde 1 seule valeur / jours ? un scénario ? le mode de lissage ?

c’est le mode de lissage, la commande est une recopie de l’info de mes onduleurs de PV reçue en MQTT via le plugin script avec un CRON à 23h59 tous les jours. C’est une valeur incrémentale qui se reset sur l’onduleur à minuit et donc comme on peut le voir sur le jour en cours sur lequel je n’ai pas de lissage se met à jour dès que la production commence le matin. Dans la BDD j’ai :

Drôle de comportement, surtout que si je comprend bien, sur ta 2ème capture, tu as aucun groupement et le graphique s’affiche correctement ?

Tu as essayer de jouer avec les options de zoom ou tranche de dates pour voir si cela résous le soucis ?

ça ne change rien, il saute J-1 à chaque fois, par exemple pour le 31 il a a l’air de ne considérer qu’une seule valeur



il faudrait lire le code qui gère ça mais je ne sais pas ou ça se trouve.

je viens de supprimer les zéro dans la BDD et l’affichage est correct. il faut que je me débrouille pour ne pas avoir ce zéro qui soit historisé.

Oui c’est ce que j’ai remarqué durant mes essais, mais je tente de verifier ce qui ce passe coté core.

1 « J'aime »

Je pense avoir trouvé la partie du core qui fait défaut :

Exemple avec ce cas assez simple de 4 valeurs:

Le core fait ceci pour un groupingType = high::day (Maximum par jour) :

SELECT `cmd_id`,DATE(`datetime`) as `datetime`,MAX(CAST(value AS DECIMAL(12,2))) as value FROM ( (SELECT * from history WHERE value is not null AND cmd_id=9395  AND datetime>='2025-07-02' AND datetime<='2025-08-02')  UNION ALL  (SELECT * from historyArch WHERE value is not null AND cmd_id=9395  AND `datetime`>='2025-07-02' AND `datetime`<='2025-08-02') )a  GROUP BY DATE(DATE_SUB(`datetime`, INTERVAL 1 SECOND)) ORDER BY `datetime` ASC


On remarque bien que la valeur du 25/07 est passé au 24/07 (donc 2 valeurs pour le 24)

Je suis pas compétent dans le SQL, mais il semble que le soucis intervienne si la l’heure est a 00:00:00 pile, dans la requête SQL

DATE(DATE_SUB(`datetime`, INTERVAL 1 SECOND))

semble causer ce soucis. pour le test j’ai remplacé par :

DATE(`datetime`)

et je retrouve bien les bonnes valeurs au bonne date :

@Loic, je me permet de t’identifier, si tu as une idée :grin:

Source :

Merci d’avoir analysé, je pourrai essayer de bricoler qqch au besoin.

Bonjour,
Oui c’est voulu ca c’est pour la valeur de 00:00:00 qui doit appartenir au jour d’avant (c’est pour la partie energie ou général la valeur du jour est a 00:00:00 et non a 23:59:59)