A simple node to connect to a ENEDIS (French electrical distribution network) account to fetch your own energy consumption provided by the Linky smart meter and use it as you wish...
Module (node) Node-Red permettant de récupérer sur le site ENEDIS vos données de consommation électrique collectées par le compteur Linky.
-
Télécharger, extraire puis copier le repertoire Linky dans le dossier
\node_modules\
concerné par votre éditeur NODE-RED. -
Relancez et/ou actualisez l'onglet de votre explorateur.
Afin de pouvoir collecter vos données de consommation issues de votre fournisseur d'éléctricité, il convient de :
-
Suivez la procédure : "Création de mon compte".
Aprés avoir renseigné vos données personnelles, vous recevrez soit un lien pour activer votre compte immédiatement, soit un mot de passe par courrier...
-
Suivez le lien qui vous a été communiqué et saisissez vos identifiants et mot de passe dans le formulaire.
Comptez environ 3 à 4 semaines aprés l'installation de votre compteur Linky avant d'avoir vos données accessibles en ligne... 😯
-
Connectez-vous sur votre "Espace client".
Activez votre courbe de charge (l'accord pour la collecte de vos données de consommation électrique toutes les 1/2 heures) si vous le souhaitez.
Onglet "Consommation" ➜ "Gérer ma courbe de charge" ➜ "Activer ma courbe de charge"
Si la courbe de charge n'est pas activée (désactivable à tout moment), le module Linky ne pourra vous transmettre les demandes de données "Journalières", mais les autres demandes seront considérées.
-
Double-cliquez sur le node pour en ouvrir l'éditeur des propriétés...
-
Renseigner les champs correspondants à vos codes utilisés sur le site ENEDIS.
Username
➜ Adresse e-mail.Password
➜ Mot de passe.- Stockage de leur valeurs hors du fichier principal du "flow".
- Ne sont pas inclus en cas d'exportation des "flows" en dehors de l'éditeur.
En entrée, le module demande uniquement et simplement un message comprenant les dates de début et de fin du relevé de consommation que vous souhaitez obtenir en retour.
msg {
"topic" : "linky",
"payload" : {
"debut": "JJ-MM-AAAA",
"fin": "JJ-MM-AAAA"
}
}
msg.topic
{string} (facultatif)
- Valeur ➜
"linky"
permettant éventuellement de publier sur untopic
ou de tester la validité du message.
msg.payload
{JSON}
msg.payload.debut
{date} ➜ Date de début du relevé demandé.msg.payload.fin
{date} ➜ Date de fin du relevé demandé.
Formats {date} acceptés =
"JJ-MM-AAAA"
ou"JJ/MM/AAAA"
Aprés l'envoi de la requète sur le site ENEDIS, le module retourne le message d'entrée surchargé des données demandées.
msg {
"topic": "linky",
"payload": {
"..." : {"..."},
"linky": {"your_JSON_datas"}
}
}
msg.topic
{string}
- Ajout systématique de la propriété
topic
- Valeur ➜
"linky"
msg.payload
{object}
- Conservation des données présentes en entrée.
msg.payload.linky
{JSON}
- Ajout de la propriété
linky
- Valeur ➜ Objet représentant les valeurs demandées.
ENEDIS propose 4 possibilités de consultation de vos données listées sur la page dédiée au "suivi de consommation".
- Par heure
- Toutes les 1/2h durant 24 heures et par jour calendaire.
- Par jour
- Entre 2 dates séparées de 1 à 31 jours maxi.
- Par mois
- Compris entre 2 et 12 mois.
- Par an
- Indisponible car moins d'un an d'installation.
Le module selectionnera la requête adaptée aux dates que vous aurez passées et de ce fait minimise les risques d'erreurs.
-
Exemples de requêtes
Date début Date Fin Requête Remarques Payload 01-01-2018 01-01-2018 Par heure Dates identiques {"debut": "01-01-2018, "fin": "01-01-2018"}
10-02-2018 11-02-2018 Par jour Durée = 1 jour {"debut": "10-02-2018, "fin": "11-02-2018"}
05-03-2018 04-04-2018 Par Jour Durée = 31 jours {"debut": "05-03-2018, "fin": "04-04-2018"}
05-03-2018 05-04-2018 Par mois Durée > 31 jours {"debut": "05-03-2018, "fin": "05-03-2018"}
10-10-2017 20-03-2018 Par mois D'octobre à mars {"debut": "10-10-2018, "fin": "20-03-2018"}
01-02-2017 28-02-2018 Par mois Durée 12 mois {"debut": "01-02-2017, "fin": "28-02-2018"}
Le fichier retourné par ENEDIS est au format {JSON}
et est ajouté au payload en sortie du module dans la propriété "linky"
.
- Objet
msg.payload
// Fichier suivant requête "par jour"
// Données collectées toutes les 1/2h = 48 valeurs en retour
payload {
{
debut : "JJ/MM/AAAA",
fin : "JJ/MM/AAAA"
},
linky {
etat {
"valeur": "temine"
},
graphe {
"decalage": 0,
"puissanceSouscrite": 12
},
periode {
"dateFin": "JJ/MM/AAAA",
"dateDebut": "JJ/MM/AAAA"
},
data [
{"valeur": 9.999,"ordre": 1},
{"valeur": 9.999,"ordre": 2},
{"valeur": "...","ordre":'n'},
{"valeur": 9.999,"ordre": 48}
]
}
}
- Des exemples commentés sont disponibles ici
Le module assure le pass-trough des {msg}
entrant en les surchargeants des valeurs demandées.
- Il peut donc s'intégrer facilement dans des frameworks comme SARAH V5
Le site ENEDIS est une vraie catastrophe en termes de disponibilté et de service...
Logiciel libre sous licence MIT