Suivre sa consommation électrique

Dans ce premier article nous allons voir comment mettre en place un suivi de consommation électrique par l'utilisation de la télé-information client (TIC) disponible sur les compteurs CBE (compteur électronique) ou Linky.

Qu'est-ce que la télé-information TIC ?

Il s'agit d'un flux de données perpétuel issu directement des compteurs posés par ENEDIS. Il fournit en temps réel toutes (ou presque toutes) les informations disponibles au niveau de l'afficheur du compteur :

  • Offre commerciale souscrite
  • Compteur heures pleines/heures creuses/heures week-end
  • Puissance apparente instantanée
  • Tarif en cours (Heure creuse, Heure pleine)
  • Puissance souscrite
  • Intensité maximale soutirée
  • ...

Ces informations sont celles qui sont communiquées au fournisseur d'énergies pour la facturation :

  • Soit par le passage d'un technicien ERDF,
  • Soit par un relevé client sur Internet ou par téléphone
  • Soit par une borne située à l'extérieur
  • Soit par CPL (cas du Linky)

Ces données sont donc accessibles par les bornes I1 et I2 du compteur qui ne devraient pas être protégées par des scélés.

Bornes I1 et I2 sur un compteur électronique CBE
Bornes I1 et I2 sur un compteur Linky

Les spécifications techniques des sorties TIC des compteurs sont disponibles sur Internet :

Nous reviendrons plus tard sur ces documents une fois la partie câblage terminée.

Particularité du Linky

Le compteur Linky présente une particularité. Il existe deux modes de TIC :

  • Mode "historique" : présent par défaut, il reprend les caractéristiques de communications du compteur électronique CBE
  • Mode "standard" : affiche plus d'informations que le mode historique avec, notamment, les différents compteurs. Ce mode est indispensable pour faire fonctionner la télé-information TIC avec de nouvelles offres commerciales telles que Vert Électrique ou autre.

Le changement de TIC se fait au moment de la pose en demandant au technicien ou alors auprès du fournisseur d'énergie qui doit faire une demande F185 pour basculer la TIC en standard. L'opération sera effectuée par télé-opération à minuit.

Comment récupérer les informations du compteur ?

Pour récupérer les informations, il faut préparer un petit circuit électronique. En effet, il faut démoduler le signal issu des bornes I1 et I2 en port série. Le matériel nécessaire est le suivant :

Raspberry PI 3 35,00€ Lien
BreadBoard 6,68€ Lien
Optocoupleur SFH620A 0,70€ Lien
Résistance 1,2 kΩ 0,15 € Lien
Résistance 3,3 kΩ 0,15 € Lien

Plusieurs remarques :

  • Il est possible de remplacer le Raspberry PI 3 par un Raspberry PI Zero WH pour une solution plus économique
  • Les résistances ne sont pas nécessaires dans tous les cas (cf. schéma ci-après)
Schémas du circuit électronique

Plusieurs circuits électroniques sont à réaliser en fonction des situations. Dans tous les cas, les bornes I1 et I2 peuvent être inversées.

Sur l'ensemble des schémas, il s'agit de la numérotation physique (BOARD) des GPIO et non la numérotation BCM.

Schéma et illustration pour compteur électronique CBE :
Schéma circuit compteur CBE
Illustration circuit compteur CBE 
Schéma et illustration pour compteur Linky en mode "historique" :
Schéma circuit compteur Linky mode "historique"
Illustration circuit compteur Linky mode "historique"
Schéma et illustration pour compteur Linky en mode "standard" :
Schéma circuit compteur Linky mode "standard"
Illustration circuit compteur Linky mode "standard"
Configuration du Raspberry

Maintenant que le câblage est terminé, il est temps de configurer le Raspberry pour voir les données issues du compteur.

Il faut commencer par activer le port série du Raspberry. Là encore, en fonction des cas, deux configurations possibles.

Pour les compteurs électroniques CBE et Linky en mode "historique" :
/sbin/stty -F /dev/ttyS0 1200 sane evenp parenb cs7 -crtscts

A partir de ce moment là, des données devraient déjà être disponibles sur le port en question :

ADCO 000000000000 @
OPTARIF BASE 0
ISOUSC 45 ?
BASE 001945463 +
PTEC TH.. $
IINST 001 X
IMAX 060 E
PAPP 00130 %
HHPHC A ,
MOTDETAT 000000 B
Pour les compteurs Linky en mode "standard" :
/sbin/stty -F /dev/ttyS0 9600 sane evenp parenb cs7 -crtscts

De même, à partir de ce moment, les données sont accessibles sur le port /dev/ttyS0 :

ADSC 000000000000 6
VTIC 02 J
DATE H180128174015 G
NGTF HC et Week-End U
LTARF HEURE WEEK-END 4
EAST 002050290 !
EASF01 000784280 ?
EASF02 001154049 ;
EASF03 000111961 7
EASF04 000000000 %
EASF05 000000000 &
EASF06 000000000 '
EASF07 000000000 (
EASF08 000000000 )
EASF09 000000000 *
EASF10 000000000 "
EASD01 001010341 *
EASD02 001039949 D
EASD03 000000000 "
EASD04 000000000 #
IRMS1 007 5
URMS1 210 =
PREF 09 H
PCOUP 09 "
SINSTS 01415 Q
SMAXSN H180128132221 05374 ?
SMAXSN-1 H180127195647 04715 /
UMOY1 H180128174000 208 8
STGE 002A4800 D
MSG1 PAS DE MESSAGE <
PRM 00000000000000 :
RELAIS 001 C
NTARF 03 P
NJOURF 01 '
NJOURF+1 00 B

Pour les autres versions de Raspberry postérieures au Raspberry PI 3, il faut remplacer le port /dev/ttyS0 par /dev/ttyAMA0.

Pour que la configuration persiste au démarrage, il faut ajouter cette ligne dans /etc/rc.local ou dans la crontab en @reboot.

Comme prévu, le mode "standard" est nettement plus verbeux.

La description des différentes étiquettes est disponible dans les deux documents de spécification des TIC redonnés pour mémoire :

Un segment complet de données comportant tous les champs disponibles en TIC se présente de cette façon :

0x02 Trame 0x0A ... 0x0A Trame 0x0A

Les trames sont ensuite encodées de différentes façon là encore en fonction des modes TIC:

  • Trames TIC mode "historique" :
Étiquette 0x20 Données 0x20 Somme de contrôle 0x0A
  • Trames TIC mode "standard" :
    • Trames horodatées :
Étiquette 0x09 Horodatage 0x09 Données 0x09 Somme de contrôle 0x0A
    • Trames non horodatées :
Étiquette 0x09 Données 0x09 Somme de contrôle 0x0A

A partir de là, un petit script python est tout à fait en mesure de pouvoir parser le flux et découper les données en une structure plus intéressante comme un dictionnaire et stocker dans une base de données.

Une petite illustration de ce qu'il est possible de faire avec Google Charts :

Sans trop s'embêter, il est possible de simplement intégrer cette télé-information à Domoticz uniquement en configurant le port série ; Domoticz se chargeant du reste.

10 réponses pour “Suivre sa consommation électrique”

  1. gregory5 février 2020 à 15 h 54 minRépondre

    bonjour,
    je souhaite profiter de votre article, mais mon compteur est a l’extérieur de mon logement :
    quelle partie doit etre déportée /conservée dans mon logement ?

    1. Dimitri9 février 2020 à 11 h 48 minRépondre

      Bonjour,
      Deux solutions s’offrent à vous :
      – soit demander à déplacer le compteur CBE/Linky dans votre logement. Généralement, c’est payant. A voir avec ERDF si vous bénéficiez d’une offre Heure creuse/Heure pleine ou Week-end, car si le compteur n’est pas chez vous, difficile alors de raccorder le contacteur jour nuit.
      – soit vous raccorder aux bornes I1 et I2 via une paire d’un cable réseau Cat. 6 que vous faites tirer jusqu’au compteur.

  2. RG9 novembre 2021 à 23 h 05 minRépondre

    Bonjour Dimitri, Bravo pour l’article. Le rôle de l’opto-coupleur est bien de protéger le raspberry pi ?

    1. Dimitri17 novembre 2021 à 10 h 28 minRépondre

      Merci 🙂

      Oui c’est bien ça !

  3. Jean-Louis LEFEBVRE26 mars 2022 à 10 h 45 minRépondre

    Bonjour,
    Mon compteur Linky m’envoie la trame suivante:
    ADCO XXXXXXXXXXXX 1
    OPTARIF BASE 0
    ISOUSC 45 ?
    BASE 012768866 7
    PTEC TH.. $
    IINST 001 X
    IMAX 090 H
    PAPP 00340 (
    HHPHC A ,
    MOTDETAT 000000 B
    Mon abonnement EDF est HP/HC+WE le délesteur/ECS (GP500 Delta Dore) du tableau électrique reste en permanence en HC (ECS en marche quel que soit le moment de la journée).
    EDF et Enedis me disent qu’il n’y a pas d’anomalie chez eux, auriez-vous une idée de ce qui provoque ce défaut ?
    Merci pour votre aide.
    Cordialement.

    1. Dimitri26 mars 2022 à 19 h 01 minRépondre

      Bonjour,

      Avec le mode « historique », le compteur ne donne pas tous les éléments qui permettraient de savoir si le problème vient de l’abonnement ou du raccordement domestique.

      Je vous invite à faire la demande pour passer le Linky en mode « standard » selon la procédure décrite dans l’article (demande F185), vous aurez plus d’informations et vous pourrez surveiller si le basculement HP/HC s’effectue bien.

      Cordialement.

  4. Bruno21 juillet 2022 à 13 h 42 minRépondre

    Bonjour,

    Merci pour votre tutorial.
    Je suis bloqué ici:

    la commande: stty -F /dev/ttyAMA0 9600 sane evenp parenb cs7 -crtscts
    ne donne rien en retour.

    Je suis sur RPI Zéro2W

    1. Dimitri21 juillet 2022 à 17 h 22 minRépondre

      Bonjour,
      Je n’ai pas le matériel pour faire le test mais la commande n’est pas censée retourner quoi que ce soit. Une fois tapée, il suffit de lire le /dev/ttyAMA0 pour voir les données défiler :
      cat /dev/ttyAMA0

  5. Eric D.13 octobre 2023 à 13 h 52 minRépondre

    Bonjour. Merci pour cet excellent article. Y a-t-il un moyen de savoir en quel mode le linky est actuellement? (historique ou standard) quelque part sur l’afficheur?

    1. Dimitri27 octobre 2023 à 20 h 18 minRépondre

      Bonjour,

      Oui, sur mon compteur, l’afficheur indique le « mode TIC » (j’ai le mode standard).

Laisser un commentaire