Véolia IDF

Bonjour,
je n’ai pas réussi à recompiler geckodriver depuis rpi4. par contre la version 0.23 existe pour les arm7.

geckodriver-v0.23.0-arm7hf.tar.gz

J’ai essayé, ca semble fonctionner.
Merci

1 « J'aime »

Bonjour @Flobul

Il y a eu une modification sur le site de veolia eau IDF, ils ont rajoutés des critères de sélection pour le téléchargement du fichier CSV

Par défaut c’est un fichier avec les info pour chaque mois et non plus par jours
Sélection par défaut : Conso / Mois / Euro
Est il possible avec le script de changer la sélection en Conso / Jours / Litres avant de télécharger le fichier ?
image

Merci d’avance,

J’ai rajouté ces lignes avant de télécharger le fichier et du coup ça marche.

# cherche boutons  Jours et Litres
Btns=browser.find_elements_by_xpath(".//c-icl-button-stateful")

for Btn in Btns:
 print(Btn.find_element_by_xpath('.//span').text)
 if (Btn.find_element_by_xpath('.//span').text=="Jours"):
  Btn.click()
 if (Btn.find_element_by_xpath('.//span').text=="Litres"):
  Btn.click()

Je suis pas sur que ça soit très propre, mais j’obtient le bon fichier. Comment vous l’implanter par Jeedom par contre ?

Bonjour,

Merci pour ce code, je ne sais pas si c’est propre mais au moins ca fonctionne !

Il a fallut néanmoins que je change dans le script python la ligne 61 en renplacant input-4 par input-3 (changement chez veolia)

idEmail = browser.find_element_by_id('input-4')

Ensuite pour la mise en place, j’utilise un RPI et Jeedom (ce n’est clairement pas propre non plus) :

Sur RPI4

J’ai un script.sh

/home/pi/conso_veolia/get_veolia_idf_consommation.py
/home/pi/conso_veolia/get_veolia_idf_consommation.py
tail -1 /home/pi/conso_veolia/data/historique_jours_litres.csv | cut -d';' -f2 >> ~/conso_veolia/data_2_send
sshpass -p "<Mdp_ssh_jeedom>" scp /home/pi/conso_veolia/data_2_send root@<adresse_ip_local_jeedom>:/var/www/html/tmp/jeedom/
sed -n '1p' /home/pi/conso_veolia/data_2_send >> /home/pi/conso_veolia/data_2_send_old
rm /home/pi/conso_veolia/data/historique_jours_litres*
rm /home/pi/conso_veolia/data_2_send

Explication :
J’exécute deux fois le script python car souvent il y a des erreurs au premier lancement.
Puis je récupère le dernier index du fichier que je copie dans « data_2_send »
Puis je l’envoi dans le dossier tmp de jeedom
Pour finir je fais le ménage.

Pour déclencher le script .sh tous les jours, j’ai un crontab paramétré à 00h01.

Sur Jeedom

J’ai un script jeedom:


qui ne fait que :
cat /var/www/html/tmp/jeedom/data_2_send

Et que j’affiche :
image

et un scenario pour le mettre à jours à 00h04 la valeur de l’index qui est ensuite utilisé par le plugin Energie.

Ca fait un peut usine a gaz quand même …
Il y a surement moyen de simplifier tout ca.

Merci encor pour le code.

Update 01h00

image

Voila, ca refonctionne (update des infos du plugin Energie qui étaient ko depuis le 29/09)

1 « J'aime »

Hello,

J’y suis presque mais je n’ai pas compris comment afficher la valeur retournée par le cat

J’ai mis çà dans le script :

<?php
    $index_eau = shell_exec("cat /var/www/html/tmp/jeedom/data_2_send");
    echo $index_eau;
 ?>

Edit : j’ai trouvé j’avais mis action au lieu d’info pour le type de script

Une question cependant pour le plugin Energie, tu injectes la valeur d’index telle quelle dans le champs quantité ?

Bonjour,

Oui j’injecte directement l’index dans le plugin Energie. Le plugin calcule la différence avec la veille.

Remarque :

Il peut néanmoins y avoir un problème, Veolia remonte des index estimés de temps en temps. ( moi je n’ai que des index réel en ce moment mais en début d’année 2020 j’ai eu pas mal d’estimé)
Si un jour un index estimé est injecté dans le plugin Énergie et que le jour suivant un index Réel est injecté qui est inférieur a l’estimé de la veille (c’est possible.) => Le plugin Énergie n’arrive pas à se retrouver et bug pour les jours suivant ( enfin, il me semble).

Pour moi ca semble fonctionner plutôt bien, En 2 mois il y a eu 5 jours ou le script n’a pas fonctionné mais la correction est automatique le jours suivant (double consommation), c’est mieux que rien.

Ok merci pour ta réponse

Je me suis fais un petit virtuel et un widget sur le modèle du Linky de @Salvialf :

teleo

Faudrait englober tout çà dans un petit plugin pour rendre çà plus propre mais c’est déjà pas mal

Et j’ai aussi un petit bilan conso sur le design en reprenant l’idée de Youdom :

Hello,

J’ai eu un bug aujourd’hui : j’ai les données de la semaine dans le fichier téléchargé pourtant avec les colonnes « jours ».

vez-vous eu ce bug aussi ?

Edit :

Bon j’ai été obligé d’ajouter des tempo pour corriger le pb :

# cherche boutons  Jours et Litres
Btns=browser.find_elements_by_xpath(".//c-icl-button-stateful")

for Btn in Btns:
 print(Btn.find_element_by_xpath('.//span').text)
 if (Btn.find_element_by_xpath('.//span').text=="Jours"):
  Btn.click()
time.sleep(3)
 if (Btn.find_element_by_xpath('.//span').text=="Litres"):
  Btn.click()
time.sleep(3)

Bonjour,

moi c’est pour le 08,09 et 10 que ce n’a pas fonctionné, le 11 j’ai eu le rattrapage.

Bonjour, je me suis lancé sur l’intégration de tout ça dans un plugin qui pourra appeler soit le script python de @Flobul soit celui de @doyenc ([Plugin Veolia eau] Plugin Veolia eau n’arrive pas à se connecter) et qui présente les infos comme le plugin linky ou jazpar.

Mes connaissances étant trop limitées sur la partie interface avec les sites web je ne traduis pas le code python directement dans le plugin, j’en suis incapable et je ne suis pas sûr que ce soit possible, et puis ça permet plus de souplesse si les sites de Veolia changent car il suffira de modifier les scripts)

Du coup le plugin s’appellera téléo :

teleo_icon
Je vous fais signe lorsque j’aurais avancé mes tests pour ceux qui serait intéressés

2 « J'aime »

Bonjour,

Je pense que quelque chose a encor changé sur le site de Veolia IDF, car le fichier telechargé depuis quelques jours n’est plus celui par jour mais par mois.

2020-12-23 20:10:06,274 :: INFO :: Page de login
2020-12-23 20:10:23,482 :: INFO :: Page de consommation

Relevés
Jours
Semaines
Mois

Litres
m3
Année précédente
2020-12-23 20:10:47,100 :: INFO :: Téléchargement du fichier
2020-12-23 20:10:50,497 :: INFO :: Fichier:/home/pi/conso_veolia/data/historique_jours_litres.csv

pi@raspberrypi:~ $ cd conso_veolia

pi@raspberrypi:~/conso_veolia $ cd data

pi@raspberrypi:~/conso_veolia/data $ cat historique_jours_litres.csv

Date de relevé;Index relevé (litres);Consommation du jour (litres);Index Mesuré/Estimé
2020-06-30 18:00:00;1113911;14932;Mesuré
2020-07-31 18:00:00;1120536;6625;Mesuré
2020-08-31 18:00:00;1134810;14274;Mesuré
2020-09-30 18:00:00;1144012;9202;Mesuré
2020-10-31 17:00:00;1154986;10974;Mesuré
**2020-11-30 17:00:00;1166113;11127;Mesuré**

Je ne sais pas ce qui a changé depuis le 17/12/2020

Est ce que tu as le problème aussi ?

Merci d’avance,

Hello

J’avais le pb avec des semaines à la place et j’ai ajouter des sleep entre les sélections des boutons jour et litres. Regarde quelques messages plus haut

Merci beaucoup, je n’avais pas vue le changement dans le code ( ajout des sleep(3))

Cool pour le plugin, par contre je ne pense pas qu’il fonctionnera avec une jeedom smart car c’est python3.5 qui est de base dessus et pas 3.7, c’est pour ca que je suis passé par un Rpi4 pour executer le script de Flobul.

Merci encore.

Pour ce cas j’ai prévu une option pour que le plugin lise uniquement le fichier pour l’intégrer.

Il y a aussi une possibilité d’avoir la version 3.7 sur stretch mais je n’ai pas encore réussi à faire fonctionner le script

Juste pour des encouragements ! :slight_smile:
Suis mega preneur de ce plugin veolia eau IDF… meme si je crains que la méthode de scrapping du site oblige a revoir la copie TRES regulièrement.

Mais je vais suivre ca de pres !

Hello,

Merci la bêta arrive très bientôt :slight_smile:

1 « J'aime »

Cool, bon courage pour le dev.
Si besoin de test, je suis aussi en idf.

La version du plugin devrait être dispo en beta samedi 2 (j’attends la fin du mois et de l’année pour m’assurer que le calcul est bien effectué)

1 « J'aime »