Null Pointer Micromanagement
    Have ideas to improve npm?Join in the discussion! »

    linky
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.0 • Public • Published

    Linky

    Version Build Status Coverage Code style

    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 électrique Linky via les nouvelles API "Authorize V1" et "Metering Data V4" d'Enedis

    Screenshot

    Il peut s'utiliser de 2 façons :

    1. En ligne de commande
    2. 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

    Si vous avez Node.js sur votre machine :

    npm i -g linky

    Dans le cas contraire, vous pouvez télécharger le binaire correspondant à votre plateforme dans les assets de la dernière release.

    N.B : Si vous choisissez d'utiliser un binaire, il faudra adapter les exemples de cette documentation en replaçant la commande linky par le nom du binaire.

    Par exemple, au lieu de faire linky --help, il faudra faire ./linky-win.exe --help

    Utilisation

    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.vercel.app pour donner votre accord et récupérer un jeu de tokens.

    Puis, créez une connexion à votre compte avec la commande suivante :

    linky auth -a <access token> -r <refresh token> -u <usage point ID>

    Attention : Les tokens générés ont une durée de vie de quelques heures. Ils seront renouvelés automatiquement par cet outil et stockés sur votre ordinateur.

    Ne relancez pas linky auth avec de vieux tokens, cela rendrait votre connexion invalide et vous devrez recommencer le process depuis le début.

    Une fois vos tokens sauvegardés, 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 7 septembre 2020 inclus
    linky daily --start 2020-09-01 --end 2020-09-08
    
    # Récupère la puissance moyenne consommée le 1er septembre 2020, sur un intervalle de 30 min
    linky loadcurve --start 2020-09-01 --end 2020-09-02
    
    # Récupère la puissance maximale de consommation atteinte quotidiennement du 24 au 31 août inclus
    linky maxpower --start 2020-08-24 --end 2020-09-01

    Vous pouvez sauvegarder vos résultats dans un fichier JSON grâce à l'option --output

    linky loadcurve --start 2020-09-01 --end 2020-09-02 --output data/ma_conso.json

    Pour voir l'aide détaillée :

    linky --help

    2. Linky comme module Node.js

    Installation

    # Depuis un projet Node.js
    npm i linky

    Utilisation

    const linky = require('linky');
    
    // Créez une session
    const session = new linky.Session({
        accessToken: 'access token',
        refreshToken: 'refresh token',
        usagePointId: 'usage point ID',
        onTokenRefresh: (accessToken, refreshToken) => {
            // Cette fonction sera appelée si les tokens sont renouvelés
            // Les tokens précédents ne seront plus valides
            // Il faudra utiliser ces nouveaux tokens à la prochaine création de session
            // Si accessToken et refreshToken sont vides, cela signifie que les tokens ne peuvent plus
            // être utilisés. Il faut alors en récupérer des nouveaux sur conso.vercel.app
        },
    });
    
    // Récupère la consommation quotidienne du 1er au 7 septembre 2020 inclus
    session.getDailyConsumption('2020-09-01', '2020-09-08').then((result) => {
        console.log(result);
        /*
        {
            "unit": "Wh",
            "data": [
                { "date": "2020-09-01", "value": 12278 },
                { "date": "2020-09-02", "value": 15637 },
                ...
        */
    });
    
    // Récupère la puissance moyenne consommée le 1er septembre 2020, sur un intervalle de 30 min
    session.getLoadCurve('2020-09-01', '2020-09-02').then((result) => {
        console.log(result);
        /*
        {
            "unit": "W",
            "data": [
                { "date": "2020-09-01 00:00:00", "value": 582 },
                { "date": "2020-09-01 00:30:00", "value": 448 },
                ...
        */
    });
    
    // Récupère la puissance maximale de consommation atteinte quotidiennement du 24 au 31 août inclus
    session.getMaxPower('2020-08-24', '2020-09-01').then((result) => {
        console.log(result);
        /*
        {
            "unit": "VA",
            "data": [
                { "date": "2020-08-24 13:54:04", "value": 1941 },
                { "date": "2020-08-25 01:48:26", "value": 1648 },
                ...
        */
    });

    Install

    npm i linky

    DownloadsWeekly Downloads

    87

    Version

    1.3.0

    License

    GPL-3.0-or-later

    Unpacked Size

    68.3 kB

    Total Files

    14

    Last publish

    Collaborators

    • avatar