Véolia IDF

Tags: #<Tag:0x00007f3853269d90>

Bonjour,

Vous trouverez ci-dessous une procédure qui permets de se connecter et de récupérer les données de Véolia IDF sous Domoticz mais je pense qu’il y a moyen de faire presque la même chose sur Jeedom.

Cordialement,

Oui, ce fichier Python doit fonctionner pour récupérer les infos sur les sites https://espace-client.vedif.eau.veolia.fr/
Il faudrait voir pour les autres sites (si j’ai bien compris Veolia a créé un site par “région”…)

Par contre, je ne sias pas comment fonctionne le plugin veolia et les plugins jeedom en général, donc à part dire "oui, ce truc est générique et marchera si on le lance, je peux pas aider :frowning:

flutz, je découvre que le plugin ne fonctionne pas en IdF du coup :confused:
un âme charitable pour creuser le lien avec domoticz ?

Effectivement c’est dommage que cela ne fonctionne pas avec Veolia Ile de france
Vu la population dans la région IDF cela sera intéressant d’avoir la compatibilité

J’ai créé un script basique qui télécharge le csv des conso pour ceux qui veulent :wink:
Libre à vous d’adapter selon vos besoins.

1 J'aime

Super, cela devrait pouvoir faire avancer le #plugin-veolia_eau.

Bonjour

J’ai suivi ton modop @Flobul mais j’ai les erreurs suivante :

Traceback (most recent call last):
  File "get_veolia_idf_consommation.py", line 54, in <module>
    browser = webdriver.Firefox(firefox_profile=profile, options=options, executable_path=r'/usr/local/bin/geckodriver', service_log_path='./geckodriver.log')
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
    self.service.start()
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/bin/geckodriver'

Je ne suis vraiment pas a l’aise avec les linux
Pour tester le script j’ai installé un debian 10.4 puis fait

MAJ des apt
sudo apt-get install wget
sudo apt-get install git
sudo apt-get install python3 xvfb iceweasel
sudo pip3 install selenium pyvirtualdisplay urllib3
wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux32.tar.gz && tar xzfz geckodriver-v0.26.0-linux32.tar.gz && sudo mv geckodriver /usr/local/bin && rm geckodriver-v0.26.0-linux32.tar.gz
git clone -b master https://github.com/Flobul/conso_veolia.git

il est dit dans ton modop de faire un pip pour selenium mais python3 semble utiliser pip3 si j’ai bien compris.

et à l’exécution

python3 get_veolia_idf_consommation.py

J’ai l’erreur ci dessus.

Ai je oublié quelque chose ?

J’ai testé sur debian car je suis sur jeedom smart qui est sur debian il me semble

Merci d’avance,

Que geckodriver que j’ai cité est la version 32 bits.
La 64bit est là : https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz

La page a encore changé, le script ne fonctionne plus.

J’ai fait un wget avec la version 64 mais j’ai encore l’erreur

Traceback (most recent call last):
  File "get_veolia_idf_consommation.py", line 54, in <module>
    browser = webdriver.Firefox(firefox_profile=profile, options=options, executable_path=r'/usr/local/bin/geckodriver', service_log_path='./geckodriver.log')
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
    self.service.start()
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/bin/geckodriver'

Ok merci pour l’info, tampis.

Et la suite : tar xzfz geckodriver-v0.26.0-linux64.tar.gz && sudo mv geckodriver /usr/local/bin && rm geckodriver-v0.26.0-linux64.tar.gz ?

Ca fonctionne toujours.
J’ai envoyé la modif sur mon GitHub.

Génial merci ça fonctionne!

Plus qu’a le lancer directement depuis jeedom et récupérer la consommation de J-1

Merci,

Bonjour,

J’essaye maintenant d’appliquer le meme modop sur mon jeedom smart mais j’ai l’erreur

python3 get_veolia_idf_consommation.py
Traceback (most recent call last):
  File "get_veolia_idf_consommation.py", line 54, in <module>
    browser = webdriver.Firefox(firefox_profile=profile, options=options, executable_path=r'/usr/local/bin/geckodriver', service_log_path='./geckodriver.log')
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
    self.service.start()
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.5/subprocess.py", line 676, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1282, in _execute_child
    raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error

la version de python semble être 3.5, est ce qu’il faut être en 3.7?
Si oui est t il possible de faire une MAJ en 3.7?
Car quand j’essaye d’installer sudo apt-get install python3 xvfb iceweasel il me dit que j’ai déjà la dernière version de python3

Reading package lists... Done
Building dependency tree
Reading state information... Done
python3 is already the newest version (3.5.3-1).
xvfb is already the newest version (2:1.19.2-1+deb9u5).
iceweasel is already the newest version (68.8.0esr-1~deb9u1).
The following packages were automatically installed and are no longer required:
  libmemcached11 libmemcachedutil2 libmysqlclient18 libonig2 libpng12-0
  libqdbm14 libvpx1 linux-image-3.14.29+ linux-image-arm64-odroid-c2
  python-lockfile u-boot-tools
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 195 not upgraded.

Merci d’avance,

Oui, installe la 3.7
sudo apt-get install python3.7

Bonjour,

Ca ne va pas poser probleme d’installer 3.7 sur la jeedom smart ? alors qu’il ne propose pas la MAJ ?
(d’autre plugin qui ne fonctionnerai plus … )

Merci

Je n’ai pas de smart, et ne sais quels plugins/scripts/fonctions tu as qui sont susceptibles d’utiliser python.

Fais un backup et tente.
Si ça foire, tu pourras revenir en arrière peut-être.

En essayant d’installer 3.7 j’ai le message

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3.7
E: Couldn't find any package by glob 'python3.7'
E: Couldn't find any package by regex 'python3.7'

Y a t il une autre commande pour l’installer ?

edit :
peut etre avec ce modop :

Python 3.7 sur Debian 9

Merci d’avance et désolé du dérangement

Bonjour @Flobul,
Bon au final j’ai installé python3.7 et depuis j’ai des erreurs critiques sur openzwave
Je n’avais pas ces erreurs avant de bidouiller en ssh.

[2020-05-30 12:01:45][ERROR] : Error on send request to jeedom HTTPConnectionPool(host='127.0.0.1', port=80): Max retries exceeded with url: /plugins/openzwave/core/php/jeeZwave.php?apikey=hLZNE3UvLTeavWF9Mr94f64Yu79hfD3e (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f890e3090>: Failed to establish a new connection: [Errno 111] Connection refused',)) retry : 0/3
[2020-05-30 12:01:45][ERROR] : Error on send request to jeedom HTTPConnectionPool(host='127.0.0.1', port=80): Max retries exceeded with url: /plugins/openzwave/core/php/jeeZwave.php?apikey=hLZNE3UvLTeavWF9Mr94f64Yu79hfD3e (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f8b96a8d0>: Failed to establish a new connection: [Errno 111] Connection refused',)) retry : 1/3
[2020-05-30 12:01:45][ERROR] : Error on send request to jeedom HTTPConnectionPool(host='127.0.0.1', port=80): Max retries exceeded with url: /plugins/openzwave/core/php/jeeZwave.php?apikey=hLZNE3UvLTeavWF9Mr94f64Yu79hfD3e (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f8b96a250>: Failed to establish a new connection: [Errno 111] Connection refused',)) retry : 2/3
[2020-05-30 12:01:45][ERROR] : Critical error on  send_changes_async local variable 'r' referenced before assignment

Je pense que je vais donc faire un recovery mode puis une réinstalle de mon backup
Puis je vais passer par un rpy pour exécuter ce code python

Merci

Bonjour @Flobul

Comme dit plus haut je suis donc passé par un rpi 4 Raspbian GNU/Linux 10 (buster)
mais j’ai une erreur a l’exécution du script

pi@raspberrypi:~/conso_veolia $ python3 get_veolia_idf_consommation.py
Traceback (most recent call last):
  File "get_veolia_idf_consommation.py", line 54, in <module>
    browser = webdriver.Firefox(firefox_profile=profile, options=options, executable_path=r'/usr/local/bin/geckodriver', service_log_path='./geckodriver.log')
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
    self.service.start()
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/bin/geckodriver'

Quand je fait un uname-m j’ai

armv7l

Peut être le problème provient il de ça ? c’est du 32bit armv71 ?

J’ai quand même essayé avec le package 32bit de geckodriver mais j’ai la même erreur.

Mes versions de python

pi@raspberrypi:~/conso_veolia $ python --version
Python 2.7.16
pi@raspberrypi:~/conso_veolia $ python3  --version
Python 3.7.3

Procédure d’installation

**sudo apt-get install python3 xvfb iceweasel**
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
iceweasel est déjà la version la plus récente (68.8.0esr-1~deb10u1+rpi1).
python3 est déjà la version la plus récente (3.7.3-1).
xvfb est déjà la version la plus récente (2:1.20.4-1+rpt1).
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  alsa-base gstreamer0.10-alsa gstreamer0.10-plugins-base libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libllvm8 libmicrodns0 libva-wayland2 libxfce4util-bin libxfce4util-common
  libxfce4util7 libxfconf-0-2 pimixer point-rpi rpi-eeprom-images xfconf
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.


**sudo pip3 install selenium pyvirtualdisplay urllib3**
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: selenium in /usr/local/lib/python3.7/dist-packages (3.141.0)
Requirement already satisfied: pyvirtualdisplay in /usr/local/lib/python3.7/dist-packages (1.3.2)
Requirement already satisfied: urllib3 in /usr/lib/python3/dist-packages (1.24.1)
Requirement already satisfied: EasyProcess in /usr/local/lib/python3.7/dist-packages (from pyvirtualdisplay) (0.3)


**wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz && tar xzfz geckodriver-v0.26.0-linux64.tar.gz && sudo mv geckodriver /usr/local/bin && rm geckodriver-v0.26.0-linux64.tar.gz**
--2020-06-07 01:10:20--  https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
Résolution de github.com (github.com)… 140.82.118.4
Connexion à github.com (github.com)|140.82.118.4|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://github-production-release-asset-2e65be.s3.amazonaws.com/25354393/5c569480-ed2d-11e9-9cc4-fc5d37f5f932?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200606%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200606T231021Z&X-Amz-Expires=300&X-Amz-Signature=e0d25d60e0dd51cb763cc028c86db2915dbf14cc6fb50ae3941895a468101557&X-Amz-SignedHeaders=host&actor_id=0&repo_id=25354393&response-content-disposition=attachment%3B%20filename%3Dgeckodriver-v0.26.0-linux64.tar.gz&response-content-type=application%2Foctet-stream [suivant]
--2020-06-07 01:10:21--  https://github-production-release-asset-2e65be.s3.amazonaws.com/25354393/5c569480-ed2d-11e9-9cc4-fc5d37f5f932?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200606%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200606T231021Z&X-Amz-Expires=300&X-Amz-Signature=e0d25d60e0dd51cb763cc028c86db2915dbf14cc6fb50ae3941895a468101557&X-Amz-SignedHeaders=host&actor_id=0&repo_id=25354393&response-content-disposition=attachment%3B%20filename%3Dgeckodriver-v0.26.0-linux64.tar.gz&response-content-type=application%2Foctet-stream
Résolution de github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)… 52.216.239.107
Connexion à github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.239.107|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 2390549 (2,3M) [application/octet-stream]
Sauvegarde en : « geckodriver-v0.26.0-linux64.tar.gz »

geckodriver-v0.26.0-linux64.tar.gz              100%[====================================================================================================>]   2,28M  3,78MB/s    ds 0,6s

2020-06-07 01:10:22 (3,78 MB/s) — « geckodriver-v0.26.0-linux64.tar.gz » sauvegardé [2390549/2390549]

Merci d’avance pour ton aide.

Hello.
Il faudrait vraisemblablement le compiler depuis les sources pour le RPI 4.


https://firefox-source-docs.mozilla.org/testing/geckodriver/ARM.html