Réalisez un Routeur Solaire avec un Linky (DIY)
Version V3.11 Linky remplacé par la version V4.00_RMS

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 :
Version | Mesure courant / puissance | Actionneurs | Modulaire | Domoticz | MQTT / Home Assistant | Description |
---|---|---|---|---|---|---|
1 | Sonde Ampèremétrique Monophasé | Relais | Non | Oui | Non | Routeur Solaire. Mesure de Puissance avec un ESP32 |
2 | Sonde Ampèremétrique Monophasé | Triac + Relais | Non | Oui | Non | Réalisez un Routeur Solaire pour gérer la surproduction |
3.04_UxI | Sonde Ampèremétrique Monophasé | Triac + Relais | Oui | Oui | Oui | U x I : Routeur Solaire pour gérer la surproduction photovoltaïque |
3.11 Linky | Linky Monophasé ou Triphasé | Triac + Relais | Oui | Oui | Oui | Réalisez un Routeur Solaire avec un Linky |

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.



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/index.php/fr/2023/09/25/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


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/index.php/fr/2023/09/28/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.


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.

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

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/index.php/fr/2023/04/13/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



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


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

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/index.php/fr/2022/12/03/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

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/index.php/fr/2023/02/09/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
- Capteur Shelly Em™ pour routeur photovoltaïque
- Exemples Montage Routeur Photovoltaïque F1ATB
- Capteur Enphase – Envoy-S Metered™ pour routeur photovoltaïque
- Routeur photovoltaïque simple à réaliser
- Capteur UxIx2 pour routeur photovoltaïque
- Triacs gradateurs pour routeur photovoltaïque
- Capteur Linky pour routeur photovoltaïque
- Capteur UxI pour routeur photovoltaïque
- Programmation de l’ESP32 – Application au routeur Photovoltaïque
- Chauffer votre piscine avec l’excédent d’énergie Photovoltaïque
- U x I : Routeur Solaire pour gérer la surproduction photovoltaïque (DIY)
- Panneaux Photovoltaïques Intégrés Au Bâti (IAB) d’un abri voiture
- Réalisez un Routeur Solaire avec un Linky (DIY)
- Câblage de panneaux Photovoltaïques à des Micro-Onduleurs en Autoconsommation (DIY)
- Démarches Administratives pour le Photovoltaïque
- Affichage à distance consommation ou surproduction électrique
- Réalisez un Routeur Solaire pour gérer la surproduction
- Câblage de panneaux Photovoltaïques à un onduleur en Autoconsommation (DIY)
- Panneaux Photovoltaïques Intégrés Au Bâti (IAB)
- Routeur Solaire. Mesure de Puissance avec un ESP32
Bonjour et merci pour ce très bon boulot !
Une chose me préoccupe ! mon Linky est sur un poteau loin de la maison et ensuite EDF et Telecom en sous terrain jusqu’à mon habitation et le problème de la com se pose!
On va bientôt … avoir la fibre , j ai imaginé plusieurs solutions:
1-quand on tirera la fibre dans le fourreau Telecom y adjoindre un cat 5 ou 6 et communiquer en ethernet avec un arduino a demeure cote linky
2-meme idee mais en passant une fibre
3-comuniquer avec une liaison radio style NRF24L01
une autre solution ?
merci
Arnaud
Essayez de réaliser le routeur UxI pour avoir tout installé près de votre tableau électrique.
https://f1atb.fr/index.php/fr/2023/07/07/u-x-i-routeur-solaire-pour-gerer-la-surproduction-photovoltaique-diy/
Cdlt
Merci de la reponse mais je suis en tri !
cdl
Arnaud
Dans ce cas passé un câble Ethernet et vous faites une transmission en différentiel en faisant une conversion TTL vers RS485 pui RS485 vers TTL pour attaquer l’ESP32.
Vous pouvez utiliser l’alimentation fournie par le Linky, mais il faut faire un peu d’électronique.
Cdlt
Bonjour
alors finalement avec un ESP avec antenne ( j ai mis un râteau ) et un répéteur avec aussi un râteau le wifi passe nickel ! 75 m ça c est fait !! j attend avec impatience qu Enedis me passe en standard !
Pour l alim un petit panneau solaire avec batteries
Par contre un truc me turlupine ! j ai deux chauffe eau un en mono et un en tri (que je peux passer en mono) tous les deux avec une régulation Electronique.
Je vais commencer par le petit en mono (600w) je pensais garder l alimentation permanente et intercaler le triac entre la régulation et la résistance, bonne ou mauvaise solution ?
encore merci pour ce projet bien abouti
Arnaud
Bien votre solution avec une antenne pour augmenter la portée. Cela ne consomme pas d’énergie et permet de longues distances.
Le Triac entre la régulation électronique et la résistance ne devrait pas poser de problème.
Cdlt
Bonjour
Super boulot
Mon chauffe eau étant en triphasé puis-je le piloter directement via un relais statique sans le contrôle du passage à zéro ?
Merci
Vous pouvez le piloter avec le Triac et 2 relais. Les relais feront des sauts importants de puissance, le Triac fera l’ajustement fin sur une des phases. Il faut bien ajuster les seuils.
Cdlt
Merci pour la reponse
Je ne comprends pas bien la solution
Un relais sur chaque sortie tout ou rien et une phase sur la sortie pwm via le triac ?
Imaginez, vous avez un chauffe-eau avec 3 résistances de 1000W.
Si 600W de surproduction sont disponibles, la phase avec le Triac recevra cette puissance.
Si 1300W sont disponibles, un relais sera enclenché absorbant 1000W sur une phase. La phase avec le Triac absorbera 300W
Si 2500W sont disponibles. Les 2 relais absorberont 2000W et les 500W restants sur la phase du Triac.
Il faut bien positionner les seuils de déclenchement.
Cdlt
merci
go je me lance !!
par contre j’ai deja un serveur wes connecte derriere ma sortie TIC pensez vous que je puisse brancher le routeur en plus sur la sortie TIC?
Cela peut fonctionner, il faudra peut-être baisser ou augmenter la résistance R1 (1500ohm) d’entrée.
Cdlt
André
je viens de regarder le racordement de mon chauffe eau j’avais un petit doute
le neutre n’est pas raccorde donc impossible d’alimenter une seule phase, rien ne se passera
Si le neutre n’est pas raccordé, c’est qu’il s’agit d’un branchement en étoile.
Dans ce cas il vous suffit de ramener le neutre au point milieux des 3 résistances.
Attendez la confirmation d’André, tout de même.
Si le neutre n’est pas disponible, cela ne fonctionnera pas. S’il est disponible sur le chauffe-eau le câbler au neutre de la maison.
merci pour votre support !!
je vais regarder comment je peux faire j’ai un fil pilote qui arrive je vais voir si je peux l’utiliser ( section )ou retirer un fil (plus compliqué !!)
autrement utiliser un relais statique triphase en pwm je sais pas ce que ca donnerai
Il n’est pas impossible qu’un relais 3phases (type random) fonctionne, car le pulse envoyé est à 1 pendant toute la durée depuis l’instant d’ouverture au passage par zéro suivant.
Mais n’étant pas en triphasé, je peux pas faire les essais.
Cdlt
Voici un schéma de branchement intéressant proposé par Michel.
Il faut mettre le seuil d’un relais égal à celui du Triac, par exemple 0.
Mettre le seuil du deuxième relais à -50 par exemple pour qu’il s’enclenche après le premier.
Cdlt
PS: En y regardant de plus près, un seul relais suffit. On laisse une phase branchée en permanence.
Attention le Triac de base est donné pour 600V, c’est un BTA16-600B. C’est limite pour du triphasé en 400v car en crête cela correspond à 565V. Comme il faut améliorer le refroidissement également, on peut remplacer le triac par un BTA40-800B en boitier RD91 qui est donné pour 800V. https://fr.aliexpress.com/item/1005001762265497.html?spm=a2g0o.order_list.order_list_main.5.2cc25e5bjXR0w2&gatewayAdapt=glo2fra#nav-specification
Merci pour le schéma avec le chauffe-eau alimenté en triphasé !
Juste pour être sûr, on conserve le Dimmer Module de RobotDyn et on remplace le triac fourni par un BTA40-800B en boitier RD91, avec un refroidisseur adapté ?
Par contre, je ne saisi pas trop pourquoi : « En y regardant de plus près, un seul relais suffit. On laisse une phase branchée en permanence. »
Cordialement
Oui un BTA40-800B me parait plus approprié, pas juste en limite. Il faut un bon refroidisseur. Le boitier RD91 diffuse mieux que le TO220.
Pour le branchement, comme il n’y a pas de neutre dans le montage triangle, on a que 3 fils. Si on en branche 1 seul, il ne se passe rien. On contrôle l’ensemble avec un Triac sur une phase et un relais sur la deuxième et la troisième connectée en permanence.
Cdlt
Certains relais SSR sont fournis directement avec un dissipateur thermique. Est-ce nécessaire ou recommandé ou superflu dans le cas du chauffe-eau triphasé (3000 W) ?
Un dissipateur thermique est nécessaire, il y a quelques dizaines de W perdus en chaleur par le SSR.
Cdlt
Etes-vous certain qu’il s’agit d’un montage triangle ? (auquel cas chaque résistance serait en 380v).
Un montage en étoile (même sans neutre) permet d’utiliser des résistances 230V et donc un passage en monophasé possible après modif du câblage et apport du neutre.
Je ne sais absolument pas ce qui ce fait le plus couramment pour les chauffe-eaux – la deuxième solution me parait plus probable mais sans aucune certitude.
Si le neutre est présent mais non câblé, c’est pour pouvoir utiliser ce chauffe-eau en monophasé 230V. Dans le cas ici, il n’y a que les 3 fils de phase utilisés. Triangle ou étoile ce n’est pas important.On en laisse un connecté en permanence et on passe via un relais et un triac pour les 2 autres.
Bonjour,
Etant aussi en triphasé, je vais faire la même chose: connecter le neutre au centre de l’étoile et utiliser les relais SSR pour piloter les 2 autres phase en tout ou rien (la première étant contrôlée par le triac).
Je me pose maintenant de questions sur le refroidissement du triac et des relais SSR, chacun pouvant faire passer 1000W.
Pour les relais SSR, j’ai vu des radiateurs (50x50x80) qui ont le bon gout de se fixer sur le rail DIN d’un boitier électrique. L’ensemble restant enfermé dans le boitier modulaire, la dissipation est-elle suffisante?
Pour le triac, je vois surtout des radiateurs externes au boitier modulaire; cela nécessite de dessouder le triac pour le déporter… Quelle taille de radiateur prendre?
Si quelqu’un a une réalisation technique du refroidissement passif avec pour 1 triac et 2 SRR, je suis intéressé.
Attention, en connectant le neutre au centre de l’étoile, le thermostat électronique ne coupe que 2 des 3 phases., ce qui signifie qu’une des résistance sera en permanence alimentée.
Tout à fait, mais on peut avoir un montage étoile de résistances et le neutre non branché.
Cdlt
En effet, si le thermostat ne coupe pas les 3 phases, mieux vaut éviter de brancher le neutre au centre de l’étoile, et piloter les 2 autres phases avec un triac et/ou un SSR comme vous le décrivez (une phase étant en permanence connectée).
Le SSR ouvert, le triac pourra charger 2 résistances en consommant jusqu’à 1500W (mode d’alimentation entre 2 phases).
Si la consommation passe en dessous du seuil de -50Watt du SSR, le SSR se fermera et le triac retournera aux alentours de 0% (avec possible évolution jusqu’à 100% pour atteindre 3000W)
C’est bien ça?
Oui c’est bien cela.
André
Bonjour,
Concernant la mise en oeuvre en triphasé, avec l’usage du triac et d’un seul relais SSR, j’ai fait le schéma de câblage ci-dessous:
https://zupimages.net/up/23/38/7ey6.png
La connexion de la phase « permanente » est faite dans le boitier du routeur, afin d’avoir au même endroit tous les branchements.
Pour éviter d’avoir un câble d’alimentation supplémentaire (celle de l’ESP32), c’est plus pratique de se brancher sur une phase existante. Pour la protection, est-ce qu’un petit fusible (0.2A) est suffisant? (car il n’y a pas de disjoncteur 2A dédié dans ce cas).
Les câbles 5g2.5 qui permettent les branchements en amont et aval du contacteur (contrôle visuel plus facile), ayant tous les 2 le neutre et la masse, je les connecte ensemble pour éviter la confusion (dans l’absolu, un seul neutre et une seule terre serait suffisant). Est-ce contre-indiqué?
Le contacteur pourrait être supprimé, mais autant le conserver pour ceux qui l’ont déjà; on peut aussi le désactiver en coupant le disjoncteur 2A de commande, et éventuellement utiliser le routeur en marche forcée.
Très bien votre petit schéma en triphasé.. Je le publierai dans une prochaine édition de la documentation. Le petit fusible de 0.2A est suffisant. Le câblage tout dans la même boite et raccordé les N et Terre. C’est très bien.
Ludovic
J’ai analysé à nouveau votre schéma. Le dimmer monté entre phase P2 et neutre ne fonctionnera pas. La phase n’est pas la même qu’entre P1 et P2. Il y aura un décalage.
Il faut monter entre P1 et P2 le dimmer. Il faut mettre aussi un Triac 800V car on a du 400V efficace.
Cdlt
Bonjour André,
Avec un montage triphasé où le neutre est en référence du dimmer, le Zero Cross ne se fait pas lorsque la tension entre phases est à 0V, mais un peu avant ou un peu après en fonction des phases utilisées. On peut le voir sur les 2 figures ci-dessous:
https://zupimages.net/viewer.php?id=23/40/vslv.png
Les surfaces correspondent à la zone qui sert à router de l’énergie (entre « retard » et ZC/neutre); cette surface est mathématiquement calculable.
Mais est-ce que cela a de l’importance de ne pas avoir 0V?
Avec le triphasé on aura au mieux une phase qui commute à 0V, et le 2 autres ne le seront pas. Quel est l’inconvénient à couper le triac quand la tension n’est pas à 0V?
Proposez-vous de mettre la seconde phase comme référence à la place du neutre? Dans ce cas, il faudrait vérifier que le composant de détection ZC supporte 565V au lieu des 400V.
Ci-dessous un schéma de carte dimmer; on voit que le neutre ne sert qu’à la fonction de détection ZC.
https://zupimages.net/viewer.php?id=23/40/ri3q.png
Cordialement,
Un triac à besoin de 0V entre les anodes pour s’arrêter de conduire. Même si vous avez 0V sur la gâchette, dès qu’il conduit suite à une impulsion sur la gâchette, il ne s’arrêtera que lorsque la tension entre anodes sera de 0V.
Un système fournissant le Zc entre phase et neutre, et un système fournissant le Zc entre 2 phases, il y a Pi/6 de décalage. Si le triphasé est équilibré, avec un Zc pris comme on veut, il est possible par décalage dans le temps de recréer tous les Zc sur les autres phases. En pratique il est préférable de générer le Zc sur la même phase qu’utilise le Triac.
Cdlt
Ok, je comprends mieux maintenant. Il faut donc avoir le ZC bien positionné pour arrêter le triac.
J’ai refait le schéma pour tenir compte de ce changement:
https://zupimages.net/viewer.php?id=23/40/anb3.png
C’est plus simple que d’ajuster le retard par logiciel, surtout qu’on n’est jamais certain de l’ordre des phases; une erreur serait donc possible.
Après les tests, je vous transmettrai des propositions d’ajout de fonctionnalités:
– estimation de l’énergie totale routée dans la journée par calcul de puissance active sur 10ms, en fonction du retard
– forçage du chauffe-eau en heures creuses si un seuil minimum n’a pas été atteint
– accélération d’asservissement par calcul du retard à appliquer pour obtenir directement la consigne
– l’activation du relais de la 3ème phase, remet le triac à 0% pour avoir une consommation sans à-coup.
– contrôle du relais que si l’asservissement du triac est stabilisé
– ajout d’une seconde voie (triac) en monophasé (pour un radiateur), moins prioritaire que la voie triphasé
– ajout d’une sonde de température
Cordialement,
Top !!
j’etais justement en train de reflechir a une solution de ce type !!
je commande mon optocoupleur pour faire le test si ca fonctionne avec 2 apareil sur la sortie TIC
merci encore
Bonjour André,
Merci pour tout.
Je suis avec la version linky 3.11 qui fonctionne parfaitement après avoir trouvé une solution pour résoudre le problème de distance entre le linky et la maison (+100m) – CPL+PA wifi-. J’aurais aimer raccorder un esp32ethernet directement sur la CPL mais pour l’instant tout est stable et fonctionne parfaitemnt.
L’ESP+dimmer dans la maison me remet en température un chauffe-eau en 3heures environ.
J’aimerais avoir ton avis sur la meilleure solution pour charger le deuxieme chauffe eau de la maison qui est distant du premier.
– un autre couple esp+dimmer mais comment vont se comporter les triacs ils vont se courrir après..HI. Comment leurs donner une priorité.
– Je peux connaitre la fin de charge du premier chauffe eau (contact sec du double thermostat) mais comment récupérer l’info sur l’ESP ?
Si tu trouves un moment pour me donner des idées……
73
Il faut simplement 2 ESP avec dimmers.
Mettre le premier avec un seuil à 0W.
Mettre le deuxieme avec un seuil de -20W.
Ainsi le premier démarre quand il y a surproduction. Lorsque le premier chauffe-eau s’arrête, il y aura de l’injection et le deuxième relais va s’ouvrir à partir de -20W.
On espace les 2 seuils de quelques watts pour s’affranchir du bruit de mesure qui pourrait faire démarrer le 2 avant le 1. À tester sur place.
Cdlt
Bonjour André,
J’ai effectué une mise à jour de mes deux ESP32 de la version 3.00 à la version 3.11 pour me faire un protocole. Je constate un bug dans l’affichage du premier graphique. L’échelle en Y va de -1 à 1 et par conséquent les courbes hyper zoomées, sont incomplètes. Est-ce qu’une mise à jour nécessite un RAZ ou est-ce un bug déjà constaté ?
D’avance merci !
Cordialement,
Contexte : Mon installation alimente un chauffe-eau de 3kW monophasé, depuis plusieurs semaines. C’est une version Linky en monophasé, constituée de deux modules ESP32 Wroom 32U qui communiquent leurs données. Pour supporter cette puissance (Imax=13A), j’ai adapté le gradateur Robotdyn en changeant et en externalisant le triac et le dissipateur. J’ai mis un Triac BTA25-600B au format RD91 monté sur un dissipateur externe de 100x150x28mm ; Rth = 1°C/W ; T°max surface dissipateur = 45°C à Ta = 25°C. Si vous le souhaitez, vous pouvez commenter ou questionner ces choix.
D’autres ont également changé le Triac avec satisfaction. Par exemple le BTA40-800B en boitier RD91.
J’en ai commandé pour faire l’essai.
Cdlt
André
Je me réponds à moi-même car je pense avoir trouvé la cause : J’ai constaté des erreurs dans la lecture des données du Linky, ce qui fausse les calculs. Alors que tout fonctionnait parfaitement avant la MAJ avec une résistance R1 de 2500 ohms, il s’avère qu’en remettant R1 à 1500, tout fonctionne parfaitement. J’avoue ne pas comprendre le lien avec la mise à jour, mais c’est ainsi. Quelque chose a changé que j’ignore. Coté version, je suis revenu en v3.00 sans watchdog et avec RAZ des données. Je tenterai de refaire la MAJ en v3.11 sans watchdog dès que possible.
Moi aussi, je ne comprends pas le lien entre la version logiciel et l’adaptation de l’entrée du Linky.
Cdlt
Il n’y en a pas. C’est juste que la valeur de la résistance garantissant une bonne lecture des données du Linky a soudainement baissé sans que je comprenne encore pourquoi. Jusqu’à maintenant, le montage était sur une plaquette lab. Je viens de souder les composants sur circuit en vue de le mettre en boite. Les 1500 ohms sont toujours parfaits… A suivre !
Bonjour et merci pour ces excellentes informations
Je possède des panneaux photovoltaïques en auto consommation, je viens d’augmenter la surface et j’envoie du surplus dans le réseau Enédis
Votre tuto convient pour mon installation.
Je viens de faire passer mon compteur Linky en mode « Standard » et de commander le matériel en Chine pour l’installation.
Mais j’ai un doute sur le branchement de mon chauffe-eau triphasé (sans fil neutre eau chauffe-eau) avec contacteur jour et nuit.
J’ai fait un schéma de mon interprétation des branchements, comment puis-je vous le faire parvenir
Cordialement
Sur f1atb.fr@gmail.com
bonjour, lors du transfert vers l’esp32 j’ai eu ce message
RouteurSolaire_V_3_11_Linky.ino:30:10: fatal error: RemoteDebug.h: No such file or directory
Il ne me manquerai des librairies par hasard ?
Antoine
C’est expliqué sur la page, il faut installer la librairie Remote Debug.
Cdlt
Bonjour
j’ai ce défaut a la compilation du programme
c:\Users\jmd\Documents\Arduino\libraries\RemoteDebug\src\utility\WebSockets.cpp:42:10: fatal error: hwcrypto/sha.h: No such file or directory
#include il me manque une librairie ?
^~~~~~~~~~~~~~~~
Relisez le chapitre BUG sur la page. C’est expliqué.
Bonjour André,
Tout d’abord un grand merci pour le partage de tout ce travail.
Une question technique: je vais devoir séparer mesure et action. Donc, 2 cartes avec liaison wi-fi. Sur A, les seules cartes vendues avec une antenne sont des cartes destinée à un usage vidéo, avec 16 broches. Ces cartes sont elles utilisables avec l’application que tu as développé ?
Bien cordialement – Patrick
Voici la carte que j’utilise
https://fr.aliexpress.com/item/1005005306335907.html?spm=a2g0o.order_list.order_list_main.34.3b215e5bJBJesq&gatewayAdapt=glo2fra
Elle a les mêmes pins que la sans antenne.
Cdlt
bonsoir, quelqu’un aurait une petite idée pourquoi j’ai ce message d’erreur au moment de televerser ?
Changing baud rate to 921600
Changed.
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Configuring flash size…
Flash will be erased from 0x00001000 to 0x00005fff…
Flash will be erased from 0x00008000 to 0x00008fff…
Flash will be erased from 0x0000e000 to 0x0000ffff…
Flash will be erased from 0x00010000 to 0x000f7fff…
Compressed 18992 bytes to 13112…
Writing at 0x00001000… (100 %)
bon apparemment l’esp32 est hs j’ai teste sur un autre et j’ai pas de message d’erreur.
par contre sur mon smartphone je vois bien le wifi linky-esp32-919220 mais impossible de me connecter avec 192.168.4.1
Une idée ?
Votre smarthone a t’il bien basculé sur le Wifi de l’ESP32? Il ne doit plus être connecté au Wifi de la maison.
Cdlt
quelquefois il ne faut pas chercher à comprendre.. sur mon smartphone impossible de me connecter alors que sur celui de ma femme j’accède à l’adresse IP 192.168.4.1 sans problème.
de ce fait tout fonctionne à merveille encore merci pour votre travail
Parfait. Bon routage.
bonjour Antoine
J’ai eu ce problème
Selon ma modeste expérience le mode dans le flashage du ESP32 dans Arduino >outils devait probablement etre:
Erase All Flash Before sketch Upload « Enabled » ce qui réinitialise l’ Esp32 il faut dans ce cas le reflasher pour pouvoir le réutiliser. On trouve tout les outils sur https://www.espressif.com/en/support/download/other-tools. j’en ai reflashé plusieurs notamment en batch sous PowerShell
Cdlt
>
Bonjour
après 2 semaines vraiment satisfait de votre réalisation.
Est il possible de voir la page html par internet (cad en étant hors de portée du wifi) en passant par la box ?
Cdlt
Oui, vous pouvez accéder depuis l’extérieur en passant par votre box. Il faut au niveau de la box router les messages qui arrivent depuis l’extérieur sur un port compris entre 1025 et 65530 vers votre ESP défini par son adresse IP et le port 80. La box agit comme un standard téléphonique d’entreprise qui transfère les appels externes vers l’interne suivant la numérotation interne.
Exemple dans le navigateur à l’extérieure vous rentrez l’adresse :
228.193.45.68:6000
– 228.193.45.68 correspond à l’adresse IP de votre box sur internet
– 6000 est le numéro de port que vous avez choisi
Votre box enverra les messages sur 192.168.0.25:80
– 192.168.0.25 est l’adresse IP de votre ESP sur le réseau de la maison
– 80 est le port par défaut de tous les messages http
La seule difficulté, c’est avec les box d’Orange qui changent périodiquement d’adresse IP externe. Il existe des solutions, mais c’est plus compliqué.
Regardez au niveau de votre box le chapitre NAT (Network Adress Translator). C’est là que vous définissez les règles de transfert.
Ils existent des Tutos qui expliquent dans le détail comment faire.
Cdlt
@Ad Campos
Exemple de paramétrage d’une livebox 5 pour un accès externe au serveur web du routeur solaire:
Coté ESP, on ne change rien.
Coté livebox, créer une règle de translation d’adresse comme suit:
Dans un navigateur aller sur la console d’administration de la livebox en 192.168.1.1, choisir Réseau puis onglet NAT/PAT.
Dans cette page, au dessous de « Vos règles personnalisées » renseigner les 6 cases pour définir une nouvelle règle
:
Application/Service: – case 1 : Web Server (HTTP)
Port interne – case 2 : 80
Port externe – case 3 : 8080
Protocole – case 4 : TCP/UDP
Équipement – case 5 : Sélectionner votre ESP dans la liste déroulante (il doit être défini avec une adresse IP statique)
IP externe – case : Toutes
Cliquer sur Créer !
Pour accéder depuis l’extérieur, il faut dans un navigateur saisir : « adresse ip externe de la box:8080 »
Si l’adresse ip externe change régulièrement (comme chez orange), il faut passer par un service comme par exemple DYNDNS (gratuit si vous le réactiver chaque mois). Il en existe d’autres comme ClickIP, Dynu, ClouDNS etc…
Merci pour les possesseurs de Box Orange
Bonjour André. Mes routeurs fonctionnent parfaitement, (chauffe eau et chauffe piscine, cf graphiques avant les routeurs et après leur mise en service (juin et septembre, on voit que la partie orange réinjectée sur le réseau à drastiquement diminuée et ma piscine ne nécessite quasiment plus de chauffage par la PAC https://e.pcloud.link/publink/show?code=kZwnI2ZEIR3rVUUqCutkfo0RXuRnhSgzzAk) mais je vais avoir un petit problème, J’ai un abonnement tempo, et je voudrai pouvoir changer mes actions en fonction de type de jour (bleu, blanc rouge) à fin de pouvoir désactiver certains équipements en jours rouge ou blanc, j’ai bien essayé de reprendre cotre logiciel, mais je suis un peu nul en programmation et je n’ai pas réussi à récupérer cette information de tarification dans les trames. Je sais que c’est beaucoup demander car vous avez beaucoup de projets en cours, mais si je pouvais me dépatouiller sur ce problème, ce serait super! avez vous un moyen simple de récupérer cette info, (fichier, domoticz, mqtt…)
Vous n’êtes pas le premier à me demander cela. Je n’ai pas d’abonnement Tempo.
En premier il me faudrait une copie des trames brutes à chaque période bleu blanc rouge pour voir quelle est la variable qui traduit ce status. Cela dépend des fournisseurs. Je suppose que vous avez EDF comme fournisseur.
Les courbes sont superbes. Un gain important avec le routeur.
Cdlt
Bonjour André,
Pour les jours bleus, en Tempo, on a:
LTARF HP BLEU
ou
LTARF HC BLEU
J’imagine qu’on aura les variantes BLANC et ROUGE pour les jours blancs ou rouges.
Ok. J’ai regardé de plus près le contenu de la variable LTARF. Elle dépend des fournisseurs. Vous avez par exemple HP BLEU. Chez moi c’est HEURE PLEINE. Il faut que je réfléchisse à une solution qui ne soit pas une usine à gaz adaptée à chaque fournisseur.
Cdlt
Bonjour André et tous
Il n y a que edf qui propose TEMPO avec ses 6 tarifs !! c est vraiment intéressant !
quand on peut s affranchir de conso avec les panneaux les jours rouge HP à plus de 70cts le KW tous les autres tarif sont en dessous du KW tarif bleu standard. En fait je pense qu il ne faut tester que LTARF HP ROUGE et option LTARF HP BLANC car en HC y a pas de soleil donc routeur inactif! Je vais si tu le permet faire la modif et te l envoyer par mail
Arnaud
Bonjour à tous, cette option m’intéresse aussi, merci d’envisager son intégration, Je confirme que seul EDF propose l’option TEMPO.
Bonjour André, J’ai migré de UXI vers Linky, et tout est ok ! J’ai un peu galéré avec les dimmer triac chinois, sur le lot que j’avais commandé, deux ne fonctionnaient pas, malgré des contrôles ok, heureusement j’en avais commandé trois, et un sur les trois fonctionnait parfaitement.
Je vous joins comme promis la trame pour l’option Tempo d’EDF, (la voilà : https://e.pcloud.link/publink/show?code=XZDP9sZSgDmCeUV8MJ2vrO7AEgiRVGWpEWX ) je souhaiterai pouvoir commander ou inactiver un relais si l’on passe de en HP ROUGE sur LTARF. (Les autres options sont HP BLEU HC BLEU HP BLANC HC BLANC et HC ROUGE ) mais seule la première ( HP ROUGE) est intéressante
Mais mes connaissance en prog sont restreintes. et je ne sais comment faire. pour le moment, seul EDF propose cette grille tarifaire qui est très intéressante si l’on peut gérer finement les Jours ROUGE Si vous avez une idée, je suis preneur! : )
Pour votre information et celle des contributeurs à ce site, les relais SSR 40A doivent être efficacement refroidis (avec un gros radiateur) si la charge est importante (5kw en charge 60/65%° avec radiateur ), le constructeur recommande le radiateur au delà de 60A (des amateurs) J’ai fondu une boite … 🙂 heureusement, que des dégâts minimes
radiateur là: https://fr.aliexpress.com/item/4000347348597.html?spm=a2g0o.order_list.order_list_main.23.50225e5bW71cly&gatewayAdapt=glo2fra
Je ne sais plus si vous utilisez un broker MQTT , Home Assistant ou autre , car dans la prochaine version V5 du routeur, l’option tarifaire sera envoyée pour pouvoir piloter de la domotique.
Merci pour la recommandation du relais et son refroidisseur.
Cdlt
André
Bonjour André, J’utilise DomoticZ avec un Broker MQTT,
Merci pour votre réponse, toujours rapide ! J’attended doc la V5 !
Cdlt
Alain
Je pense supprimer dans la V5, l’accès direct à Domoticz avec l’unique valeur de la puissance transmise. Tout le monde devra passer par MQTT. Qu’en pensez vous?
Cdlt
MQTT devrait aller, : ) . J’imagine que c’est un protocole identique pour Domoticz et HA!
Cela évitera les usines à Gaz ! et vous facilitera la vie !
Merci encore André, la version 4.04 fonctionne au poil, je vais migrer vers la 5. Mais avant, je migre de Domoticz vers Home Assistant.
Je reçois parfaitement les infos MQTT et l’option tarifaire, ce qui va me permettre de gérer des scénarios plus sophistiqué lors du changement de tarification (passage sur groupe, interdictions sur le courant de jour… ) Merci encore pour votre réactivité.
Un exemple sous MQTT HA : https://e.pcloud.link/publink/show?code=XZrWXDZz2UqV881mx05w9zjM0wxAJwWM2By
J’aimerai pouvoir vous envoyer un petit truc, ce sera fait si vous me transmettez votre adresse.
Bonsoir, Une autre question pour un problème de compilation
J’essais de compiler le programme du routeur linky et j’ai cette erreur qui s’affiche, tous les .h sont présents dans ma machine. J’avoie ne pas avoir d’idée pour résoudre cela.
C:\Users\Administrator\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
Relisez le chapitre Bug sur la page, c’est expliqué.
Cdlt
merci pour cette réponse rapide
Cdlt
bonjour, j’ai un soucis avec ma courbe
Les données ne sont pas régulières, est ce normal ?
https://zupimages.net/up/23/37/bilt.jpg
de même du coté de la led verte, elle ne s’allume pas alors que j’injecte sur le réseau
Cordialement
Regardez le chapitre « Page principale » de la page. Vous verrez qu’en phase régulation, vous avez la courbe rouge, les watt, ceux que vous payez autour de zéro et la courbe bleu-vert des VA fortement chahuté. C’est exactement ce que vous avez, c’est normal.
La Led verte devrait clignoter de tempe en temps à la place de la rouge.
Cdlt
C’est bon j’ai du jouer sur la valeur de la résistance R1 afin que tout soit enfin cohérent.
Si ca peut servir , je suis parti d’une résistance variable et j’y suis allé a peu près par palier de 100 ohms. Du coup je me suis arrêté vers les 1.2K.👍👍
Encore merci de votre aide.
Quelle longueur de câble et quel type avez vous entre le Linky et l’ESP32?
J’ai a peine 30 cm ( recup multibrin HP )entre l’esp32 et le linky
Bonjour, je ne comprends pas ce message? une idée svp
C:\Users\bidul\Desktop\Nouveau dossier\RouteurSolaire_V_3_11_Linky\RouteurSolaire_V_3_11_Linky.ino:414:10: error: ‘Serial2’ was not declared in this scope
while (Serial2.available() > 0) {
^~~~~~~
C:\Users\bidul\Desktop\Nouveau dossier\RouteurSolaire_V_3_11_Linky\RouteurSolaire_V_3_11_Linky.ino:414:10: note: suggested alternative: ‘Serial1’
while (Serial2.available() > 0) {
^~~~~~~
Serial1
exit status 1
Compilation error: ‘Serial2’ was not declared in this scope
Je pense que vous avez dû toucher au programme source.
Serial2 est déclaré en ligne 213.
Ou le message d’erreur du compilateur est faux, car l’erreur est ailleurs.
ReTéléchargez le source d’origine.
Cdlt
Bonjour André,
Le routeur fonctionne à merveille pour chauffer le ballon avec le surplus. Plus de 2 semaines que la PAC est arrêtée, eau chaude à volonté.
J’ai mis un petit ventilo 50x50mm sur le radiateur du triac, un ventilo 12V branché sur le 5V, la température ne dépasse pas les 35º.
Mais il tourne 24/24, j’ai essayé de connecter un petit relais sur le GPIO17 pour ne l’activer que le jour.
https://www.ebay.fr/itm/134671156920?var=434185473428
Je prends le 5V et le GND de l’ESP. le pilote (IN) sur le GPIO17, J’ai bien mis les commande gpio=17&out=1 ou 0 pour OFF.
mais le relais est actif en permanence.
Sur la page d’accueil suivant le réglage des heures ON/OFF j’ai bien soit ON soit OFF, mais le relais reste activé.
Un idée? Syntax des commandes ON OFF mauvaise, modif à faire dans le soft?
Merci d’avance.
Cordialement.
Fred.
Bon je vais me répondre LOL. Que quelqu’un me corrige si je dis des conneries.
Le GPIO17 ne passe pas en High ou Low, par contre sur le GPIO2 et le 5 la commande fonctionne.
J’ai peur que si je mets l’alim du relais sur le 3.3V de l’ESP32 le relais demande trop et fasse griller l’ESP
Car le GPIO ne peut sortir que 3.3V donc pour déconnecter le relais il me faut une alim 3.3V.
Si je laisse l’alim en 5V le relais reste engagé même avec 1.7V
Je pense que je vais me prendre un petit SSR. Ce sera plus sur.
https://www.ebay.fr/itm/312353773827?hash=item48b9bc5903:g:69oAAOSwg5FcBkTT&amdata=enc%3AAQAIAAAA4GQ2WXo9wOgL4dGyJiA1baFFclosv1vBeY1Qhp0xHZPN7yeOYNfm3Mw1QV2xtEDYFrlVCjw0whaUL1nXT1ikdO2A07jhwkR7H3MfOl8Q44v1dSvJCHtXoNdwU0uw0afKTnMI%2FCaERdBYO67N5hhWLaeN9%2F0QzxKeZqBg86uZsUq23OG7ow0BmG1aP5fCD%2Fd2foED4WMkoxg2vTNfNBpIKbEyZ65XYulHDy%2BSuy2Hgu8rHleu4OtxRsnkKsxkxbEEEONEV9bcgdeqSXphag9NO6K16J6KAS3sgUI1hbkLIVf0%7Ctkp%3ABk9SR5D–PzSYg
Cdt
Fred.
Perso j’utilise le gpio17 pour commander ce relais statique et ça fonctionne : https://fr.aliexpress.com/item/1005001769032230.html?spm=a2g0o.productlist.main.7.5bf37ab8eUGJ2T&algo_pvid=67e01352-1b11-4b6a-bc43-d6d458b68e55&algo_exp_id=67e01352-1b11-4b6a-bc43-d6d458b68e55-3&pdp_npi=4%40dis%21EUR%214.33%212.81%21%21%214.50%21%21%40211b88f016947680287078791ef687%2112000017496291577%21sea%21FR%211619499423%21S&curPageLogUid=CvKUmAt4fWfR
Merci Nutta, délai de livraison un peu long, pour quelques Euro de plus je pense que celui de la Baie ira.
Bizarre, je n’arrive pas à faire changer le status de GPIO 17, Il reste à ZERO???
Par contre 2 et 5 no problem. 0V ou 3.3V
Peut être c’est du au modèle d’ESP32 WROOM j’ai pris celui avec l’antenne WIFI externe.
Bonjour André,
Je souhaite utiliser le code du routeur solaire pour simplement récupérer et afficher les données en mode standard, et pour cela, je souhaite modifier ce code afin de ne conserver que les pages « Accueil », « Données Brutes » et « Paramètres ».
J’ai bien essayé de m’y retrouver dans les différents fichiers, mais je n’arrive pas à éliminer cette page « Actions ».
Pouvez-vous m’indiquer les modifications à faire dans le code du routeur solaire pour arriver à mes fins ?
Merci d’avance.
Hervé (Port d’Envaux, Charente Maritime)
Ne cherchez pas à enlevé la page Action. Il y a plus simple. Enlevez le lien HTML pour ouvrir Action.
Dans les pages pageHTMLMai.h, pageHtmlPara.h et page HtmlBrute.h enlevez autour des lignes 24 à 36 sur la droite
< div class='Bactions'>< a href='/Actions' " >Actions< /a >< /div >
Merci André, cela fonctionne exactement tel que je cherchais à le faire.
Bonne journée à vous, et encore bravo pour tous ces tutos.
Cordialement,
Hervé.
Merci
Merci pour le partage de votre travail. Le routeur fonctionne très bien depuis 1 mois après avoir un peu galéré au début car je n’avais tout bien lu…. Un petit don pour le développement du site est amplement mérité.
Bonjours à tous
Une autre petite question André, qu elle est la signification du petit point rouge en haut a gauche ?
merci
Arnaud
Chaque fois qu’un échange de données avec le Linky se réalise, le point rouge clignote.
Cdlt
Bonjour,
J’ai réalisé le montage et je suis en CACSI , j’ai les 2 leds mais la led jaune qui devrait clignoter quand j’ai de la consommation devrait dans certains cas clignoter, mais aucun clignotement.
La verte ne doit jamais clignoter puisque j’ai pas d’injection de gérer.
J’ai tester mes leds et elle s’allume bien.
Cordialement,
Avec la version Linky, la LED jaune clignote à chaque arrivée d’un message du Linky. C’est-à-dire brièvement toutes les 2s. Si pas de clignotement, pas de message reçu.
Cdlt
Bonjour,
Merci André pour la réponse. Pourtant dans les données brute j’ai bien les informations qui arrivent et je vois changer champ Date les secondes défilaient, sur les champs URMS1,URMS2,URMS3 les valeurs de tension variaient un peu, je suis en triphasé.
Mais pas de clignotement de la led jaune.
Cordialement,
Pour compléter ma réponse et finalement j’avais mis le moins sur la GND à coté de la GPIO19 (comme sur le premier schéma) et maintenant j’ai modifié et en mettant le moins pour les Leds comme sur les autres schémas la Led jaune clignote environ toutes les 2 secondes.
Cordialement
On m’a signalé que certaines cartes n’ont pas tous les GND reliés ensemble.
Salut à tous
je viens de préparer un autre EPS pour mon cumulus tri ,
mais j ai un peu de mal a saisir :
« 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. »
si quelqu un peut m éclairer !
merci
petit complément , dans le cas d un tri « seuil(off) – seuil(on) soit supérieur à la consommation de l’équipement connecté » conso d une seule resistance ?
arnaud
Imaginez que vous mettez un seuil On à -100W pour une charge connectée de 500W. Lorsque la puissance en entrée de maison va passer au dssous de -100W, par exemple -110W. Le relais va s’enclencher. On va consommer alors -110+500= +390W
Il vous faut un seuil Off à par exemple 450W. Si le seuil off était à +300W, le relais passerait Off immédiatement après le On. Il en résulterait une entrée en oscillation du relais.
Cdlt
bonjour
dans mon cas pratique , ayant une résistance qui consomme 700W , j ai donc interrret a mettre le on a -800 et le off a -50 c est bien ca ?
cdl
Arnaud
Je suppose que vous parlez d’un relais et non du Triac. La différence de plus de 700, c’est OK. Par contre, vous pouvez monter ces seuils pour déclencher plus tôt, sachant que vous avez un talon de consommation. Même si vous consommez un peu sur EDF ce sera toujours plus intéressant.
Par exemple [- 400 , +350] ou [-200 , + 550].
Cdlt
Bonjour André, tout d’abord merci pour ce projet et pour vos qualités de pédagogue.
J’ai réalisé votre montage mais malheureusement je n’ai aucune données Linky qui arrive.
La connexion Wifi fonctionne très bien et j’ai accès aux différentes pages.et la page accueil tout est à 0.
J’ai branché oscillo entre GND et GPIO26 et j’ai un signal variable positif carré de 2Volts.
Je n’arrive pas à voir d’où pourrait venir le problème. Merci d’avance et bonne journée
Je peux vous envoyé ne copie d’écran de l »oscillo si vous le souhaitez
Baissez la résistance R1 à 1200ohm voire moins.
Êtes vous bien en mode Standard pour le Linky?
Cdlt
Merci pour la promptitude de votre réponse. En fait je suis en mode Historique TIC. Je vais demandé à passer en mode standard.
Je vous tiendrai informé.
Salutations.
Bonjour
J’ai reçu le matériel, après quelques problèmes de livraison
J’ai réalisé votre montage mais malheureusement je n’ai aucune données Linky qui arrive.
La connexion Wifi fonctionne très bien et j’ai accès aux différentes pages.et la page accueil tout est à 0.
Je n’ai pas d’oscillo, comment puis-je controler si j’ai des informations qui remontent de mon compteur
Je n’ai pas signé de CACSI
Mon compteur est en mode « Standard » mais je n’ai pas le « P » de production
Je viens de demander à Enedis de me passer en producteur
Est-ce-que le fait de ne pas avoir le « P » peut expliquer le défaut de remonté d’informations
Cdlt
Si vous n’avez pas de données, c’est un problème au niveau du décodage du signal du Linky. Baissez la résistance R1 de 1500ohms essayez 1200,1000,820 ou augmentez là un peu. Je ne sais pas quelle longueur de câble vous avez.
Cdlt
1 m de câble
Cdlt
bonsoir,
encore une petite question !
j’ai pas de resistance 1500 ohm pour R1 vous pensez qu’une 2000 c’est bon ?
ou alors je ferais une association de resistance pas envie d’en commander 100 mdr
merci
Bonjour André,
Bravo pour ton travail et surtout la qualité de ton partage.
Je m’apprête à assembler mon premier routeur mais constate que le brochage de ma carte ESP 32 comporte 30 pin GPIO… Par exemple les GPIO 02 et 17 n’existent pas.
1. Mon type d’ESP32 est il utilisable pour le projet ? Puis je utiliser 2 autres GPIO et en modifiant les adressages dans le programme (commande relais). Combien de lignes à modifier ?
Cordialement,
Jérôme
Pas de souci, il vous faut la 22,23 et 26. Si jamais elles ne sont pas disponibles, vous pouvez le changer dans la déclaration en début de programme.
Pour un relais, c’est dans la page Action du site web de l’ESP que vous le définissez. On peut mettre n’importe quel GPIO de libre.
Bonjour André,
Merci pour vos efforts énormes de vulgarisation.
Comme presque tous ceux qui laissent un commentaire, j’ai aussi une question.
J’ai réalisé pas à pas l’installation en version 3.11. J’ai 2×2 panneaux solaires de 400w avec micro-onduleurs. Sur les courbes du fournisseur (Geredis chez moi dans les deux-sèvres) on voit souvent une consommation à 0 entre midi et 18h. Donc les panneaux semblent bien connectés.
J’utilise l’application web sur mon ordinateur ou mon smartphone sans problème. J’affiche bien les consommations, les trames du linky, les graphiques. Donc le programme de l’ESP semble ok aussi.
Pour les derniers tests concernant le reroutage, j’ai utilisé un ampoule à incandescence en lieu et place du chauffe-eau. Mon ampoule ne s’allume jamais et pourtant le linky me signale chaque jour plusieurs KWh en injection (index injection) .
J’ai réexaminé le câblage, changé le dimmer de chez robodyn en vain.
Avez-vous une piste à me proposer ?
Merci.
En premier, testez que le dimmer fonctionne. Vous mettez sur On dans la page Action et regardez si ça s’allume.
Pendant que le soleil est intense regardez si vous avez l’ouverture du Triac en % qui est supérieure à zéro.
A vous lire, je pense que vous avez signé un CACSI ou que vous n’êtes pas producteur. Dans ce cas le Linky ne fournit pas la valeur « SINSTI » (puissance apparente instantanée injectée) . L’ESP ne voit pas l’injection, il faut mettre le seuil de déclenchement du Triac au dessus de zéro, par exemple +50.
Cdlt
Bonjour , et toutes mes félicitations pour ce travail.
j ai réaliser cette version routeur avec linky , pas de cacsi et pas déclaré producteur ( ca bug sur la déclaration ).
donc pas les remontés des injections , j ai donc appliqué de mettre 50W en seuil pour le triac , mais je n ai pas de régulation de ca valeur d ouverture , la consommation électrique monte a la valeur de la charge , reglage triac : seuil 50 / ouverture 100 / réactivité lente ou pas
ai je loupé quelque chose . merci de prendre sur votre temps pour me répondre
Je ne comprends pas pourquoi. N’oubliez pas de sauvegarder les paramètres.
Pour faire des essais, mettez le seuil au-dessous ou en dessous de la consommation actuelle pour voir si l’ouverture se fait bien à 0 ou 100%.
Cdlt
Bonjour , en faites après analyse , je vois bien la consigne du triac qui bouge dans la page de esp 32 , mais la consommation monte jusqu’à a la puissance de la charge . et j ai vu que même si la consigne passe a 0 , le triac reste ouvert , la led sur le module robotdyn reste allumé aussi .carte robotdyn défectueuse ??? en faite dés que la carte et piloté , elle reste a 1 .
Difficile de diagnostiquer à distance. Mais dans les Actions, forcez le Triac sur Off. Si le courant passe le Robotdyn est HS.
Cdlt
Bonjour André,
J’ai un problème de valeur avec le programme du Linky 3.11.
Les valeurs provenant du Linky semble correct,mais j’ai des problèmes avec les valeurs calculé.
exemple.
puissance apparente : 295VA
puissance active moyenne : -5823079w
J’ai plusieurs reset de l’energie active ce jour.
Cordialement
Stéphane
Vous avez simplement parfois des erreurs de lecture de la trame de données qui vient du Linky. Il faut modifier la résistance R1 de 1500ohm. Essayez 1200,1000 voire moins ou plus afin d’adapter l’entrée. Chez moi initialement j’étais à 1500, aujourd’hui après avoir eu quelques résultats incohérents je suis passé à 1200. Regardez la cohérence des valeurs sur le grand tableau blanc de la page données brutes.
Cdlt
Bonsoir André,
J’ai un V2 qui marche depuis des mois, c’est une merveille, Merci à vous.
Mais j’ai essayé de déporter le triac sur un gros radiateur en passant sur un BTA40-700b:
le triac réagit bien à Auto et Off. Mais avec une ampoule halogène de 20W, il n’y a aucune gradation à 25 50 75 100%
Vous auriez une hypothèse sur cette panne ?
L’halogène consomme trop peu. Mettez un sèche cheveux. A la vitesse du moteur vous verrez les variations.
avec le triac d’origine, la variation se voit sur une petite halogène.
sur la même ampoule ,avec le bta40, ça n’apparaît qu’allumé à fond ou éteint, sans intermediaire
je vais vérifier votre explication.
merci !!
André, Merci ! Vous avez raison, avec un gros ventilateur, ça varie bel et bien.
Bonsoir André,
Merci pour votre réponse rapide.
Je viens juste vous faire mon rapport suite à vos conseils:
Je ne m’étais pas encore intéressé à la page « actions » pensant qu’elle allait servir optionnellement pour brancher des SSR.
La page action montre que mon dimmer fonctionne.
L’ouverture du triac est montée jusqu’à 100% aux meilleures heures de soleil.
Je n’ai fait aucune démarche (je n’ai pas signé de CACSI), je ne suis pas producteur.
Le linky ne me fournit pas la valeur SINSTI. L’appli web n’affiche jamais de valeur d’injection.
Par contre, aujourd’hui je n’ai pas eu assez de temps de libre pour pour bien tester avec des seuils de déclenchement.
Encore merci pour vos conseils; je continue demain les tests.
C’est normal, n’ayant pas de SINSTI, vous n’aurez pas de valeur injectée. Avec des seuils légèrement positif, le routeur fonctionnera.
Cdlt
Bonjour André, bonjour à tous
Alors si ça peut servir ma solution pour un cumulus triphasé (arrivée 3×2.5)avec carte électronique (Thermor) sans possibilité de tirer un neutre :
Sur les 3 phases j ai identifié celle qui ne servait pas a l alim de la carte et petit chatterton bleu idem coté tableau et voila un neutre ! ensuite neutre au centre de l étoile et 2 premières résistances sur une phase avec triac et la troisième sur la deuxième phase avec SSR (intercalés entre la sortie du thermostat et les résistances).
peut être pas très catholique mais ça fonctionne !
Arnaud
Bonjour,
André, quand il y a une mise a jour d’un article pouvez vous le mettre de façon visible ?
Je vois qu’il y a eu une mise a jour le 27 mais ne trouve rien
Cordialement
Difficile à faire. En ce moment je réorganise la documentation pour préparer la sortie de la version 4 du routeur.
Cdlt
bonjour,
voila le montage d’essais est fait
– deux appareil sur le meme telininfos ca fonctionne !!( le routeur + le Wes )
par contre j’ai un probleme lorsque je suis en injection je n’ai aucune courbe,
mon compteur est bien en mode standard (triphase tempo )
lorsque je consome sur le reseau j’ai bien les deux courbes
avez vous une idee?
ADSC xxxxxxxxxx 3
VTIC 02 J
DATE E230928181251 H
NGTF TEMPO F
LTARF HP BLEU +
EAST 006697111 .
EASF01 002651594 B
EASF02 002692944 G
EASF03 000412132 1
EASF04 000541651 ;
EASF05 000200660 4
EASF06 000198130 =
EASF07 000000000 (
EASF08 000000000 )
EASF09 000000000 *
EASF10 000000000 »
EASD01 003264386 @
EASD02 003432725 ;
EASD03 000000000 »
EASD04 000000000 #
IRMS1 001 /
IRMS2 001 0
IRMS3 001 1
URMS1 232 A
URMS2 242 C
URMS3 243 E
PREF 12 B
PCOUP 12 \
SINSTS 00000 F
SINSTS1 00278 H
SINSTS2 00000 8
SINSTS3 00000 9
SMAXSN E230928110721 01640 9
SMAXSN1 E230928075655 00710 7
SMAXSN2 E230928110708 00550 /
SMAXSN3 E230928110745 00450 0
SMAXSN-1 E230922195822 03980 )
SMAXSN1-1 E230922075555 01200 I
SMAXSN2-1 E230922200041 02180 >
SMAXSN3-1 E230922195620 01590 S
CCASN E230928180000 00000 9
CCASN-1 E230928173000 00000 Y
UMOY1 E230928181000 231 3
UMOY2 E230928181000 243 7
UMOY3 E230928181000 242 7
STGE 013A4601 E
MSG1 PAS DE MESSAGE <
PRM 19342257579653 E
RELAIS 000 B
NTARF 02 O
NJOURF 00 &
NJOURF+1 00 B
PJOURF+1 00004001 06004002 16004001 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE 1
En premier, quel montage/résistance avez-vous mis en entrée du routeur. Cela peut aider d’autres personnes.
A la lecture des données du Linky, vous n’avez pas la variable SINSTI = puissance apparente injectée. Vous avez signé un CACSI ou vous n’êtes pas déclaré producteur.
Pour que le routeur fonctionne, il va falloir monter le seuil à 50 ou 100W , voire 200. A tester.
Cdlt
en entree de routeur j’ai suivi le montage de base ( resistance 1500 ohm)
mon installation n’etant encore pas terminee ( backup box solax a changer a cause de mauvais cablage usine) je n’ai donc pas encore de contrat de revente je suis seulement passe en mode standard en appelant EDF.
quand j’indique un seuil positif j’ai bien un pilotage de la sortie triac.
mais je suis toujours en injection a zeero
Personnellement j’avais des résistances ajustables que j’ai mises à la place des résistances fixes
j’ai reglé aux valeurs indiquées et fignolé la qualité du signal à l’oscillo le décodage est parfait.
on peut aussi verifier la qualité des données dans données brutes
Cdlt
Bonjour,
Moi je n’arrive pas a le téléverser message d’erreur:
/home/julien/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
Relisez le chapitre Bug de la page. cela est expliqué.
Cdlt
Merci c’est vrai que tout y es lol
Bonjour, Est-ce qu’on peut avoir l’option tarifaire dans le MQTT ? sinon comment puis-je la récupérer ?
Merci
Bonne remarque. Je vais la rajouter dans une prochaine version.
Cdlt
Merci bcp.
Pourquoi vous ne transmettez pas aussi les valeurs des EASF01 (HC) et EASF02 HP en MQTT ?
Possible d’avoir par une url json toutes les valeurs brutes pour les exploitées dans une serveur domotique, ou autre exsitante qui ne vous ajouterait pas du taf ?
Merci
A venir, sauf que suivant les fournisseurs, on a pas les mêmes variables.
Cdlt
Ok alors si jamais vous avez les données brutes en json dans le futur, ça permettrait de tout récupérer.
Merci
Sinon, si quelqu’un pourrait m’expliquer comment je peux dans Jeedom récupérer les trames brutes avec un envoi de type domoticz par exemple ?
Oui il y a peut-être une url json sur le serveur ?
Bonjour André,
suite à mon premier message, Je me suis lancé dans la construction de ton routeur Linky version 3.11 avec esp distant et afficheur.
j’ai pas mal galéré sur la programmation car il s’agit de mes premiers pas.
Avec un peu d’aide extérieure, la page web s’affiche, le point rouge en haut clignote, les deux leds de l’esp affecté au linky clignotent a la mise sous tension mais aucune valeur reçu sur la page données brute, donc toutes les valeurs à 0.
Le linky est bien en TIC mode normal, j’ai essayé plusieurs résistance de 600 à Ohms à 3k, rien je cale.
Dans quel direction dois je chercher ?
Merci
Il faut regarder la page « Brute » et le contenu du grand tableau sur fond blanc. Si rien ne s’affiche, il y a un problème avec l’entrée. Revoir le câblage du coupleur optique et le branchement à la prise TIC.
Cdlt
Bonjour, la vitesse de com du Linky, je vois que dans le code elle est à 9600, je suis passé à 1200 pour que cela fonctionne.
1200 bauds c’est pour les Linky en mode historique. Le routeur ne décode que les trames en 9600 bauds du mode standard. Pour changer de mode, il faut le demander à votre fournisseur d’electricité.
Cdlt
Bonjour,
Merci pour le travail et le partage qui nous rend bien service.
J’ai un problème avec ma batterie qui se vide dans mon ballon d’eau chaude par le triac
J’ai signé une convention une CASI donc pas de valeur négative sur mon linky. lorsque je suis en surproduction le triac fonctionne très bien. lorsque la production chute le calcul interprète un injection liée a la batterie qui envoie 3 ou VA vers le réseau, du coup le triac ouvre jusqu’à 100%
je voulais ton avis sur le fait de mettre en place un offset sur la puissance moyenne active. je pense a 10w pour compenser l’injection de la batterie Et ainsi rester au-dessus de Pw =3 W Qui est ma valeur de réglage.
Penses- tu que c’est possible ?
Si oui tu l’ajouterais dans quelle partie du prog pour que ce soit le plus efficace?
Merci pour ton retour, je ne suis pas super a l’aise avec arduino 😉
Je ne suis pas sur de bien comprendre ton besoi.. Je me demande si c’est pas plutot un seuil qu’un offset qu’il faut. Autour de la ligne 510 on a :
if (code== »SINSTS ») {
SINSTS = val.toInt();
moyPVAS = 0.1 * float(SINSTS) + 0.9 * moyPVAS;
if (moyPVAS > 0) {
COSphiS = moyPWS / moyPVAS;
COSphiS = min(float(1.0), COSphiS);
}
PestimeS = COSphiS * float(SINSTS);
}
SINSTS est la puissance apparente soutirée envoyé par le Linky. On va forcer minimum 5VA
PestimS est la puissance soutirée estimée en Watt. On va forcer au minimum 5W
Remplacé PestimeS = COSphiS * float(SINSTS); par
SINSTS=max(5,SINSTS);
float Ptemp= COSphiS * float(SINSTS); //variable de puissance temporaire
PestimeS=max(5,Ptemp);
On ne fait pas de calcul sur la variable PestimS, car c’est une variable globale. À tout moment le coeur1 peut venir prendre son contenu pour l’envoyer etc..
Cdlt
Bonjour , Concernant ma carte Robotdyn défectueuse, j ai remis en service mon oscilo , Zero crossing NOK , après analyse une soudure pas faite sous l’optocoupleur CMS . et Hop ca fonction très bien , avec une carte au pied du linky et l autre dans un coffret adapté au besoin ( et avec un Triac plus costaud et un gros radiateur et protection thermique ) .
je jette un bouteille a la mer ( on a pas tous une piscine ou un ballon sanitaire avec résistance , alors est ce qu’il vous serait possible intégrer le routage vers une borne type OpenVESE ?
encore merci pour votre partage
Intéressant votre borne OpenEVSE. Je ne connaissais pas. Je n’ai pas encore de véhicule électrique, mais je retiens l’idée pour l’avenir.
Cdlt
Bonjour , la borne OpenEVSE utilise gerele protocol MQTT , votre routeur envoie des info en MQTT , peuvent ils communiquer ensemble ou besoin d un autre module/appli ? je suis largué en prog j ai décroché y plus de 20 ans 🙂
si il y a qqu’un qui maitrise le sujet …..
merci a tous pour vos partages .
C’est au niveau d’un serveur domotique comme Home Assistant, qu’on peut mettre les règles pour enclencher la recharge quand la production est bonne.
Cdlt
Bonjour, et un grand merci pour m’avoir guidé vers un tel dispositif. Ma carte de développement est ESP32 DEVKITV1 et Arduino la reconnait sans problème. Tout marche comme vous le décrivez si bien, … sauf que le triac reste muet. Le pulsetriac (pin 22) reste à zéro, et donc pas de régulation de puissance.
Si je force la fonction IRAM_ATTR onTimer() à toujours imposer HIGH, le triac déclenche (au max), et IRAM_ATTR currentNull() envoie une impulsion à 0 toutes les 20 ms. La distance au Linky n’est pas en cause : c’est pareil avec un câble torsadé de 18m et un câble de 1 m.
Je n’ai pas vu trace de ce problème parmi les très nombreux commentaires. Auriez-vous une hypothèse ? Merci.
En premier, avez vous des informations cohérentes en sortie du LINKY, sur la page d’Accueil?
Sur la page données brutes vous devez avoir un grand tableau blanc donnant toutes les valeurs que fournit le Linky.
Avez vous sauvegardé au moins une fois les Actions? Avez vous coché la case d’activation du Triac?
Cdlt
Merci pour la réponse et désolé de vous avoir dérangé : pour moi le triac était l’aboutissement du dispositif, alors qu’il était une option à activer. Félicitations pour votre travail, et merci de le partager.
Bonjour Monsieur
j’ai un problème avec les ESP32 en 38 Broches qui semble similaire au votre:
Dans la Page Action>
Planning des routages
Routage du Triac
Seuil Pw =0
0uvre Max = 20% ou 30% ou 50%
Le triac ouvre toujours a 100% !!!
————————————————————–
J’ai fait le tests avec :
2 ESP32-VROOM-32 AZDELIVERY 38 Pins
2 ESP32-VROOM-32UE NODEMCU avec prise d’antenne
ça ne fonctionne qu’en on/off =pas de variation de puissance
——————————————————————-
J’utilise maintenant des ESP32 DEVKITV1 en modèles 30 broches et ça fonctionne parfaitement
je suis meme en cours de mise au point de délestage a distance avec un deuxième esp32
en utilisant les Actions de routage.
J’espère qu’une solution sera possible ,en attendant je me servirait des modules en 38 pins pour de la commutation en tout ou rien .Compte tenu de la complexité de ce projet je ne suis pas en mesure de solutionner ce problème.
En tout cas un grand merci à F1ATB d’avoir créé et mis à disposition un routeur aussi astucieux et simple a fabriquer.
Cdlt
Il n’y aucune raison que cela change d’un ESP à l’autre.
Il faut en premier vérifier les données reçues du Linky. dans la page données brutes voir que c’est cohérent et pas de valeurs bizarre.
Le problème est l’adaptation du circuit d’entrée optique. De même, on m’a rapporté que certaines cartes n’ont pas les Gnd (masses) reliées entre elles.
Seulement si les données sont correctes, on peut lancer les actions du Triac.
Cdlt
Bonjour
Merci pour la réponse rapide
j’ai vérifié à plusieurs reprises la qualité et la cohérence des données du linky c’est parfait sur tous les ESP utilisés idem sur le ou les ESP distants .L’interface avec le linky est à part sur un petit circuit imprimé qui est commun à tous mes montages.
Si voulez je vous offre un de mes ESP32 38 pins programmé en V3.11 puisque j’en ai 4 vous pourriez ainsi vérifier mes dires .j’ai programmé avec la version Arduino 2.2.1 avec toutes les bibliothèques dans votre package. j’ai même racheté un petit pc sous Windows 10 pour avoir un OS « propre »..
Je ne vois pas ce que je peut faire de plus. Je vous avais contacté au début de mon projet pour ce problème de variation de puissance inexistant sur le 38 pins et finalement quand j’ai flashé un 30 pin ça c’est mis à marcher sans problèmes. j’espère ne pas abuser de votre temps et pour moi votre projet est le plus abouti que je connaisse avec l’avantage d’être peu couteux et facile à maintenir. D’ailleurs vu le prix des ESP j’en ai un d’avance en copie programmée en cas de panne.
Pour terminer je précise que j’ai réalisée mon installation solaire moi même avec 1 onduleur solaire Fronius 1 onduleur secteur Victron et 4 batteries Pylontech 12 panneaux de 400Wc. J’avais prévu dans ma commande un routeur Solaire Fronius qui m’ été conseillé par le vendeur et qui au final était incompatible avec mon chauffe-eau car stéatite (modulation 15 khz ).Votre routeur est pour moi la solution la plus intelligente .
Si vous êtes d’accord je l’enverrai à l’adresse trouvée dans la nomenclature
Cordialement
Il faut regarder ailleurs je pense que les ESP32. Peut être un problème d’alimentation qui est à la limite.
Cdlt
Petit retour d experience
branchement de la sortie linky routeur solaire avec resistance de 1500 + serveur wes les trames TIC du routeur sont aleatoire (1 m de fil)
du coup j’ai descendu la resistance R1 a 1200 ohms –> pas de souci de trame sur le routeur par contre des trames erronnees sur le wes.
je pense qu’il faut que je trouve un optocoupleur plus sensible (moins gourmand) en entree du routeur qu’en pensez vous?
Pour faire cohabiter les 2 systèmes, restez à 1500ohm ou même nontez à 4700ohm afin que le WES fonctionne correctement. Rajoutez un Mosfet et 2 résistances de 10kohm comme sur le schéma que je propose ici.
https://f1atb.fr/index.php/fr/2023/09/25/capteur-linky-pour-routeur-photovoltaique/
Cdlt
bonjour,je m’adresse a vous car mes compétences en électricité et électronique sont nuls j’ai des panneaux solaire en autoconsommation en 220v et un chauffe eau en380v quel solution si il y a pour utiliser le surplus des ps pour chauffer mon eau. J’espère que je suis claire dans mes explications dans l’attente de vous lire cordialement Jacques
Il vous faut un raccordement au Linky pour obtenir la consommation de la maison et branchez le routeur comme indiqué ici:
https://f1atb.fr/index.php/fr/2023/09/28/triac-gradateur-pour-routeur-photovoltaique/
Cdlt
Bonjour André,
Vu que tout roule pour le routeur. Je m’intéresse maintenant à l’information d’ouverture du triac que je souhaiterais faire apparaître sur le module d’affichage déporté (la petite maison).
A première vue, il ne me semble pas que cette information soit présente et disponible dans les données échangées par http entre les différents esp32. Est-ce que je me trompe ? Pensez-vous qu’il serait possible de l’intégrer facilement ? (Je ne suis pas expert en programmation web mais je situe à peu près les choses).
Cordialement,
Je l’ai noté pour une prochaine version.
Cdlt
Ah super ! Merci
Bonjour, après l’installation de l’Esp et le Linky tout fonctionne correctement et renvoi bien la surconsommation vers mon chauffe-eau, je voudrai maintenant installer les données sur Home assistant mais je ne sait pas comment récupérer les données , je suis perdu avec les « brokers ». Une petite vidéo explicative serai t’elle possible? Merci
Il faut installer le broker MQTT Mosquitto.
Dans la version V4 que je vais publier dans les jours à venir, les données s’afficheront automatiquement dans MQTT.
Cdlt
Merci, pour la réponse j’ai installé Mosquitto mais je ne sait pas comment récupérer et s’avoir qu’elle est l’adresse IP pour la mettre sur l’application. Cordialement
Dans le menu de gauche de Home Assistant, cliquez sur terminal. Vous avez l’adresse ip version 4 par exemple : 192.168.1.200/24
Ne prenez pas en compte le /24
Ok j’ai mon adresse IP, maintenant je bloque sur la configuration Mosquitto je passe par Mqtt Explorer avec l’adresse IP c’est bien reconnu mais d’info des paramètres de l’application.
j’avais déjà testé avec d’autres types d’ alimentations. bref je laisse tomber les 38 pins…..ça fait plus de 2 mois que je cherche une solution à ce problème
Je les utiliserait en commutateurs distant avec des relais statiques ou
m’en servirait pour remplacer les Arduino dans mes projets
Merci
Bonjour A tous,
Comme vous tous je suis très satisfait du routeur partagé par André. Toutefois j’ai eu quelques soucis avec des erreurs de lecture du Linky que je ne parvenais pas à résoudre. Sur les conseils d’André j’ai modifié la valeur de la résistance R1 de 220 Ohms à 2.2kOhms en vain. j’ai changé d’ESP 32 ; pas de changement. Le triac s’ouvrait a 100% sans surplus et les valeurs de puissance active étaient totalement fantaisiste. Il faut dire que j’ai deux appareils sur le Linky un serveur d’énergie (WES) et le routeur d’André. En off je lui ai transmis des copies d’écrans des problèmes rencontrés et le journal du debug. André m’a alors proposé de modifier le capteur de la Tic en ajoutant un Mosfet. Ce que j’ai aussitôt fait et là miracle, plus aucune erreur de lecture. tout fonctionne à merveille. Chapeau bas M. André, merci pour votre patience, vos partage et votre pédagogie. Si çà peux servir à d’autres ci joint le lien pour la modification du capteur que m’a conseillé André. https://fumeebleue.fr/mysensors/mysensors-circuits/. Petite précision il faut prendre un Mosfet de type N https://www.amazon.fr/dp/B06Y13MWL7?psc=1&ref=ppx_yo2ov_dt_b_product_details.
Encore Merci André
Bonjour, merci pour votre avis sur l’alimentation qui comme je pensait n’a pas de problèmes ,MAIS c’ était quand meme un problème de positionnement des connexions d’alimentation du triac PROBLEME réglé Bonne intuition !! je peut utiliser mes ESP38Br.Merci encore.
voir PDF dans le lien :
https://www.swisstransfer.com/d/a0f8e467-c6d3-462a-9f94-94d5d4f98041
bonjour, déjà merci pour ce site,les explications..les détails… j’ai déjà ma liste dans le panier 😁…
mais petite question, est il possible d’avoir 2 gradateur pour limiter les sauts de puissance ?
par exemple j’ai deux circuits, chauffe eau en tri, je peux isoler un résistance de 500w,et j’ai mon chauffage ou j’ai prévu un plongeur en 1000w, ce que j’ai peur c’est les phases ou je suis limite… alors que si je suis en double gradateur pas de risques de battement 🤔
Non, il n’y a qu’un seul gradateur. Mais faite un montage ou vous mettez la résistance la plus puissante sur le gradateur et la deuxième sur un relais. En mettant les bons seuils vous pourrez jouer avec les 2 résistances.
Cdlt
– et si je duplique le signal de pilotage en sortie de ESP38, pour avoir un gradateur sur chaque résistances, sachant qu’elles régulent sur leurs thermostat?
si le chauffe eau est en température je passe que sur la résistance chauffage, le seul pb, c’est quand le thermostat chauffe eau remonte, ca crée un pique, mais il va réguler . cela permet de limiter les marches/arrets….. dite moi si vous trouvez ca idio… sinon quel montage je peux utiliser pour dupliquer le signal?
– c’est intéressant de mettre une ferrite sur les câbles pour limiter les harmoniques et l’usure des résistances?
Si vous êtes en triphasé, 3 triacs , cela ne fonctionne pas car vous avez un décalage de phase de 120°. Mettez 1 Triac et 2 relais comme indiqué ici.
https://f1atb.fr/index.php/fr/2023/09/28/triac-gradateur-pour-routeur-photovoltaique/
Une ferrite baissera les harmoniques quant à l’usure des résistances, je n’en sais rien.
Cdlt
merci de votre réactivité, je vais attendre mon kit, pour me lancer sur le sujet.
j’ai vu sur un shema, que vous pouvez utiliser un module pour la mesure et avoir un autre module pour le pilotage via le wifi, mais je trouve pas la page sur le sujet.
ca simplifierais mon système, car j’ai une grande distance entre mon Linky et mes résistance sont à 10M l’une de l’autre.
Pour le moment je travail la logique…coté programmation je suis resté sur les TSX Nano ya 20
C’est très simple. Comme sur le schéma :
– Un ESP32 avec le capteur optique près du Linky
– Un ESP32 avec le Triac près du chauffe-eau
Le même logiciel sur les 2. Bien les paramétrer.
Les échanges entre les ESP se font par Wifi