Il faut se connecter à la console EDF et afficher la consommation. Utiliser les devtools du navigateur afin de trouver une requête GET vers suiviconso. Copier la requête en format curl et modifier la requête pour trouver la plage de données souhaitée:
curl 'https://suiviconso.edf.fr/api/v2/sites/-/consumptions?beginTs=2024-08-31T23:00:00.000Z&endTs=2025-08-31T23:00:00.000Z&stepUnit=DAYS&stepValue=1&withEstimated=SURROUNDING_ESTIMATED&withLoadCurveCompletion=true&isGlobalConsumptionWanted=true'La réponse est un paquet JSON; les donées intéressantes se trouvent dans consumptions, avec un objet par jour.
ex:
{
"period": {
"startTime": "2024-09-01T01:00:00+02:00",
"endTime": "2024-09-02T01:00:00+02:00"
},
"energyMeter": {
"total": 24.22100000,
"byTariffHeading": {
"HCJROUGE": 0,
"HPJROUGE": 0,
"HPJBLANC": 0,
"HPJBLEU": 4.986,
"HCJBLEU": 19.23500000,
"HCJBLANC": 0
}
},
"cost": {
"total": 3.943242288888889,
"standingCharge": 0.6481388888888889,
"standingChargeByComponents": {},
"byTariffHeading": {
"HCJROUGE": 0.0,
"HPJROUGE": 0.0,
"HPJBLANC": 0.0,
"HPJBLEU": 0.8022473999999999,
"HCJBLEU": 2.4928559999999997,
"HCJBLANC": 0.0
}
},
"quality": 1.0,
"errorFlags": [],
"indexNatures": [
"LINKY_OK"
],
"status": "COMPLETE",
"nature": "REAL",
"aggregated": true,
"usingLoadCurve": true
}La commande jq suivante transforme en csv avec colonnes pour date, consommation en kwh par couleur et en heures creuses/pleines:
jq -r '["Date", "HPJBLEU", "HCJBLEU", "HPJBLANC", "HCJBLANC", "HPJROUGE", "HCJROUGE"],
(.consumptions[] |
[.period.startTime[0:10],
.energyMeter.byTariffHeading.HPJBLEU,
.energyMeter.byTariffHeading.HCJBLEU,
.energyMeter.byTariffHeading.HPJBLANC,
.energyMeter.byTariffHeading.HCJBLANC,
.energyMeter.byTariffHeading.HPJROUGE,
.energyMeter.byTariffHeading.HCJROUGE]) |
@csv' electricitydata.json