Récupérer ses informations de consommation électriques via l'API ENEDIS

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 <\>.
loc73
Messages : 4
Inscription : 27 déc. 2017, 15:18

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par loc73 »

super,

merci beaucoup. après plusieurs essais et installation de package manquant ça marche !!!!!!

merci pour le travail effectué la récupération des infos se fait sans problème et l'affichage dans domoticz aussi.

juste pour info pour d'autres personnes j'ai du taper la commande

Code : Tout sélectionner

sudo pip3 install requests
au lieu de la commande

Code : Tout sélectionner

sudo pip install requests
c'est surement dû à une version de programmes différentes. enfin si cela peut servir à quelqu'un au lieu de trop chercher.

encore merci
epierre
Messages : 648
Inscription : 27 mai 2015, 09:32
Contact :

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par epierre »

oui bien vu !

j'ai mis à jour le readme avec:

sudo apt-get install python3 python3-numpy python3-dateutil python3-requests
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
StephBel
Messages : 10
Inscription : 07 août 2017, 11:13

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par StephBel »

De retour sur le forum,

Merci epierre pour ce super travail.
J'ai installé le script et tout semble fonctionner. Les JSON sont bien là avec des valeurs cohérentes.
Par contre dans Domoticz, je n'ai que des valeurs à zéro.

Dans les paramètres de DOmoticz j'ai mis 1 dans "RFXMeter/Compteurs Diviseurs" (il y avait 1000) mais cela ne change rien.

Avez-vous une idée?
loc73
Messages : 4
Inscription : 27 déc. 2017, 15:18

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par loc73 »

bonjour à tous les utilisateurs du script.

au changement d'année j'ai eu un souci d'affichage je ne sais pas si vous avez le même problème ou non.

j'ai du me plonger un peu dans le code pour comprendre d'où cela pouvait venir. à priori les infos venant de ENEDIS son correct. j'ai ouvert les différents fichiers et comparé cela me paraît correct.

je pense que le problème vient dans lorsqu'on vient faire l'interface avec domoticz. j'ai ouvert le fichier req.sql et j'ai l'impression que les dates ne sont pas formattées de la même façon. 2018-01-02 pour les lignes meter calendar et 2018-1-2 pour meter

est ce que vous pensez que le problème pourrait venir de cet endroit ?

si oui j'imagine qu'il faudra remonter dans le code à l'endroit ou on crée le fichier req.sql

merci
loc73
Messages : 4
Inscription : 27 déc. 2017, 15:18

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par loc73 »

Salut stephbel,
Par contre dans Domoticz, je n'ai que des valeurs à zéro.
est ce que les infos du fichier log sont cohérentes (connexion et récupération des données???

il faut aussi que tu regardes dans le fichier domoticz.sh si celui ci pointe bien vers la base de donnée domoticz.

Code : Tout sélectionner

cat $BASE_DIR/req.sql | sqlite3 /home/pi/domoticz/domoticz.db
j'espère que cela pourra t'aider un peu
StephBel
Messages : 10
Inscription : 07 août 2017, 11:13

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par StephBel »

Bon les valeurs sont cohérentes mais le fichier req.sql est vide.
Je pense qu'il y a un problème avec mon installation de node.js (je tape "node -v" et rien ne se passe).
Je vais fouiller internet pour comprendre (je ne connais pas node.js)
StephBel
Messages : 10
Inscription : 07 août 2017, 11:13

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par StephBel »

Je réponds à moi même : sur Raspbian node.js ne s'apelle pas "node" mais nodejs.
Après modification de domoticz_linky.sh j'ai les valeurs !

Encore merci pour les scripts !!!
singinglarvae
Messages : 17
Inscription : 04 avr. 2016, 11:03

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par singinglarvae »

Bonjour,

Je ne sais pas si il est mieux de créer un noueau sujet, mais au cas où, je poste à la suite des messages...

J'essaye d'installer le script sur mon installation, jusqu'à présent sans succès. J'ai suivi les directives d'installations (packages, etc.), mais j'ai les retours suivants :

Code : Tout sélectionner

pi@raspberrypi ~/domoticz/domoticz_linky $ ./domoticz_linky.sh
fs.js:502
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory 'export_years_values.json'
    at Error (native)
    at Object.fs.openSync (fs.js:502:18)
    at Object.fs.readFileSync (fs.js:354:15)
    at getCumulBefore (/home/pi/domoticz/domoticz_linky/domoticz_linky.js:83:26)
    at generateMonthDays (/home/pi/domoticz/domoticz_linky/domoticz_linky.js:98:12)
    at Object.<anonymous> (/home/pi/domoticz/domoticz_linky/domoticz_linky.js:113:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
Au niveau du fichier linky.log :

Code : Tout sélectionner

pi@raspberrypi ~/domoticz/domoticz_linky $ cat linky.log
2018-01-17 09:11:48,669 logging in as XX@YY...
2018-01-17 09:11:48,872 Starting new HTTPS connection (1): espace-client-connexion.enedis.fr
2018-01-17 09:11:49,875 logged in successfully!
2018-01-17 09:11:49,878 retreiving data...
2018-01-17 09:11:49,999 Starting new HTTPS connection (1): espace-client-particuliers.enedis.fr
2018-01-17 09:11:52,097 Starting new HTTPS connection (2): espace-client-particuliers.enedis.fr
Traceback (most recent call last):
  File "/home/pi/domoticz/domoticz_linky/linky_json.py", line 189, in <module>
    main()
  File "/home/pi/domoticz/domoticz_linky/linky_json.py", line 139, in main
    res_year = linky.get_data_per_year(token)
  File "/home/pi/domoticz/domoticz_linky/linky.py", line 88, in get_data_per_year
    return _get_data(session, 'urlCdcAn')
  File "/home/pi/domoticz/domoticz_linky/linky.py", line 123, in _get_data
    res = req.json()
TypeError: 'dict' object is not callable
J'ai essayé de lancer le fichier /domoticz_linky_month.sh, mais égaiement sans succès jusqu'à maintenant :

Code : Tout sélectionner

pi@raspberrypi ~/domoticz/domoticz_linky $ ./domoticz_linky_month.sh 1
fs.js:502
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory 'export_years_values.json'
    at Error (native)
    at Object.fs.openSync (fs.js:502:18)
    at Object.fs.readFileSync (fs.js:354:15)
    at getCumulBefore (/home/pi/domoticz/domoticz_linky/domoticz_linky.js:83:26)
    at generateMonthDays (/home/pi/domoticz/domoticz_linky/domoticz_linky.js:98:12)
    at Object.<anonymous> (/home/pi/domoticz/domoticz_linky/domoticz_linky.js:113:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

Code : Tout sélectionner

pi@raspberrypi ~/domoticz/domoticz_linky $ cat linky.log
2018-01-17 09:13:17,056 logging in as XX@YY...
2018-01-17 09:13:17,183 Starting new HTTPS connection (1): espace-client-connexion.enedis.fr
2018-01-17 09:13:17,921 logged in successfully!
2018-01-17 09:13:17,924 retreiving data...
2018-01-17 09:13:17,927 arg 1
2018-01-17 09:13:17,931 16/12/2017
2018-01-17 09:13:17,934 16/11/2017
2018-01-17 09:13:18,008 Starting new HTTPS connection (1): espace-client-particuliers.enedis.fr
2018-01-17 09:13:20,182 Starting new HTTPS connection (2): espace-client-particuliers.enedis.fr
Traceback (most recent call last):
  File "/home/pi/domoticz/domoticz_linky/linky_month.py", line 174, in <module>
    main()
  File "/home/pi/domoticz/domoticz_linky/linky_month.py", line 146, in main
    dtostr(today))
  File "/home/pi/domoticz/domoticz_linky/linky.py", line 84, in get_data_per_month
    return _get_data(session, 'urlCdcMois', start_date, end_date)
  File "/home/pi/domoticz/domoticz_linky/linky.py", line 123, in _get_data
    res = req.json()
TypeError: 'dict' object is not callable
Dans les 2 cas, aucune création de quelque fichier que ce soit, en dehors du log. J'ai regardé un peu dans le code, mais je ne vois pas où est le problème. J'ai l'impression qu'il n'y a tout simplement pas de retour de données de la part d'Enerdis ?

Merci d'avance pour tout début de piste !
Martial
Messages : 201
Inscription : 03 mars 2017, 18:58

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par Martial »

Bonjour,
Merci pour ce code, mais il y a, pour moi, de nombreux bugs.
- les unités ne sont pas respectées: on a des valeurs 10 fois trop petites. J'ai remplacé un coef 100 par 1000
- la date est mal formatée (mois sans le 0). Un ajout de la fonction pad() au bon endroit et c'est mieux.
- plus difficile: je n'ai pas trouvé comment corriger: toutes les dates sont en 2018. Donc tout l'historique est enregistré en 2018 au lieu de 2017.

Dès que j'aurais réussi à tout corriger, je remonterais les scripts correspondants.
Quelqu'un a une idée (ou a déjà fait la correction) pour le problème d'année ?
Marcus
Messages : 4
Inscription : 17 janv. 2018, 20:23

Re: Récupérer ses informations de consommation électriques via l'API ENEDIS

Message par Marcus »

Bonsoir à tous

@singinglarvae Il faut que tu te logue sur le site toi même et que tu actives l'enregistrement des données de consommation, j'ai perdu 2 heures avec cette bêtise ;)

Marcus
Répondre