All Projects â†’ bokub â†’ linky

bokub / linky

Licence: GPL-3.0 license
🔌 Easily retrieve your Linkyℱ power consumption

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to linky

linky-cli
⛔ DEPRECATED - A CLI tool to retrieve your Linky power consumption
Stars: ✭ 19 (-85.5%)
Mutual labels:  power, linky, consumption, enedis
ioBroker.sourceanalytix
Detailed analysis of your Energy, gas and liquid consumptions
Stars: ✭ 61 (-53.44%)
Mutual labels:  power, consumption
Node-Linky
A simple node to connect to Enedis Linky smart-meter to fetch your datas
Stars: ✭ 29 (-77.86%)
Mutual labels:  linky, enedis
homeassistant-powercalc
Custom component to calculate estimated power consumption of lights and other appliances
Stars: ✭ 261 (+99.24%)
Mutual labels:  power, consumption
tracebase
The tracebase appliance-level power consumption data set
Stars: ✭ 33 (-74.81%)
Mutual labels:  power, consumption
powerapi-scala
PowerAPI is a middleware toolkit for building software-defined power meters
Stars: ✭ 70 (-46.56%)
Mutual labels:  power, consumption
Iobroker.sourceanalytix
Detailed analysis of your Energy, gas and liquid consumptions
Stars: ✭ 40 (-69.47%)
Mutual labels:  power
Perfectwindows
PerfectWindows èœŻä»¶ćź¶æ— - Windows 从æœȘćŠ‚æ­€ćźŒçŸŽïŒ
Stars: ✭ 1,326 (+912.21%)
Mutual labels:  power
Auto Cpufreq
Automatic CPU speed & power optimizer for Linux
Stars: ✭ 843 (+543.51%)
Mutual labels:  power
Pandapower
Convenient Power System Modelling and Analysis based on PYPOWER and pandas
Stars: ✭ 387 (+195.42%)
Mutual labels:  power
fpga torture
đŸ”„ Technology-agnostic FPGA stress-test: maximum logic utilization and high dynamic power consumption.
Stars: ✭ 23 (-82.44%)
Mutual labels:  power
S Tui
Terminal-based CPU stress and monitoring utility
Stars: ✭ 2,825 (+2056.49%)
Mutual labels:  power
Pcm
Processor Counter Monitor
Stars: ✭ 1,240 (+846.56%)
Mutual labels:  power
X Cube Usb Pd
USB-C Power Delivery Firmware for STM32 microcontroller (ARM Cortex M0 & M4)
Stars: ✭ 41 (-68.7%)
Mutual labels:  power
Caffeinated
☕ Prevent your PC from sleeping. Port of Caffeine for OS X.
Stars: ✭ 103 (-21.37%)
Mutual labels:  power
Usb Esp
How to make a tiny USB powered ESP-12S
Stars: ✭ 39 (-70.23%)
Mutual labels:  power
openshift-install-power
UPI Install helper to deploy OpenShift 4 on IBM Power Systems Virtual Server using Terraform IaC
Stars: ✭ 16 (-87.79%)
Mutual labels:  power
Ics Security Tools
Tools, tips, tricks, and more for exploring ICS Security.
Stars: ✭ 749 (+471.76%)
Mutual labels:  power
Skpr
Generates and evaluates D, I, A, Alias, E, T, G, and custom optimal designs. Supports generation and evaluation of mixture and split/split-split/N-split plot designs. Includes parametric and Monte Carlo power evaluation functions. Provides a framework to evaluate power using functions provided in other packages or written by the user.
Stars: ✭ 80 (-38.93%)
Mutual labels:  power
Windpowerlib
The windpowerlib is a library to model the output of wind turbines and farms.
Stars: ✭ 170 (+29.77%)
Mutual labels:  power

Linky

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

Attention: Ces API seront désactivées par Enedis le 30 avril 2023. Une migration vers les nouvelles API "Metering V5" et "Token V3" est prévue pour les mois à venir. En tant qu'utilisateur de ce module, attendez-vous à devoir faire une mise à jour prochainement.

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 janvier 2022 inclus
linky daily --start 2022-01-01 --end 2022-01-08

# RécupÚre la puissance moyenne consommée le 31 décembre 2021, sur un intervalle de 30 min
linky loadcurve --start 2021-12-31 --end 2022-01-01

# RĂ©cupĂšre la puissance maximale de consommation atteinte quotidiennement du 1er au 7 janvier 2022 inclus
linky maxpower --start 2022-01-01 --end 2022-01-08

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 7 janvier 2022 inclus
linky dailyprod --start 2022-01-01 --end 2022-01-08

# RécupÚre la puissance moyenne produite le 31 décembre 2021, sur un intervalle de 30 min
linky loadcurveprod --start 2021-12-31 --end 2022-01-01

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

Pour gérer plusieurs compteurs (PRM), précisez simplement l'usage point ID dans chaque commande avec le paramÚtre -u

# Enregistre les identifiants du compteur 111222333
linky auth -a Tk42pB -r 8peqHT -u 111222333

# Enregistre les identifiants du compteur 777888999
linky auth -a 9urfYR -r 5wcCPq -u 777888999

# RĂ©cupĂšre la consommation du compteur 111222333
linky daily -u 111222333

# RĂ©cupĂšre la production du compteur 777888999
linky dailyprod -u 777888999

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

linky loadcurve --start 2021-12-31 --end 2022-01-01 --output data/ma_conso.json

Vous pouvez changer le format d'affichage de sortie grĂące Ă  l'option --format

linky daily --start 2022-01-01 --end 2022-01-08 --format json

Vous pouvez masquer les messages et animations de progression grĂące Ă  l'option --quiet

linky maxpower --quiet

Pour voir l'aide détaillée et plus d'exemples :

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 janvier 2022 inclus
session.getDailyConsumption('2022-01-01', '2022-01-08').then((result) => {
    console.log(result);
    /*
    {
        "unit": "Wh",
        "data": [
            { "date": "2022-01-01", "value": 12278 },
            { "date": "2022-01-02", "value": 15637 },
            ...
    */
});

// RécupÚre la puissance moyenne consommée le 31 décembre 2021, sur un intervalle de 30 min
session.getLoadCurve('2021-12-31', '2022-01-01').then((result) => {
    console.log(result);
    /*
    {
        "unit": "W",
        "data": [
            { "date": "2021-12-31 00:30:00", "value": 582 },
            { "date": "2021-12-31 01:00:00", "value": 448 },
            ...
    */
});

// RĂ©cupĂšre la puissance maximale de consommation atteinte quotidiennement du 1er au 7 janvier 2022 inclus
session.getMaxPower('2022-01-01', '2022-01-08').then((result) => {
    console.log(result);
    /*
    {
        "unit": "VA",
        "data": [
            { "date": "2022-01-01 13:54:04", "value": 1941 },
            { "date": "2022-01-02 09:48:26", "value": 1648 },
            ...
    */
});

// RĂ©cupĂšre la production quotidienne du 1er au 7 janvier 2022 inclus
session.getDailyProduction('2022-01-01', '2022-01-08').then((result) => {
    console.log(result);
    /*
  {
      "unit": "Wh",
      "data": [
          { "date": "2022-01-01", "value": 1278 },
          { "date": "2022-01-02", "value": 1567 },
          ...
  */
});

// RécupÚre la puissance moyenne produite le 31 décembre 2021, sur un intervalle de 30 min
session.getProductionLoadCurve('2021-12-31', '2022-01-01').then((result) => {
    console.log(result);
    /*
  {
      "unit": "W",
      "data": [
          { "date": "2021-12-31 00:30:00", "value": 82 },
          { "date": "2021-12-31 01:00:00", "value": 48 },
          ...
  */
});
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].