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...

817 réponses

  1. arnaud longa dit :

    Salut André , salut à tous
    Alors v4 installée ! j avais des dallas de rabe d une station météo , les 4 esp mis a jour très bien passé ! mais … 2 petits trucs je ne sais pas si c est normal ou moi qui est raté un truc , probable!
    1- j ai du mettre le coeff de réaction très bas par rapport a avant de 13 à 2 sinon j avais des rebonds partout! mais ça fonctionne
    2- j ai bien ma température affichée et cohérente mais si je met un seuil ça n a aucun effet , j ai même essayé avec une valeur débile style 30° ça chauffe toujours !
    voila pour mes premiers pas avec la new version
    encore Merci André

  2. SG dit :

    Bonjour,
    tout d’abord un énorme merci pour le partage de votre travail !

    réalisation sans soucis de la version 3.11 (ou la solution était dans votre texte), une première période de suivi des courbes pendant trois jours au top mais pour mon premier jour de régulation via le Triac j’ai « perdu » la communication Linky.
    L’Esp fait bien son cycle de reset en absence de signal (câblage, tension, ESP … revérifiés et semblent OK), sur la page Htlm aucune données brutes venant de linky.

    Auriez-vous une explication a cette perte de signal d’entrée ?
    En vous remerciant

    • F1ATB André dit :

      Si pas de LED qui clignote, pas de données arrive du Linky.
      Revoir la liaison vers le Linky, changer la résistance R1 (1000ohm, 1200ohm) si il y a eu un changement de câble.
      Cdlt

  3. Bonjour, je vous dérange une seconde fois : je connaissais le triac, et dans votre première version, j’ai été séduit par son utilisation parfaite pour réguler le courant à chaque période, soit 50 fois par seconde.
    Dans votre version 3, l’information change toutes les 2 secondes, soit 100 périodes. On pourrait réguler le courant en ne déclenchant le triac que n périodes complètes sur les 100.
    Avantage : supprimer les parasites électriques (importants lorsqu’il commute plus de 300v en haut de crête). Surtout dans un tel environnement wifi.
    Inconvénients : je ne sais pas, je ne vois pas les problèmes qui se poseraient si le courant ne passait que pendant un nombre limité de périodes.
    Je suis ravi de trouver quelqu’un (vous, en l’occurrence !) à qui pouvoir poser cette question, et votre avis m’intéresse beaucoup. Merci

    • F1ATB André dit :

      Il faut considérer la réaction du Linky. Dans tout système de routeur il y a une période ou l’on injecte, et une période ou on consomme en s’arrangeant que le total en Wh soit nul. Avec le Triac, on fait des périodes de 10ms. C’est court, très réactif mais génère des harmoniques et le Linky moyenne parfaitement. 2 secondes c’est sûrement trop long. À investiguer pour une prochaine version.

      Cdlt

      • Ludovic dit :

        En effet, le fonctionnement en trains d’ondes ne fonctionne pas avec le Linky car il estime les puissances sur 20ms.

      • Le montage 3.11 fonctionne parfaitement, une bénédiction ! et grand merci.
        Une question liée au mauvais temps durable actuel : on chauffe un cumulus pour prendre une douche, ok ! Mais sans soleil, pas de douche, et l’eau stagne tiède dans le cumulus, ce qui est propice au développement de la légionellose par exemple. Parmi les centaines de personnes passionnées par ce site F1ATB, quelqu’un a-t-il une idée pour s’en protéger ? C’est pourquoi je n’ai pas encore mis en service le système et que je me borne à regarder sur écran.
        Je comptais brancher le cumulus sur l’entrée froide « eau sanitaire » de ma chaudière. Ça me paraissait intelligent, mais …

        • F1ATB André dit :

          On chauffe la nuit avec le tarif de nuit en forcant à On durant quelques heures. Si l’eau n’a pas chauffé de jour, EDF/Enedis prend le relais.

        • Georges dit :

          Bonjour Ludovic,
          Je me suis fais la même remarque que vous et effectivement, en hiver, l’énergie solaire n’est pas suffisante pour garantir l’anti-légionellose (55°C). Fort heureusement, ma chaudière peut toujours chauffer la partie haute du ballon ECS alors que la totalité est chauffée par la résistance électrique. J’ai donc décidé de demander à ma chaudière d’assurer au moins 40°C en partie haute. Par conséquent, c’est le photovoltaique qui pousse la température au maximum à 58°C, lorsque l’ensoleillement le permet. Par ailleurs, ma chaudière possède aussi une fonction automatique anti-légionellose qui fait monter la température à intervalle régulier. Il m’est donc impossible d’affirmer que je vais faire des économies de gaz cet hiver grâce au routeur. En revanche, durant la saison chaude cette année, ma chaudière est restée éteinte, tant que je n’ai pas eu besoin de chauffer les pièces de la maison car le photovoltaique suffisait à produire une eau chaude à T°>50°C.

  4. Jmi dit :

    bonjour ,
    j’ai déjà fabriqué un routeur pour mon chauffe eau avec la connexion linky l’esp32 et le dimmer , cela fonctionne très bien.
    je suis en train de confectionner un autre routeur pour un chauffage avec un esp32 et un dimmer. Pour ce routeur pour radiateur la résistance R2 = 10 kohm est-elle nécessaire ?
    Merci.

    • F1ATB André dit :

      Non elle n’est pas nécessaire comme sur le plan de la page.
      Schéma d’un système collectant les données du Linky par Wifi et non optocoupleur, et commande des actionneurs Triac et Relais.

      Cdlt

  5. Aurore.B dit :

    bonjour,
    Pourquoi avec le routeur special linky j’ai pas les données d’injection qui s’affiche ?
    Aujourd’hui j’ai du injecté plus de 2Kw
    https://postimg.cc/5HCKMJhC
    J’ai installé ce midi votre nouvelle version 4.02
    Cordialement
    Aurore

    • F1ATB André dit :

      Vous n’êtes pas déclaré producteur auprès d’Enedis. Un P devrait s’afficher en bas de l’écran de votre Linky. Il en résulte que le Linky ne donne pas l’index d’injection. Vous avez peut-être signé un CACSI.
      Montez le seuil de déclenchement du Triac à 50, afin d’enclencher le routage quand on s’approche de l’injection.
      Cdlt

      • Aurore.B dit :

        oui on a signe cela il y a deux ans voir plus, pourtant mon linky affiche l’index d’injection
        https://i.goopics.net/cll4qm.jpg
        je suis un peu perdue, du coup le montage version linky ne marchera pas ?
        il faut se tourner vers la dernière version avec le JSY-MK-194 afin de bien gérer le surplus ?

        • F1ATB André dit :

          Pour vérifier que vous n’avez pas la remontée d’info du Linky, regardez le grand tableau sur fond blanc de la page brute. Ce sont les données brutes envoyées par le Linky.
          Si vous n’avez pas sur la colonne de gauche la variable SINSTI (puissance Aparrente Instantanée Injecté), l’ESP ne peut l’afficher et faire un calcul de routage.
          Pour contourner le problème mettez 50 au niveau du seuil du Triac.
          Ainsi quand la puissance d’entrée de la maison va passer en dessous de 50W, le Triac va commencer à s’ouvrir pour router car on s’approche de l’injection.
          La version avec le JSY-MK-194 n’a pas ce problème. Mais commencer par le Linky si vous l’avez. Vous ne serez pas le seul dans ce cas.

          Cdlt.

        • Ludovic dit :

          Bonjour,
          Je confirme qu’avec un CACSI, l’index d’injection (en KWh) affiché sur le Linky n’est pas transmis dans la TIC, et les valeurs SINSTI (en VA) non plus.
          Cordialement

  6. Patrice dit :

    Bonjour André
    Je suis admiratif et vous remercie de partager votre travail et nous en faire profiter.
    Un collègue a réalisé le montage esp32 + gradateur, il a testé chez lui et se connecte sans problème à sa box en wifi
    Je n’arrive pas à le faire chez moi et je ne comprends pas pourquoi ?
    Je peux vous envoyer une copie d’écran de la console arduino qui m’indique : can not connect to wifi station – go into AP mode.
    Par ce formulaire je ne sais pas comment faire.
    Le ssid et le mot de passe ont été renseignés dans le programme sans erreur.
    J’ai désactivé antivirus pare feu vpn
    je ne sais pas si dans ma box red sfr il y a des parametres à modifier, j’ai fais un reset usine.
    Sinon le wifi fonctionne pour les autres appareils
    Merci pour votre aide
    Cordialement
    Patrice

    • F1ATB André dit :

      Quelle version utilisez-vous du programme? Vous avez peut-être un accent ou caractère particulier dans le mot de passe. Installez la version 4.03_RMS.
      Cdlt

      • Benjamin dit :

        Bonjour André, Bonjour Patrice,
        Je suis en cours de réalisation de votre routeur UxIx2 en version modulaire. Je viens juste de terminer la partie mesure et me permets de partager un point sur lequel je viens de passer un moment à comprendre :
        Après injection du programme dans l’ESP32, celui-ci n’arrivait pas à se connecter au wifi. Je suis chez Red-SFR (box NB6V) et par défaut le chiffrement de la box est en WPA. Il faut modifier ce paramètre de sécurité en WPA/WPA2 Personnel (PSK) en se connectant à la box (http://192.168.4.1/wifi/security). Pour se connecter, soit entrer les vos identifiants, soit presser 5s le bouton SFR de la box – la lumière verte de celle-ci oscillera.
        Merci pour votre travail ! Affaire à suivre pour faire fonctionner le routeur 😊.
        Cordialement
        Benjamin

  7. seb dit :

    bonjour de la Guadeloupe,
    tout d’abord bravo pour votre travail j’ai enfin reçu ma commande chez Aliexpress plus de 2 mois d’attente pour avoir le matériel
    le montage et la programmation se sont bien passées malgré le fait que j’ai eu du mal à trouver la valeur R1 j ai mis 1100 ohms avant d’avoir des valeurs correctes du linky.

    le graphique dans le menu accueil et les données brutes s’affichent correctement par contre dans le menu action je n’arrive pas à enclencher le triac en position On même avec 100% sur le triac.
    y a-t-il quelque chose que j’ai oublié de faire ?
    a l’avance merci

    • F1ATB André dit :

      Utilisez la dernière version V4.03_RMS qui corrige un bug sur Actions
      https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/

      Cdlt

      • Christophe dit :

        bonjour, de mon coté aussi quand je mets sur on rien ne se passe même avec la 4.03.
        dommage votre travail est bien fait

        • F1ATB André dit :

          Avez vous l’heure qui s’affiche sur la page d’accueil?
          Verfiez au chapitre Bug Matériel comme expliqué ici:
          https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/

          Faites moi un retour

          Cdlt

          • Christophe dit :

            oui j ai tout lu de A a Z mais rien ne marche. la j ai tout démonté. j ai bien l heure qui s affiche mais depuis hier matin après avoir tout monté j avais réglé mes 2 plages horaires d HC ( 0h30-6h30 et 14h-16h) la seule période qui marche et active le triac c est la 1ere l autre il ne se passe rien.

          • F1ATB André dit :

            Une autre personne est dans votre cas, il n’y a que la première période qui marche parce que l’horloge interne de l’ESP ne synchronise pas et reste à 0. Du coup l’heure sur la page d’accueil uniquement n’est pas visible.
            Attention si vous avez un Linky, sur la page Données brutes, vous avez l’heure fournie par le Linky et non pas l’heure de l’ESP synchronisé par internet.

            Je n’ai pas encore la bonne solution. Je n’ai jamais eu ce problème sur les nombreux routeurs que j’ai construit. À part changer d’ESP.

            Je peux toujours, si vous le souhaitez, me connecter en live à votre PC pour investiguer. C’est en investiguant, il y a 2 jours à distance, que j’ai découvert ce problème d’horloge.
            Vous me dites voir l’heure (en page d’accueil?)

            Cdlt

  8. Christophe dit :

    oui je voyais il me semble l heure avec un E devant
    comme j ai tout démonté je ne peux vérifier.
    désolé
    cordialement

    • F1ATB André dit :

      Si vous avez vu un E devant l’heure. C’est l’heure d’ Ete fourni par le Linky et non l’ESP.

      Il faudrait que j’arrive à analyser un tel ESP, pour trouver une solution. Vous êtes le 2ème à déclarer ce problème.

      Cdlt

    • F1ATB André dit :

      Hier soir avec Arthur, nous avons résolu le problème de l’horloge. Avec la bibliothèque de gestion de l’heure, il faut initialiser la synchronisation horaire avant le reste. C’est un problème qui se manifeste très peu, mais…
      Une nouvelle version V4.04_RMS est en ligne depuis ce matin qui corrige ce bug. Je vous invite à l’installer.

      Cordialement

      André
      F1ATB

  9. CORPA dit :

    Bonjour André, tout d’abord encore merci pour cet excellent montage ainsi que pour le coté pédagogique. Cependant j’ai encore un petit problème.
    Pratiquement out fonctionne bien, interface web et clignotement des leds.
    En quelques mots et avant d’effectuer le montage définitif je préfère faire les tests et pour cela ma charge est une ampoule de 100W.
    Mes panneaux commencent à produire, exportation nulle, led vert clignote, ampoule éteinte, sur page web (chauffe-eau à 0%)
    La production augmente et je commence à exporter, led jaune clignote, ampoule s’allume et sur page web (Chaufe eau à 100%)
    Je mes en fonction une forte charge pour arrêter l’exportation, la led verte clignote, sur la page web (Chauffe-eau passe à 0%) mais malheureusement mon ampoule reste allumée bien que j’ai 0% affiché.
    J’ai tout vérifié et je ne trouve pas d’erreur de câblage.
    Si vous aviez une idée du problème .
    Merci d’avance et bonne journée à vous.
    Cordialement.

    • F1ATB André dit :

      Je pense que vous n’avez pas les mêmes couleurs que sur le schéma explicatif ici en version 4.03:
      https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/

      La couleur , ce n’est pas important.
      Il y a une LED qui clignote toutes les 2s environ à chaque fois qu’un message arrive du Linky.
      L’autre LED, clignote uniquement quand il y a du routage par le Triac.

      Pour l’ampoule, faites attention, les Triac ne sont pas des interrupteurs parfaits. Ici on a de gros modèles. Mettez un sèche cheveux comme charge.
      N’oubliez pas de sauvegarder a page à chaque fois.
      Essayez le mode Off, pour vérifier que tout s’arrête.

      Cdlt

      • CORPA dit :

        Merci André pour votre réponse, donc j’ai remplacé l’ampoule par un décapeur thermique.
        Système en mode OFF. Je branche , que j’injecte ou que je consomme le décapeur reste sur arrêt.
        Système sur ON, je branche, que j’injecte ou que je consomme le décapeur fonctionne en permanence .
        Le graphique est cohérent et représente bien mes consommations.
        J’avoue être un peu perdu. Merci

  10. JMichel dit :

    bonjour
    sur mon 2eme routeur je rencontre quelques légers soucis. : un problème d’isolation.
    Si je viens à toucher le gros dissipateur thermique déporté du triac, j’attrape le courant (rien de méchant ça piquote) . Cela n’est pas le cas sur mon premier routeur. Je n’ai pas encore mis un fil de mise à la Terre comme préconisé dans votre article.
    Au voltmètre je mesure U(dissipateur – Terre) = 9V, je mesure aussi U(SSRborne2 – Terre ou neutre) = 11 à 14V avec SSR sur OFF et enfin je mesure U(SSRborne4-Terre o neutre) = 15VF SSR OFF.
    Dois je « m’inquiéter » de cela et rechercher l’origine du phénomèe? Un simple fil reliant Terre et dissipateur suffira-t-il?
    Par ailleurs le triac fait très bien son travail lorsque je lui fait réguler un radiateur.
    Par avance merci.

    • F1ATB André dit :

      Mettez le fil de terre. Si jamais il y avait un risque, le disjoncteur différentiel sauterait immédiatement.
      Si cela pique c’est que vous avez une tension plus élevée que mesurée. Le courant étant si faible qu’il ne peut alimenter correctement le voltmètre.
      Il y a peut-être une zone graisseuse un peu conductrice.
      La terre, c’est avant tout une protection si cle triac se mettait en court-circuit avec sa partie métallique de refroidissement.

      • JMichel dit :

        bonjour
        merci pour votre réponse mais je continuais à réfléchir et…
        les trois GND de mon ESP 32 sont bien reliés entre eux mais sur votre schéma il y a une petite flèche avec l’extrémité rouge au bout de laquelle est écrit GND ( par exemple au niveau du SSR). ne dois-je pas relier le fil de terre du secteur à ce GND pour avoir une masse commune ? car je ne l’ai pas fait je me demande si ce n’est pas une erreur de ma part…
        Merci, cordialement

  11. CORPA dit :

    Bonjour André, le soleil est revenu et j’ai pu reprendre les essais.
    Donc dans la zone jaune routage, j’ai mis seuil Pw= 0 et Ouvre Max=100.
    Comme je produit et j’exporte de l’électricité, la led pilotage triac clignote bien et les indications de les courbes Pw Apparente et Moyenne Pw sont cohérentes.
    Le petit tableau affichant en % la puissance du chauffe-eau est également correct.
    Quand je mets en fonction sèche cheveux l’indication passe de 0% à un certains pourcentage.
    Le problème est que la puissance du sèche cheveux reste toujours au maximum, comme la consommation devient supérieure à la production les courbes passent au dessus du zéro, la puissance affichée du chauffe-eau passe alors à 0% mais le séche cheveux reste en fonction.au maximum.
    Pour résume, les indications sont cohérentes mais le triac ne réagit pas aux pourcentages affichés.
    Merci d’avance André pour vos réponses.
    Salutations.

    • F1ATB André dit :

      Incompréhensible. Le Triac, serait il mort?

      La LED bleue qui affiche la commande sur le gradateur, elle doit s’éteindre quand l’ESP est sur Off ou proche de 0%. Si elle est éteinte, et le courant passe….mort du Triac?
      Quand vous forcez à Off, le sèche-cheveux s’arrête t’il?

      Cdlt

      • CORPA dit :

        Tout d’abord merci pour votre aide.
        Le système en fonction, je force à OFF. Le sèche-cheveux ne s’arrête pas. Je débranche l’ensemble et le rebranche.
        Toujours en position forcée Off, le sèche cheveux reste sur arrêt.
        Je force à On, le sèche cheveux démarre.
        Je force à nouveau sur Off et le sèche cheveux ne s’arrête pas. Il faut que je débranche l’ensemble et le rebranche pour que le Off soit validé.
        C’est pour cette raison que le triac me semble bon .
        Je vous avoue être un peu perdu.

        • CORPA dit :

          Egalement j’ai testé le triac avec multimètre digital et il semble bon.
          0.298V entre A1 et G, de même en inversant la polarité.
          Entre A1 et G et A1 et A2 , la résistance est infinie. De même en inversant polarité.

        • F1ATB André dit :

          Installez la version V4.04_RMS de ce jour. Elle corrige un bug sur la synchronisation de l’horloge qui arrive chez quelques rares personnes et perturbe le déclenchement des actions.
          Observez également la lumière bleue du Triac.
          Vos symptômes font également penser à un problème de câblage (masse).

          En dernier recours, si vous le souhaitez je me connecte à distance à votre PC et on regarde ensemble.

          Cdlt

          • CORPA dit :

            Bonjour André, j’ai installé la dernière version et maintenant cela semble fonctionner. Pourquoi semble car en regardant le graphique de l’interface web, la courbe de la puissance active ne se limite pas à la puissance produite et injectée mais à la puissance du chauffe-eau c’est à dire 1800W.
            Donc j’ai une courbe qui passe toute – 300W de puissance injectée à 1600W de puissance soutirée. En fait il me semble sauf erreur de ma part que le triac lorsqu’il laisse passer le courant il ne se limite pas à -300 mais laisse passer toute la puissance.
            L’idéal aurait-été que je vous transmette une copie d’écran.
            Encire merci.

          • F1ATB André dit :

            Envoyez sur f1atb.fr@gmail.com

          • F1ATB André dit :

            Aujourd’hui j’ai effectué des essais avec une personne ayant les mêmes difficultés. En phase de régulation, Triac ouvert entre 1 et 99%, La consommation fait des sauts brutaux, pointe à 1200w. Pointe à 0W. Une courbe rouge en dent de scie.
            En remplaçant la charge, radiateur électrique avec un ventilateur par un autre sans ventilateur le problème a disparu. Un troisième avec un petit ventilateur fonctionnait également.
            Apparemment en présence de charge inductive on a un souci avec le comportement du Triac. Il faudrait passer l’ensemble à l’oscilloscope pour plus d’explication.

            Cdlt

  12. Pascal dit :

    Bonjour André, je suis novice en électronique et grâce à vos explications claires, précises et complètes, je me suis lancé dans la réalisation du routeur 3.04_UxI.
    Le triac commande un chauffe eau de 2800 w ( avec les améliorations recommandée).
    Je pilote également en interrupteur wifi : un shelly 1 PM . Les commandes sont les suivantes :
    IP/rpc/Switch.Set?id=0&on=true
    et IP/rpc/Switch.Set?id=0&on=false. ( aucune modification à faire).
    Je vous remercie pour votre site et vos vidéos.
    Cordialement,
    Pascal.

  13. Eric dit :

    Bonjour André,
    Merci pour votre site qui est mine d’informations pour le novice que je suis.
    J’aurais une question, est-il possible d’utiliser des ESP8266 en lieu et place des ESP32? Si oui ,quelles seraient les modifications à apporter au programme (dans sa version 4.04_RMS)
    Vous remerciant par avance.
    Cordialement,
    Eric

  14. JMichel dit :

    bonjour
    mon 2eme routeur (en V3.1 comme mon premier routeur qui est branché au linky et gère mon chauffe eau) qui semblait fonctionner au début (sauf problème de fuite électrique avec une tension perceptible sur le dissipateur) m’en fait maintenant voir de toutes les couleurs!
    Problème 1: Même symptome que « Corpa » et je note une tension anormale de 70V entre le load du triac et le neutre au lieu du 0V normal quand forcage off par exemple J’ai testé le triac, il semble bon, j’avais un ancien triac 8A (dont je ne peux être sur de l’état de marche mais testé avec succès au multimètre). Même symptome. Le triac ne serait donc pas en cause, ce serait la carte dim..?? Autre??
    Corpa vous en êtes où?

    Problème 2: le SSR ne déclenchait pas malgré la diode rouge qui s’allume sur celui-ci quand forcage sur ON. Il y a bien 3;25V entre les bornes 3 et 4 du SSR (noté 3-32V input). J’ai donc mis en série deux piles sur la sortie GPIO17. Bingo tout marche pour le SSR. Bref le 3,25V semble insuffisant pour le commander. UNe idée autre que la pile qui serait plus pérenne pour piloter mon SSR?
    Merci par avance pour vos réponses.

    • F1ATB André dit :

      Je vais voir la semaine prochaine avec Corpa, le pourquoi de ce problème de régulation.
      Pour le SSR, il faut rajouter un transistor NPN quelconque, ou trouver une alim un peu plus généreuse que 3.25V

    • F1ATB André dit :

      Aujourd’hui j’ai effectué des essais avec une personne ayant les mêmes difficultés. En phase de régulation, Triac ouvert entre 1 et 99%, La consommation fait des sauts brutaux, pointe à 1200w. Pointe à 0W. Une courbe rouge en dent de scie.
      En remplaçant la charge, radiateur électrique avec un ventilateur par un autre sans ventilateur le problème a disparu. Un troisième avec un petit ventilateur fonctionnait également.
      Apparemment en présence de charge inductive on a un souci avec le comportement du Triac. Il faudrait passer l’ensemble à l’oscilloscope pour plus d’explication.

      Cdlt

      • JMichel dit :

        bonjour
        alors aujourd’hui le soleil étant présent j’ai pu tester le montage avec plusieurs radiateurs. Effectivement les « soufflants » semblent poser des soucis au dimmer/triac. Sur un « tout grille pain » il m’a semblé que tout fonctionnait correctement, je n’avais plus le 70V entre neutre et load par exemple et je pouvais aussi commander allumage suivi de extinction suivi de allumage etc etc. Le mode dimmer fonctionne aussi.
        En résumé mes tests rejoignent vos conclusions. Etant prudent et suspectant toujours une panne / fonctionnement aléatoire de mon circuit dimmer, je referai dès que possible d’autres séries de tests pour valider.
        Question: ayant maintenant 2 ESP, un pour le chauffe eau l’autre pour un radiateur, comment rendre prioritaire celui pour le chauffe eau?
        Mon idée: ESP chauffe eau seuil -40W ESP radiateur seuil 0W.
        Cordialement

        • F1ATB André dit :

          C’est l’inverse qu’il faut faire
          – Eau chaude seuil à 0 (dès que l’on injecte)
          – Radiateur seuil à-40, si le chauffe-eau s’arrête car il est à température, l’injection augmentera et le chauffage déclenchera.

          Merci pour votre retour sur les chauffages à ventilateur.

  15. JMichel dit :

    bonjour
    ce matin j’ai révisé grâce à internet des vieux cours d’électronique (oubliés par manque de pratique). Bref j’ai suivi votre piste du transistor npn, j’ai alors fabriqué un commutateur en récupérant le 5V d’une broche de la carte ESP32. Bref le 3,25V insuffisant me permet via le transistor en commutateur, d’avoir 4,5V aux bornes du SSR et là ca marche, merci pour le tuyau!!!
    Demain je testerai à nouveau la partie régulation avec d’autres chauffages, je vous ferai un retour.
    Merci encore

  16. Julien dit :

    Bonjour André, je débute en tout point (electricité, programmation)
    J’essaye de téléverser le « routeursolaire v3-11 linky » dans l’esp32 wroom et voila ce que cela me répond:

    d:\xx\Documents\Arduino\libraries\RemoteDebug\src\utility\WebSockets.cpp:42:10: fatal error: hwcrypto/sha.h: No such file or directory
    #include
    ^~~~~~~~~~~~~~~~
    compilation terminated.

    exit status 1

    Compilation error: exit status 1

    J’ai bien les 3 librairies à priori. Peux tu m’aider s’il te plait ?
    Julien

    • F1ATB André dit :

      Allez au chapitre Bugs Soft ici :
      https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/
      vous aurez la réponse

      • Julien dit :

        Super ça a fonctionné. Merci André !!
        Après dans le ‘moniteur série » cela affiche ceci :
        Connection Failed! #1
        Niveau Signal WIFI:0
        WIFIbug:2
        Charge Lecture Linky en ms – Min : 2 Moy : 1 Max : 1
        Charge Boucle générale en ms – Min : 1 Moy : 0 Max : 0
        ESP32 ON depuis : 0.01 heures
        Connection Failed! #2
        Niveau Signal WIFI:0
        WIFIbug:3
        Charge Lecture Linky en ms – Min : 2 Moy : 1 Max : 1
        Charge Boucle générale en ms – Min : 1 Moy : 1 Max : 0
        ESP32 ON depuis : 0.02 heures
        Connection Failed! #3
        Niveau Signal WIFI:0
        WIFIbug:4
        Charge Lecture Linky en ms – Min : 2 Moy : 1 Max : 1
        Charge Boucle générale en ms – Min : 1 Moy : 1 Max : 0
        ESP32 ON depuis : 0.03 heures

        Désolé de vous solliciter une nouvelle fois

        • F1ATB André dit :

          Le routeur ne trouve pas le WIFI que vous lui avez designé si vous avez effectué la procédure de première mise en route. Sinon effectué cette procédure en se connectant au WIFI appelé ESP… voir la procédure sur la page.
          Niveau Signal WIFI:0
          WIFIbug:2

          • Julien dit :

            Merci beaucoup André, j’ai réussi à voir la conso instantée avec la TIC, prochaine étape : brancher le Triac à l’esp32 et le chauffe eau au triac 🙂

  17. philippe dit :

    Bonjour André,

    Petite question: je voudrais ajouter un thermostat numérique sur sur le chauffe eau, pour le contact tu préconises de couper l’alimentation du triac (3.3v) ou plutôt le GPIO 22 ?

    Cordialement,

  18. Julien dit :

    Bonjour André, je n’ai pas encore branché le triac mais je remarque que sur le suivi la production ne passe jamais en injection (conso mini à 0). est ce normal pour l’instant svp ? Aussi j’ai un doute pour relier les led, j’ai branché les 2 au gnd mais ensuite c’est le vvc ou in ou les 2 que je dois brancher sur l’esp 32 ? Merci par avance,
    Julien

    • Julien dit :

      Je précise j’ai la convention cacsi, je regrette d’avoir déclarer à enedis du coup… Dans les autres commentaires vous dites qu’il faut mettre 50 pour le triac, c’est bien dans l’onglet ACTION et ensuite « Seuil Pw : 50W » c’est bien ça ?

    • F1ATB André dit :

      Vcc au 3.3v et in sur
      les gpio

  19. JP BARRES dit :

    Bonjour, merci pour votre travail.
    J’ai installé la version 3.11 sur 2 esp 32.
    Je précise que je n’ai pas de panneaux solaires (je fais des tests pour une installation au printemps)..
    Tout fonctionne correctement sauf le module Triac (identique au votre).
    Lorsque je suis à vide (sans charge) la tension entre le neutre et la sortie Load correspond au pourcentage paramétré.
    Mais dès que je branche un charge(ampoule de 40W ou sèche cheveux) le triac se déconnecte (tension de sortie à 0) même en forçant le triac à ON
    Le module triac est branché sur le deuxième esp qui lit correctement les données du premier esp branché au Linky.
    Le seuil est bien supérieur à ma consommation + la puissance de la charge.
    J’ai dû faire une erreur. Avez-vous une idée?

    • F1ATB André dit :

      Sans charge, sur la sortie Load, vous pouvez avoir un peu de tension. Le Triac n’est pas un interupteur parfait et les voltmètres sont très sensibles.Regardez en bas de la page données brutes si vous avez :
      Nombre d’interruptions en 15ms du Gradateur (signal Zc) : Filtrés/Brute = 1/1 , 1/2 , 2/2 ,2/3 ou 2/7
      Cela permet de voir que le branchement du signal d’interruption est correct.
      Cdlt

      • JP BARRES dit :

        Bonjour, ma tension de sortie à vide varie de 30 à 220V en fonction du pourcentage.
        Je viens de vérifier les signaux à l’oscilloscope GPIO 23 pulse avec une période de 10ms et sur GPIO 22 signal carré période 10 ms avec un rapport cyclique qui varie en fonction du paramétrage de l’ouverture du triac, cela semble correct.
        Par contre dans le tableau des données brutes je n’ai pas :
        Nombre d’interruptions en 15ms du Gradateur (signal Zc) : Filtrés/Brute = 1/1 , 1/2 , 2/2 ,2/3 ou 2/7
        Si cela peut vous aider, la luminosité de la led bleue du module triac varie en fonction de l’ouverture du triac.
        Merci d’avance pour votre réponse.
        Cdlt

        • F1ATB André dit :

          Si il n’y a pas d’interrution Zc, il y a un problème de câblage. L’ESP ne peut pas fonctionner si pas d’interruption servant de top de synchro toutes les 10ms.
          Cdlt

          • JP BARRES dit :

            Merci pour votre réponse.
            Je ne comprends pas pourquoi cela ne fonctionne pas, j’ai revérifié le câblage , juste VCC, GND, Gpio22 et 23.
            J’ai bien le signal « zero crossing « sur la broche 23 qui génère bien la commande du triac sur la broche 22. Tension de sortie correcte à vide. En charge toujours les bons signaux mais zéro en sortie (j’ai changé le triac sans résultat )
            Par contre cela ne génère à priori aucun message dans les données brutes.
            Je continue de tout vérifier mais cela dépasse mais compétences.
            Je vous tiens au courant si je trouve la solution.
            Encore merci pour votre travail et votre réactivité.
            Cdlt

  20. JP BARRES dit :

    Bonjour,
    c’est encore moi :=)
    J’ai téléchargé la version 4.0
    J’ai comme problème que lorsque je choisi ESP Externe pour communiquer avec l’ESP du Linky (qui fonctionne très bien) il ne lit pas l’heure (à priori pas de connexion) et j’ai comme message dans données brutes à la place de la date « fichier non trouvé URI:/ajax_dataRMS method:get argument: 1 idx:0 »
    avez-vous une solution ?
    Dans cette version il y a bien « interruption Zc » dans données brutes si j’utilise UxI pour avoir une date et une conso quelconque ,est ce que « interrution Zc » apparait aussi dans données bruts de la version 3.11. Je pense que mon problème de triac vient du module triac, j’ai commandé le nouveau modèle 40A, je verrai bien.
    Cdlt.

    • F1ATB André dit :

      Passez déjà vos 2 ESP en version V5.10_RMS.
      fichier non trouvé URI:/ajax_dataRMS method:get, vous devez avoir une erreur sur l’adresse IP de l’ESP connecté au Linky.

      Cdlt

  21. JP BARRES dit :

    Voilà la page données brutes

    Routeur SOUYRI
    Fichier non trouvé URI: /ajax_dataRMS Method: GET Arguments: 1 idx: 0

    Données distantes
    Données ESP32
    ESP On depuis : 0h 01mn
    Source des mesures : Externe (undefined)
    192.168.1.206
    Niveau WiFi : -22 dBm
    Point d’accès WiFi : 34:27:92:AF:6E:44
    Adresse MAC ESP32 : 08:D1:F9:9A:4C:54
    Réseau WiFi : Freebox-48F3E3
    Adresse IP ESP32 : 192.168.1.164
    Adresse passerelle : 192.168.1.254
    Masque du réseau : 255.255.255.0
    Charge coeur 0 (Lecture RMS) Min, Moy, Max : 2, 4, 1631 ms
    Charge coeur 1 (Calcul + Wifi) Min, Moy, Max : 1, 2, 1601 ms
    Espace mémoire EEPROM utilisé : 40 %
    Nombre d’interruptions en 15ms du Gradateur (signal Zc) : Filtrés/Brutes : 2/2

    Routeur Version : 4.04_RMS
    F1ATB.fr

  22. Thomas dit :

    Bonjour et merci pour ces supers tutos. Voilà plusieurs jours que je n’arrive pas à avoir de remonté du Linky, j’ai bien fais passé mon Linky en mode standard, revérifier les branchements, essayer plusieurs valeurs de résistance pour la résistance R1, la page « données brutes Linky en mode standard » reste vierge. Comment pourrais-je m’assurer que l’info du Linky arrive bien à l’ESP32 ?
    Je vous remercie pour votre aide

  23. Jean-Michel Pillone dit :

    Bonjour André,
    J’en suis à ma troisième version de routeur et le fonctionnement est parfait.
    Mon problème vient du fait que je n’ai pas de box et que c’est mon téléphone qui me sert de PA internet ce qui m’engendre des PB d’adresse IP qui change tout le temps même si j’ai choisi une adresse fixe comme le propose le tableau des paramètres , celle-ci n’étant pas toujours compatible avec le nouvel IP choisi par le téléphone.
    Est il envisageable de laisser l’ESP en PA , de ne pas entrer de SSID et PASSWORD et d’utiliser L’IP 192.168.4.1 sur le mon réseau local pour continuer de bénéficier de la communication en wifi sachant que je n’ai nul besoin d’aller sur internet pour communiquer mes mesures à Domoticz ou Home ….
    Je ne maitrise pas bien du tout le protocole de communication WIFI et ne me sens pas du tout les compétences pour aller bidouiller dans votre code.
    de même est il imaginable de modifier les temps d’enregistrement des courbes ou d’avoir le choix de les afficher ou pas.
    En tout cas chapeau bas pour votre travail, votre pédagogie, la perfection de vos vidéo et de vos explications. Je ne sais pas comment vous trouvez le temps de faire tout cela et de répondre à toutes les personnes qui vous interpellent. Un modeste don vous à déjà été adressé en remerciement il y a quelques semaines.
    Milles bravos, très respectueusement et admirativement.

    Jean Michel dans les Hautes Alpes

    PS : il me semble que vous avez abordé quelques explication sur les cartes ESP à relais qui ne sont pas équipées de circuit permettant le télé versement.
    Si c’est bien le cas dans quel article ou vidéo parlez vous de ces cartes de développement que j’aimerais utiliser pour une application totalement différente.
    D’avance merci .

  24. cpatrice35 dit :

    Félicitaion encore pour votre travail remarquable.
    J’ai une question certainement idiote à vous poser. En étudiant la version Linky du routeur, je constante que vous utilisez le GPIO26 pour l’entrée de communication TIC du linky. Pourquoi n’utilisons pas l’entrée GPIO3 (RX) de l’ESP32. ( je me dit qu’il doit y avoir une bonne raison, mais laquel ( je ne connais pas très bien ce modul). Merci pour votre réponse

    • F1ATB André dit :

      GPIO1 et GPIO3 sont utilisés par le port Série (TX,RX) qui sort vers l’USB. Mais l’ESP32 a 2 autres ports série disponibles sur les GPIO de votre choix.
      Cdlt

  25. Thomas dit :

    Bonjour André,

    Voilà plusieurs semaines que je réalise votre routeur linky, j’ai eu pas mal de difficultés communiquer avec le Linky (j ‘ai racheté un ESP chez un autre fournisseur puis OK). J’étais tout prêt à raccorder sur mon CE jusqu’à ce que je découvre qu’il est doté d’un thermostat électronique avec un système anti corrosion. Ce routeur est-il tout de même utilisable sur ce type de CE ? Auriez-vous un schéma de câblage pas trop compliqué ?

    Je vous remercie d’avance

  26. Laurent dit :

    Bonjour André,

    Je vous remercie pour le partage que vous proposez, c’est très utile et instructif.

    J’envisage de réaliser le routeur que vous proposez cependant, j’ai une question préalable svp :

    Est il possible d’alimenter des charges non inductives avec ce routeur, en effet j’aimerai pouvoir piloter lors de surplus la mise en marche d’une clim réversible. (air/ air) .


    Autre question svp :

    Est il possible d’ajouter 2 routeurs sur une même installation, cela afin de piloter une clim par exemple et le second routeur solaire serait destiné à une autre charge.

    Cordialement,

    • F1ATB André dit :

      Si vous voulez piloter une clim réversible. Cela ne peut se faire qu’en tout ou rien avec un relais. La clim ne va pas accepter du courant haché en entrée comme une simple résistance. Il y a de l’électronique dedans.

      On peut utiliser plusieurs routeurs pour différentes charges. Un seul se charge de la collecte des données de puissance et la distribue aux autres.

      Cdlt

      • Laurent dit :

        Ok, donc pour piloter l’alimentation d’une clim en ON / OFF on passe par un relais, ensuite il faut un scénario pour envoyer des codes IR adaptés à l’unité intérieure pour qu’elle démarre selon le besoin souhaité.

        Quel type de relais faut il prévoir pour cela ?

        Si on veut avoir plusieurs routeurs comme vous le proposez j’imagine qu’on utilisera pas le même code pour programmer l’ESP ?
        avez vous des versions de codes différentes pour ce type d’usage ?

        En vous remerciant,

        • F1ATB André dit :

          Il faut un relais pilotable en 3.3V . S’il n’est pas assez puissant pour votre clim, attaquez un autre relais plus costaud.

          Tout les routeurs on le même logiciel. C’est dans les pages web Paramètres et Actions que vous définissez ce qu’il faut.

          Cdlt

          • Laurent dit :

            Que se passerait-il si on commande un relais pour piloter une clim lorsque le surplus est de par exemple 3A et que soudain la clim demande plus de courant, par exemple 8A ?

            le courant requis pour le fonctionnement d’une climatisation n’est pas toujours constant, du coup je voudrais savoir comment se comporte le routeur dans cette situation.

            – – –

            Est ce que le routeur solaire offre la possibilité de limiter / plafonner le courant qu’il délivrera, je pense notamment à l’usage de recharge d’un véhicule électrique.

            Peut on paramétrer le routeur solaire pour alimenter la recharge d’un véhicule lorsque le surplus atteint un seuil mais limitera le courant délivré à un second seuil , cela afin de rester dans la courbe de la production solaire sans avoir à soutirer un complément d’énergie sur le réseau électrique qui serait alors facturé ?

            Cordialement,

          • F1ATB André dit :

            Le routeur n’envoi à la charge que le surplus disponible. Les Watt en trop qui partiraient sur le réseau Enedis.
            S’il n’y a pas de surplus, il n’envoie rien. Mais on peut le programmer pour qu’à certaines heures, on force l’ouverture à 100% (exemple : charge au tarif de nuit).
            Cdlt

  27. Didier dit :

    Bonjour André

    Bravo et merci pour tout ce travail.

    J’avais 2 questions:
    – pour utilisation avec Linky, pourquoi la valeur de PeriodeProfMillis est à 2? Une valeur plus grande ne suffirait-elle pas?
    if (Source == « Linky ») {
    LectureLinky();
    PeriodeProgMillis = 2;
    }
    – j’ai également fait des essais avec JSY-MK-194T. Parfois celui-ci ne réponds plus, avez-vous déja eu ce problème? Je suis obligé de couper son alimentation, le watchdog de l’ESP32 fait bien redémarrer le processeur, mais je pense que c’est mon module qui est planté. Je vais peut-etre voir pour pouvoir couper son alimentation en cas de reset…
    Encore merci
    Didier

    • F1ATB André dit :

      Pour le Linky, c’est lui qui impose son rythme de sortie des infos sur le port série. Le message dure plusieurs dizaines de ms. 2ms après avoir reçue le dernier message on retourne voir s’il n’y a pas autre chose qui arrive pour ne rien perdre.

  28. COMBES SERGE dit :

    Bonjour, merci pour votre travail, je n’ai pas trouvé mieux. Vous êtes passionnant pour un non initié.
    J’ai mis en place votre routeur en utilisant les panneaux plug and play de mon voisin pour le tester.
    J’ai branché le routeur sur la prise TIC du Linky.
    J’ai un module ESP32 wifi connecté au linky et un module ESP32 wifi connecté au tableau électrique (à10 m) avec le TRIAC sur le ballon d’eau chaude.
    J’ai un abonnement EDF 18 KVA en triphasé.
    Je voudrais à présent acheter 10 panneaux de 430 W et un onduleur monophasé 3K pour rester dans le cadre de la règlementation limitant à 3K une installation en auto consommation. ;
    Vous signalez dans une de vos explications que le linky peut redistribuer l’excédent de production d’une phase sur les autres phases.
    Si c’est bien le cas, et si j’ai bien compris, il me semble que mon projet peut être pertinent.
    Le but est d’éviter d’investir dans un onduleur triphasé, très coûteux pour une petite installation en autoconsommation.

    Merci

    • F1ATB André dit :

      Oui avec le Linky si vous injectez sur une phase et consommez sur les autres, il prend cela en compte en faisant la somme algébrique des puissances.

      Cdlt

  29. COMBES SERGE dit :

    Merci, ça me rassure

  30. FredVR dit :

    Bonjour André,
    Meilleurs Voeux pour 2024.
    Le router fonctionne à merveille 98% du temps, et je vous remercie encore pour ce travail et partage de connaissance.
    Mais depuis peu….
    Petit souci, de temps à autres, ma courbe de Puissance Active moyenne en W affiche des valeurs negatives délirante, ie -40 000W!!! la puissance apparente (ligne bleue) par contre reste positive.
    L’effet pervers, c’est que le router pensant qu’il y a une injection massive met le Triac à fond, même s’il n’y a pas de surplus d’énergie, d’où une consommation importante non justifiée.
    Je suis en EJP et j’ai remarqué que cela se produisait plutôt ces jours là, un ami en Tempo qui a installé votre routeur et qui est en système Tempo, se retrouve parfois dans la même situation en Jour Rouge.
    Je pense qu’il faudrait ajouter quelques ligne de prog, afin de s’assurer que le % du router reste à 0 quand le Puissance Active moyenne en W devient négative. Version 3.11
    Nous sommes tous deux en CACSI
    Je n’ai aucune idée pourquoi la ligne rouge passe en valeurs négative ÉNORMES, puis progressivement rattrape le ZÉRO et redevient normale.
    Une idée?
    Merci d’avance.
    Fred.

    • F1ATB André dit :

      Ce bug, dû à un échange d’une variable mal calculée entre les coeurs a été corrigé. Installez la dernière version V6.02_RMS pour prendre en compte les bugs corrigés. Cela n’a rien à voir avec le tarif Tempo qui n’est pas pris en compte dans ce code.

      Cdlt

  31. andre tornier dit :

    Bonjour André,
    j’ai fait le montage Linky qui marche super bien 👌 en V7 et j’ai vu des photo avec des options Actions suivant les heures Tempo , je suis en EJP , et j’ai rien trouvé dans le paramétrage pour cette option, Possible sur cette version?,
    Bien Cordialement,

  32. Romain dit :

    Bonjour, peut on remplacer le LTV 814 par un EL816C? Car pour moi les specs sont similaires

    • F1ATB André dit :

      Non, si vous regardez bien, il n’y a qu’une seule diode (un sens de courant) et non pas 2 (double sens) pour traiter les 2 1/2 alternances du signal sinusoidale.

      Cdlt

  33. Raff dit :

    Bonjour André,

    Je souhaiterais récupérer certaines informations de la zone données brutes . Telles que LTARF, infos sur les HC HP et surtout STGE.

    Comment puis-je procéder ?

    Merci

  34. Raff dit :

    Erreur de ma part. J’ai une ancienne version. Je mets à jour.
    Désolé

  1. 17 mars 2024

    […] : 9600 bauds, plus riche en informations qui est décrit sous forme plus complète de routeur ici. Dans sa version minimum avec le même harware qu’ici, il fournit toutes les informations en […]

Laisser un commentaire

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