REcuperer la consommation d'eau réelle de votre compteur Veolia

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
s0nik42
Messages : 4
Inscription : 28 mai 2019, 13:56

REcuperer la consommation d'eau réelle de votre compteur Veolia

Message par s0nik42 »

Bonjour,

Je me permet de presenter ici ce script qui automatise le chargement de l'historique de votre consommation d'eau récupéré sur le site de Veolia Ile-de-France dans Domoticz.

Ce script s'installe sur le serveur hébergeant l'applicatif domoticz ou sur autre. Son execution est manuelle ou peut se planifier à travers un planificateur de tâche tel que "cron".

La récuperation des données se fait grace à l'outil selenium et l'execution en mode Headless de firefox (simulation d'un utilisateur en tâche de fond sans mode graphique).

C'est une v1 perfectible, n'hésitez pas à me faire vos retours en cas de problème/difficulté

https://github.com/s0nik42/veolia-idf

Fonctionnalités :
  • Récupération et chargement de l'intégralité de l'historique
  • Gestion multi-contrat
  • Vérification de l'intégrité de l'environnement (prérequis / configuration domoticz)
  • Mode debug graphique
  • Possible integration avec d'autre solution domotique (à vous de jouer)
Prérequis :
  • firefox
  • geckodriver
  • python 3
  • xvfb
  • xephyr (recommandé)
  • modules python :
    • selenium
    • pyvirtualdisplay
    • colorama
    • urllib3
    • qq autres... (le script commence par verifier la présence des modules)
  • Un Virtual Sensor Domoticz
Création du "Virtual Sensor" Domoticz :
  • Créer un Matériel de Type "Dummy" -> Domoticz / Setup / Hardware / Dummy
  • Créer un "Virtual Sensor" de type : "Managed Counter"
  • Configurer le sensor -> Domoticz / Utility / [Bouton "edit" de votre sensor]
    • Type Counter : water
    • Counter Divider : 1000
    • Meter Offset : 0
Installation :
Copier les fichiers veolia-idf-domoticz.py et config.json.exemple sur votre serveur. Comme par exemple en :

Code : Tout sélectionner

mkdir -p /opt
cd /opt
git clone https://github.com/s0nik42/veolia-idf
Pour mettre à jour :

Code : Tout sélectionner

git pull
Donnez la permission d'exécution si vous êtes sous Linux :

Code : Tout sélectionner

chmod ugo+x veolia-idf-domoticz.py
Configuration :
Copier le fichier config.json.exemple en config.json

Code : Tout sélectionner

cp  config.json.exemple config.json
Modifier le contenu du fichier avec vos valeurs. les champs obligatoires sont :
  • "veolia_password": votre mot de passe
  • "veolia_contract": votre numero de contrat (se trouve sur le site ou une facture)
  • "domoticz_idx": le numero du "virtual sensor" domoticz crée (se trouve dans : Domoticz/Devices/[Colonne Idx]
Première execution :

Par default le script est muet (il n'affiche rien sur la console et ne lance pas la version graphique de Firefox). Il enregistre toutes les actions dans le fichier INSTALL_DIR/veolia.log . Je vous recommande pour la première utilisation d'activer le mode debug. Cela permet d'avoir une sortie visuelle de l'éxecution du script sur la console et un suivi des actions dans Firefox.

Déroulement de l'éxécution : 1/ Chargement de tous les modules python --> si erreur installer les modules manquants (pip3 install ...) 2/ Sanity check de l'environnement :
  • Version
  • Pre-requis logiciel externe --> si erreur installer le logiciel manquant
  • Configuration domoticz --> si erreur configurer correctement domoticz 3/ Connection au site Veolia et téléchargement de l'historique 4/ Téléversement des données dans domoticz

Code : Tout sélectionner

./veolia-idf-domoticz.py --run --debug 
Afficher toutes les options disponibles :

Code : Tout sélectionner

./veolia-idf-domoticz.py --help
Automatisation :

Une fois que la première execution à terminée correctement, je vous recommande de planifier les executions une fois par jour. En rajoutant la ligne suivante à votre planificateur de tâche :

Code : Tout sélectionner

./veolia-idf-domoticz.py --run
exemple ici crontab :

Code : Tout sélectionner

crontab -e
0 1 * * * /opt/veolia-idf/veolia-idf-domoticz.py --run --log /var/log/veolia/veolia-idf.log

Environnements testés:
  • Debian buster
  • Ubuntu Zesty (17.04)
Remerciements :
KingOfIce
Messages : 28
Inscription : 02 juil. 2018, 11:42

Re: REcuperer la consommation d'eau réelle de votre compteur Veolia

Message par KingOfIce »

Bonjour,
Merci pour ce script qui me redonne espoir de réussir de nouveau à importer ma consommation d'eau.
Je n'arrive pas du tout à le faire tourner après nombreuses tentatives et bidouilles (beaucoup de dépendances et surtout je ne suis pas sur un environnement "graphique" - sur NAS Synology - donc compliqué, pas de xephir par exemple) mais je garde espoir dès que j'aurai un peu de temps.
s0nik42
Messages : 4
Inscription : 28 mai 2019, 13:56

Re: REcuperer la consommation d'eau réelle de votre compteur Veolia

Message par s0nik42 »

Bonjour,

N'hésite pas à écrire sur le GitHub si tu as des soucis, meme si tu as sur un syno le mode debug graphique peut fonctionner.
JPGO
Messages : 82
Inscription : 09 juin 2020, 10:54

Re: REcuperer la consommation d'eau réelle de votre compteur Veolia

Message par JPGO »

Bonjour,

C'est dommage que les pré-requis rendent impossible l'installation sur un NAS Synology...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: REcuperer la consommation d'eau réelle de votre compteur Veolia

Message par Keros »

Les membres (bénévolles) n'ont pas le temps de rendre leurs applications compatibles avec tous les sytèmes. s0nik42 a développé sa fonction sur le système qu'il avait (un OS) et il a utilisé les fonctions qu'il avait à sa disposition (les pré-requis).
C'est déjà énorme de l'avoir fait et de l'avoir partagé dans ce tuto.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre