Réalisez un Routeur Solaire avec un Linky (DIY)

Version V3.11 Linky remplacé par la version V4.00_RMS
Pilotage depuis un SmartPhone ou un PC (navigateur Web)

Avec les panneaux solaires, dans une installation en autoconsommation, il est fréquent d’avoir de la surproduction d’énergie dont on ne sait que faire et qui est envoyée sur le réseau public. Une solution pour ne pas gaspiller cet excédent est de l’envoyer à un chauffe-eau électrique, un chauffage, une pompe de piscine…

Mais, pour un chauffe-eau ou un chauffage, gros consommateur d’énergie, il arrive de ne pas avoir assez d’excédent disponible pour couvrir à 100% leurs besoins.

Ici, nous allons réaliser un système qui envoi uniquement la puissance excédentaire au chauffe-eau ou chauffage en surveillant la puissance qui entre ou sort de la maison afin qu’elle soit nulle en exploitant les informations du compteur Linky installé dans les foyers français. Il est équipé d’une sortie d’informations numériques, couramment appelée TIC (Télé-Information Client). Celle-ci donne au client la possibilité de se renseigner en temps réel sur sa consommation électrique.

Le système de routeur proposé fonctionne avec une installation en monophasé ou en triphasé.

Tableau des Versions

Différentes versions de routeur ont été décrites :

VersionMesure courant / puissanceActionneursModulaireDomoticzMQTT / Home AssistantDescription
1Sonde Ampèremétrique
Monophasé
RelaisNonOuiNonRouteur Solaire. Mesure de Puissance avec un ESP32
2Sonde Ampèremétrique
Monophasé
Triac + RelaisNonOuiNonRéalisez un Routeur Solaire pour gérer la surproduction
3.04_UxISonde Ampèremétrique
Monophasé
Triac + RelaisOuiOuiOuiU x I : Routeur Solaire pour gérer la surproduction photovoltaïque
3.11 LinkyLinky
Monophasé ou Triphasé
Triac + RelaisOuiOuiOuiRéalisez un Routeur Solaire avec un Linky
Voir à présent la version V4.00_RMS



Schéma du routage de l’énergie excédentaire vers un chauffe-Eau ou un chauffage

Le routeur solaire, à l’aide d’un Triac, agit comme une vanne qui s’ouvre pour laisser passer la surproduction en surveillant le courant en entrée de la maison afin qu’il soit nul.

Modularité

Le système se décompose en trois fonctions :
– la mesure de puissance au niveau du Linky,
– le traitement à l’aide d’un microcontrôleur ESP32,
– les actionneurs avec un triac et des relais pour alimenter différentes charges.

Il peut s’éclater en différents modules pour s’adapter à des distances élevées entre le Linky et les équipements à alimenter. De simples relais pilotables par Wifi peuvent être contrôlés.

Système modulaire éclaté dans différents lieux de la maison.

Pour les détenteurs de serveurs de domotique comme Home Assistant ou Domoticz, les informations principales du Linky peuvent être envoyées pour y être traitées.


Vidéo explicative

Réalisation

Branchement à la prise TIC

Le branchement à la prise TIC (Terminal Information Client) est détaillé sur la page https://f1atb.fr/capteur-linky-pour-routeur-photovoltaique/

ESP32

La lecture de la trame série reçue du Linky se fait par le micro-calculateur ESP32 sur la broche GPIO26. L’ESP32 est un micro-calculateur très puissant. Il dispose de 2 cœurs de calcul que nous utiliserons dans ce projet, de la mémoire RAM, ROM ainsi que du WiFi.

2 Leds vertes et rouges, sur les GPIO 18 et 19 renseignent sur le fonctionnement. Un clignotement simultané indique la recherche d’une connection WiFi. La verte clignote seule à chaque arrivée de trame du Linky en cas d’injection. La rouge ou jaune clignote en cas de consommation à chaque arrivée de trame du Linky.

Actionneur Gradateur / Triac

Gradateur/Triac modifié
Gradateur/Triac d’origine

Pour ajuster le courant à injecter vers un chauffe-eau ou un chauffage, on utilise un gradateur de chez RobotDyn composé d’un Triac et d’un système de détection du passage à zéro de la tension qui permet d’envoyer à l’ESP32 un signal de synchronisation avec le secteur pour caler en temps l’instant d’ouverture du Triac. Il existe en 16A ou 24A et est disponible chez Aliexpress.


Attention, le refroidisseur d’origine du Triac est largement sous-dimensionné si vous avez une charge de plus de 1000W, sachant qu’il devra fonctionner pendant plusieurs heures. Remplacez-le par un plus-grand. Vous dessoudez le Triac et le montez sur un gros refroidisseur. Pensez à raccorder le refroidisseur à la terre du secteur pour la sécurité.

Pour en savoir plus sur le gradateur : https://f1atb.fr/triac-gradateur-pour-routeur-photovoltaique/

Attention, ce système, permettant d’ajuster finement la puissance disponible, ne fonctionne que pour les chauffe-eaux électriques ou chauffages classiques dans lesquels se trouvent une résistance électrique et un thermostat électro-mécanique pour contrôler la température. Pour les autres, il faudra utiliser un relais en tout ou rien comme décrit ci-dessous.

Schéma d’un système collectant les données du Linky par Wifi et non optocoupleur, et commande des actionneurs Triac et Relais.

Actionneur Relais

Ce projet permet l’ajout de relais sur les GPIOs libres de votre choix (sauf le 27) pour commander un ou plusieurs dispositifs suivant l’état de consommation ou injection de puissance au niveau de la maison. Sur le schéma plus haut, ils sont en GPIO17 et GPIO2.

Vous pouvez connecter un relais solide (SSR) ou un relais mécanique. Il en existe de nombreux de 10, 25 ou 40A. Ils doivent être commandables en 3.3V.


Schéma électrique global

Le schéma complet avec toutes les options se trouve ci-dessous. Il y a peu de composants.

Dans le cas d’une grande distance entre le Linky et les équipements, on peut couper par module. Un coupleur optique et un ESP32 uniquement près du Linky (comme dans le premier schéma plus haut), un ou plusieurs autres ESP32 avec un Triac et des relais près des équipements. On peut même de n’importe quel ESP32 commander des interrupteurs/relais pilotables par Wifi. Voir le chapitre du logiciel plus bas.

Scéma électrique complet. Entré du Linky et Actionneurs.

Pages Web

Le code installé sur l’ESP32 comprend un serveur Web qui permet d’afficher sur plusieurs pages, les différentes mesures et les paramètres de configuration. Il suffit de rentrer l’adresse IP ou le ‘hostname.local ‘ de l’ESP32 dans le champ d’adresse de votre navigateur web.

Page principale

En haut, une zone de menus pour choisir la page.

En dessous l’heure fournie par le Linky, précédée d’un E en été et d’un H en hiver.

Un tableau donne les valeurs Soutirées et Injectées :
– la puissance apparente instantanée en VA
– une estimation par calcul de la puissance active en W
– l’énergie active depuis 0h en Wh
– le compteur d’énergie active cumulée en Wh

Un deuxième tableau, donne l’état courant des actionneurs. Ici l’ouverture du Triac à 37% du temps. La régulation est en cours pour ajuster la puissance consommée/injectée de la maison autour de 0W. Un relais connecté à l’ESP pour piloter un chauffage est Off. Un relais distant piloté par Wifi a enclenché la filtration de la piscine.

Un premier graphe donne la puissance active en rouge et la puissance apparente en bleu-vert durant les 10 dernières minutes. Entre 0 et -2mn on est en phase de régulation, la puissance active est proche de zéro. Entre -2 et -8mn on est en surproduction malgré une ouverture de Triac à 100%. Entre -8 et -10mn, on est en régulation avec une puissance active proche de zéro. On remarque que durant les phases de régulation, la puissance apparente est très importante et chahutée. C’est un comportement normal. Durant une demi-sinusoïde de 10ms, on consomme et on injecte de la puissance pour avoir un bilan nul de puissance active. Cela se traduit par de la puissance apparente élevée. Il n’y a pas de somme algébrique signée, c’est une somme de carrée. Voir la vidéo sur les unités électriques https://youtu.be/xHhURisycmA

Plus bas sur la page, deux autres graphes donnent la puissance active (Soutirée-Injectée) sur 48H et l’énergie quotidienne (Soutirée-Injectée) en Wh sur un an. Ce dernier est stocké en mémoire ROM de l’ESP32 pour ne pas être perdu en cas de coupure de courant.

Page données brutes

Cette page, regroupe les données brutes sans traitement, telles que fournies par le Linky.

Un premier tableau, donne les principales valeurs pouvant vous intéresser pour le suivi de votre consommation. Il donne, par exemple, les pointes de consommation et d’injection des derniers jours. Ce tableau est plus fourni en triphasé, il donne certaines valeurs par phase.

Un deuxième tableau est la recopie du dernier message série reçu du Linky. Se reporter à la documentation d’Enedis, téléchargeable plus haut, pour décoder le message.

Un dernier tableau, fourni des informations sur l’ESP32, pour suivre son fonctionnement.



Page paramètres

Une page est dédiée principalement aux paramètres réseau.

L’adresse IP de l’ESP32 est définie par votre box internet (cocher la case DHCP) ou elle est fixée par vous-même.

Si pour obtenir les données du Linky, vous n’avez pas le coupleur optique branché sur cet ESP, mais un autre distant, cochez la case ESP Linky Externe et rentrez l’adresse IP de ce dernier.

Si vous souhaitez envoyer des données à Domoticz, mettez une période de répétition autre que 0 et remplissez les champs. Domotiz recevra la dernière puissance Active Pw (Soutirée – Injectée) connue.

Si vous souhaitez envoyer des données à Home Assistant via un broker MQTT, mettez une période de répétition autre 0 et remplissez les champs. MQTT recevra plusieurs topics :
– « linky/pva » la puissance apparente en VA
– « linky/pw » la puissance active en W signée
– « linky/pws » la puissance active soutirée en W
– « linky/pwi » la puissance active injectée en W
– « linky/easj » l’energie active soutirée du jour en Wh
– « linky/eaij » l’energie active injectée du jour en Wh

Et en option s’ils sont activés :

– « linky/triac  » l’ouverture du Triac entre 0 et 100%

–  » linky/action1″ état binaire 0 ou 1 de l’action1 ,action2 etc..


Extrait fichier mqtt.yaml
- state_topic: "linky/pva"
  name: "Linky PVA"
  unique_id: linky_pva
  unit_of_measurement: VA
  device_class: apparent_power
- state_topic: "linky/easj"
  name: "Linky E Soutirée Q"
  unique_id: linky_easj
  unit_of_measurement: Wh
  state_class: total_increasing
  device_class: energy
- state_topic: "linky/eaij"
  name: "Linky E Injectée Q"
  unique_id: linky_eaij
  unit_of_measurement: Wh
  state_class: total_increasing
  device_class: energy
- state_topic: "linky/pw"
  name: "Linky Power"
  unique_id: linky_pw
  unit_of_measurement: W
  device_class: power
- state_topic: "linky/pws"
  name: "Linky PW Soutirée"
  unique_id: linky_pws
  unit_of_measurement: W
  device_class: power
- state_topic: "linky/pwi"
  name: "Linky PW Injectée"
  unique_id: linky_pwi
  unit_of_measurement: W
  device_class: power
- state_topic: "linky/triac"
  name: "Linky Triac"
  unique_id: linky_triac
  unit_of_measurement: '%'
- state_topic: "linky/action1"
  name: "Linky Action1 Relais"
  unique_id: linky_action1

Attention, Domoticz et MQTT ne recevront des messages que si des données valides ont été reçues du Linky.

Lorsque l’on apporte des modifications à ces paramètres. Il ne faut pas oublier de les sauvegarder dans la mémoire ROM de l’ESP32 puis faire un ESP32 Reset pour que le système soit relancé avec les nouveaux paramètres.


Page actions

Cette page permet de configurer les actionneurs et de définir un planning de routage. Elle offre une grande flexibilité de configuration pour s’adapter aux divers besoins.

La première des actions est réservée au pilotage du Triac. Cocher la case pour l’activer. En cliquant sur + ou – on peut ajouter ou enlever des plages horaires. En déplaçant la souris horizontalement, on peut modifier les heures. Pour une plage horaire donnée, il y a 3 types d’action possible :

  • Triac forcé à Off
  • Triac forcé à On (100%)
  • Triac s’ouvre entre et 100% si Pw (puissance active en entrée de maison) < Seuil à définir, Off si supérieure au Seuil. Seuil en général à 0.

Après chaque mesure reçue du Linky, le logiciel augmente ou diminue la durée de conduction du Triac. Cela permet après plusieurs mesures de s’approcher de l’équilibre pour avoir une consommation/injection au niveau de la maison proche du Seuil (en général 0W) que l’on a fixé. Quand on augmente de 10% la durée d’ouverture, l’effet ne sera pas le même si vous avez une charge de 500W max connectée ou une charge de 3000W. Un curseur permet d’augmenter ou de réduire le gain de l’asservissement ou la réactivité de l’ensemble. En regardant l’historique de 10mn, on voit si la réaction à toute variation de consommation est lente ou trop rapide, engendrant une oscillation de la puissance active (courbe rouge).

SonOff Mini R2

Les autres actions permettent de piloter des relais branchés sur les sorties GPIO disponibles (sauf le GPIO27) ou de piloter un relais distant comme le SonOff Mini R2 https://f1atb.fr/sonoff-mini-installer-son-firmware-simplement-par-le-wifi/

Il faut remplir les différents champs :

  • Host: mettre « localhost » sans les «  » si le relais est connecté à cet ESP32 ou l’adresse IP du relais distant
  • Port: en général 80 pour une communication suivant le protocole http
  • On : pour un relais local mettre « gpio=17&out=1 » si l’on souhaite mettre à 1 la sortie GPIO 17. Pour un relais externe distant, mettre la commande demandée par le constructeur
  • Off: pour un relais local mettre « gpio=17&out=0&init=0 » si l’on souhaite mettre à 0 la sortie GPIO 17 et l’inialiser à 0 à la mise en route
  • Répet: répétition périodique en s si besoin de la commande. Avec 0 la commande est envoyée une seule fois au franchissement du seuil.

Pour chaque plage horaire, il y a 4 types d’action de routage :

  • Pas de contrôle: il ne se passe rien.
  • Off : on force l’état Off du relais
  • On: on force l’état On du relais
  • Pw< et Pw> : si la puissance active est inférieure à un seuil, le relais passe à On. Si la puissance active est supérieure à un autre seuil, le relais passe à Off. Attention, il faut que le seuil(off) – seuil(on) soit supérieur à la consommation de l’équipement connecté pour éviter un risque d’oscillation toutes les 2s.

En fin de configuration, ne pas oublier de sauvegarder.

Chaque fois que vous sauvegardez, une nouvelle action vierge est proposée. Pour enlever une action, videz les champs.

Réalisation

La réalisation est très simple, à la portée d’un bricoleur, il y a peu de composants à interconnecter.

Si vous souhaitez mettre uniquement la partie mesure et le traitement près du Linky, une boite d’électricien fait l’affaire pour y implanter :
– un coupleur Optique LTV-814
– 2 résistances
– un ESP32 – Development Board
– une alimentation 5V/1A ou 0.5A avec une sortie micro-USB ou USB-C
– 2 LEDs de couleur

ESP 32 – Development Board
Maquette complète avec le capteur optique, un ESP32, 2 LEDs, un Triac, un relais solide et une alimentation 5V/1A.
Gradateur Triac 16A ou 24A de chez Robotdyn

Exemples

Configuration complète regroupant Linky et chauffe-eau

Configuration avec Linky séparé du chauffe-eau et liaison Wifi entre les ESP32. Le même programme est implanté dans les 2 ESP32.

Configuration avec Le linky, le chauffe-eau et un moteur de piscine piloté par un relais/Wifi séparé. Le même programme est implanté dans les 2 ESP32. L’ESP32 du Linky pilote le relais/Wifi du moteur.

Le relais/Wifi du moteur peut être remplacé par un troisième ESP32 avec le même programme et un relais mécanique ou SSR (relais solide).

Longue distance

Pour ceux qui sont sur un grand terrain avec le Linky loin du routeur WIFI, l’utilisation d’un ESP32 avec une antenne déportée permet de doubler la portée du WIFI. On peut typiquement faire du 50m, là où votre smartphone ne captera plus le Wifi.

La sortie antenne sur connecteur SMA permet d’y rajouter une rallonge coaxiale pour placer l’antenne dans un endroit dégagé.

ESP32 avec antenne déportée et Triac. Refroidisseur remplacé permettant de piloter des charges de maximum 1500W.
Important refroidisseur pour gérer une charge de 3000W.

Approvisionnements pour une configuration complète

  • La carte ESP32 (Development Board 2*19 pins) chez Aliexpress ou plus rapidement une carte 2*16 broches ESP 32 Wroom chez uPesy.fr)
  • Une alimentation 230V – 5V 1A DC pour l’ESP32
  • Un gradateur 16A ou 24A de RobotDyn suivant la puissance du chauffe-eau (Aliexpress)
  • Résistance R1 1500 Ω 1/4 ou 1/8W
  • Résistance R2 10000 Ω 1/4 ou 1/8W
  • Résistances R4 et R5, 330Ω à 820Ω 1/4 ou 1/8W
  • 2 LEDS en face avant
  • 1 coupleur optique LTV-814 (Chine ou demandez à Google)
  • Du fil de câblage et une plaque à trou pour le montage
  • Un ou plusieurs relais SSR (solide) ou mécanique pilotable en 3.3V et supportant le courant demandé par la charge connectée

Exemple Routage

Maquette complète d’un routeur avec le capteur optique, un ESP32, 2 LEDs, un Triac, un relais solide et une alimentation 5V/1A. Le soleil est très changeant. Un autres routeur est connecté simultanément pour alimenter un chauffe-eau derrière un Triac et une pompe de piscine derrière un relais.

Diode rouge clignotante = Consommation sur le réseau public
Diode verte clignotante = Injection vers le réseau public
Lampe du haut en tout ou rien avec un relais
Lampe du bas (100W) alimenté par le Triac. Regardez le filament.

Code Source

L’ensemble du code est écrit en utilisant l’IDE Arduino. C’est le même code quelle que soit la configuration modulaire choisie. Il est injecté dans un premier temps par la liaison série, puis une fois en place, on peut le modifier si besoin par le Wifi (voir le détail ici). Il faut, dans les préférences de l’IDE, faire appel au gestionnaire de carte de « Espressif » qui développe l’ESP32. Allez dans Fichier / Préférences et mettez l’adresse : https://dl.espressif.com/dl/package_esp32_index.json

Le code source est composé de 9 fichiers installés dans le même dossier :
– Actions.cpp
– Actions.h
– pageHtmlActions.h
– page HtmlBrute.h
– pageHtmlMain.h
– page HtmlPara.h
– RouteurSolaire_V_3.10_Linky.ino (le programme principal)
– Stockage.ino

Le code source est disponible ici:

Dézipper l’ensemble et ouvrez dans l’IDE Arduino (version 2.xx) le fichier RouteurSolaire_V_3.10_Linky.ino.
Vérifiez que vous avez les bibliothèques installées sur votre IDE Arduino :
– RemoteDebug
– NTPClient
– PubSubClient
Pour la compilation du fichier RouteurSolaire_V_3.10_Linky.ino, veuillez sélectionner la carte ESP32 Dev Module ainsi que le port de COM de Windows sur lequel est branchée la carte par le port série. Avec certaines cartes, si le téléversement du code dans l’ESP32 ne se fait pas, il faut presser sur le bouton boot au début de la tentative de téléversement.

Premier lancement du programme

Au premier lancement du programme dans l’ESP32, le logiciel ne connait pas le nom et le mot de passe de votre réseau Wifi. Il va passer le WiFi en mode point d’accès. Sur votre Smartphone ou PC portable, regardez la liste des WiFi disponibles. Connectez-vous à celui qui porte le nom Linky-ESP32….., il n’y a pas de mot de passe. Ouvrez un navigateur web et rentrez l’adresse 192.168.4.1 qui correspond à l’ESP32. Il va vous renvoyez une page vous demandant le nom du WiFi auquel se connecter à l’avenir et le mot de passe.

Page permettant d’indiquer le réseau Wifi auquel doit se connecter l’ESP32 à l’avenir.

Regardez, le moniteur série de l’Arduino, vous trouverez l’adresse IP sur votre réseau Wifi qui a été attribuée par la box (DHCP) qui gère le réseau. Appuyez sur Reset si besoin pour relancer le démarrage de l’ESP32 et sa connexion au réseau WIFI que vous lui avez indiqué. Rentrez cette adresse IP dans un navigateur Web connecté à votre réseau et vous serez connecté à l’ESP32. Il n’y a rien à modifier dans le code comme dans la version V2.

Au démarrage ou après un « Reset », les 2 LEDs clignotent simultanément lorsque l’ESP32 cherche à se connecter au réseau WIFI.

Adresse IP Fixe

Si vous souhaitez fixer vous-même l’adresse IP, allez faire un tour auprès de votre box à la rubrique réseau / DHCP, vous trouverez le champ des adresses dynamiques. Par exemple, souvent les Livebox d’Orange attribuent des adresses dynamiques DHCP entre 192.168.1.10 et 192.168.1.150. Il vous reste alors un champ libre pour attribuer vos propres adresses entre 192.168.1.151 et 192.168.1.253. Fréquemment, les .254 et .255 sont réservés à autre chose. Vous pouvez ainsi donner comme adresse 192.168.1.200 à l’ESP32 si aucune autre machine sur le réseau occupe déjà cette adresse.

IPAddress gateway correspond à l’adresse IP de votre box. C’est elle qui fait la passerelle (gateway) avec le monde extérieur. Chez Orange, c’est en général 192.168.1.1. Chez Free, c’est plutôt 192.168.0.254. Les trois premiers chiffres 192.168.0 ou 192.168.1 doivent être les mêmes pour la box et votre ESP.

Arduino OTA

Le code inclut la possibilité de le mettre à jour non pas par la liaison série entre le PC et l’ESP mais via le Wifi. C’est la fonction Arduino OTA (On The Air). Dans l’IDE Arduino, allez à Outils/Port/Réseau Port vous y trouverez mentionné la carte ESP32 du routeur. Sélectionnez là et le téléchargement se fera via le Wifi et non plus le port série. L’IDE Arduino vous demande un mot de passe lors de la compilation. Répondez n’importe quoi, 1 lettre minimum. Cette fonctionnalité est bien utile, une fois le routeur implanté probablement loin de votre PC.

Remarques

Si vous regardez les premières lignes du programme, il y a 2 constantes :

#define HOSTNAME « Linky-ESP32-« 

#define CLE_Rom_Init 1234567890

La première définie le début du nom de votre ESP sur le réseau, le deuxième est une clé qui permet de tester si le programme a déjà tourné. Au premier lancement, la mémoire de stockage en ROM est virginisée, par la suite, elle contiendra tous les paramètres de configuration et l’état des compteurs d’énergie en Wh chaque jour à 0h. Si vous voulez, virginiser à nouveau la mémoire, changé la constante. Attention, votre ESP32 repartira en mode point d’accès, puis une fois le réseau WiFi connu, il aura une adresse IP obtenue par la box internet (DHCP).

Debug en ligne

Si vous êtes branché par le port série à l’ESP32, les messages de debug sous la forme Serial.print(…) ou Serial.println() sont disponibles sur le moniteur de l’IDE Arduino à 115200 bauds.

Si vous êtes branché uniquement en Wifi, le debugger de Joao Lopes est implanté dans le logiciel. Il est accessible par le navigateur web. Téléchargez le code ici: https://github.com/JoaoLopesF/RemoteDebugApp , décompressez le zip dans un dossier quelconque et cliquez sur index.html. Rentrez l’adresse IP de l’ESP32 pour obtenir les messages Debug.print() ou Debug.println(…) .

Bugs Soft

Attention, si vous n’arrivez pas à communiquer entre votre PC et l’ESP32, c’est qu’il vous manque le driver pour l’interface USB. En général, c’est le CP2102 qui se trouve sur la carte ESP32. De nombreux Tutos sur internet expliquent comment l’installer. Exemple: https://techexplorations.com/guides/esp32/begin/cp21xxx/

Sur certaines configurations, lors de la compilation, il y a une erreur de librairie inexistante :…..include <hwcrypto/sha.h>
Avec un éditeur de texte, ouvrez le fichier dans vos bibliothèques Arduino C:/Users/Utilisateur/Documents/Arduino/libraries/RemoteDebug/src/utility/Websockets.cpp

Le début de l’adresse peut changer suivant l’utilisateur. Retrouvez le dossier Arduino pour localiser le fichier dans les sous-dossiers.

A la ligne 42, remplacez :
#include <hwcrypto/sha.h>
par
#include <esp32/sha.h>

Ne me demandez pas pourquoi, sur mon PC de bureau, je n’ai pas besoin de faire cette modification, sur mon PC portable, j’ai besoin.

Diagramme fonctionnel

L’ESP32 est un processeur bi-coeur. Le coeur 0,collecte les données du Linky. Le coeur 1 gère les communications Wifi.

Watchdog

Le fonctionnement de l’ESP32 est surveillé par un watchdog (chien de garde). Si aucun message n’est reçu du Linky local ou distant pendant 120s, l’ESP32 se reset. Si vous ne voulez pas être embêté par cela durant des essais, passez en commentaire //les lignes ou il y a ..wdt..

Comparaison Routeur à sonde ampèremétrique / Routeur avec un Linky

La version V2 du routeur utilise une sonde ampèremétrique ( https://f1atb.fr/realisez-un-routeur-solaire-pour-gerer-la-surproduction/) . La principale différence entre les 2 versions vient de la vitesse de réponse de la boucle d’asservissement en cas de variation de consommation dans la maison. La sonde ampèremétrique permet une mesure du courant et de la puissance toute les 40ms. Le routeur avec le Linky, mesure la puissance toutes les 2 secondes. Il mettra plus de temps à rejoindre l’équilibre. Par contre il est un peu plus simple à réaliser et fonctionne en triphasé.

Exemple de routage et régulation à Zéro Watt

Courbes Tension (rouge) et Courant (vert) en entrée de maison lors d’une régulation autour de 0 Watt.

Dans cet exemple, l’ouverture du triac vers le chauffe-eau est d’environ 50% du temps (5ms). Le système se régule pour avoir une puissance échangée avec le réseau public autour de 0W . Sur une durée d’une demi sinusoïde de 10 ms, on a une première période où l’on injecte de l’énergie puis le Triac s’ouvre, on consomme de l’énergie sur le réseau.En faisant une centaine de mesures du produit U*I sur la période de 20 ms on a un résultat proche de zéro en Watt. Par contre, pour la puissance apparente qui est le produit de la tension et du courant efficaces qui ne tient pas compte du signe (voir vidéo ci-dessous), on a une valeur importante en VA.

Votre fournisseur d’électricité vous facture en fonction des W ou Wh et non pas sur le VA (puissance apparente).

Affichage distant

Si on souhaite afficher la puissance consommée ou injectée en temps réel dans un endroit de passage de la maison, il existe un afficheur très simple qui s’allume lorsque l’on passe à côté. https://f1atb.fr/affichage-a-distance-consommation-ou-surproduction-electrique/

Sécurité

En travaillant sur ce projet en 230V, vous acceptez d’assumer la responsabilité de votre propre sécurité et de prendre toutes les précautions nécessaires pour éviter les accidents électriques.

Responsabilité

Articles sur le photovoltaïque

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

819 réponses

  1. F1ATB André dit :

    Vous avez raison, j’ai plus pensé au test EAITvalidr. Je suis pas chez moi et j’ai répondu de tête. Modifiez le code. Au début dans la déclaration mettez EAITvalide= true

    cdlt

    • F1ATB André dit :

      Je viens de modifier les explications sur le CACSI plus haut dans la page, pour contourner la difficulté.

    • patrice dit :

      Bonjour André, je vous fait un retour après une semaine de fonctionnement. Pour le contexte, j’ai une petite installation de 800w. Mon talon est d’environ 200/250w. Mon surplus est envoyé vers un chauffage d’aquarium de 300w qui me permet donc de récupérer la surproduction. Le routeur marche très bien avec la modification que vous proposez du code. J’ai mis un seuil à 10w sur le triac et ça me semble très satisfaisant. La régulation se fait correctement dès que j’ai un peu de surplus. Dés que l’ouverture du triac est trop élevée, la baisse est quasi immédiate pour retrouver une valeur de VA et W à 0. J’ai déjà constaté du gain sur la consommation journalière avec ce système. Tout watt est bon à prendre 🙂

      • F1ATB André dit :

        Merci pour ce retour positif dans une configuration type CACSI qui impose une modification d’une ligne de code.
        Vos poissons doivent vous remercier pour ce gain de température les jours de soleil…

  2. Patrick L. dit :

    Bonjour F1ATB André, un grand merci pour ce partage.
    Voulant travailler par petites étapes afin de maitriser le processus complet, pensez-vous qu’un ESP8266 soit assez rapide pour tester uniquement dans un premier temps le décodage des trames (que j’afficherai simplement dans la console).
    Oui, je n’ai pas encore pratiqué l’Arduino et je voudrai limiter les échecs trop décourageants !
    Merci et bonne journée.

  3. Olivier D dit :

    Bonjour André, je vous contacte car j’ai un problème avec la fonctionnalité Mqtt. J’ai téléversé le programme sur l’ESP32, j’ai configuré le Wifi comme recommandé avec la méthode point d’accès, j’ai configuré Mqtt sur l’interface, j’ai sauvegardé et j’ai fait le reset.
    J’ai bien des données du linky, en courbe, en tableau et en brut sur votre interface Web. J’ai lancé le remotedebugapp et sur la console je ne vois pas de message (bon ou mauvais) d’envoi Mqtt.
    J’ai aussi lancé un Mqtt Explorer sur le broker. Il y a des messages mais rien en provenance de l’ESP32 du linky. Là je sèche.
    Pouvez-vous m’aider ? Merci

    • F1ATB André dit :

      Avez vous rempli la page des paramètres avec une période de répétion en seconde, l’adresse IP etc…?

      • Olivier D dit :

        Oui j’ai bien rempli tous les paramètres, @ip, port, user, password. Je peux vous envoyer toutes les informations techniques et screenshot que vous souhaitez car je tiens vraiment à faire fonctionner votre routeur qui est juste top !

        • Olivier D dit :

          Bonjour André, je me suis permis d’ajouter des lignes de print serial pour voir les valeurs des paramètres mqtt. Je vois bien le port, le user, le mdp, et la fréquence. Par contre l’@ip a pour valeur 3232235816 .
          Est-ce normal ? Si oui que puis-je vérifier d’autre ?

          • F1ATB André dit :

            l’adresse IP au format 3232… est sous forme d’un entier et non formaté comme 4 octets séparés. c’est normal.

          • Olivier D dit :

            J’ai enfin trouvé la cause. Dans votre code, il y a une condition sur le fait que valeur de EAIT soit valide. Hors mes PV ne seront installés que début juillet. Mon compteur est donc encore en mode consommateur et dans ce cas, je n’ai pas d’étiquette EAIT émise par le Linky. Donc le programme ne rentre pas dans l’envoi MQTT. En retirant cette condition, l’envoi MQTT se fait correctement.
            Est-ce que la lecture à partir d’un autre ESP32 client (comme celui du chauffe-eau) fonctionne tout de même sans étiquette EAIT ?

  4. Guitou030 dit :

    Bonjour André

    Félicitation pour cette nouvelle version. J’ai la V2 qui tourne depuis 3 mois et cela fonctionne parfaitement. Du coup j’ai commencé à fabriquer le V3 avec le Linky et je rencontre une petit soucis je n’ai pas de remonté de la puissance injectée. Dans les données brutes je n’ai pas de ligne SINSTI. toutes les autres infos remontent bien. Avez vous une idées?
    Pour info je suis en autoconsommation sans revente du surplus.
    Merci pour votre aide
    Guillaume

    • Guitou030 dit :

      Je viens de lire les commentaires plus haut désolé pour le dérangement je vais attendre avec impatience la V3 avec sonde.
      Encore félicitation pour tout ce que vous développer et pour tous ces partages.

      Guillaume

    • F1ATB André dit :

      Vous devez avoir signé un. CACSI, les infos d’injection ne sont pas données. Voir article plus haut.

      • Guitou030 dit :

        Merci pour votre retour je n’avais pas lu les derniers commentaires j’avais tout préparé et attendait l’arrivé de mes otocoupleurs chinois j’ai testé direct sans venir relire les explications! Pour infos j’ai fait la modif « bool EAITvalid = true » cela fonctionne parfaitement pour le triac j’ai mis un Pw à 15w. En revanche pour le relai piscine je pense que c’est plus compliqué de faire fonctionner sans avoir des marche/arrêt successifs sauf de mettre de mettre le OFF à une puissance un peu élevée mais du coup on consomme chez EDF.

  5. F1ATB André dit :

    Content de voir que la modif EAITvalide=true fonctionne pour réguler avec le triac dans le cas d’un CACSI. Pour le relais de piscine, il faut que le seuil du Off – seuil du On soit supérieur à la consommation du moteur afin de ne pas rentrer en oscillations. Il faut même y rajouter une marge pour compenser l’appel de puissance au démarrage.

  6. JMichel dit :

    Bonjour
    à propos du coupleur Optique LTV-814, comment fait-on pour repérer les bornes indiquées « 1 »; »2″, »3″ et « 4 » sur votre schéma de montage?
    J’ai cherché sur le net, je suis tombé sur des datasheets (dur à décoder pour moi). Concrètement, il y a un petit disque gravé. Ce disque semble servir à repérer la bornes « 1 »… Ci dessous une tentative de dessin à défaut de photo. Le « o » représente le disque gravé sur le plastique noir.
    ———
    3 | | 2
    4 | o | 1
    ———–
    Alors ai-je bon??? Merci.

  7. HAZARD dit :

    Bonjour,
    Je me lance dans la réalisation de votre projet car j’avais commencé une étude similaire.
    Je suis en triphasé et je ne vois pas la variable SINSTS qui cumulerait les 3 phases mais SINSTS1,SINSTS2,SINSTS3.
    Par contre je vois bien SINSTI.
    J’imagine que vais trouver dans votre code où totaliser ces valeurs.

    En tout cas merci d’avoir publier votre projet et pour votre approche très didactique.
    Cordialement.

    • F1ATB André dit :

      Je ne comprends pas bien si vous parlez de mon programme ou des messages du LINKY décrits dans la documentation ENEDIS.
      Dans mon programme, les variables SINSTS et SINSTI sont déclarées aux lignes 98 et 99.
      Je n’utilise pas SINSTS1,SINSTS2,SINSTS3. Elles ne sont pas utiles au routeur.
      Cdlt

  8. StefanDu30 dit :

    Bonjour
    Ayant actuellement une offre tempo, je regardais s’il était possible de récupérer l’info de la couleur du jour, ça c’est bon, mais aussi celle du lendemain sur la trame, mais n’ayant plus de jours blanc ou rouge j’ai un peu de mal, à tout hasard auriez vous cette info ?
    Merci encore

    • F1ATB André dit :

      Désolé, je n’ai pas l’info. La doc Enedis ne détaille pas. Cela dépend des offres fournisseurs.
      Cdlt

  9. HAZARD dit :

    Bonjour,
    Savez-vous si en triphasé on voit systématiquement la puissance soutirée sur 1 seul variable ?
    De mon côté dans les données provenant du zlinky de lixee je vois 3 lignes :
    SINSTS1 Puissance apparente immédiate délivrée (phase 1)
    SINSTS2 Puissance apparente immédiate délivrée (phase 2)
    SINSTS3 Puissance apparente immédiate délivrée (phase 3)
    Je pense que la totalisation dans le sketch sera néanmoins à ma portée.

    Merci encore pour votre projet .

    Pierre HAZARD

    • F1ATB André dit :

      Le Linky donne la somme SINSTS, donc je ne traite pas les valeurs par phase. Elles sont néanmoins visibles dans la vue données brutes.

      Cdlt

  10. dacquignie dit :

    Bonjour André, j’ai terminé le montage, la bascule du mode historique au mode standard vient d’être réalisée par EDF, j’ai bien un signal depuis le linky, et les infos suivante :
    Energie active soutirée 8 316 Wh
    Energie active soutirée Fournisseur,
    index 01 460 115 Wh
    Energie active soutirée Fournisseur,
    index 02 309 060 Wh
    Energie active soutirée Fournisseur,
    index 03 30 899 Wh
    Energie active soutirée Fournisseur,
    index 04 30 775 Wh
    Courant efficace, phase 1 8 A
    Tension efficace, phase 1 3 V
    Puissance app. Instantanée soutirée 1 903 VA
    Puissance app. max. soutirée n 0 VA E 17/06/23 04h 44mn 37s
    Puissance app. max. soutirée n-1 NaN VA E 16/06/23 02h 46mn 3s
    par contre je n’ai pas fait de demande CACSI car j’ai un dossier de raccordement JPME en cours, mais je n’ai quand même pas de données dans injection, (je n’ai pas encore câblé le TRIAC sur la haute tension) et j’ai des valeurs dans le premier onglet qui me semblent anormales : puissance active du deuxieme tableau entre -1 million et 1 million et dans les données du troisième tableau, j’ai des grandes lignes jaunes les unes à la suite des autres entre -800.000 et +800.000 Wh/j sur un an alors que je l’ai branché ce matin, auriez vous une idée (je précise au cas ou que j’ai un tarif tempo)

    aussi, j’ai remarqué avec regret que mon délesteur shneider fip clic 3v-1z 15783 ne reçoit plus la téléinfo, c’est certainement qu’il ne connait pas le nouveau langage std du linky mais seulement le langage historique, du coup, ce délesteur ne m’indique plus les infos couleur jour sur mon regulateur d’ambiance et n’envoie plus le signale heure creuse à mon ballon, Je pense qu’il est important de remarquer ce type de désagrément possible à tous vos abonnée qui comme n’y connaissent pas grand chose en la matière et qui serai équipé avec le même type de matériel.
    Connaissez vous un autre délesteur/régulateur d’ambiance qui pourrais être compatible avec le signal standard du linky pour remplacer le mien ?
    pour mon ballon d’eau chaude, j’ai déjà pris l’initiative de commander sur AMZ un disjoncteur 20A connecté tuya afin de programmer par horaires plutôt que par signal EDF heures creuses.
    Encore merci pour votre aide, bien cordialement, MD.

    • F1ATB André dit :

      Dans un premier temps, débranchez le routeur du Linky pour voir si votre délesteur fonctionne bien. J’ai cherché un peu sur internet pour savoir si le modèle que vous utilisez est compatible du mode standard. Je n’ai pas trouvé de réponse mais j’ai vu que d’autres modèles ne l’étaient pas.

      Vu que certains chiffres sont non conformes, il y a un problème de cohabitation des 2 systèmes. Pour faire cohabiter les 2, augmentez la résistance de 1.5kohm en entrée.(2k, 3k ou 4k). Peut-être que pour une certaine valeur, cela fonctionnera correctement pour les 2 dsystèmes.

      Autre solution, vous débranchez votre délesteur et demandez au routeur avec des relais de faire les fonctionnalités du délesteur.

      Cdlt

  11. dacquignie dit :

    Merci André pour votre rapide réponse, j »ai en effet tenter de me débarrasser du délesteur dans un premier temps en le privant de son alimentation (j’ai un disjoncteur spécifique pour lui), et j’ai désormais ces données là :
    Energie active soutirée 83 Wh
    Energie active soutirée Fournisseur,
    index 02 310 027 Wh
    Energie active soutirée Fournisseur,
    index 03 30 899 Wh
    Energie active soutirée Fournisseur,
    index 04 30 775 Wh
    Courant efficace, phase 1 4 A
    Tension efficace, phase 1 244 V
    Puissance app. Instantanée soutirée 0 VA
    Puissance app. max. soutirée n NaN VA E 17/06/23 0$h 44mn 3&s
    Puissance app. max. soutirée n-1 3 574 VA 6/ $/23 2h 46mn « 3s

    • F1ATB André dit :

      Les lectures semblent bonnes maintenant sauf les $ dans les puissance max soutirée. Erreur passagère je suppose.
      Apparemment, vous n’êtes pas producteur, je ne vois pas d’index d’injection.
      Cdlt

      • Dacquignie dit :

        Bonjour André, je suis producteur avec une installation 6K, avec comme je le disais un contrat en JPME en attente d’activation depuis 45j, et un tarif Tempo EDF, c’est la raison pour laquelle je m’intéresse à la mise en place d’un routeur, j’ai l’intention de ne pas vendre ma production les jours blanc et rouge afin de commencer à chauffer dans la journée avec la surproduction (s’il y en a) et moins tirer la nuit en tarif rouge plein ou blanc plein. Je vais essayer de re-flasher l’esp en modifiant la ligne de code destiné aux CACSI pour voir si j’ai une différence, mais il est possible que j’ai un pb quelque part, parce que j’ai dans un meme temps réalisé la version routeur Raspberry en modbus sur sdm120 dite « du brulant » et j’ai aussi un défaut de chiffrage sur l’active power ainsi que des CRC error, ceci dit ce sdm 120 est relié au routeur, et peut être que ça pollue le signal. en revanche entre les lignes, il voit bien l’injection lui :
        Watts : msg.payload : number
        18/06/2023 09:37:33node: debug 3Watts : msg.payload : number
        70.30000305175781
        18/06/2023 09:37:33node: debug 3Watts : msg.payload : number
        70.30000305175781
        18/06/2023 09:37:34node: debug 3Watts : msg.payload : number
        70.30000305175781
        18/06/2023 09:37:35node: active powermsg : error
        « Error: CRC error »
        18/06/2023 09:37:35node: active powermsg : error
        « Error: CRC error »
        18/06/2023 09:37:37node: active powermsg : error
        « Error: CRC error »
        18/06/2023 09:37:37node: active powermsg : error

        Sur cette V3 en revanche, en dehors de l’absence de la valeur d’injection ( je sais c’est pas rien parce sans elle, on ne peut rien router), j’ai toujours un défaut sur la partie énergie active sous tiré qui par alternance m’indique des valeurs allant jusqu’à 800.000w, tout comme sur le premier onglet « puissance active moyenne » qui atteint aussi ces valeurs et qui parfois sont négatives dans ce même ordre de grandeur.

        Entre temps, je pense que je vais aussi tenter le raccordement d’un autre ESP, en supposant que celui ci pourrait avoir un defaut, soit lui meme, soit la jonction entre l’esp et la platine support avec cosses à visser, on ne sait jamais.
        Merci encore pour votre aide, bien à vous, MD.
        PS : ayant « de-alimenté » électriquement mon délesteur, je n’ai pas tenter de modifier les valeurs des résistance que vous aviez indiqué, si vous penser que c’est malgré tout une bonne idée, je peux aussi tenter.

        pensez vous que l’absence de l’index d’injection pourrait avoir un rapport avec la non déclaration de ma part aux services enedis/edf de la récente pose de mon installation (je ne l’ai pas faite parce que c’est JPME qui s’occupe de tout ça) ?

        peut être que je devrais me ré-orienter vers une V2 du routeur, même si la réalisation de la partie électronique semble moins a ma porté, avec du temps je pense que j’y parviendrai

        • F1ATB André dit :

          Votre Linky n’ayant pas encore été déclaré en producteur, l’index d’injection n’est pas envoyé sur la prise TIC. Modifiez la ligne de code comme je l’explique pour les CACSI.
          Si vous avez parfois des lignes de données erronées, je pense que c’est dû à votre délesteur. Même arrêté, comme il est resté branché, il charge la sortie TIC.

          Cdlt

          • dacquignie dit :

            Re bonjour André, j’ai à cette heure effectué les test suivant :
            changement de l’esp par un autre neuf, fraichement flashé avec le code d’origine, puis le code modifié « cacsi » avec les câbles du coupeur optique branchés directement dans le L1 et L2 du linky (en ayant débranché l’autre câblage qui allait vers le délesteur, j’ai toujours le même défaut sur toutes les lignes d’affichage autre que puissance apparente, j’ai alors refait le montage du coupleur optique avec des composants neuf sur une plaque époxy perforé, puis re-testé, toujours le même problème, j’ai aussi testé de déconnecter complément l’installation photovoltaïque, et toujours le même problème, je commence à croire que ce problème viendrai directement du code reçu par enedis, il me semble invraisemblable que la valeur puissance apparente soit bonne et pas les autres, selon moi, si le défaut venais des composants situés après les sorties L1 et L2, j’aurais aussi la valeur puissance apparente qui serait anormale ou alors pas de signal du tout, qu’en pensez vous ?

          • F1ATB André dit :

            En effet il est bizarre que certaines valeurs soit bonnes et d’autres non. Essayez de modifier la résistance de 1.5kohm en entrée du coupleur. Essyez 1kohm ou 2kohm. Vous avez peut etre une ligne de raccordement fortement capacitive ou selfique.

            Cdlt

          • dacquignie dit :

            Bonjour André, J’ai positionné une résistance de 550 ohm en série sur la L1 (ou L2 je sais plus, mais il semble que j’ai constaté qu’on peut inverser L2 etL1 en sortie du linky, ça marche pareil) et à présent j’ai à priori des valeur qui ne sont pas absurdes.
            ADSC 032261281355 3
            VTIC 02 J
            DATE E230621121052 7
            NGTF TEMPO F
            LTARF HP BLEU +
            EAST 000863497 4
            EASF01 000483631 ;
            EASF02 000318192 ;
            EASF03 000030899 A
            EASF04 000030775 ;
            EASF05 000000000 &
            EASF06 000000000 ‘
            EASF07 000000000 (
            EASF08 000000000 )
            EASF09 000000000 *
            EASF10 000000000  »
            EASD01 000514530 2
            EASD02 000348967 F
            EASD03 000000000  »
            EASD04 000000000 #
            IRMS1 009 7
            URMS1 238 G
            PREF 09 H
            PCOUP 09  »
            SINSTS 02047 S
            SMAXSN E230621021609 03671 ;
            SMAXSN-1 E230620004236 03619 W
            CCASN E230621120000 00026 1
            CCASN-1 E230621113000 00000 I
            UMOY1 E230621121000 244 ‘
            STGE 013A4401 C
            MSG1 PAS DE MESSAGE <
            PRM 14204630778372 7
            RELAIS 000 B
            NTARF 02 O
            NJOURF 00 &
            NJOURF+1 00 B
            PJOURF+1 00004001 06004002 22004001 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE .

            je remarque le le tableau dans donné brute est beaucoup plus long et (même si il est rafraichi toutes les 2 secondes) apparait fixe, alors qu'avant avec juste 1500 ohm, j'avais un tableau qui apparaissant puis disparaissait toutes les 1 à 2 secondes avec une longueur de données différentes a chaque fois.
            Encore merci pour cette proposition pertinente, elle pourra aider je l’espère d'autres que moi qui auraient une liaison TIC trop fortement capacitive.
            Je vous propose d'ajouter cette mésaventure sur votre page de présentation en dessous de votre montage et dans la liste des composants à se procurer afin que d'autre victimes comme moi, ne se retrouvent pas à chercher trop longtemps.
            je vais a présent attaquer l'option de changement spécifique pour les compteur non déclaré en production (jusqu'à ce que JMPE fasse les démarches) afin de commencer à profiter de ce nouveau dispositif sensationnel. Encore merci pour votre soutien, votre contribution rapide et précise dans ce forum, nous permet de ne pas baisser les bras.

  12. dacquignie dit :

    (…) ceci dit ce sdm 120 est relié au routeur (…)
    erreur de ma part, je voulais dire, ce SDM120est relié à l’onduleur, pardonnez moi ce manque de relecture de mon précédent message avant sa publication

  13. Olivier D dit :

    Bonjour André,
    pouvez-vous donner la section à ajouter dans le fichier yaml de home assistant pour récupérer les trames MQTT. J’ai essayé plusieurs syntaxes pour récupérer les 4 topics. Je vois bien les trames arriver sur le broker avec MQTT Explorer mais pas dans Home Assistant. Je pense à un problème de syntaxe dans le fichier .yaml. Merci d’avance.

  14. Thomas dit :

    Bonjour André,

    J’ai réalisé le montage et pour l’instant seul l’ESP32 est branché sur mon Linky.
    Je n’ai pas signé de CACSI car mon installation fait moins de 3kW.

    La transmission data semble fonctionner mais:

    Comme certains je n’ai pas de remontée d’INJECTION même avec la ligne bool EAITvalid = true;
    Et ce que je trouve encore plus bizarre c’est que la puissance soutirée reste tout le temps à zero (Sauf en consommant beaucoup !)
    Est-ce normal ?

    Dois-je brancher le circuit triac ? C’est inutile pour l’instant je pense..

    Bref je ne sais plus quoi faire 🙁

    • F1ATB André dit :

      Il n’est pas nécessaire de brancher le Triac
      Allez sur la page Données brutes.
      Toutes les 2 ou 3s vous devez avoir un nouveau grand tableau sur fond blanc.
      Regardez la cohérence de la date par exemple pour vérifier que la liaison entre le Linky et l’ESP se passe bien.
      Regardez la valeur SINST qui est la puissance instantanée apparente soutirée
      EAST doit doit croitre de 1en 1

      Ce grand tableau sur fond blanc correspond à lattrame des données recues du Linky, sans traitement particulier.
      Si les valeurs sont incohérentes, cela traduit un problème sur la liaison Linky vers ESP.
      La signification des variables est donnée dans le document ENEDIS que vous pouvez télécharger sur mon site.

      Cdlt

      • Thomas dit :

        Sur ce tableau la date est juste et avance correctement,
        J’ai : SINSTS 00000 F
        et EAST ne bouge pas mais c’est normal car les panneaux produisent en ce moment même

        Le tableau du haut n’a pas la ligne INJECTION

        • Thomas dit :

          Après extinction de l’onduleur, EAST évolue bien. J’ai même un courant soutiré qui est indiqué et réaliste même quand je suis en injection. On peut pas utiliser ce courant pour contrôler le système ?
          Il faudrait que je t’envoie une copie écran..

          • F1ATB André dit :

            Comme vous n’avez pas de valeur injectée (pas déclaré producteur au niveau d’ENEDIS), vous mettez un seuil de déclenchement entre +10 et + 100W. Ainsi quand la conso totale s’approche de zéro, le routeur commence son travail. N’oubliez pas la modif du code bool EAITvalid = true; Je l’intègrerai automatiquement dans une prochaine release.

          • Thomas dit :

            Ok ! C’est une fonctionnalité que tu avais prévue pour ceux qui n’ont pas la valeur injectée ? En tous cas un grand merci à toi, et quand j’aurais terminé je ferais un don modeste mais tellement mérité ! Pour ceux qui n’ont pas vu IL Y A UN BOUTON DONATE tout en bas de page !

    • Hard-Heavy dit :

      Un peu hors sujet par rapport au site mais pour Thomas: vous devez déclarer votre installation a Enedis et faire une CACSI, et même Consuel si ce n est pas un kit monté d’usine. Renseignez vous !

  15. JMichel dit :

    Bonjour
    mon problème: le téléversement échoue systématiquement.
    Après avoir (sans doute) réussi à installer le port série (pour CP2102) en m’inspirant de la vidéo, la carte ESP semble sur le port COM3. Lors du téléversement une del rouge clignote plusieurs puis le message d’erreur ci dessous apparait.
    En suivant un conseil d’une autre vidéo j’ai essayé de communiquer à la vitesse suivante 115200 mais sans succès
    J’ai essayé sur toutes les prises USB au cas ou une spécifique serait la COM 3 mais sans succès.
    A noter: rien n’est connecté au linky ou au dimmer
    Je sèche… Une idée?
    Merci

    Le croquis utilise 921214 octets (70%) de l’espace de stockage de programmes. Le maximum est de 1310720 octets.
    Les variables globales utilisent 64720 octets (19%) de mémoire dynamique, ce qui laisse 262960 octets pour les variables locales. Le maximum est de 327680 octets.
    esptool.py v3.0-dev
    Serial port COM3
    Connecting…….._____….._____….._____….._____….._____….._____….._____

    A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
    Failed uploading: uploading error: exit status 2

    • Nutta dit :

      Bonjour JMichel et tous,
      Au moment où il est inscrit « Connecting……..___ », appuie quelques secondes sur le bouton situé entre le reset et la prise USB de l’ESP.

      • Nutta dit :

        Oups, j’ai sous les yeux un TTGO et je me suis trompé, donc oublie mon 1er message – je recommence :
        Au moment où il est inscrit « Connecting……..___ », appuie quelques secondes sur le bouton situé près de la sortie SLK de l’ESP.

      • Thomas dit :

        Bonjour, tu as essayé de laisser appuyé le bouton a droite du connecteur USB au démarrage de la programmation ? moi je dois laisser le doigt appuyé pendant 10 ou 15 secondes jusqu’à ce que la programmation démarrage

  16. Thomas dit :

    Bonjour, tu as essayé de laisser appuyé le bouton a droite du connecteur USB au démarrage de la programmation ? moi je dois laisser le doigt appuyé pendant 10 ou 15 secondes jusqu’à ce que la programmation démarrage

  17. JMichel dit :

    bonjour Nutta et Thomas
    un GRAND MERCI !!!!!!!
    A priori cela a fonctionné directement : ça a écrit pleins de choses et ça finit avec:

    Wrote 921328 bytes (513662 compressed) at 0x00010000 in 48.0 seconds (effective 153.5 kbit/s)…
    Hash of data verified.
    Compressed 3072 bytes to 128…
    Writing at 0x00008000… (100 %)
    Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.1 seconds (effective 332.1 kbit/s)…
    Hash of data verified.

    Leaving…
    Hard resetting via RTS pin…

    Bref cela semble avoir fonctionné! Encore merci.

  18. Eric dit :

    Bonjour André,
    Félicitation pour les réalisations et les explications.
    Sur la version V3 ayant déjà paramétré le Wifi, je n’arrive pas à virginiser la ROM pour un nouveau paramétrage du Wifi celui-ci ayant changé.
    Le transfert du fichier RouteurSolaire_V_3.00_Linky.ino ne permet pas de revenir à la première configuration.
    Merci par avance pour votre aide.
    Cdt.

    • F1ATB André dit :

      S’il ne trouve pas le WIFI, il repasse en point d’accès à l’adresse 192.168.4.1
      S’il se connecte au WIFI, mais on veut changer le SSID, soit on coupe le mauvais WIFI, le temps de passer en point accès.
      Plus simple on change la constante à la ligne 19 « 1234567890 » par une autre. Tout sera virginisé.

      • Eric dit :

        Bonsoir André,
        Merci pour les infos.
        J’ai pu changer de WIFI afin d’avoir un signal plus satisfaisant auprès de ‘ESP32 soit -25dB au lieu de -75dB.
        L’ESP32 fonction en mesure avec le programme RouteurSolaire_V_3.00_Linky.ino
        L’accès à la page Web est correcte mais les mesures ne s’affiche pas malgré un fonctionnement avec le programme Linky en temps réel. et le même réseau Wifi.
        Le paramétrage de l’adresse IP 192.168.1.48 a été renseigné ainsi que l’adresse de la BOX.
        Le moniteur série ne semble pas indiquer d’erreur mais sans valeur du Linky visible.
        Je suis peut-être passé à cote d’une config !
        Avez-vous une adresse @ pour vous envoyer des copie d’écran. ?
        Merci par avance pour votre aide.
        Cdt.
        Eric

  19. André dit :

    Bonjour André, Merci et félicitations pour ce routeur Linky.
    Je l’ai réalisé mais je ne reçois aucune données: l’heure n’est pas affichée.
    Comment peut-on vérifier que Linky envoi des données, je n’ai pas d’oscillo …
    Je vois que certains liste les données reçues; comment faire?
    Merci d’avance

    • F1ATB André dit :

      Avez vous votre Linky en mode standard ( à vérifier sur votre Linky)?
      Toutes les 2s environ, une Led doit clignoter à chaque arrivée de trame du Linky.
      Sur la page données brutes, vous devez avoir un grand tableau sur fond blanc avec les messages du LINKY en vrac.
      Si vous êtes en mode standard et rien ne se passe, il y a un problème avec le câblage vers le Linky.

      Cdlt

      • André dit :

        Super, c’était bien ça, je n’étais pas en mode standard.
        Passage en standard demandé, fait et …… ça fonctionne super!!!
        Encore mille mercis et 1 M de félicitations!!!
        André

  20. Thomas dit :

    Bonjour André,
    Pour te donner des nouvelles ça fonctionne bien ! Je terminerai de tester quand il y aura plus de soleil !
    J’ai utilisé le bouton DONATE en bas de la page pour te remercier.
    Il me reste plus qu’a connecter le Topic MQTT vers ma box domotique Jeedom.
    J’essaierai de modifier le logiciel pour avoir une led qui s’allume dés qu’une tension est envoyé vers le chauffe-eau.
    Thomas

    • F1ATB André dit :

      Merci pour le don.
      Testez la variable retard
      Retard = 100 , pas d’envoi d’énergie
      Retard <100, envoi énergie
      Ou prenez une variable 100-retard
      qui vous donnera un pourcentage d'ouverture du Triac vers le chauffe eau.

      Cdlt