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 <\>.
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 »

Je pense que je vais faire comme ici: https://github.com/Sirus10/domoticz/

proposer de récupérer mois par mois la consommation pour la pousser en base, mais en manuel/scripté car il ne faut le faire qu'une seule fois.

il n'y a pas dans domoticz la possibilité de rentrer une valeur mois, ce sont toujours des valeurs jours qui sont sommées.
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
MazelleJeanne
Messages : 31
Inscription : 06 nov. 2017, 21:13

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

Message par MazelleJeanne »

Bonjour,

J'ai découvert Domoticz dimanche, je l'ai installé sur ma RASPBIAN, et testé le script.

après pas mal de tatonnement je suis arrivé à cette erreur :

Code : Tout sélectionner

pi@raspberrypi:/opt/domoticz/scripts/domoticz_linky $ ./domoticz_linky.sh 
./domoticz_linky.sh: 11: ./domoticz_linky.sh: cannot create req.sql: Permission denied
./domoticz_linky.sh: 17: ./domoticz_linky.sh: cannot create req.sql: Permission denied
J'ai donc modifié via MC les droits, ce qui m'a relancé DOMOTICZ (à force de toucher à tout lol)


Depuis, voilà ce que j'ai (avant je l'avais si je lançais ./domoticz_linky.ch en mod root, maintenant je l'ai aussi en user PI)

Code : Tout sélectionner

pi@raspberrypi:/opt/domoticz/scripts/domoticz_linky $ ./domoticz_linky.sh 
fs.js:641
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'export_years_values.json'
    at Error (native)
    at Object.fs.openSync (fs.js:641:18)
    at Object.fs.readFileSync (fs.js:509:33)
    at getCumulBefore (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:83:26)
    at generateDay (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:70:12)
    at Object.<anonymous> (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:107:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
fs.js:641
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'export_years_values.json'
    at Error (native)
    at Object.fs.openSync (fs.js:641:18)
    at Object.fs.readFileSync (fs.js:509:33)
    at getCumulBefore (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:83:26)
    at generateDay (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:70:12)
    at Object.<anonymous> (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:107:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
Ca ressemble à celà ...
frenchyyii a écrit :Salut Epierre et les autres, je viens de rentrer chez moi et me suis mis a tester le script, j'ai des erreurs. Une idée de la cause ? Merci

Code : Tout sélectionner

pi@raspberrypi:~/domoticz/scripts/domoticz_linky $ ./domoticz_linky.sh
fs.js:549
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'export_years_values.json'
    at Error (native)
    at Object.fs.openSync (fs.js:549:18)
    at Object.fs.readFileSync (fs.js:397:15)
    at getTotal (/home/pi/domoticz/scripts/domoticz_linky/domoticz_linky.js:22:26)
    at Object.<anonymous> (/home/pi/domoticz/scripts/domoticz_linky/domoticz_linky.js:83:13)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Function.Module.runMain (module.js:467:10)
Voilà mon linky.log

Code : Tout sélectionner

Traceback (most recent call last):
  File "/opt/domoticz/scripts/domoticz_linky//linky_json.py", line 26, in <module>
    from dateutil.relativedelta import relativedelta
ImportError: No module named 'dateutil'
Traceback (most recent call last):
  File "/opt/domoticz/scripts/domoticz_linky2/linky_json.py", line 26, in <module>
    from dateutil.relativedelta import relativedelta
ImportError: No module named 'dateutil'
Traceback (most recent call last):
  File "/opt/domoticz/scripts/domoticz_linky2/linky_json.py", line 26, in <module>
    from dateutil.relativedelta import relativedelta
ImportError: No module named 'dateutil'
Traceback (most recent call last):
Merci d'avance.

(Ha, j'ai commenté les lignes 10 - 13 - 15 - 19 car elle me renvoyait des erreurs :

Ligne 10 : <<<<<< HEAD (couplée avec la 19 )

Code : Tout sélectionner

./domoticz_linky.sh: 10: ./domoticz_linky.sh: Syntax error: redirection unexpected

Code : Tout sélectionner

13 ~
et

Code : Tout sélectionner

15 =====
chez mois c'est la 14 et la 16 car j'ai une ligne supplémentaire de commentaire (12) par rapport au fichier original

Code : Tout sélectionner

./domoticz_linky.sh: 14: ./domoticz_linky.sh: /home/pi: Permission denied
./domoticz_linky.sh: 16: ./domoticz_linky.sh: =======: not found
Merci d'avance pour votre aide!
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 »

Hello,

oui pb de merge corrigé aujourd'hui, tu peux reprendre le répertoire.

c'est encore un peu brut mais j'améliorerai au fur et à mesure.

ton message d'erreur, c'est parce qu'il n'a pas pu se loguer et donc générer le fichier, regarde le fichier de log dans le même répertoire (ou créer dans le répertoire), vérifie que ton répertoire courant (celui où tu lances ce script) est bien

chmod 755 .
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
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 »

attention ce soir encore enedis a femré son site...
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
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 »

bon aux nouvelles:
- une mise à jour de AsDePic prise en compte
- le readme que je n'avais pas committé... je comprends les questions ;-(
- un domoticz_linky_month.sh à lancer pour chaque mois d'historique à récupérer, metter en argument le nombre de mois en arrière (et donc pour un historique de 12 mois lancer de 1 à 12)
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
MazelleJeanne
Messages : 31
Inscription : 06 nov. 2017, 21:13

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

Message par MazelleJeanne »

Merci pour ta réponse,

J'ai installé la dernière version du script.

Je me pose la question de savoir si je dois lancer le script en tant qu'utilisateur pi ou root.

Dans les 2 cas, j'ai des erreurs :

Code : Tout sélectionner

pi@raspberrypi:/opt/domoticz/scripts/domoticz_linky $ ./domoticz_linky.sh
fs.js:641
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'export_years_values.json'
    at Error (native)
    at Object.fs.openSync (fs.js:641:18)
    at Object.fs.readFileSync (fs.js:509:33)
    at getCumulBefore (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:83:26)
    at generateDay (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:70:12)
    at Object.<anonymous> (/opt/domoticz/scripts/domoticz_linky/domoticz_linky.js:107:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
mon ficher linky.log

Code : Tout sélectionner

 File "/opt/domoticz/scripts/domoticz_linky/linky_json.py", line 26, in <module>
    from dateutil.relativedelta import relativedelta
ImportError: No module named 'dateutil'
Traceback (most recent call last):
  File "/opt/domoticz/scripts/domoticz_linky/linky_json.py", line 26, in <module>
    from dateutil.relativedelta import relativedelta
ImportError: No module named 'dateutil'
Mon fichier domoticz_linky.sh

Code : Tout sélectionner

#!/bin/sh
export LINKY_USERNAME="mon mail"
export LINKY_PASSWORD="mon mdp"

BASE_DIR="/opt/domoticz"

export BASE_DIR
cd $BASE_DIR
python3 $BASE_DIR/scripts/domoticz_linky/linky_json.py -o "$BASE_DIR" >> $BASE_DIR/scripts/domoticz_linky/linky.log 2>&1

node $BASE_DIR/scripts/domoticz_linky/domoticz_linky.js > req.sql
cat $BASE_DIR/req.sql | sqlite3 /opt/domoticz/domoticz.db

Merci d'avance
MazelleJeanne
Messages : 31
Inscription : 06 nov. 2017, 21:13

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

Message par MazelleJeanne »

Autre question : à quoi sert winston? Le problème peut-il venir de la?

Code : Tout sélectionner

root@raspberrypi:/opt/domoticz# npm install winston
/opt/domoticz
`-- winston@2.4.0

npm WARN enoent ENOENT: no such file or directory, open '/opt/domoticz/package.json'
npm WARN domoticz No description
npm WARN domoticz No repository field.
npm WARN domoticz No README data
npm WARN domoticz No license field.
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 »

bon bon bon...

il faut d'autres modules, je revois cela ce soir sur un environnement sans python.

winston: pas de soucis, juste un warning

"no such file or directory, open 'export_years_values.json'" : commentes la fin du script pour garder juste l'appel python, c'est là que l'on voit si l'on peut se loguer ou pas. Désolé je connais peu python, donc je bricole sur cette partie....
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
MazelleJeanne
Messages : 31
Inscription : 06 nov. 2017, 21:13

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

Message par MazelleJeanne »

Merci pour tes réponse, je teste le commentaire du script

Pour finir, côté domoticz, je n'ai pas dans "matériel" de rfx meter counter, 90% du matériel nécessite un port, une ip...

J'ai créé un interupteur virtuel pour lancer mon script à la demande...

Mais je ne vois pas comment afficher les données...

J'ai testé Dummy (Does nothing, use for virtual switches only), et j'ai créé un capteur virtuel.

Mais comme le script bug, je ne suis pas sure de si ça va le faire...
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 »

MazelleJeanne a écrit : Pour finir, côté domoticz, je n'ai pas dans "matériel" de rfx meter counter, 90% du matériel nécessite un port, une ip...

J'ai créé un interupteur virtuel pour lancer mon script à la demande...

Mais je ne vois pas comment afficher les données...

J'ai testé Dummy (Does nothing, use for virtual switches only), et j'ai créé un capteur virtuel.

Mais comme le script bug, je ne suis pas sure de si ça va le faire...
si c'est bien ça !
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
Répondre