Aucune donnée, merci de vérifier que vos identifiants sont corrects et que vous avez accès au télérelevé

Merci bcp pour la réponse. ça donne de l’espoir. Par contre, en mettant un N° de compteur (0 ou 1), ou sans aucun N°, en ayant changé mon mdp sur le site de véolia et sur mon jeedom, tjrs rien… Si par hasard, vous aviez une piste… je suis preneur… Merci. A+ L

Pour moi c’est une erreur un peu différente :

[2020-07-07 21:49:16][DEBUG] : heure de relève: 21

[2020-07-07 21:49:16][DEBUG] : ### GET CSRF TOKEN ON https://www.stephanoise-eaux.fr/mon-compte-en-ligne/je-me-connecte ###

[2020-07-07 21:49:17][DEBUG] : cURL response : %3C%21doctype+html%3E%0A%3Chtml+lang%3D%22fr%22%3E%0A%3Chead%3E%3Cscript+type%3D%22text%2Fjavascript%22%3E%28window.

[2020-07-07 21:49:18][DEBUG] : cURL errno : 0

[2020-07-07 21:49:18][DEBUG] : downloadToken :

[2020-07-07 21:49:18][DEBUG] : url csv : https://www.stephanoise-eaux.fr/mon-compte-en-ligne/exporter-consommation/day//2020/07

[2020-07-07 21:49:18][DEBUG] : ### GET DATAFILE CSV ###

[2020-07-07 21:49:18][DEBUG] : ### Create File /tmp/veolia_releve_5f04d1beced3a.xls

[2020-07-07 21:49:18][DEBUG] : ### Curl call https://www.stephanoise-eaux.fr/mon-compte-en-ligne/exporter-consommation/day//2020/07

[2020-07-07 21:49:19][DEBUG] : response : 1

[2020-07-07 21:49:19][DEBUG] : error :

[2020-07-07 21:49:19][DEBUG] : response length : 1

[2020-07-07 21:49:19][DEBUG] : cURL errno : 0

[2020-07-07 21:49:19][DEBUG] : alert:

[2020-07-07 21:49:19][DEBUG] : ### TRAITE CONSO XLS 4 ###

[2020-07-07 21:49:19][ERROR] : Erreur sur la fonction cron du plugin : Access to undeclared static property: PHPExcel_Worksheet::$_invalidCharacters

Bonjour,
Je reviens sur ce post, ma tete telerelevé etait HS depuis des mois mais depuis le remplacement, cela remonte bien dans mon espace client chez veolia mais comme vous rien dans jeedom.
Un solution depuis ou un autre plugin ?
Merci.

Bonjour,
Des news concernant ce bug ? j’ai essayé de change mon mot de passe, supprimé completement le plugin et recree un compteur c’est toujours pareil, aucune remonté des infos alors que sur mon compte c’est ok.

Bonsoir à tous,

Ayant testé le plugin et celui-ci étant KO, je viens de développer un script Python qui récupére le dernier relevé depuis le site de Veolia :

import requests
from lxml import html
import xlrd
import datetime
import json

# Identifiants
veolia_username = "xxxxx"
veolia_password = "xxxxx"

# Page de login
url = "https://www.service.eau.veolia.fr"
url_page_login = url + "/connexion-espace-client.html"
url_action_login = url + "/home/connexion-espace-client/bloc-connexion-area/connexion-espace-client.loginAction.do"
url_page_histo = url + "/home/espace-client/votre-consommation.html?vueConso=historique"
url_fichier_histo = url + "/home/espace-client/votre-consommation.exportConsommationData.do?vueConso=historique"

# Nouvelle session
session = requests.Session()

# Récupération du token du form de login (hidden indispensable pour la connexion)
home = session.get(url_page_login)
tree = html.fromstring(home.content)
token = (tree.xpath('//input[@name="token"]')[0]).get('value')

# Connexion
data = {
    'token': token, 
    'veolia_username': veolia_username, 
    'veolia_password': veolia_password
}
page = session.post(url_action_login, data=data)

# Page historique (il faut passer par la page obligatoirement)
page = session.get(url_page_histo)

# Récupération du xls
xls = session.get(url_fichier_histo)

# Sauvegarde du fichier temportaire
open('temp.xls', 'wb').write(xls.content)

# Ouverture du fichier temporaire
wb = xlrd.open_workbook("temp.xls")
sheet = wb.sheet_by_index(0)

# Données du dernier relevé
date = datetime.datetime.strptime('1900-01-01', '%Y-%m-%d') + datetime.timedelta(sheet.cell_value(sheet.nrows - 1, 0) - 2)
date = date.strftime("%d/%m/%Y")
index = sheet.cell_value(sheet.nrows - 1, 1)
conso = sheet.cell_value(sheet.nrows - 1, 2)
releve = sheet.cell_value(sheet.nrows - 1, 3)

# Retour
print(json.dumps({'date': date, 'index': index, 'conso': conso, 'releve': releve}))

Si vous testez, pensez à installer les dépendances via

pip install requests lxml xlrd

Ainsi qu’à mettre vos identifiants. Exemple de retour :

{"date": "11/11/2020", "index": "258421", "conso": "195", "releve": "M"}

Quelqu’un peut me dire comment exploiter le retour dans Jeedom ?

Bonjour,

Pour ceux qui utilise Veolia IDF vous avez le script python suivant qui fonctionne

Cordialement,

Bon, après quelques modifications, j’ai maintenant ma consommation Veolia fonctionnelle dans Jeedom grâce au plugin « script ».

Voici le script actualisé :

# -*- coding: latin-1 -*-

import requests
from lxml import html
import xlrd
import datetime
import json
import sys

# Identifiants
veolia_username = "xxxxx"
veolia_password = "xxxxx"

# Page de login
url = "https://www.service.eau.veolia.fr"
url_page_login = url + "/connexion-espace-client.html"
url_action_login = url + "/home/connexion-espace-client/bloc-connexion-area/connexion-espace-client.loginAction.do"
url_page_histo = url + "/home/espace-client/votre-consommation.html?vueConso=historique"
url_fichier_histo = url + "/home/espace-client/votre-consommation.exportConsommationData.do?vueConso=historique"

# Nouvelle session
session = requests.Session()

# Récuperation du token du form de login (hidden indispensable pour la connexion)
home = session.get(url_page_login)
tree = html.fromstring(home.content)
token = (tree.xpath('//input[@name="token"]')[0]).get('value')

# Connexion
data = {
    'token': token, 
    'veolia_username': veolia_username, 
    'veolia_password': veolia_password
}
page = session.post(url_action_login, data=data)

# Page historique (il faut passer par la page obligatoirement)
page = session.get(url_page_histo)

# Recuperation du xls
xls = session.get(url_fichier_histo)

# Sauvegarde du fichier temportaire
open('temp.xls', 'wb').write(xls.content)

# Ouverture du fichier temporaire
wb = xlrd.open_workbook("temp.xls")
sheet = wb.sheet_by_index(0)

# Donnees du dernier releve
date = datetime.datetime.strptime('1900-01-01', '%Y-%m-%d') + datetime.timedelta(sheet.cell_value(sheet.nrows - 1, 0) - 2)
date = date.strftime("%d/%m/%Y")
index = sheet.cell_value(sheet.nrows - 1, 1)
conso = sheet.cell_value(sheet.nrows - 1, 2)
releve = sheet.cell_value(sheet.nrows - 1, 3)


# Retour Jeedom
if sys.argv[1] == 'index':
  print(index)
elif sys.argv[1] == 'conso':
  print(conso)
elif sys.argv[1] == 'date':
  print(date)
else:
  print -1

Le paramétrage effectué sous Jeedom :

et le rendu sur mon Dashboard :

image

Chez moi la télé-relève est le soir (vers 20h?) donc j’ai entre 1 et deux jours de décalage. Refresh positionné à 21h.

Amusez-vous bien !

Et vive le Python :snake:

1 « J'aime »

Bonjour,

tu est chez veolia d’une autre région que IDF non?

Oui en province, mais je pense que tu peux adapter le script avec tes liens

Excellent ça fonctionne pour moi. Merci beaucoup !

1 « J'aime »

Bonjour,
Je viens d’installer ton script, un grand merci au passage :slight_smile:
Mais en créant les commandes j’ai l’erreur suivante :

Erreur sur python /var/www/html/plugins/script/data/veolia.py date 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last): File « /var/www/html/plugins/script/data/veolia.py », line 5, in import xlrd ImportError: No module named xlrd

J’ai du louper un truc !!
Merci d’avance :slight_smile:

Salut.
Tu as oublié d’installer les dépendances. Connecte toi en ssh sur ton Jeedom et lance :

pip install requests lxml xlrd

Ça devrait le faire ensuite.

Salut,
Merci de ton retour.
J’ai déjà fait pip install requests lxml xlrd, puis comme ça ne fonctionnait pas j’ai fait pip install xlrd et pip3 install xlrd
Quand je refais les commandes ça me dit already satisfied donc ok apparemment !
Mais ça ne fonctionne toujours pas et je suis pas trop bon en commandes ssh …

Salut,
Au cas ou ça pourrait en aider quelques un comme moi, j’ai refait l’install avec la commande suivante et ça fonctionne .
sudo pip install requests lxml xlrd

Bonjour à tous,
Bon encore un petit soucis, en sauvegardant le scenario en manuel il récupère bien les infos.
Quand je l’exécute en auto j’ai le message suivant et aucune valeurs récupérées:
Erreur pour [Jardin][Véolia][Date relevé] : Erreur sur python /var/www/html/plugins/script/data/veolia.py date 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last): File « /var/www/html/plugins/script/data/veolia.py », line 44, in open(‹ temp.xls ›, ‹ wb ›).write(xls.content) IOError: [Errno 13] Permission denied: 'temp.xls’

ça doit etre un truc tout bête mais je ne connais pas assez, merci d’avance pour votre aide. :slight_smile:

Hello, je viens de finit un plugin pour les compteurs Téléo, j’ai aussi intégré le script de @doyenc.

Étant en IdF ne n’ai pas pu testé cette partie, si cela vous dit, les infos sont là : Plugin-teleo (pour compteur Veolia)

Ce plugin n’est pas sur la market pour le téléchargement ?

Pas pour le moment, il est d’abord en bêta test

Bonjour,
Merci de ton retour, je viens de l’installer, je te fais un retour rapidement.
Cordialement.

Pour pouvoir le testé , peux tu me confirmer la procédure ci dessous.

J’ai télécharger le répertoire comprenant les différents fichiers
J’ai copié les fichiers dans html/plugins/Teleo

Mais je pense que cela ne suffit pas