Collecte du jour sur valeur de la veille

Bonjour,

J’ai une remontée de ma consommation d’eau chaque jour. Cependant, cette consommation est liée à ma consommation de la veille, forcément la date de collecte/valeur est celle du jour. Je ne vois pas comment faire pour l’intégrer dans influxdb et donc afficher correctement avec un bon timestamp. Je ne vois pas comment faire, avez-vous une solution ? ou est-ce possible d’avoir une option pour résoudre ce besoin ?

Merci de vos lumières O:-)

Salut,

Si les infos sont incorrectes sous jeedom, alors aucune solution possible.
Il est impossible d’inventer la « bonne » valeur.

les options possibles sont ici:
image

Je sais bien, c’est l’inconvénient des compteurs « télérelève », on ne peut pas avoir du temps réel. J’ai décidé de faire un relevé chaque matin pour récupérer les données de la veille. On ne pourrait pas par exemple avoir une option Custom pour la date dans valeur du timestamp ? Genre je crée un virtuel avec la date à envoyer ?

C’est quel plugin qui relève l’info? Je suis un peu étonné que cette info ne soit pas dispo à la source, ca serait à ce plugin de récolter la bonne date et de la sauver lors de l’update de la commande.
par défaut c’est l’heure actuelle mais il est parfaitement possible de « forcer » la date valeur d’une commande dans le passé lorsqu’on la met à jour

J’utilise un ESP en MQTT, donc jMQTT dans Jeedom, à chaque relevé, c’est l’heure de relevée qui est saisie dans date de valeur/collecte. Il m’est impossible de relevé en dehors des jours de travail car le compteur bloque la télérelève pour économiser la pile interne à priori, sinon je l’aurais fait à 23h59.
L’heure d’envoi, date de valeur et date de collecte ce n’est pas bon car la valeur bien qu’elle soit collectée le moment J concerne une consommation de la veille et donc si j’affiche la courbe, j’ai un décalage d’un jour.
Et même si je crée un champ avec la date réelle de la valeur, je peux pas le faire prendre en compte dans le plugin, d’où l’idée d’un champ custom pour le timestamp.

Je pense quand même que ça n’a pas de sens de faire un bricolage dans #plugin-influxdb . C’est l’info sous jeedom qui doit être correcte.

Si ce n’est pas possible sous jmqtt de définir cette date, alors tant qu’à faire du bricolage, tu peux avoir un virtuel dans lequel tu vas mettre ta valeur venant de ton équipement mqtt et tu l’y met avec la date valeur que tu veux (je peux te montrer un exemple de bloc code à mettre dans un scénario pour faire ça si besoin).

Ensuite tu n’as pas qu’à utiliser ce virtuel comme source pour influx en configurant d’utiliser la date valeur bien entendu et le tour est joué.

Oui on peut faire comme ça si tu sens que ça fait trop bricolage. Je veux bien un exemple pour fixer la date de valeur à une autre valeur.
Après mon cas d’usage n’est pas unique, je sais que certaines personnes ont aussi des remontées à J-1 pour la consommation électrique par exemple, des fois on dépend des sociétés tiers :frowning:

Oui bien sur, c’est d’ailleurs notamment pour ca que j’ai implémenté le mode « Historique » mais jusqu’ici la date valeur était correctement positionnée.
Heureusement d’ailleurs pcq en fait lorsque ce n’est pas le cas, ca casse tous les historiques sous jeedom, même pour ceux n’utilisant pas influx…

concernant le scénario, déclenchement sur la commande mqtt ou via programmation, à toi de voir:

$mqttCmd = cmd::byId(<CMD_ID>);
$value = $mqttCmd->execCmd();
$date = "2023-07-13 20:00:00";
$virtualCmd = cmd::byId(<CMD_ID>);
$virtualCmd->event($value, $date);

il faut remplacer <CMD_ID> par les id des commandes respectives bien entendu et je te laisse calculer la date que tu veux.
J’ai écrit ca vite fait, j’espère ne pas avoir fait d’erreur

ca va forcer la date de collecte et la date valeur sauf si la non répétition de valeur est activée (dans ce cas la date valeur ne change pas, uniquement la date collecte)

Tout semble fonctionner :wink: On va laisser tourner quelques jours, merci encore pour ton aide !

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.