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

Historique non récupéré #87

Open llevier opened 1 year ago

llevier commented 1 year ago

Description

Bonjour Damien, Déjà, Merci pour le boulot :-)

Je viens de déployer le plugin, indiquer qu'il manquait 30 jours d'historique, le plugin a récupéré la derniere valeur et l'a mise au 2/9 et hier. Bien sur, le CSV contient bien tout le mois sur le site de Veo sud-est...

Si je puis me permettre, "monitoring" comme catégorie, ca fait geek, ca serait top de pouvoir changer vers quelque chose de plus domotique.

Etapes à reproduire (pour les bugs)

  1. Installer, paramétrer, attendre l'update :-)

Contexte:

Jeedom, Veo Sud Est

Proposition de solution (optionnel):

Environnement:

Version : 4.2.21 Source : default Branche : V4-stable Système : diy Plugin : source market, Version 2022-02-28 01:12:05

Merci !!

damien916 commented 1 year ago

Hello Laurent, Malheureusement mon compteur ne fait plus de télé relevé depuis décembre 2020 :/ et Véolia ne semble pas pressé de le changer. Du coup je n'ai pour le moment aucun moyen de tester, si quelqu'un d'autre est partant pour jeter un œil, il sera le bienvenue :) Je pense qu'il nous faudrait le CSV pour pouvoir faire des tests.

llevier commented 1 year ago

Bonjour Damien,

Dans un autre langage que Python, j'aurais pu aider mais là... Si cela peut aider, j'ai récupéré un script PHP fait pour Domoticz, ne fonctionne pas non plus), que j'ai arrangé pour être autonome, et qui fonctionne parfaitement pour une statistique mensuelle (d'où le exit en plein milieu). Le script ne fait rien de bien compliqué : connexion, récupération de l'historique mensuel toujours disponible. Ensuite il attaque au jour le jour si l'information est disponible (Veo propose parfois une précision à l'heure), sinon il met l'info de la journée entière... Je ne l'utilise pas encore car le plugin teleo décompose l'action. Si j'arrive à écrire ce fichier Jeedom considère toujours une erreur d'execution, et comme je ne sais pas comment renvoyer l'info à Jeedom, je suis pour l'instant coincé...

Le script est GPLv3, je peux donc copier/coller :-)

Usage: script.php Other 'Veo_login' 'Veo_pass' /tempdir JoursPassés water.txt

llevier commented 1 year ago

Bonjour Damien,

Ok, j'ai réparé par moi-même, en fait c'était basique et du PHP :-) Tu retires les couleurs HTML dans la page, mais tu as mis ces valeurs en statique. Donc si la couleur change...

En l'occurence, veolia_eau_process.class.php: $info = str_replace("color:\"#2abccf\"", "", $info); -> j'ai juste ajouté la couleur réelle (qu'indique d'ailleurs tes logs) dessous: $info = str_replace("color:\"#2abbcf\"", "", $info);

Partant de là, tu peux laisser ainsi, ou mettre une preg_replace à la place qui fera sauter toutes les couleurs, ou meme t'appuyer sur des extensions "HTMLtoTEXT" qui feront le ménage.

+++

frederic34 commented 1 year ago

Je pense qu'on peux merger ça https://github.com/NextDom/plugin-veolia_eau/pull/85

llevier commented 6 months ago

Bonjour, Je viens de voir que ca replante à nouveau depuis au moins fin 2023, je relance mes tests pour correction si je trouve :-)

llevier commented 6 months ago

Bonjour Damien,

Ok ca replante a nouveau mais ca fait si longtemps que je suis allé debugger (sans prendre des notes) que je n'arrive pas à réparer. Je note cependant un point important : le CSV passe sans souci a chaque fois, je me demandais si tu avais prevu un mode 'CSV seul' ? Apres tout si le CSV contient des dates qui collent + le bon format, pas de raison de se méfier de lui, et ainsi on s'affranchit des caprices de Veolia (SudEst) et ses tag HTML :-)

C'est possible ?

Merci

llevier commented 5 months ago

Bonjour, Je suis en train de débugger le script et il y a quelque chose que je ne comprends pas.

A priori le plugin telecharge bien le CSV. Pour moi il est l'autorite car un fichier brut, qui plus est parfaitement decode. Pourquoi diable ce morceau "// Comparaison csv html pour corriger les non mesuree du html" ? Sans lui on pourrait stocker les donnees du CSV et hop c'est termine.

Ne parlant pas Jeedom, je suis aussi preneur du bloc qui va provoquer l'écriture dans mon objet compteur, et donc mettre à jour mes datas. Avec ca je devrais pouvoir monter un workaround pour contourner le comparatif HTML et stocker les donnees du CSV qui me vont tres bien :-)

Merci :-)

+++

llevier commented 5 months ago

Hello Guys,

Bon, j'ai résolu à ma manière avec Veolia Sud-Est -> on s'en fout du HTML, c'est source de soucis. Je ne vous donne pas les modifs car j'ai mis un peu le binz dans le code :-) En résumé : j'ai mis en option le getconso html et ses comparatifs, recalculé à ma sauce index et au final le CSV + ces modifs font bien le boulot. Je recupere tout le mois en CSV, je calcule le cumul, je popule la data avec la fin de traiteconso(), tout a l'air ok, on verra le 1er du mois suivant :-)

+++