Ce script automatise le chargement de l'historique de votre consommation d'eau récupéré sur le site de Veolia Ile-de-France dans les solutions domotiques :
Ce script s'installe sur le serveur domotique ou sur autre serveur. Son exécution est manuelle ou peut se planifier à travers un planificateur de tâche tel que "cron".
La récupération des données se fait grâce à l'outil selenium
et l'exécution en mode Headless de Firefox ou Chromium (simulation d'un utilisateur en tâche de fond sans mode graphique).
firefox
+geckodriver
OU chromium
+chromium-driver
apt install firefox firefox-geckodriver xvfb xserver-xephyr python3-selenium python3-pyvirtualdisplay python3-colorama python3-urllib3
Copier les fichiers veolia-idf-domoticz.py
et config.json.exemple
sur votre serveur. Comme par exemple avec ces commandes :
mkdir -p /opt
cd /opt
git clone https://github.com/s0nik42/veolia-idf
cd veolia-idf
Pour mettre à jour :
git pull
Donnez la permission d'exécution si vous êtes sous Linux :
chmod ugo+x veolia-idf-domoticz.py
Ajouter les prérequis python3 :
pip3 install -r requirements.txt
Copier le fichier config.json.exemple
en config.json
cp config.json.exemple config.json
Modifier le contenu du fichier avec vos valeurs. les champs obligatoires sont :
Voir le forum HACF pour les instructions.
Si vous rencontrez des problèmes à l'exécution, regardez dans un premier temps le fichier "veolia.log".
Si cela ne suffit pas, pour aller plus loin il sera utile d'utiliser le mode débogue (option --debug
).
Dans ce dernier cas il y a 3 scenarios :
ssh
probablement) :
xlogo
;docker\*Run.BAT
après avoir ajouté l'option '--debug' à la ligne de lancement du script.Si vous voyez bien une fenêtre X s'afficher à l'écran c'est que l'environnement X11 est correctement configuré. Le mode débogue du script devrait fonctionner.
Si par contre rien ne s'affiche, il convient de chercher sur internet comment le faire fonctionner, il y a pleins de tutos pour cela. Ensuite vous pourrez utiliser le mode débogue.
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 débogue. Cela permet d'avoir une sortie visuelle de l'exécution du script sur la console et un suivi des actions dans Firefox.
Déroulement de l'exécution :
./veolia-idf-domoticz.py --run --debug
Afficher toutes les options disponibles :
./veolia-idf-domoticz.py --help
Une fois que la première exécution a terminé correctement, je vous recommande de planifier les exécutions une fois par jour.
Pour cela, ajoutez la ligne suivante à votre planificateur de tâches :
./veolia-idf-domoticz.py --run
Exemple ici avec crontab
:
crontab
.
crontab -e
0 1 * * * /opt/veolia-idf/veolia-idf-domoticz.py --run --log /var/log/veolia/veolia-idf.log
Voir les fichiers docker*Run.BAT
, docker-compose.yml
, DockerFile*
.
Ces scripts permettent aussi de valider le fonctionnement sous divers environnements Linux. Il n'y a pas besoin de serveur X local tant que vous n'activez pas l'option débogue.
Vous avez bien évidemment besoin de Docker.
docker compose
Pour démarrer rapidement (après création du fichier de configuration config.json
):
docker compose run --rm veolia-run
Ou en mode débogue (nécessite un serveur X local):
docker compose run --rm veolia-debug
docker*.BAT
(Windows)La proposition dockerAlpineRun.BAT
se mets en place le plus rapidement et c'est aussi le plus petit (<500Mo).
A noter qu'Ubuntu supporte probablement aussi la solution avec chromium.