Last active
April 28, 2025 16:19
-
-
Save Rebolon/d1199e5f8934c6ad8e3651e8d5df2b7a to your computer and use it in GitHub Desktop.
Télécharger les 2 dernières années de consommation électrique par heure depuis le site enedis
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0. Il faut avoir activé la remontée d'info sur le site d'enedis | |
1. Aller sur le site d'enedis, page de visualisation des mesures : https://mon-compte-particulier.enedis.fr/visualiser-vos-mesures-production | |
2. Ourvir le devtools de votre navigateur : touche F12 | |
3. Coller le script dans la console du devTools | |
4. Faire un clique droit sur le tableau affiché à la fin du script et choisir Copier Objet | |
5. Coller le contenu dans un fichier texte/js/json | |
Faites en ce que vous voulez pour analyser | |
Script : | |
function sleep(ms) { | |
const start = Date.now(); | |
while (Date.now() - start < ms) { | |
// Busy-wait loop | |
} | |
} | |
function sortByDateDebut(items) { | |
return items.sort((a, b) => new Date(a.dateDebut) - new Date(b.dateDebut)); | |
} | |
let dates = []; | |
let today = new Date(); | |
today.setFullYear(today.getFullYear()-2); | |
while (today < new Date()) { | |
dates.push(today.toISOString().split('T').shift()); | |
today.setDate(today.getDate()+7); | |
} | |
const uri = 'https://alex.microapplications.enedis.fr/mes-mesures-prm/api/private/v1/personnes/SVN289LQK/prms/19442112848430/donnees-energetiques?mesuresTypeCode=COURBE&mesuresCorrigees=false&typeDonnees=CONS&dateDebut='; | |
const jsons = []; | |
let hours = []; | |
dates.forEach(async (date) => { | |
const data = await fetch(uri + date, { credentials: "include" }); | |
const json = await data.json(); | |
jsons.push(json); | |
if (week.cons.aggregats.heure.unite !== "kW") { | |
console.warn("Probleme d'unite"); | |
return; | |
} | |
hours.push(...week.cons.aggregats.heure.donnees) | |
sleep(10); | |
}) | |
hours = sortByDateDebut(hours); | |
// still needs to sort hours by date | |
console.log(hours); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment