Closed DamGranger closed 2 years ago
Je suis d'accord pour maintenir une certaine cohérence. Je vais aligner le daily gas (qui est mal nommé car il devrait s'appeler last valid gas) sur les autres indicateurs : à savoir calculer le delta entre le indexFin et indexDebut (si renseigné). Dans le cas que tu présentes, l'index début est null car le relevé de la veille est manquant. Pour le coup c'est cohérent. Si je remplace par le dernier index fin, je vais mettre une conso trop importante pour ce jour. Le choix est cornelien : soit je présente une info erronnée, soit je présente rien....
Qu'en penses-tu ?
Honnêtement je n'en pense pas grand chose. Les deux options ont des avantages et inconvénients. D'un côté on a quelque chose de plus homogène mais la gestion des mesures manquantes peut être problématique, de l'autre on a une erreur d'arrondi potentielle avec un écart de 1m3 maximum. Le souci c'est que des consommations qui sont pour un appartement ou une petite maison de 9-10m3 par jour, 1m3 c'est quand même une marge d'erreur par anodine.
Du coup faut juste faire un choix et je pense que tu es le mieux placé pour le faire (sachant que dans les deux cas tu auras probablement des questions auxquelles il faudra répondre, donc autant que tu fasses le choix, c'est plus facile à assumer après coup)
J'ai appliqué la cohérence dans les calculs : je prends le delta des index, si différent du volume communiqué par GRDF alors je le remplace par le delta et je recalcule l'energie. En ce qui concerne les relevés sans startIndex, je les considère comme erronés. On verra si ça pose souci sur le long terme.
Dans la 0.6-dev, le daily_gas et gas reprennent tel quel le volumeConsomme de GRDF, cependant toutes les autres mesures de volumes semblent utiliser une différence entre indexFin et indexDebut. Dans mon exemple cela génère une petite différence, notamment avec Day-3 gas alors qu'il s'agit réellement de la même mesure, ce qui est dommage.
Par souci de cohérence, je pense qu'il faudrait que tous les volumes soient calculés de la même façon, même si en cas de "trous" cela risque de poser problème (exemple ci-dessous), à moins qu'il soit possible de dynamiquement remplacer le indexDebut par le dernier indexFin connu :