[Tuto] Récupérer les données pour DomoticzGazpar

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

[Tuto] Récupérer les données pour DomoticzGazpar

Message par Chrominator »

L'API GRDF est maintenant bloquée par un captcha.
Je pense que c'est définitif, et d'après ce que j'ai lu dans github, ce serait pour laisser un accès payant aux divers opérateurs qui vous facturent et empêcher celui des particuliers (qui trouveront les mêmes données chez leurs opérateurs respectifs).
Peu importe.

N'ayant ni des dons de programmeur en python ou en javascript ni le temps pour cela, j'ai abandonné l'idée de pondre une extension pour firefox (dans mon cas) qui récupèrerait l'info avant de l'insérer dans Domoticz.

A la place je vous propose un truc vite fait mais qui fonctionne, à utiliser aussi souvent que ça vous chante.
Je suis certains que des plus malins que moi ici amélioreront ce process, en tout cas je compte sur eux ! ;)
Le principe est :
  • de se connecter avec un navigateur à son espace GRDF en résolvant le captcha soi-même.
  • de mettre dans la barre d'adresse d'un autre onglet du navigateur l'url qui va nous donner les données json
  • d'adapter cette url pour y mettre les dates d'extraction qui nous conviennent et le n° de PCE (notifié sur la page qui s'affiche une fois le captcha passé)
  • d'enregistrer ces données json dans le répertoire où vous avez mis votre DomoticzGazpar.
  • d'exécuter en ligne de commande sur domoticz le script python modifié que je vous donne ici.
  1. Préparatifs
    • récupérez le script ci-dessous et enregistrez-le dans le répertoire où vous avez mis gazpar.py sur le serveur Domoticz.
      gazpar-man.zip
      (3.67 Kio) Téléchargé 214 fois
    • Editez votre fichier de configuration pour y ajouter le n° de votre PCE (attrapé lors de votre connexion à votre espace GRDF) à la place des x dans la section GRDF comme suit :

      Code : Tout sélectionner

      [GRDF]
      NUMPCE=xxxxxxxxxxxxxxxxxxxxxxxxxxx
      Il faut laisser vos identifiants de connexion ainsi que tous les autres paramètres, le script va les lire mais ne les utilisera plus (je n'ai pas fait le ménage dans le script).
    • Sauvegardez le fichier, c'est tout bon.
  2. Exécution
    • Connectez-vous à votre espace GRDF https://monespace.grdf.fr
    • Sur un nouvel onglet, collez sans l'ouvrir l'url suivante :

      Code : Tout sélectionner

      https://monespace.grdf.fr/api/e-conso/pce/consommation/informatives?dateDebut=<AAAA-MM-JJ>&dateFin=<AAAA-MM-JJ>&pceList[]=xxxxxxxxxxxxxxxxx
    • Remplacez les <AAAA-MM-JJ> des dates de début et de fin par les dates de période qui vous intéressent.
    • Remplacez les x par le n° de PCE que vous avez mis dans le fichier de configuration.
    • Faites entrée pour envoyer l'url. la page qui suit affiche des données json.
    • Avec un clic droit (sur Firefox, mais ça doit être idem avec d'autres navigateurs), affichez le code source de la page.
    • Sauvegardez ce contenu dans un fichier que vous nommerez indexgrdf.json
    • Placez ce fichier dans le répertoire de Domoticz où se trouve gazpar.py
    • Lancez le script modifié gazpar-man.py
Normalement les données sont maintenant dans Domoticz.

On est d'accord, c'est du quick & dirty poussé à son max, mais au moins ça importe les data.
Avec l'entraide et la bonne volonté coutumière de ce forum, on réussira à perfectionner cette approche. :)
(A moins que GRDF ne supprime l'url qui nous donne le json ici :( )
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Sylv_01
Messages : 227
Inscription : 17 janv. 2017, 13:25

Re: [Quick & dirty] Récupérer les données pour DomoticzGazpar

Message par Sylv_01 »

Salut et merci pour l'astuce... ;)
De mon côté, je suis en train de modifier le script pour qu'il interprète les datas récupérées dans fichier excel qui est telechargeable sur l'espace client...
L'idée c'est de récupérer le fichier une fois par semaine (ou par mois, peu importe la fréquence) et d'exécuter le script pour mettre à jour domoticz...
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Quick & dirty] Récupérer les données pour DomoticzGazpar

Message par Chrominator »

C'est la même idée, mais la tienne va te donner plus de travail ! :lol:
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Sylv_01
Messages : 227
Inscription : 17 janv. 2017, 13:25

Re: [Quick & dirty] Récupérer les données pour DomoticzGazpar

Message par Sylv_01 »

Oui sans doute, mais ça me fait bosser en python ! :lol:
Dernière modification par Keros le 28 janv. 2023, 20:39, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Electrocut
Messages : 1
Inscription : 04 déc. 2022, 23:01

Re: [Tuto] Récupérer les données pour DomoticzGazpar

Message par Electrocut »

Merci pour cette solution de dépannage :)
Ça fonctionne nickel : j'ai pu récupérer les 2 dernières semaines d'historique qu'il me manquait.

Une solution alternative serait peut-être de récupérer (dans le navigateur Web) le cookie de session, et de l'utiliser pour s'identifier dans le script (plutôt qu'avec le couple login/mot de passe, qui déclenche le captcha ...).

Par contre, je ne sais pas combien de temps on peut resté identifié sur le site de GRDF à l'aide du cookie de session, sans avoir à se ré-identifier ...
PIFOUBMW
Messages : 24
Inscription : 04 mai 2022, 23:18

Re: [Tuto] Récupérer les données pour DomoticzGazpar

Message par PIFOUBMW »

Problème pour moi quand je lance dans chrome l'url https://monespace.grdf.fr/api/e-conso/p ... nnumeroPCE en étant préalablement connecté à mon espace GRDF j'ai le message :

{"code":400,"message":"Bad Request"}

C'est grave docteur ? :o
PIFOUBMW
Messages : 24
Inscription : 04 mai 2022, 23:18

Re: [Quick & dirty] Récupérer les données pour DomoticzGazpar

Message par PIFOUBMW »

Sylv_01 a écrit : 28 janv. 2023, 19:30 De mon côté, je suis en train de modifier le script pour qu'il interprète les datas récupérées dans fichier excel qui est telechargeable sur l'espace client...
L'idée c'est de récupérer le fichier une fois par semaine (ou par mois, peu importe la fréquence) et d'exécuter le script pour mettre à jour domoticz...
J'aime cette idée vu que j'ai pas de bol avec l'url :mrgreen:
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Tuto] Récupérer les données pour DomoticzGazpar

Message par Chrominator »

PIFOUBMW a écrit : 29 janv. 2023, 23:12 Problème pour moi quand je lance dans chrome l'url https://monespace.grdf.fr/api/e-conso/p ... nnumeroPCE
Enlève les < et les >, ils font partie de la valeur à substituer par la date.
Genre :

Code : Tout sélectionner

https://monespace.grdf.fr/api/e-conso/pce/consommation/informatives?dateDebut=2023-01-14&dateFin=2023-01-27&pceList[]=monnumeroPCE
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Sylv_01
Messages : 227
Inscription : 17 janv. 2017, 13:25

Re: [Tuto] Récupérer les données pour DomoticzGazpar

Message par Sylv_01 »

Hello, scrat est allé plus vite que moi, à priori il a publié sur le github du projet un script modifié qui reprend mon idée...
A tester, il semble qu'il y ait des soucis suivant la version de la lib xlrd d'installé, mais si ça ne fonctionne pas avec le fichier excel en .xlsx, on peut toujours le transformer en .xls pour que ça fonctionne...
Je testerai dans la journée...
PIFOUBMW
Messages : 24
Inscription : 04 mai 2022, 23:18

Re: [Tuto] Récupérer les données pour DomoticzGazpar

Message par PIFOUBMW »

Chrominator a écrit : 29 janv. 2023, 23:19 Enlève les < et les >, ils font partie de la valeur à substituer par la date.
Ca marche nickel sans les < > :P , leur présence était trompeuse ^^

C'est déjà excellent d'avoir cette solution, faire la manip tout les semaines ou les 15 jours n'est pas dramatique , au moins ca marche !

Concernant la maj de scrat sur github https://github.com/Scrat95220/DomoticzGazpar si je comprends bien, le script va intégrer les valeur d'un fichier jour xls téléchargé sur grdf et l'integrer après qu'on l'ai uploadé sur domoticz ce qui est a peu près la meme manipulation qu'avec l'url mais sans avoir a modifier les dates et visualiser le code source et le script est automatisé pour lire le fichier xls régulièrement, j'ai bon ?
Répondre