Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
N.B: Because this tool is targeted for french people, the documentation is...in french
Ce module vous permet de récupérer votre consommation et production électrique Linky via le service Conso API
Il peut s'utiliser de 2 façons :
Notez qu'il vous faut un compteur Linky et un espace client Enedis pour pouvoir utiliser ce module
linky
avec npm
:npm i -g linky
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>
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
# Récupère la consommation quotidienne du 1er au 3 mai 2023
linky daily --start 2023-05-01 --end 2023-05-04
# Récupère la puissance moyenne consommée le 1 mai 2023, sur un intervalle de 30 min
linky loadcurve --start 2023-05-01 --end 2023-05-02
# Récupère la puissance maximale de consommation atteinte quotidiennement du 1er au 3 mai 2023
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)
# Récupère la production quotidienne du 1er au 3 mai 2023
linky dailyprod --start 2023-05-01 --end 2023-05-04
# Récupère la puissance moyenne produite le 1 mai 2023, sur un intervalle de 30 min
linky loadcurveprod --start 2023-05-01 --end 2023-05-02
En l'absence des paramètres --start
et --end
, vous récupérez la consommation / production / puissance de la veille
# Récupère la consommation de la journée d'hier
linky daily
# Récupère la puissance moyenne consommée pendant la journée d'hier, sur un intervalle de 30 min
linky loadcurve
# Récupère la puissance maximale de consommation atteinte durant la journée d'hier
linky maxpower
# Récupère la production de la journée d'hier
linky dailyprod
# Récupère la production moyenne consommée pendant la journée d'hier, sur un intervalle de 30 min
linky loadcurveprod
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
# Récupère la consommation de la veille pour le compteur 111222333
linky daily --prm 111222333
# Récupère la production de la veille pour le compteur 777888999
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
# Récupère la consommation de la veille avec le token aaa.bbb.ccc
linky daily --token aaa.bbb.ccc
# Récupère la production de la veille avec le token xxx.yyy.zzz
linky dailyprod --token xxx.yyy.zzz
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
# Sauvegarde la courbe de charge de la veille au format JSON
linky loadcurve --output chemin/vers/ma_conso.json --format json
# Sauvegarde une semaine de consommation au format CSV
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
# Depuis un projet Node.js
npm i linky
import { Session } from 'linky';
// Créez une session à partir du token
const token = 'xxx.yyy.zzz';
let session = new Session(token);
// Si le token permet d'accéder à plusieurs PRMs, vous pouvez préciser celui à utiliser
const prm = '123456';
session = new Session(token, prm);
// Si vous prévoyez de rendre votre application/service/module accessible au grand public,
// ajoutez un User-Agent au format string à la session.
// Celui-ci doit permettre d'identifier l'origine des requêtes envoyées à Conso API.
session.userAgent = 'Mon super service';
// Récupère la consommation quotidienne du 1er au 3 mai 2023
session.getDailyConsumption('2023-05-01', '2023-05-04').then((result) => {
console.log(result);
/*
{
"reading_type": {
"unit": "Wh",
"measurement_kind": "energy"
},
"interval_reading": [
{ "value": "12873", "date": "2023-05-01" },
{ "value": "12296", "date": "2023-05-02" },
{ "value": "14679", "date": "2023-05-03" }
]
...
*/
});
// Récupère la puissance moyenne consommée le 1er mai 2023, sur un intervalle de 30 min
session.getLoadCurve('2023-05-01', '2023-05-02').then((result) => {
console.log(result);
/*
{
"reading_type": {
"unit": "W",
"measurement_kind": "power"
},
"interval_reading": [
{ "value": "752", "date": "2023-05-01 00:30:00" },
{ "value": "346", "date": "2023-05-01 01:00:00" },
{ "value": "250", "date": "2023-05-01 01:30:00" },
...
*/
});
// Récupère la puissance maximale de consommation atteinte quotidiennement du 1er au 3 mai 2023
session.getMaxPower('2023-05-01', '2023-05-04').then((result) => {
console.log(result);
/*
{
"reading_type": {
"unit": "VA",
"measurement_kind": "power"
},
"interval_reading": [
{ "value": "4638", "date": "2023-05-01 12:06:20" },
{ "value": "4410", "date": "2023-05-02 19:27:46" },
{ "value": "3570", "date": "2023-05-03 21:42:12" }
]
...
*/
});
// Récupère la production quotidienne du 1er au 3 mai 2023
session.getDailyProduction('2023-05-01', '2023-05-04').then((result) => {
console.log(result);
/*
{
"reading_type": {
"unit": "Wh",
"measurement_kind": "energy"
},
"interval_reading": [
{ "value": "12873", "date": "2023-05-01" },
{ "value": "12296", "date": "2023-05-02" },
{ "value": "14679", "date": "2023-05-03" }
]
...
*/
});
// Récupère la puissance moyenne produite le 1er mai 2023, sur un intervalle de 30 min
session.getProductionLoadCurve('2023-05-01', '2023-05-02').then((result) => {
console.log(result);
/*
{
"reading_type": {
"unit": "W",
"measurement_kind": "power"
},
"interval_reading": [
{ "value": "752", "date": "2023-05-01 00:30:00" },
{ "value": "346", "date": "2023-05-01 01:00:00" },
{ "value": "250", "date": "2023-05-01 01:30:00" },
...
*/
});
FAQs
Easily retrieve your Linky power consumption
The npm package linky receives a total of 92 weekly downloads. As such, linky popularity was classified as not popular.
We found that linky demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.