Bonjour,
Voila quelques temps que mon plugin pour récupérer ma consommation en eau ne fonctionne plus.
Je profite des congés pour résoudre ce mystère.
Dans le cas présent, la connexion sur le site est ok. Je n’ai pas le souci évoqué dans le post: Aucune remonté Plugin Veolia
(je salue au passage la mise à jour du parser simple_html_dom.php en version 1.9 dans la dernière version du plugin).
J’ai aussi appliqué la solution proposée dans le post suivant mais ca ne marche pas mieux: Plugin Veolia Eau et PHP 7.3
Voici mon analyse du souci et la solution mise en place pour le contourner:
Le parsing des données du fichier CSV ne fonctionne pas. Visiblement la fonction en charge de ce travail ne s’est pas/plus prendre en compte le délimiteur " ; ". Je ne sais pas dire si un contexte technique est spécifique pour reproduire ce souci.
Exemple de données du fichier CSV et son interprétation dans Jeedom:
CSV: 10/07/2021;76954;466;M
Jeedom: [2021-07-26 17:57:05][DEBUG] : Date: 2021;76954;466;M-07-10 / Index: / Conso: / Type de relevé:
Partie du code supectée ( veolia_eau_process.class.php):
require_once dirname(__FILE__).'/../../3rparty/PHPExcel/Classes/PHPExcel/IOFactory.php';
if ($website ==2 || $website == 3) {
$objReader = PHPExcel_IOFactory::createReader("CSV");
$objReader->setDelimiter(";");
try {
$objPHPExcel = $objReader->load( $csv_file );
A ce stade, je suspecte fortement un souci (de compatibilité?) avec IOFactory.php
Pour solutionner le souci, j’ai modifié le code en aval et uniquement dans mon cas (Veolia IDF):
// Added by Khainzu the 26/07/21
list($dateTemp, $index, $conso, $typeReleve) = explode(';', $line['A']);
$dateTemp2 = explode('/', $dateTemp);
$date = $dateTemp2[2].'-'.str_pad($dateTemp2[0], 2, '0', STR_PAD_LEFT).'-'.str_pad($dateTemp2[1], 2, '0', STR_PAD_LEFT);
//Previous code put in commentby Khainzu the 26/07/21
//$date = $dateTemp[2].'-'.str_pad($dateTemp[0], 2, '0', STR_PAD_LEFT).'-'.str_pad($dateTemp[1], 2, '0', STR_PAD_LEFT);
//$index = $line['B'];
//$conso = $line['C'];
//$typeReleve = $line['D'];
Je ne sais pas dire si d’autres utilisateurs du plugin Veolia pourraient être concernés, mais dans le doute vous avez maintenant une rustine.
Contexte technique:
- Jeedom 4.1.24
- OS: Linux buster / ARM
- PHP 7.3
- Derniere version du plugin avec simple_html_dom.php en version 1.9
- Site web de Veolia IDF