Domoticz : Linky

Bonjour à tous, j’espère que vous allez bien.

Aujourd’hui au programme nous allons voir comment récupérer les données de notre compteur Linky et les envoyer à notre serveur Domoticz.

Alors non, je ne suis pas devenu fou, je sais très bien que je vous ai déjà montré une technique dans le premier article sur Domoticz : https://anderson69s.com/2017/03/18/domoticz-domotique-diy/6/

Mais cette technique utilisait un Raspberry Pi et un dongle USB, car à l’époque, je n’avais pas encore mis en place les interrupteurs connectés que je vous aie présentés ici :  https://anderson69s.com/2018/04/29/domoticz-les-interrupteurs/

Toutefois, à l’époque ce choix s’expliquait assez facilement, car le second Raspberry Pi me servait également d’interface physique via un écran tactile pour allumer ou éteindre toutes les lampes chez moi si aucun smartphone n’était à porter. 😅

Or avec les interrupteurs connectés, l’interface tactile avec écran n’est plus utile… D’où ma réflexion : « Pourquoi continuer d’alimenter un Raspberry Pi et de maintenir un second serveur Domoticz à jour juste pour récupérer les informations de Linky??? » 🧐

Réponse : Aucun intérêt, si cela peut être fait avec un ESP8266… Vous finissez par comprendre pourquoi j’étais obligé de refaire un article sur le compteur Linky maintenant ? 😁

Niveau matériel, vous avez deux possibilités, soit vous recyclez le module avec USB que vous avez déjà acheté en réalisant un « gentil hack » comme moi sinon, achetez la bonne carte en fonction de vos besoins :

Je ne vais pas copier, coller ce qui a déjà été fait pour le Raspberry Pi, la méthode n’a pas changé. Reportez-vous en page 6 du premier article sur Domoticz. Si vous êtes sur ESP, c’est là que cela devient intéressant… Une fois que vous avez le nécessaire, connectez le tout :

Puis il va falloir envoyer le code sur l’ESP avant de le faire communiquer avec notre serveur Domoticz. Pour cela, veuillez suivre les instructions suivantes :

  1. Installer l’Arduino IDE sur votre ordinateur, la dernière version de préférence…
  2. Installer les définitions de cartes pour ESP8266 comme indiqué précédemment ici : https://anderson69s.com/2015/12/31/esp12e-dev-kit/
  3. Ajouter à l’Arduino IDE, le bon fichier Java qui permet d’uploader des données dans la mémoire SPIFFS de l’ESP. Pour cela, il faut se rendre ici : https://github.com/esp8266/arduino-esp8266fs-plugin/releases . Télécharger la dernière version et là où vous rajouter des librairies pour l’Arduino IDE, respectez l’arborescence suivante : User/Arduino/tools/ESP8266FS/tool/esp8266fs.jar . Si vous avez placé le fichier Java au bon endroit vous devriez avoir une nouvelle ligne dans le menu Outils de l’Arduino IDE :
  4. Ajouter la librairie TeleInfo à l’Arduino IDE. Le créateur des cartes, Hallard, a écrit un code très bien fait. Malheureusement, il ne s’intègre pas à des serveurs domotiques. La communauté a remédié à cela 😍. Attention, ne vous trompez pas, la version qui prend en charge Domoticz, Jeedom et EmonCMS est disponible ici : https://github.com/sremy91/LibTeleinfo
  5. Ajouter la librairie NeoPixelBus depuis l’Arduino IDE ou depuis https://github.com/Makuna/NeoPixelBus
  6. Uploader le code sur votre ESP et les fichiers pour le serveur dans la mémoire SPIFFS de l’ESP.
  7. Mettre votre ESP sous tension, se connecter au réseau WIFI de celui-ci portant le nom « WifiInfo-XXX »
  8. Se rendre sur la page http://192.168.4.1 (de mémoire) dans un navigateur web pour accéder à l’interface de l’ESP.
  9. Indiquer votre réseau WIFI à l’ESP (dans l’onglet Configuration) afin que celui-ci puisse communiquer avec notre serveur Domoticz :
  10. Débrancher l’ESP et le relier à notre compteur Linky comme pour la technique avec le Raspberry Pi.
  11. Remettez votre ESP sous tension, vous devriez voir apparaître les informations du compteur Linky sur l’interface de gestion :
  12. On passe alors sous Domoticz pour créer un « Dummy Device », représentant notre ESP, exactement comme pour ESPEASY.
  13. On créé alors deux capteurs virtuels : P1 Smart Meter et Courant (Ampère Mono-Phasé de mémoire).
  14. Ce qui donne les deux IDX dans les Dispositifs de Domoticz. Ces IDX sont à renseigner dans l’onglet  configuration sur l’ESP Wifiinfo :
  15. Une fois cela fait, vous devriez normalement voir votre consommation électrique du compteur Linky sur votre serveur Domoticz :

Vous aurez donc accès aux données de ce boitier si machiavélique selon certains… 😂

@Bientôt Anders 😎

39 réponses sur “Domoticz : Linky”

    1. Bonkjour Jeyf, j’espère que vous allez bien.

      Je récupère uniquement les informations que le compteur Linky fournit, je ne fais aucun pilotage de tension. Si votre contrat d’électricité à des périodes je ne sais pas si elles peuvent apparaître avec cette solution, car je mon contrat n’en convient pas.

      @Bientôt Anders

  1. Pouvez-vous confirmer le code qui doit etre envoye a l’ESP ? Bien suivi tout le reste mais je ne vois pas de lien pour le code. Et aussi j’assume que sur un compteur triphase les donnees pour chaque phase seront publiees.

    Merci

    1. Je reponds peut-etre a ma propre question. Mais le code en question est-il ESPEasy comme indique dans votre premier article ? Merci

        1. Merci, tout marche correctement. J’ai en fait quelques donnees supplementaires pour le triphase.
          IIINST1, IINST2, IINST3 et IMAX1, IMAX2, IMAX3 mais qui ne sont pas mises a jour aussi souvent que la puissance totale et le compteur de base.

  2. Bonjour, merci pour ce tuto, je le cherchais depuis un certain temps…
    J’ai un problème de compréhension sur le point 6: je ne vois pas quels fichiers uploader dans la memoire SPIFFS, ni comment (sans doute avec esp8266fs)
    Merci de votre aide

  3. Je me réponds à moi-même : les fichier a charger en mémoire SPIFFS sont dans le répertoire data de l’exemple, et sont automatiquement trouvés par esp8266fs
    Je peux passer au point 7 😉

    1. Bonsoir Christian, j’espère que vous allez bien.

      Du coup avez-vous réussi à uploader les fichiers nécessaires sur l’ESP8266?

      Avez-vous réussi à les lire les informations émisses par votre compteur Linky?

      @Bientôt Anders

      1. Bonsoir,
        J’ai été au bout de la démarche de configuration de mon Wemos D1 mini pro, programme et SPIFFS. il me reste à y brancher la liaison du Linky, demain sans doute; a priori je suis sur la bonne broche, et les précédents tests de mon montage avec opto coupleur me donnait des données lisibles. je pense donc que ça devrait marcher sans autres problèmes.
        J’avais déjà regardé la solution de P. Hallard, mais n’avais jamais été au bout ne comprenant pas la démarche. Votre tuto m’a permis de finaliser un sujet que je regardais depuis près d’un an, merci

  4. Suite de mon chemin vers la vérité ! : le Wemos est branché, je me connecte à son wifi et lis les données sur la page
    J’ai configuré mon wifi domestique, les coordonnées du serveur Domoticz, les IDX des deux devices indiqués, mais pas de vie sur ces derniers !
    Je suis un peu en aveugle ! je continue a chercher….

    1. Bonsoir Christian, j’espère que vous allez bien.

      Au premier démarrage, si vous n’avez pas configuré votre wifi personnel, le wemo doit ce mettre en mode point d’accès, une fois connecté sur celui-ci vous pouvez configurer votre wifi.

      Une fois les informations renseignées et validées, le wemo prendra alors une IP sur votre réseau domestique qui est visible depuis votre box.

      Personnellement, j’utilise uniquement deux IDX :
      – IDX Domoticz pour mise à jour d’un dispositif General – Text (ADCO)
      – IDX Domoticz pour mise à jour d’un dispositif P1 Smart Meter – Energy (BASE,0,0,0,PAPP,0)

      Avez-vous pensé à ajouter votre wemo à Domoticz comme un dummy device? Avez-vous créé des capteurs virtuels pour les avoir des IDX? J’utilise ampère triphasé et P1 compteur intelligent (électrique). Avez-vous activé l’onglet mesure? Avez-vous ajouté les deux dispositifs créés à votre installation dans la page des dispositifs?

      @Bientôt Anders

  5. Bonjour,
    J’ai voulu suivre ce tutoriel, mais lorsque j’ai voulu compiler le code (étape 6), j’ai eu une erreur « U_SPIFFS not defined ». En recherchant cette erreur sur internet, j’ai trouvé un forum sur lequel il était conseillé de changer U_SPIFF en U_FS. Depuis, la compilation se fait apparemment normalement et j’arrive à charger et faire focntionner le site web du Wemos D1 Mini (je n epeux pas dire s’il y a un autre problème, car je n’ai pas encore fait le montage.. je voulais d’abord tester la conectivité jusqu’au compteur…)
    Ricorico94

    1. Bonjour Ricorico94, j’espère que vous allez bien.

      Cela fait effectivement un moment que j’utilise ce montage, je n’ai pas fait attention aux mises-à-jour vu que c’est très stable.

      Je veux bien que vous me teniez au courant si vous avez besoin d’aide ou si vous avez des retours 😉

      @Bientôt Anders

    2. Bonjour,
      Bravo pour le tuto et merci pour l’information sur U_SPIFFS. j’ai passé beaucoup de temps sur cette erreur.

      Maintenant, je vois le serveur en faisant un scan du réseau, mais je n’arrive pas à me connecter dessus 192.168.4.1.
      Pour essayer de comprendre mes erreurs :
      – Comment envoyer vous l’information : par le bouton televerser ou par « esp8266 sketch upload data » ?
      – Une autre point dont je ne sais pas si cela est impactant : dans le menu outil, Flash size, je n’ai pas spiff, mais 4MB (FS:3MB OTA:~512KB)
      cdt

  6. Bonjour,

    J’ai installé la version wifinfo que vous préconisez pour domoticz sur une wemos D1 Pro , Le téléchargement se passe très bien, et si j’accèdes directement a la fin du téléchargement a la wemos j’ai la page d’accueil qui apparaît et je peut renseigné les informations de connexion a mon réseau WIFI , par contre des que je redémarre cela affiche « file not found », meme si je redemarre directement a la fin du telechargement.
    Avez vous une idées du Problème.J’ai essayer la version 1.0.7 et je n’ai pas de Pb.

    Merci

    1. Bonjour Stéphane, j’espère que vous allez bien.

      Pardonnez ma réponse très tardive durant cette période pertubée…

      C’est étrange, normalement ce soucis de « file not found », ce produit si vous n’avez pas téléversé le dossier « data » sur votre ESP.

      Toutefois si vous voyez l’interface graphique que je montre dans l’article c’est que tout a fonctionné lors du téléversement..

      Je suis aussi sur la version 1.0.7 depuis 2 – 3 ans et je n’ai jamais eu le problème.

      Du coup je veux bien des retours de votre part.

      @Bientôt Anders

    2. Bonjour a tous,
      J’ai trouvé pour le « file not found » après avoir bien cherché.

      Je n’avais pas mis a jour les fichiers via « data upload ». 😉
      ce positionné sur wifinfo.h
      puis dans arduino > outils > esp8266 schetch data Upload

      si cela peut faire gagner des heures à d’autres personnes.
      merci pour ce tuto.

      1. Bonsoir Pierre, j’espère que vous allez bien.

        Je suis désolé pour ma réponse tardive j’ai été bien pris. Je suis ravi que vous ayez trouvé la solution et que vous l’ayez partagé. Cela aidera sûrement d’autres personnes.

        @Bientôt Anders,

  7. Bonjour,

    Je suis la tuto depuis le début et je bute sur le téléversement du code dans la memoire SPIFFS.

    J’ai l’erreur : SPIFFS Error : esptool no found!.

    d’ou viens l’erreur ?

    1. Bonjour Sébastien, j’espère que vous allez bien.

      En général ce genre d’erreur apparaît lorsqu’il y a un problème de configuration dans l’Arduino IDE. concrètement ce dernier ne trouve pas le programme esptool.

      Pouvez-vous me donner plus d’informations? Système d’exploitation utilisé? Version de l’IDE? Version de définition des cartes? Quelle carte utilisez-vous?

      @Bientôt Anders

  8. Bonjour Anders,
    j’espère que tu vas bien.

    J’avance, j’avance .. (dommage que le classement de Blog ne soit pas dans l’ordre chronologique, faut rechercher les nouveaux messages.)

    Pour info à tous, j’ai voulu à nouveau téléverser dans esp 32. IL demande un mot de passe. Ce n’est pas le mot de passe wifi, mais celui qui est dans l’esp, visible au 192.168.x.x, l’onglet configuration du système> avancée, dans la rubrique Mot de passe OTA. Par défaut, c’est OTA_WifInfo.

    Pourquoi ai je voulu téléverser à nouveau ? parce que je n’arrivais pas à accéder à l’esp32 via un browser à l’adresse 192.168.x.x Depuis, j’ai trouvé. certaines esp32 sont accessibles 15 minutes après le branchement ! faut juste attendre …

  9. Re Bonjour Anders,

    J’ai avancé, oui, mais je suis bloqué.

    La téléinfo remonte bien dans esp. J’ai des choses dans l’onglet téléinfo : etiquette – valeur –

    J’ai configuré l’onglet config avec le wifi , car je peux y accéder.
    Dans l’onglet Domoticz, j’ai la bonne IP, le port, j’ai essayé avec Basic auth ou sans, et mis les idx sur la 2ème et 3eme ligne après avoir crée dans Domoticz.

    Rien, nada dans Domoticz.
    et je ne vois pas où je peux trouver une log, ou u mode debug.
    – Car arduino ne met pas de log quand elle est en wifi
    – pas d’indication sur le portail ESP – evenement par exemple. et appriori, c’est normal, elle envoie les info (dont je ne peux voir la trace)
    – rien dans Domoticz – log.
    Je ne sais pas comment voir passer la trame ou simuler l’appel .
    une idée ?
    Cordialement

    1. Bonjour Anders,
      J’ai réussi !

      Avec la bible des commandes API/JSON URL’S
      https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s#Electricity_P1_smart_meter

      J’ai simulé les appels à DOmoticz.

      http://192.168.x.xxx:8xxx/json.htm?type=command&param=udevice&idx=1252&nvalue=0&svalue=1 ;=2;=3
      http://192.168.x.xxx:8xxx/json.htm? username=xxxxx=&password= xxxxxx=&type=command&param=udevice&idx=1251&nvalue=0&svalue=10;20;30;40;50;60

      Cela m’a permis de vérifier que l’appel marchait bien, mais qq temps après le niveau descendait à 0.
      Donc, je ne devais pas me focaliser sur la partie ESP32-> Domoticz qui fonctionne.

      C’est le lien entre ESP32 et le compteur qui avait un soucis. Effectivement, un faux contact dans un branchement.

      Merci pour ce site.
      Et c’est partie pour de nouveau bricolage.
      (Notamment, j’aimerai mettre un contacteur basse consommation à plus de 100 mètres avec la techno Lora. ). Peu de littérature sur le web pour LoRa -domoticz. Si qq’un avait une expérience…
      Cordialement

      1. Bonjour Pierre, j’espère que vous allez bien.

        Petite réponse pour vous féliciter de votre réussite. 😉

        Pour le LoRa, je peux essayer de répondre à vos questions si vous avez besoins.

        Cordialement, Anderson69s

        1. Bonjour Andersen,

          Merci pour ton aide. je trouve que le plus difficile est de trouver des bons sites de tutos ou d’explications. Qq bons liens sur Lora me seraient utiles.

        2. Bonjour Andersen,

          Mon ESP est tombé en panne. J’ai refait la configuration.
          (et j’ai plongé dans tous les anciens problèmes).

          Mais là, nouveauté : l’IDX de DOMOTICZ dans la configuration est limité à 3 chiffres !!!
          Pas sur que je puisse modifier l’identifiant dans Domoticz.
          Une idée de l’origine de ce bloquage ?
          Codialement

          1. Bonjour
            Trouvé.
            C’est sous IE.
            Ca marche avec FIREFOX.
            (ie est mort de toute façon)
            bonne fete de fin d’année. Je rebranche l’esp et je m’occupe des bouteilles

  10. Bonjour Anderson,

    J’ai tenté de suivre les étapes pour installer libteleinfo via Arduino 1.8.13, mais je me bute à un erreur « spiffs » au moment de la compilation.

    C:\Users\simpl\AppData\Local\Temp\arduino_modified_sketch_14762\Wifinfo.ino: In lambda function:
    Wifinfo:787:21: error: ‘U_SPIFFS’ was not declared in this scope
    command = U_SPIFFS;

    Une idée ?

    Merci !

  11. Anderson,
    j’ai réussi à re-flasher mon esp8266 et téléverser libtéléinfo. Maintenant je ne reçois pas de données de mon Linky.. génial. Ca avance doucement mais surement.

    1. Bonjour Valentin, j’espère que vous allez bien.

      Avez-vous vérifié les connexions physiques à votre Linky? Des fois, une faux-contact est vite arrivé…

      @Bientôt Anderson69s

  12. Bonjour Anderson, je ne reçois pas de trames sur mon wemos D1 mini… Je suis en mode historique et j’utilise le GPIO3 (broche D7) de mon wemos. Y a t’il quelque chose à modifier dans le code pour lire sur le D7 ?
    Merci d’avance

    1. Bonjour Garry, j’espère que vous allez bien.

      Normalement, la pin D7 est celle de base dans le sketch. Il n’y a donc pas de code à modifier.

      Si vous avez bien réussi à vous connecter à votre Wifi. Je pencherai plus pour une mauvaise connexion sur le Linky…

      @Bientôt Anderson69s

  13. Bonjour Anderson,
    Petit commentaire d’étonnement.

    L’accès au serveur Wifinfo est libre.
    Pour la configuration, la clé Wifi est remplacé par des étoiles ****

    Par contre, dans l’onglet evenement : le clé wifi est en clair et donc accessible
    @ bientôt

    1. Bonjour Pierre, j’espère que vous allez bien.

      Pour répondre à vos questions :
      – Oui l’accès au mode AP de l’ESP est ouvert, mais il s’arrête dès que vous connectez l’ESP à votre WIFI.
      – Pour modifier la clé WIFI de l’ESP il faut être connecté au même réseau que lui…
      – Passez à Edge si vous n’aimez pas Firefox, mais par pitié n’utilisez pas Chrome.
      – Pour le soucis des 3 chiffres dans l’IDX c’est une première, je n’ai jamais eu ce soucis… Peut-être un bug?

      @Bientôt Anders

  14. Bonjour,
    J’ai besoin d’aide je bloque à ce niveau
    « Ajouter à l’Arduino IDE, le bon fichier Java qui permet d’uploader des données dans la mémoire SPIFFS de l’ESP. Pour cela, il faut se rendre ici : https://github.com/esp8266/arduino-esp8266fs-plugin/releases . Télécharger la dernière version et là où vous rajouter des librairies pour l’Arduino IDE, respectez l’arborescence suivante : User/Arduino/tools/ESP8266FS/tool/esp8266fs.jar . Si vous avez placé le fichier Java au bon endroit vous devriez avoir une nouvelle ligne dans le menu Outils de l’Arduino IDE : »
    Pourriez vous m’aider avec mes remerciements.
    Jean-Louis

  15. Bonjour,
    J’ai pit info que je relie à un esp 8266 , faut -t-il alimenter l’esp avec une alimentation type prise , ( j’en ai pas à proximité ?) ou en reliant simplement pit info au linky cela alimente le système ?
    merci de votre aide
    Cordialement

    1. Bonjour Jean-Louis, j’espère que vous allez bien.

      Je réponds à vos deux messages en un seul ;-). Je suis désolé pour l’attente…

      Il faut alimenter l’ESP8266 en 5v via le micro-USB grâce à un chargeur ou en 3V directement… Vous ne pouvez pas alimenter l’ESP8266 via le compteur Linky… Il faut une prise à proximité.

      Pour votre première question, il faut télécharger le fichier sur Github et le positionner au bon endroit sur votre disque pour que votre installation de l’Arduino IDE puisse envoyer des fichiers à votre ESP8266.

      Je vous ai traduit un tuto : https://randomnerdtutorials-com.translate.goog/install-esp8266-filesystem-uploader-arduino-ide/?_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=fr&_x_tr_pto=wapp

      En espérant que cela vous aide.

      @Bientôt Anders

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Traduction :