Skip to content

bokub/ha-linky

Repository files navigation

Home Assistant Linky Add-on

Build Status Version Code style

A Home Assistant add-on to sync Energy dashboards with your Linky smart meter

N.B: Because this tool is targeted for French users, the documentation is...in French!


HA Linky est un add-on pour Home Assistant permettant de synchroniser les données votre compteur Linky avec les tableaux de bord d'énergie de Home Assistant.

Il utilise le module @bokub/linky et le service Conso API pour communiquer avec Enedis et récupérer votre consommation.

Prérequis

Pour utiliser cet add-on, il vous faut :

  • Un compteur Linky
  • Un espace client Enedis
  • La collecte de la consommation horaire activĂ©e sur votre espace client Enedis (tutoriel)
  • Un token d'accès, Ă  gĂ©nĂ©rer sur Conso API

Installation

  • Cliquez ici pour ajouter le repository Ă  Home Assistant. Si le lien ne fonctionne pas :
    • Depuis Home Assistant, ouvrez le menu Paramètres / Settings, puis Modules complĂ©mentaires / Add-ons
    • Cliquez sur le bouton Boutique / Store en bas Ă  droite
    • Cliquer sur les trois points en haut Ă  droite, puis DĂ©pĂ´ts / Repositories
    • Ajoutez https://github.com/bokub/ha-linky
  • Cliquez sur Ajouter / Add puis fermez la boite de dialogue
  • Cherchez Linky dans la liste des add-ons et cliquez dessus (vous pouvez utiliser la barre de recherche)
  • Installez l'add-on en cliquant sur le bouton dĂ©diĂ©

Configuration

Une fois l'add-on installé, rendez-vous dans l'onglet Configuration.

La configuration YAML de base comporte 2 compteurs :

  • Le premier pour mesurer la consommation d'Ă©nergie
  • Le deuxième pour mesurer la production d'Ă©nergie

Vous pouvez effacer les lignes correspondant à la production si vous ne produisez pas d'électricité, ou rajouter d'autres compteurs si vous en avez besoin.

Pour chaque compteur, remplissez les champs suivants :

  • prm : Votre numĂ©ro de PRM (14 chiffres).
    • Si vous ne le connaissez pas, entrez votre token sur la page exemples de Conso API et le PRM s'affichera dans le champ PRM
    • Vous pouvez Ă©galement le trouver sur votre compteur en appuyant sur la touche + jusqu’à lire la valeur du numĂ©ro de PRM.
    • Selon les cas, le PRM de consommation peut ĂŞtre identique ou diffĂ©rent de celui qui gère la production.
    • Les 14 chiffres du PRM doivent ĂŞtre saisis entre guillemets ", comme dans l'exemple ci-dessous
  • token : Votre token Conso API
  • name : Choisissez le nom qui sera affichĂ© dans les tableaux de bord d'Ă©nergie. Vous pourrez le changer plus tard si vous le souhaitez.
  • action : Laissez la valeur par dĂ©faut: sync
  • production : Choisissez true si le compteur gère la production d'Ă©nergie, false sinon

Exemple de configuration pour un seul compteur, en consommation :

- prm: '18435095771264'
  token: abcdef.ghijklmnopqrs.tuvwxyz
  name: Consommation Linky
  action: sync
  production: false

Appliquez les modifications et démarrez / redémarrez l'add-on si ce n'est pas déjà fait

Utilisation / fonctionnement

Une fois l'add-on démarré, rendez-vous dans l'onglet Journal / Log pour suivre la progression de la synchronisation.

Au premier lancement, HA Linky essaiera de récupérer jusqu'à 1 an de données historiques (sauf si vous fournissez votre propre export CSV).

Ensuite, il synchronisera les données deux fois par jour tant qu'il n'est pas arrêté :

  • Une fois entre 6h et 7h du matin pour rĂ©cupĂ©rer les donnĂ©es de la veille
  • Une fois entre 9h et 10h du matin au cas oĂą la première synchronisation a Ă©chouĂ©

Vous pourrez vérifier le bon fonctionnement de l'add-on en vous rendant dans l'onglet Journal / Log, où toutes les informations utiles seront affichées.

Tableaux de bord

Pour visualiser les données de HA Linky dans vos tableaux de bord d'énergie :

  • Cliquez ici, ou ouvrez le menu Paramètres / Settings, puis Tableaux de bord / Dashboards, puis Énergie / Energy
  • Dans la section RĂ©seau Ă©lectrique / Electricity grid, cliquez sur Ajouter une consommation / Add consumption
  • Choisissez la statistique correspondant au name que vous avez choisi Ă  l'Ă©tape de configuration
  • Cliquez sur Enregistrer / Save

Bon Ă  savoir

  • Les donnĂ©es d’une journĂ©e ne sont pas accessibles en temps rĂ©el, il faut attendre le lendemain de leur mesure pour pouvoir les rĂ©cupĂ©rer, entre 6h et 10h.
  • Pour les dates rĂ©centes (moins de 7 jours), HA Linky essaiera de rĂ©cupĂ©rer en prioritĂ© des donnĂ©es par demi-heure
  • Pour les dates plus anciennes, HA Linky rĂ©cupèrera seulement des donnĂ©es quotidiennes. Vous verrez alors une seule grande barre entre 0h et 1h du matin sur votre tableau de bord d'Ă©nergie si vous affichez le graphique dĂ©taillĂ© d'une telle journĂ©e.

Remise à zéro

En cas de problème, il est toujours possible d'effacer toutes les données de consommation ou de production créées par HA Linky

Revenez sur l'onglet Configuration de l'add-on et changez la valeur de action à reset sur le compteur qui vous intéresse, puis appliquez les modifications et redémarrez l'add-on.

Ouvrez ensuite l'onglet Journal / Log pour vérifier que la remise à zéro s'est bien déroulée.

Au prochain démarrage, si action est repassé à sync, HA Linky réimportera à nouveau vos données historiques, soit via Conso API, soit via un fichier CSV si vous en avez fourni un (voir paragraphe suivant).

Import d'historique CSV

Lors de l'initialisation, HA Linky télécharge jusqu'à 1 an de données quotidiennes via Conso API.

Si vous souhaitez un historique plus long ainsi qu'une précision horaire, vous pouvez importer un fichier CSV à partir duquel HA Linky pourra extraire les données.

La démarche à suivre est la suivante :

  • TĂ©lĂ©chargez un export de vos donnĂ©es horaires depuis votre espace client Enedis (tutoriel)
  • DĂ©posez ce fichier dans le dossier /addon_configs/cf6b56a3_linky (tutoriel)
  • Si vous avez dĂ©jĂ  importĂ© des donnĂ©es dans Home Assistant, faites une remise Ă  zĂ©ro en suivant le paragraphe prĂ©cĂ©dent
  • Repassez l'action du compteur Ă  sync et redĂ©marrez l'add-on
  • Si un fichier CSV correspondant Ă  votre PRM est trouvĂ©, HA Linky l'utilisera pour initialiser les donnĂ©es au lieu d'appeler l'API.

Installation standalone

Si votre installation de Home Assistant ne vous permet pas d'accéder au système d'add-ons, il est également possible de lancer HA Linky en utilisant Docker

Note

Cette méthode n'est pas recommandée et fait office de solution de dépannage pour les personnes ne voulant pas utiliser HAOS et son système d'add-ons.

Vous avez choisi d'installer Home Assistant avec une méthode "avancée", vous devriez donc maitriser vos outils. Je ne fournis pas d'aide concernant l'utilisation de Docker, Kubernetes, ou tout système autre que HAOS.

Setup

Construisez une image Docker ha-linky adaptée à votre système avec la commande suivante :

docker build https://github.com/bokub/ha-linky.git -f standalone.Dockerfile -t ha-linky

Créez ensuite un fichier nommé options.json, au format suivant, puis suivez les instructions du paragraphe "Configuration" ci-dessus pour le remplir.

{
  "meters": [
    {
      "prm": "",
      "token": "",
      "name": "Linky consumption",
      "action": "sync",
      "production": false
    },
    {
      "prm": "",
      "token": "",
      "name": "Linky production",
      "action": "sync",
      "production": true
    }
  ]
}

Créez un jeton d'accès longue durée depuis la page de votre profil Home Assistant (accessible en cliquant sur vos initiales en bas du menu latéral)

Lancement

Vous pouvez désormais lancer l'image Docker de HA Linky avec la commande docker run ou via Docker compose, selon vos préférences.

Dans les deux cas, remplacez :

  • <options-folder> par le dossier contenant le fichier options.json
  • <jeton> par le jeton d'accès longue durĂ©e que vous avez crĂ©Ă© juste avant dans Home Assistant
  • <ha-ip> par l'IP de votre instance Home assistant (avec le port si nĂ©cessaire)
# docker run
docker run -e SUPERVISOR_TOKEN='<jeton>' -e WS_URL='ws://<ha-ip>/api/websocket' -v <options-folder>:/data ha-linky
# docker-compose.yml
services:
  ha-linky:
    image: ha-linky
    environment:
      - SUPERVISOR_TOKEN=<jeton>
      - WS_URL=ws://<ha-ip>/api/websocket
    volumes:
      - <options-folder>:/data

Pour importer des fichiers CSV (optionnel), rajoutez simplement un deuxième volume <csv-folder>:/config où <csv-folder> correspond au dossier contenant vos fichiers CSV.