NextDom / plugin-veolia_eau

Plugin Jeedom/NextDom permettant de gérer le télé-relevé Veolia
https://nextdom.github.io/plugin-veolia_eau/
GNU General Public License v2.0
6 stars 22 forks source link

Probleme avec l'historique de l'index total #47

Closed rjullien closed 6 years ago

rjullien commented 6 years ago

Description

J ai un problème depuis le 1er decembre sur l historique veolia

Est qu'il y a eu un changement important en novembre ? J'ai peut être trainé pour prendre un update, ca peut être encore plus vieux. La conso journalière est bonne.

Etapes à reproduire (pour les bugs)

Le bug se produit a chaque changement de mois avec veolia sud est (eau-services.com)

Contexte:

Proposition de solution (optionnel):

Environnement:

En regardant les logs, l'index semble être incrementé chaque jours avec l'ensemble du mois jusqu au jour courant, du coup le gap est petit en debut de mois et grossi chaque jour. Il y avait un stockage du dernier jour traité qui semble ne plus marcher. Je regarderais le code demain.

J'essaie le template de bug au passage

rjullien commented 6 years ago

Logs

Dernier jour du mois

[2018-03-03 07:04:34][DEBUG] : 02/2018 28
[2018-03-03 07:04:34][DEBUG] : https://www.eau-services.com/mon-espace-suivi-personnalise.aspx?ex=02/2018&mm=02/2018&d=
[2018-03-03 07:04:34][DEBUG] : ### LOGIN ON https://www.eau-services.com/default.aspx ###
[2018-03-03 07:04:35][DEBUG] : cURL response :  .....
[2018-03-03 07:04:35][DEBUG] : cURL errno : 0
[2018-03-03 07:04:35][DEBUG] : ### GO TO CONSOMMATION PAGE ###
[2018-03-03 07:04:36][DEBUG] : cURL response : 1
[2018-03-03 07:04:36][DEBUG] : cURL errno : 0
[2018-03-03 07:04:36][DEBUG] : ### GET DATAFILE ###
[2018-03-03 07:04:36][DEBUG] : response length : 1
[2018-03-03 07:04:36][DEBUG] : cURL errno : 0
[2018-03-03 07:04:36][DEBUG] : alert: 681
[2018-03-03 07:04:36][DEBUG] : ### TRAITE CONSO CSV  ###
[2018-03-03 07:04:36][DEBUG] : 2018-02-01 169 M 2034213 2034213
[2018-03-03 07:04:36][DEBUG] : 2018-02-02 243 M 2034456 2034456
[2018-03-03 07:04:36][DEBUG] : 2018-02-03 221 M 2034677 2034677
[2018-03-03 07:04:36][DEBUG] : 2018-02-04 682 M 2035359 2035359
[2018-03-03 07:04:36][DEBUG] : 2018-02-05 314 M 2035673 2035673
[2018-03-03 07:04:36][DEBUG] : 2018-02-06 257 M 2035930 2035930
[2018-03-03 07:04:36][DEBUG] : 2018-02-07 317 M 2036247 2036247
[2018-03-03 07:04:36][DEBUG] : 2018-02-08 159 M 2036406 2036406
[2018-03-03 07:04:36][DEBUG] : 2018-02-09 320 M 2036726 2036726
[2018-03-03 07:04:36][DEBUG] : 2018-02-10 217 M 2036943 2036943
[2018-03-03 07:04:36][DEBUG] : 2018-02-11 342 M 2037285 2037285
[2018-03-03 07:04:36][DEBUG] : 2018-02-12 322 M 2037607 2037607
[2018-03-03 07:04:36][DEBUG] : 2018-02-13 306 M 2037913 2037913
[2018-03-03 07:04:36][DEBUG] : 2018-02-14 485 M 2038398 2038398
[2018-03-03 07:04:36][DEBUG] : 2018-02-15 189 M 2038587 2038587
[2018-03-03 07:04:36][DEBUG] : 2018-02-16 219 M 2038806 2038806
[2018-03-03 07:04:36][DEBUG] : 2018-02-17 212 M 2039018 2039018
[2018-03-03 07:04:36][DEBUG] : 2018-02-18 689 M 2039707 2039707
[2018-03-03 07:04:36][DEBUG] : 2018-02-19 204 M 2039911 2039911
[2018-03-03 07:04:36][DEBUG] : 2018-02-20 192 M 2040103 2040103
[2018-03-03 07:04:36][DEBUG] : 2018-02-21 570 M 2040673 2040673
[2018-03-03 07:04:36][DEBUG] : 2018-02-22 277 M 2040950 2040950
[2018-03-03 07:04:36][DEBUG] : 2018-02-23 165 M 2041115 2041115
[2018-03-03 07:04:36][DEBUG] : 2018-02-24 275 M 2041390 2041390
[2018-03-03 07:04:36][DEBUG] : 2018-02-25 170 M 2041560 2041560
[2018-03-03 07:04:36][DEBUG] : 2018-02-26 186 M 2041746 2041746
[2018-03-03 07:04:36][DEBUG] : 2018-02-27 155 M 2041901 2041901
[2018-03-03 07:04:36][DEBUG] : 2018-02-28 203 M 2042104 2042104
[2018-03-03 07:04:36][DEBUG] : Date: 2018-02-01 / Index: 2034213 / Conso: 169 / Type de relevé: M
[2018-03-03 07:04:36][DEBUG] : Date: 2018-02-02 / Index: 2034456 / Conso: 243 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-03 / Index: 2034677 / Conso: 221 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-04 / Index: 2035359 / Conso: 682 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-05 / Index: 2035673 / Conso: 314 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-06 / Index: 2035930 / Conso: 257 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-07 / Index: 2036247 / Conso: 317 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-08 / Index: 2036406 / Conso: 159 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-09 / Index: 2036726 / Conso: 320 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-10 / Index: 2036943 / Conso: 217 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-11 / Index: 2037285 / Conso: 342 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-12 / Index: 2037607 / Conso: 322 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-13 / Index: 2037913 / Conso: 306 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-14 / Index: 2038398 / Conso: 485 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-15 / Index: 2038587 / Conso: 189 / Type de relevé: M
[2018-03-03 07:04:37][DEBUG] : Date: 2018-02-16 / Index: 2038806 / Conso: 219 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-17 / Index: 2039018 / Conso: 212 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-18 / Index: 2039707 / Conso: 689 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-19 / Index: 2039911 / Conso: 204 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-20 / Index: 2040103 / Conso: 192 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-21 / Index: 2040673 / Conso: 570 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-22 / Index: 2040950 / Conso: 277 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-23 / Index: 2041115 / Conso: 165 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-24 / Index: 2041390 / Conso: 275 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-25 / Index: 2041560 / Conso: 170 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-26 / Index: 2041746 / Conso: 186 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-27 / Index: 2041901 / Conso: 155 / Type de relevé: M
[2018-03-03 07:04:38][DEBUG] : Date: 2018-02-28 / Index: 2042104 / Conso: 203 / Type de relevé: M

Premier jour du mois

[2018-03-04 07:07:52][DEBUG] : https://www.eau-services.com/mon-espace-suivi-personnalise.aspx?ex=03/2018&mm=03/2018&d=
[2018-03-04 07:07:52][DEBUG] : ### LOGIN ON https://www.eau-services.com/default.aspx ###
[2018-03-04 07:07:53][DEBUG] : cURL response : ....
[2018-03-04 07:07:53][DEBUG] : cURL errno : 0
[2018-03-04 07:07:53][DEBUG] : ### GO TO CONSOMMATION PAGE ###
[2018-03-04 07:07:57][DEBUG] : cURL response : 1
[2018-03-04 07:07:57][DEBUG] : cURL errno : 0
[2018-03-04 07:07:57][DEBUG] : ### GET DATAFILE ###
[2018-03-04 07:07:58][DEBUG] : response length : 1
[2018-03-04 07:07:58][DEBUG] : cURL errno : 0
[2018-03-04 07:07:58][DEBUG] : alert: 681
[2018-03-04 07:07:58][DEBUG] : ### TRAITE CONSO CSV  ###
[2018-03-04 07:07:58][DEBUG] : 2018-03-01 275 M 2034319 2034319
[2018-03-04 07:07:58][DEBUG] : Date: 2018-03-01 / Index: 2034319 / Conso: 275 / Type de relevé: M
[
rjullien commented 6 years ago
[2018-01-03 07:01:53][DEBUG] : 12/2017 31
[2018-01-03 07:01:57][DEBUG] : Date: 2017-12-30 / Index: 1838481 / Conso: 142 / Type de relevé: M
[2018-01-03 07:01:57][DEBUG] : Date: 2017-12-31 / Index: 1838531 / Conso: 50 / Type de relevé: M

[2018-01-04 07:01:56][DEBUG] : 01/2018 01
[2018-01-04 07:01:57][DEBUG] : Date: 2018-01-01 / Index: 1838577 / Conso: 46 / Type de relevé: M

[2018-01-05 07:01:59][DEBUG] : 01/2018 02
[2018-01-05 07:01:59][DEBUG] : Date: 2018-01-01 / Index: 1838623 / Conso: 46 / Type de relevé: M
[2018-01-05 07:01:59][DEBUG] : Date: 2018-01-02 / Index: 1838666 / Conso: 43 / Type de relevé: M

[2018-01-06 07:01:59][DEBUG] : 01/2018 03
[2018-01-06 07:02:00][DEBUG] : Date: 2018-01-01 / Index: 1838712 / Conso: 46 / Type de relevé: M
[2018-01-06 07:02:01][DEBUG] : Date: 2018-01-02 / Index: 1838755 / Conso: 43 / Type de relevé: M
[2018-01-06 07:02:01][DEBUG] : Date: 2018-01-03 / Index: 1838798 / Conso: 43 / Type de relevé: M
damien916 commented 6 years ago

Hello, de mémoire aucun changement, il faudrait regarder les commits pour être sûr. J'ai tenté de reproduire le problème chez moi sans succès (client Veolia)

rjullien commented 6 years ago

Je pense que ca provient de ce commit

ligne 439

-                   if ($date>$lastdate) {
-                       $compteur+=$conso;
-                       $index = $depart + $compteur;
-                       log::add('veolia_eau', 'debug', $date.' '.$conso.' '.$typeReleve.' '.$compteur.' '.$index);
+                   $compteur += $conso;
+                   $index = $depart + $compteur;
+                   log::add('veolia_eau', 'debug', $date.' '.$conso.' '.$typeReleve.' '.$compteur.' '.$index);

Je regarderais ce soir si j'ai du temps

damien916 commented 6 years ago

ah oui c'est possible :/ J'avais fait ça il me semble car Jeedom 3.x ne prenais plus en compte le setCollectDate, et aussi car Veolia affine au cours des relevé ses données (certaines estimations passent en mesures), du coup on écrase chaque jour les données déjà enregistrées, mais dans ton cas ça a l'air de s'ajouter c'est étrange.

rjullien commented 6 years ago

J'ai aussi cette erreur depuis le 24 février (release un peu avant, je n'ai probablement pas vu l'update immédiatement)

Erreur sur la fonction cronHourly du plugin : [MySQL] Error code : 42S22 (1054). Unknown column 'urlToutSurMonEau' in 'field list'

Cette erreur se produit aussi aussi lors de la sauvegarde de l'équipement ce qui m'empêche de changer le contenu. Je m'en suis aperçu en essayant de tester et de décaler l'heure de relève. En l'installant sur mon RPI de test j ai remarqué une diff dans la config:

screen shot 2018-03-05 at 19 25 52

Les 4 premieres lignes n existent plus, j'ai vu que c'était dans le code maintenant

rjullien commented 6 years ago

J'ai l'impression que pour les autres sites vous passez par l'excel qui contient la conso et l'index Est ce bien ca ? Pour eau-service, seulement la conso est fournie il faut maintenir l'index en ajoutant les nouvelles conso chaque jour.

damien916 commented 6 years ago

Hello, oui (en tout cas pour Veolia), l'index et la conso sont fournis. Mais en même temps, l'index seul peut suffire, la conso de toute façon chez moi est basée sur une différence d'index, la conso fournie est seulement affichée dans le widget

rjullien commented 6 years ago

Oui mais Veolia Sud Est ne fourni que la conso, il faut maintenir l'index comme tu le faisais dans la version precedente. Je vais essayer de remettre la partie lastdate pour website=2. Il faudrait aussi faire une fonction de re-calcul de l'index basé sur les conso pour corriger la base. Je ne sais pas s'il y a d autre utilisateurs de veolia sud est mais il devraient avoir le meme problème.

damien916 commented 6 years ago

ok ça marche

rjullien commented 6 years ago

J'ai essayé de faire un environnement de test pour le plugin. J'ai mocké les fonctions du core de Jeedom utilisées par ton plugin. Je l'ai poussé sur mon fork. Est ce que cet environnement de test t'intéresse ? Je vais ajouter quelques cas de tests supplémentaires J'ai du couper veolia_eau.class.php en 2 pour ne pas inclure Jeedom en mode mock J'ai fait un commit avant pour que les diffs soient bien identifiables Je pense que le fix marche pour veolia sud est, il faut que je teste sur mon RPI.

damien916 commented 6 years ago

Cool, merci pour tout le boulot :) Je sais que ça ne se fait pas, mais je n'ai pas de Jeedom de test, je fais tout sur mon jeedom en prod (je n'ai qu'un RPI), du coup je ne pense pas que l'environnement de test me soit utile, mais en tout cas chapeau pour le taf :) Je ne vais plus être dispo du tout pendant 1 semaine là 🗻⛷❄️ (je te le dit au cas ou, mais je ne pourrais pas répondre ici) Bonne soirée :)

rjullien commented 6 years ago

Ok, je viens de commiter. Je suis au ski cette semaine et du coup pas de RPI de test, j ai fait un env de test qui fonctionne sur mac/linux et meme travisci si on arrive a le configurer. Ca m'a permit de trouver quelques petit bug, il me reste a faire un test d integration sur mon RPI de test.

rjullien commented 6 years ago

Les modif sont en tests chez moi. Apres quelques fix ca devrait être ok, y compris quelques bugs que j'avais dans la PR que je t avais faite au debut sur les non mesurée

rjullien commented 6 years ago

Ca tourne depuis une semaine, j'ai fait un PR.
Il faut activer travis-ci avant le merge dans le repo et sur travis, 2 premiers paragraphes du wiki

damien916 commented 6 years ago

Super, merci, je vais regarder ça quand j'aurais un peu de temps