Linky
N.B: Because this tool is targeted for french people, the documentation is...in french
Attention : Cette documentation est valable uniquement pour la version 2 du module. La documentation pour la version 1 est toujours disponible sur la branche v1
Ce module vous permet de récupérer votre consommation et production électrique Linky via les API "Token V3" et "Metering Data V5" d'Enedis
Il peut s'utiliser de 2 façons :
- En ligne de commande
- En tant que module Node.js, depuis un autre programme
Notez qu'il vous faut un compteur Linky et un espace client Enedis pour pouvoir utiliser ce module
1. Linky en ligne de commande
Installation
- Installez Node.js sur votre machine
- Installez
linky
avec npm:
npm i -g linky
Utilisation
Authentification
Avant toute chose, il faudra vous connecter à votre espace client Enedis et leur donner l'autorisation de partager vos données avec une application extérieure.
Rendez-vous sur conso.boris.sh pour donner votre accord et récupérer un token
Puis, créez une connexion à votre compte avec la commande suivante :
linky auth --token <votre-token>
Récupération des données
Une fois votre token sauvegardé, vous pourrez récupérer votre consommation quotidienne, votre courbe de charge (consommation par demi-heure), et votre consommation maximale par jour.
linky daily --start 2023-05-01 --end 2023-05-04
linky loadcurve --start 2023-05-01 --end 2023-05-02
linky maxpower --start 2023-05-01 --end 2023-05-04
Si vous produisez de l'électricité, vous pouvez également récupérer votre production quotidienne et votre courbe de charge (production par demi-heure).
linky dailyprod --start 2023-05-01 --end 2023-05-04
linky loadcurveprod --start 2023-05-01 --end 2023-05-02
Dates par défaut
En l'absence des paramètres --start
et --end
, vous récupérez la consommation / production / puissance de la veille.
linky daily
linky loadcurve
linky maxpower
linky dailyprod
linky loadcurveprod
Multi-PRM et multi-token
Si votre token donne accès aux données de plusieurs PRMs, vous pouvez préciser le numéro de PRM à utiliser dans chaque commande avec le paramètre --prm
linky daily --prm 111222333
linky dailyprod --prm 777888999
Si vous possédez plusieurs tokens, vous pouvez passer l'étape d'authentification et préciser le token à utiliser dans chaque commande avec le paramètre --token
linky daily --token aaa.bbb.ccc
linky dailyprod --token xxx.yyy.zzz
Paramètres supplémentaires
Vous pouvez changer le format d'affichage de sortie grâce au paramètre --format
Les formats disponibles sont json
, csv
et pretty
(par défaut)
linky daily --start 2023-05-01 --end 2023-05-02 --format json
Vous pouvez sauvegarder vos résultats dans un fichier en combinant les paramètres --output
et --format
linky loadcurve --output chemin/vers/ma_conso.json --format json
linky daily --start 2023-05-01 --end 2023-05-07 --output chemin/vers/ma_conso.csv --format csv
Vous pouvez masquer les messages et animations de progression grâce au paramètre --quiet
afin de faciliter l'intégration dans des scripts
linky maxpower --quiet --format json | jq '.interval_reading[0].value'
Pour voir l'aide détaillée et plus d'exemples :
linky --help
2. Linky comme module Node.js
Installation
npm i linky
Utilisation
import { Session } from 'linky';
const token = 'xxx.yyy.zzz';
let session = new Session(token);
const prm = '123456';
session = new Session(token, prm);
session.userAgent = 'Mon super service';
session.getDailyConsumption('2023-05-01', '2023-05-04').then((result) => {
console.log(result);
});
session.getLoadCurve('2023-05-01', '2023-05-02').then((result) => {
console.log(result);
});
session.getMaxPower('2023-05-01', '2023-05-04').then((result) => {
console.log(result);
});
session.getDailyProduction('2023-05-01', '2023-05-04').then((result) => {
console.log(result);
});
session.getProductionLoadCurve('2023-05-01', '2023-05-02').then((result) => {
console.log(result);
});