rinaz-a / Node-Linky

A simple node to connect to Enedis Linky smart-meter to fetch your datas

Home Page:https://philbri.github.io/Node-Linky/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.


★ Installation

  1. Télécharger, extraire puis copier le repertoire Linky dans le dossier \node_modules\ concerné par votre éditeur NODE-RED.

  2. Relancez et/ou actualisez l'onglet de votre explorateur.


★ Compte ENEDIS

Afin de pouvoir collecter vos données de consommation issues de votre fournisseur d'éléctricité, il convient de :

Créer un compte

  • 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... 😯

Activer votre compte

  • 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.


★ Configuration du module

  • 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.

    Pour assurer la confidentialité, les champs ci-dessus possédent la propriété NODE-RED credentials.

    • 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.

★ Fonctionnement

Inputs

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.

Format du message msg en entrée

msg {
    "topic" : "linky",
    "payload" : {
        "debut": "JJ-MM-AAAA",
        "fin": "JJ-MM-AAAA"
    }
}

msg.topic {string} (facultatif)

  • Valeur ➜ "linky" permettant éventuellement de publier sur un topic 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"

Outputs

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.

Format du message msg en sortie

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.

★ Utilisation

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"}

★ Format de fichier

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

★ Compatibilité

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

★ Restrictions

Le site ENEDIS est une vraie catastrophe en termes de disponibilté et de service...


★ License

Logiciel libre sous licence MIT

About

A simple node to connect to Enedis Linky smart-meter to fetch your datas

https://philbri.github.io/Node-Linky/

License:MIT License


Languages

Language:HTML 55.0%Language:JavaScript 45.0%