Toujours la conso du même jour (date relevé reste au 01-10-2023)

Bonjour,

J’utilise ce plugin pour accéder à Véolia méditerranée, ce dernier marchait bien jusqu’à présent (depuis plusieurs mois), hors depuis quelques jours (j’ai pas la date exacte mais le souci à démarrer ce mois-ci) la date de relevé reste figer au 01-10-2023.

J’ai activé le mode DEBUG, j’ai vu que le fichier CSV est bien récupéré sur le site (il est tout à fait correct au niveau des dates et des relevés de consommation), mais le traitement va chercher la consommation au 01-10-2023 (somme toute logique puisque cette date ne bouge pas…), j’ai bien été voir dans le fichier veolia_eau_process.class.php pour essayer de comprendre comment cette date était mise à jour mais cela dépasse très largement le cadre de mes compétences …

En fin de traitement la date de dernière mesure est bien actualisée, mais pour le coup j’ai toujours en retour la conso du 01-10-2023.

J’ai installé la version BETA du plugin (version du 2023-09-08 01:14:54), relancé les dépendances mais cela ne change rien.

Je tourne en version 4.3.17 de Jeedom et version PHP 7.3

J’ai mis en pièces jointes les logs ainsi que des copies d’écrans.

Si quelqu’un à une idée je suis preneur.

Merci .

rubriques_Plugin.pdf (171,3 Ko)
veolia_eau _log_20231029.pdf (163,0 Ko)

Copie d’écran peuvent être collées ici en direct et les logs mis entre balises…

image

Car pour ceux sur tel ou autre, c’est franchement pas pratique sinon

Bonjour,

Manifestement je dois être le seul à utiliser ce PLUGIN pour Véolia Méditerranée :smile: , pour le coup j’ai pris mon courage à deux mains pour essayer de comprendre ce qui ce passe (aspect positif cela m’a fait une sacré introduction au langage PHP :hot_face: !).

Si ça peut aider quelqu’un voici les explications et la correction que j’ai apporté dans le fichier veolia_eau_process.class.PHP

En fait le souci est le suivant, le traitement récupère les consommations sous deux formes :

  • Via la page HTML
  • Via le CSV téléchargeable sur le site

Pour ensuite comparer les deux sources d’informations (j’ai pas creusé plus pour comprendre le pourquoi de ce traitement).
Le problème c’est que les données du fichier CSV sont triées à réception du site Veolia MED par date descendante (c’est nouveau à ce mois-ci) alors que les données de la page HTML sont triées par date ascendante (ce qui explique les nombreux messages dans la log « html different du CSV - … »).

La correction apportée (fonction processCSV) :

  1. J’ai remplacé la commande suivante :

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

par les commandes suivantes

$sheetDataTD = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$sheetData = array_reverse($sheetDataTD);

  1. j’ai remplacé la commande suivante :

$entete = array_shift($sheetData);

par la commande suivante

$entete = array_pop($sheetData);

Il y a certainement mieux à faire pour une correction multisite …

3 « J'aime »

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