Page 3 sur 15
Re: Script Véolia
Publié : 20 févr. 2017, 20:22
par domcars0
Normalement une fois logué , sur la droite de l'écran tu cliques sur "Mes consommations":

- Veolia1.png (145.7 Kio) Consulté 10117 fois
Puis sur l'écran suivant tu cliques sur "Surveiller ma conso avec Télérelevé"

- Veolia2.png (36.48 Kio) Consulté 10117 fois
et là tu tombes sur la page affichée sur mon post précédent (lien
https://www.eau-services.com/mon-espace ... alise.aspx).
Si tu n'as pas cette page alors, c'est rapé

Re: Script Véolia
Publié : 20 févr. 2017, 21:03
par ericd
Toulouse ne fait pas parti de véolia Méditerranée !!!!
Mon interface client est totalement différente de la tienne !!!!
Il faut juste attendre que Véolia mette à jour les régions...
Merci quand même pour ton travail, et pour mes recherches j'espère qu'elles serviront aux possesseurs de synology Méditerranée
@+
Ericd
Re: Script Véolia
Publié : 21 févr. 2017, 21:51
par zaraki673
kouf a écrit :Il existe un script python qui permet de recuperer les releves Veolia en fichier excel disponible sur git :
https://github.com/TangiX-DIY/VeoliaCon ... Connect.py
À partir de ca il faut en extraire les données. J'ai pas encore mon script qui fait cela sous la main, mais je vais le publier.
Bonjour, je me suis baser sur ce script pour faire le miens pour les veoliens d'IDF (peut etre les autres si vous pouvez télécharger un excel comptenant les données journalières).
En prérequis, il faut avoir installer python3 et xlrd :
Comme pour celui de Domcars0, il faut creer un materiel et capteurs virtuels, noter l'idx et modifier dans ce script idx, login et password :
Code : Tout sélectionner
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
@author: zaraki673
source: tangix
"""
import http.cookiejar, urllib
import xlrd
from xlrd.sheet import ctype_text
# domoticz server & port information
domoticzserver = "192.168.10.28:8080"
# domoticz IDX
Idx="domoticz_idx"
#Veolia Login
Vlogin="your_login"
#Veolia password
Vpassword="your_password"
# Logger
def Logger(pMessage):
file = open('veoliaconnect.log', 'a')
file.write("%s\n" % pMessage)
file.close()
class URL:
def __init__(self):
# On active le support des cookies pour urllib
cj = http.cookiejar.CookieJar()
self.urlOpener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
def call(self, url, params = None, referer = None, output = None):
Logger('Calling url')
data = None if params == None else urllib.parse.urlencode(params).encode("utf-8")
request = urllib.request.Request(url, data)
if referer is not None:
request.add_header('Referer', referer)
response = self.urlOpener.open(request)
Logger(" -> %s" % response.getcode())
if output is not None:
file = open(output, 'w')
file.write(response.read())
file.close()
return response
argsweb = 'ok'
# WebSite gathering
if argsweb:
url = URL()
urlConnect = 'https://www.service-client.veoliaeau.fr/home.loginAction.do#inside-space'
urlConso1 = 'https://www.service-client.veoliaeau.fr/home/espace-client/votre-consommation.html'
urlConso2 = 'https://www.service-client.veoliaeau.fr/home/espace-client/votre-consommation.html?vueConso=historique'
urlXls = 'https://www.service-client.veoliaeau.fr/home/espace-client/votre-consommation.exportConsommationData.do?vueConso=historique'
urlDisconnect = 'https://www.service-client.veoliaeau.fr/logout'
# Connect to Veolia website
Logger('Connection au site Veolia Eau')
params = {'veolia_username' : Vlogin ,
'veolia_password' : Vpassword,
'login' : 'OK'}
referer = 'https://www.service-client.veoliaeau.fr/home.html'
url.call(urlConnect, params, referer)
# Page 'votre consomation'
Logger('Page de consommation')
url.call(urlConso1)
# Page 'votre consomation : historique'
Logger('Page de consommation : historique')
url.call(urlConso2)
# Download XLS file
Logger('Telechargement du fichier')
response = url.call(urlXls)
content = response.read()
# logout
Logger('Deconnection du site Veolia Eau')
url.call(urlDisconnect)
file = open('temp.xls', 'wb')
file.write(content)
file.close()
book = xlrd.open_workbook('temp.xls', encoding_override="cp1252")
sheet = book.sheet_by_index(0)
last_rows = sheet.nrows
row = sheet.row(last_rows-1)
for idx, cell_obj in enumerate(row):
cell_type_str = ctype_text.get(cell_obj.ctype, 'unknown type')
if idx == 1:
volume = int(cell_obj.value)
urldom = 'http://'+domoticzserver+'/json.htm?type=command¶m=udevice&idx='+Idx+'&svalue='+str(volume)+''
url.call(urldom)
ce script peut être lancer par cron 1 ou plusieurs fois par jour pour avoir les remonter ds domoticz (la valeur ne changeant qu une fois par jour, une seule exécution est suffisante).
il faut également ajuster le "diviseur" à 1000 dans la configuration de domoticz :

- domoticz-conf-eau.png (83.91 Kio) Consulté 10005 fois
pour les autres que les veoliens d'IDF vous pouvez essayer de modifier les urls du bloc
Code : Tout sélectionner
urlConnect = 'https://www.service-client.veoliaeau.fr/home.loginAction.do#inside-space'
urlConso1 = 'https://www.service-client.veoliaeau.fr/home/espace-client/votre-consommation.html'
urlConso2 = 'https://www.service-client.veoliaeau.fr/home/espace-client/votre-consommation.html?vueConso=historique'
urlXls = 'https://www.service-client.veoliaeau.fr/home/espace-client/votre-consommation.exportConsommationData.do?vueConso=historique'
urlDisconnect = 'https://www.service-client.veoliaeau.fr/logout'
Re: Script Véolia
Publié : 24 févr. 2017, 17:55
par itcitc77
bonjour
j'ai installé ton script mais j'ai message d'erreur.
pi@raspberrypi:~$ cd veolia
pi@raspberrypi:~/veolia$ python veolia.py
Traceback (most recent call last):
File "veolia.py", line 11, in <module>
import http.cookiejar, urllib
ImportError: No module named http.cookiejar
Merci de ta réponse
Re: Script Véolia
Publié : 24 févr. 2017, 18:19
par zaraki673
Bonjour,
il faut utiliser python3 pour exécuter le script
Re: Script Véolia
Publié : 24 févr. 2017, 19:00
par itcitc77
super merci cela fonctionne
Re: Script Véolia
Publié : 24 févr. 2017, 21:04
par zaraki673
itcitc77 a écrit :super merci cela fonctionne
au vue des résultats des 3 derniers jours chez moi, je penses qu il va falloir que je revois le script ... tu me diras pour toi
je sais pas si il vaut mieux transmettre l index du compteur ou le volumes utilisés dur dernier jour à domoticz

Re: Script Véolia
Publié : 25 févr. 2017, 07:45
par itcitc77
bonjour
oui dans les données il y a un problème, Véolia a un décalage de relevés, ce qui ne convient pas à domoticz, voila les trois dernières lignes de l'excel se matin.
20/02/2017 655598 383
21/02/2017 655649 51
22/02/2017 655870 136
23/02/2017 656178 308
et dans domotic j'ai :
le 24 130
le 25 170
je vois pas a quoi corresponde les 170
A mon avis en litre cela passerais mieux, a voir !!!
Re: Script Véolia
Publié : 25 févr. 2017, 09:16
par zaraki673
ouep, j ai a peu pres la meme chose
par contre le script récupère déjà les litres du dernier jour enregistré par veolia (soit à j-2)
dans domoticz j ai ca :

- veolia.png (19.22 Kio) Consulté 10037 fois
dans le fichier véolia xls j ai bien 303l en derniere valeur, mais apres je ne retrouve cette valeur nulle part dans les logs ... un peu de mal a comprendre ce type de dispositif ...
aujourd'hui :

- veolia2.png (18.53 Kio) Consulté 10035 fois
et dans les logs :

- veolialog.png (108.19 Kio) Consulté 10035 fois
les valeurs en m3 sont bonnes ... une idée ?
Re: Script Véolia
Publié : 25 févr. 2017, 11:06
par itcitc77
Voila les valeurs du dummy
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"Counter" : "0.308 m3",
"CounterToday" : "170 Liter",
"CustomImage" : 0,
"Data" : "0.308 m3",
"Description" : "",
"Favorite" : 1,
il y aune erreur dans le counterToday ma valeur dois etre 0.308 M3 ou 308 litres