yukulehe / gazpar2mqtt

Python script to fetch GRDF's website data and publish data to a mqtt broker.
GNU General Public License v3.0
21 stars 9 forks source link

Erreur de sélection plage de dates #40

Closed DamGranger closed 2 years ago

DamGranger commented 2 years ago

Il semble que gazpar2mqtt récupère désormais une date d'activation du PCE et s'en sert de borne inférieure pour la récupération des données. Or si cette date a plus de 3 ans, l'API e-conso renvoie une erreur : {"code":400,"message":"Bad Request"}

On retrouve cette erreur dans le journal :

2021-12-11 23:30:59,804 INFO Get measures of PCE xxxxxxxxxxxxxxx alias xxxxxxxxxxxxxxx
2021-12-11 23:30:59,804 INFO ---------------------------------
2021-12-11 23:30:59,804 INFO PCE activation date : 2017-09-05
2021-12-11 23:30:59,805 INFO Range period : from 2017-09-05 to 2021-12-11...
2021-12-11 23:30:59,859 DEBUG https://monespace.grdf.fr:443 "GET /api/e-conso/pce/consommation/informatives?dateDebut=2017-09-05&dateFin=2021-12-11&pceList%5B%5D=xxxxxxxxxxxxxxxxx HTTP/1.1" 400 None
Traceback (most recent call last):
  File "/app/gazpar2mqtt.py", line 583, in <module>
    run(myParams)
  File "/app/gazpar2mqtt.py", line 215, in run
    myGrdf.getPceDailyMeasures(myPce,startDate,endDate)
  File "/app/gazpar.py", line 253, in getPceDailyMeasures
    for measure in measureList[pce.pceId]["releves"]:
KeyError: 'xxxxxxxxxxxxxxxxx'
The app has crashed. Are you sure you entered the correct config options?

A ce jour l'API e-conso fonctionne si je met 2018-12-11 en borne inférieure, mais pas 2018-12-10. Il faudrait donc définir au maximum dateFin - 3 ans comme dateDebut quand le PCE activation date est avant cette date.

DamGranger commented 2 years ago

Le problème apparaît semble-t-il dans ce commit : https://github.com/yukulehe/gazpar2mqtt/commit/78c231a5ac3018560206fb014b5e38a56a58c996

yukulehe commented 2 years ago

Hello. Ok je rectifie.

yukulehe commented 2 years ago

Poussé en 0.6.1