Routeur photovoltaïque simple à réaliser

Routeur Multi Source
Version V7.03_RMS

Version Obsolète

VOIR ICI

Principe du routeur photovoltaïque

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…

Schéma du routage de l’énergie excédentaire vers un Chauffe-Eau. Le routeur solaire agit comme une vanne ( le Triac) qui s’ouvre pour laisser passer la surproduction en surveillant la puissance active en entrée de la maison afin qu’elle soit nulle.
Pilotage depuis un SmartPhone ou un PC (navigateur Web)

Par exemple, si vous avez une production photovoltaïque de 2500 W et 1300 W consommés dans la maison, il vous reste 1200 W de disponible pour un chauffe-eau. Le routeur permet de fournir les 1200 W au chauffe-eau et pas plus bien que normalement, il absorbe 2400 W. Le routeur agit comme une vanne régulatrice du débit. Il s’assure que zéro watt sont soutirés ou injectés avec le réseau public.

Intérêt du routeur

Un rapide calcul, pour un chauffe-eau de 200l, équipé d’une résistance chauffante de 2400 W, montre qu’il faut près d’une heure de chauffe, soit 2.3 kWh pour monter l’eau de seulement 10°.

200l*1000gr*4.18Joule*10°/3600s=2322 Wh = 2.3kWh

Chaque jour, c’est plusieurs kWh qu’il faut fournir au chauffe-eau. Pour un système classique, on effectue cela de nuit à un tarif réduit. En cas de surproduction dans la journée des panneaux photovoltaïques, il est très intéressant d’envoyer cette énergie au chauffe-eau. C’est une superbe batterie de stockage d’énergie.

Tableau des Versions

Différentes versions de routeur ont été décrites. La version V7.00_RMS remplace les précédentes versions devenues obsolètes. Le hardware est inchangé, et de nouvelles fonctionnalités sont offertes.

VersionMesure courant / puissanceActionneursModulaireDomoticzMQTT / Home AssistantCapteur de températureTempoDescription
1Sonde Ampèremétrique
Monophasé
RelaisOuiRouteur Solaire. Mesure de Puissance avec un ESP32
2Sonde Ampèremétrique
Monophasé
Triac + RelaisOuiRé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
4.04_RMSMulti Sources: 1 ou 2 sondes et LinkyTriac + RelaisOuiOuiOuiOui
5.10_RMSMulti Sources: 1 ou 2 sondes, Linky ou Envoye-STriac + RelaisOuiOuiOuiOui
6.02_RMSMulti Sources: 1 ou 2 sondes, Linky ou Envoye-S, Shelly EmTriac + RelaisOuiOuiOuiOui
7.03_RMSMulti SourcesTriac + RelaisOuiOuiOuiOuiOui

Modularité

Le système se décompose en trois fonctions :

  • la mesure de puissance au niveau du disjoncteur principal
    • sonde ampèremétrique ou,
    • Linky ou,
    • module sonde ampèremétrique ou,
    • passerelle Enphase – Envoy-S Metered ou,
    • wattmètre Shelly Em
  • le traitement à l’aide d’un microcontrôleur ESP32,
  • les actionneurs avec un triac et des relais pour alimenter différentes charges. Avec en option de contrôle un capteur de température.

Mesure de puissance

La mesure de puissance s’effectue par une mesure de tension et une mesure de courant. La puissance étant le produit des 2. Dans cette nouvelle version 7.00_RMS du routeur, on a 6 choix de source de mesure.

UxI
UxI

On effectue simultanément une mesure de courant et de tension à l’entrée de la maison. On utilise un capteur de courant dans lequel on fait passer le fil de phase du secteur. En sortie, agissant comme un transformateur, il fournit un courant identique, mais 2000 fois plus faible. 
De même, on utilise un transformateur bobiné classique abaisseur de tension qui nous isole du secteur. Par exemple un 230v/6v. 

Le microcontrôleur ESP32, grâce à ses convertisseurs Analogique->Digital assure la numérisation et effectue les produits UxI pour mesurer la puissance. C’est le même schéma que dans la version précédente du routeur V3.04_UxI.

Pour plus de détails, voir l’article : https://f1atb.fr/capteur-u-x-i-pour-routeur-photovoltaique/

Linky
Linky

La mesure de tension, de courant et de puissance est très bien faite par le Linky. En se connectant à la prise TIC (Télé Information Client) il est possible d’extraire les valeurs par une liaison série vers le microcontrôleur ESP32.

C’est le même schéma que dans la version précédente du routeur V3.11_Linky.

Pour plus de détails, voir l’article :

https://f1atb.fr/capteur-linky-pour-routeur-photovoltaique/

UxIx2
UxIx2

On retrouve ici le principe de la mesure UxI (mesure tension et courant) mais avec un module précâblé simple à monter sans soudure. Il s’agit du JSY-MK-194 que l’on trouve chez Aliexpress. Il dispose d’une sonde de courant mobile que l’on positionne autour du fil de phase du disjoncteur principal pour faire fonctionner le routeur. Une deuxième sonde fixe sur le module permet de mesurer par exemple le courant et la puissance en sortie du Triac. Les mesures sont transmises à l’ESP32 par une liaison série.

Pour plus de détails voir l’article : https://f1atb.fr/capteur-uxix2-pour-routeur-photovoltaique/

Envoy-S Metered
Envoy-S Metered

Pour les systèmes photovoltaïques construits avec des micro-onduleurs Enphase Energy et disposants de la passerelle Envoy-S Metered (firmware V5 et V7), il est possible d’obtenir directement les informations de puissance à l’entrée de la maison.

Pour plus de détails, voir l’article : https://f1atb.fr/routeur-photovoltaique-via-passerelle-enphase-envoy-s-iq-gatewaymetered/

Shelly Em
Shelly Em

Un module Shelly Em pour du monophasé ou un Shelly 3Em pour du triphasé implanté au niveau du disjoncteur principal permet d’obtenir sur le réseau Wifi les informations de puissances consommées en temps réel.

Shelly 3Em

Pour plus de détails, voir l’article : https://f1atb.fr/capteur-shelly-em-pour-routeur-photovoltaique/

Externe

Dans ce cas on ne fait pas directement la mesure, mais on demande au microcontrôleur ESP32 qui effectue la mesure de puissance à l’entrée de la maison, suivant l’une des 4 méthodes expliquées précédemment, de nous fournir les résultats en passant par le Wifi.

Traitement

Pour effectuer les mesures et les traitements, L’ESP32 est un microcontrôleur adapté à notre besoin. Il comprend :

  • des entrées analogiques pour mesurer des tensions,
  • des entrées/sorties numériques pour actionner un relais ou un triac si besoin,
  • des liaisons séries
  • une bonne capacité de calcul
  • une liaison WIFI pour faire du reporting à distance sur une page web ou un système de domotique.
ESP32 – Wroom – Development Board

Actionneurs

Gradateur – Triac
16 ou 24A

Pour ajuster le courant à injecter vers le 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. Il existe 2 modèles :

40A
  • gradateur 16A ou 24A
  • gradateur 40A avec ventilateur

et sont disponibles chez Aliexpress.
Attention, le refroidisseur d’origine du Triac (modèle 16 ou 24A) est largement sous-dimensionné sachant qu’il devra fonctionner pendant plusieurs heures. Remplacez-le par un plus grand en dessoudant et déplaçant le Triac. Pensez à raccorder le refroidisseur au fil de terre pour la sécurité.

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

Relais

Ce projet permet l’ajout de relais sur les GPIOs libres de votre choix 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 GPIO6 et GPIO7.

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.

Mesure de Température

En option, on peut rajouter un capteur de température, pour adapter le fonctionnement du routeur. C’est un DS18B20, capteur de température étanche qui peut être positionné en extérieur ou même dans l’eau d’une piscine. Trois fils en sortie sont à câbler :

  • noir : relié à la masse Gnd de l’ESP32
  • rouge : relié au 3.3V
  • jaune : relié au GPIO13

Une résistance de 4700 Ω 1/4 ou 1/8 W est à relier entre les fils rouge et jaune.

Architecture Multi Routeurs

Le système peut s’éclater en différents modules pour s’adapter à des distances élevées entre le disjoncteur et les équipements à alimenter. Un ESP32 est en charge de la mesure suivant l’un des 4 modes décrit plus haut et d’autres ESP32 servent de routeurs pour piloter différents équipements dans la maison. De simples relais pilotables par Wifi peuvent également être contrôlés.

On installe le même logiciel (même version) sur tous les ESP, ensuite ils communiquent entre eux par Wifi, pour obtenir les valeurs de puissances de la part de celui en charge de la mesure.

Présentation du routeur RMS en vidéo

Page Web

Le code installé sur l’ESP32 comprend un serveur Web qui permet d’afficher sur une page, les différentes mesures ainsi que l’historique des puissances observées. 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 – Accueil

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

En dessous, l’heure (de France) fournie par le réseau.

Un tableau donne différentes valeurs mesurées ou calculées :

  • la puissance active Pw en Watt. C’est elle que vous payez lorsque vous soutirez,
  • la puissance apparente en VA, produit Ueff*Ieff,
  • l’énergie active soutirée depuis 0h en Wh
  • l’énergie active totale en Wh

Dans le cas d’un capteur d’entrée type UxIx2, il y a les mêmes données pour la deuxième sonde, en général la sortie du Triac qui alimente le chauffe-eau.

Un deuxième tableau, donne l’état courant des actionneurs. Ici, l’ouverture du Triac à 65% du temps. La régulation est en cours pour ajuster la puissance consommée/injectée de la maison autour de 0W.

Un premier graphe donne la puissance active en rouge et la puissance apparente en bleu vert durant les 10 dernières minutes. 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és. Voir la vidéo sur les unités électriques https://youtu.be/xHhURisycmA

Un deuxième graphe, dans le cas UxIx2, donne l’historique durant les 10 dernières minutes de l’énergie ayant traversé la deuxième sonde, ici pour alimenter le chauffe-eau.

Si un capteur de température DS18B20 est connecté sur le GPIO13, on retrouve en page d’accueil la température mesurée qui sert au contrôle des actions si besoin ainsi que son historique sur 10mn.

Plus bas sur la page, deux autres graphes donnent la puissance active 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 des données brutes de mesures collectées par le système. Cela dépend du capteur de mesure en entrée.

Avec un capteur UxI, le graphe en rouge et vert donne la forme de la tension et du courant sur une période de 20ms. C’est le résultat de la mesure par l’ESP des entrées analogiques.

Avec un 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, pour décoder le message.

Avec un capteur UxIx2 on affiche le contenu des mesures du module JSY-MK-194T.

  • les données de tension, courant, puissance, énergie et facteur de puissance (cosinus φ) à l’entrée de la maison
  • les mêmes données en sortie du Triac vers le chauffe-eau.
  • La fréquence du réseau

Avec l’Enphae Envoye-S Meter’ on a les tensions, courants, puissances etc..

Pour une configuration de firmware V5 la connexion à la passerelle est directe. Pour une passerelle V7, il faut s’assurer que l’on a obtenu le droit d’Enphase de collecter les données directement sur l’Envoye-S Meter’.

Un peu choquant quand on a le système installé chez soi.

En effet à partir de la version V7 du logiciel dans la passerelle Enphase, il faut faire une demande auprès d’Enphase sur 2 serveurs aux US pour obtenir un identifiant (Session Id) et un jeton d’accès (Token) qui vous permettront de lire les données pendant une durée limité.

Toute l’opération se passe automatiquement, le logiciel dans l’ESP32 s’en charge. Les 2 réponses OK montrent que cela s’est bien passé.

En cas de mesures par un ESP32 distant, ce sont les données distantes représentées ici.

Un dernier tableau, fourni des informations sur l’ESP32, pour suivre son fonctionnement. En particulier on surveille le niveau du WIFI afin qu’il ne passe pas en dessous des -80 dBm.

Le nombre d’interruptions durant 15ms permet de tester la présence du signal Zc (Zero Crossing) en provenance du gradateur toute les 10ms. Le premier chiffre donne le nombre traité 1 ou 2. Le deuxième nombre entre 1 et 4 correspond aux interruptions reçues. L’ESP32 est très chatouilleux sur les interruptions, il en voit plus que de réalité. Un filtrage logiciel rejette les interruptions moins de 2ms après la première.

Page paramètres

Une page est dédiée au paramétrage du système. Il y a de légères variantes suivant le type de capteur d’entrée.

En premier, définir le capteur de mesure : UxI, UxIx2, Linky, Envoy ou Externe.

Il est possible de personnaliser le routeur et les données en attribuant un nom.

Si vous avez un contrat « Tempo », vous pouvez demander l’affichage de la couleur du jour et du lendemain.

L’adresse IP de l’ESP32 est définie soit :

  • par votre box internet. Cochez la case DHCP
  • par vous-même en choisissant une valeur hors de la plage DHCP de votre box et en remplissant les champs passerelle, masque et DNS

Si vous souhaitez envoyer des données à Home Assistant ou Domoticz via un broker MQTT (par exemple Mosquitto), mettez une période de répétition autre 0 et remplissez les champs. Pour Home Assistant, mettez le Prefix ‘homeassistant’ La découverte des entités se fera automatiquement. Vous retrouverez toutes les données importantes, tension, puissance et même la température si vous avez installé un capteur DS18B20 ou l’option tarifaire si vous avez un Linky.

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. Cliquez sur l’option choisi :

  • Triac forcé à Off (zone bleue). Pour tout arrêter
  • Triac forcé à On (100%) (zone rouge). Pour une mise en route de nuit d’un chauffe-eau par exemple
  • Triac ouvert entre 0 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. (zone jaune foncé)). Mode normal de régulation.
Paramètres des actions si capteur de température installé.

Si votre ESP32 a un capteur de température DS18B20 connecté au GPIO13, il est possible de conditionner le passage à On (zone rouge) ou la régulation (zone jaune foncé) à une température ou une fourchette de températures (zone jaune clair) . Ne rien mettre si l’on ne souhaite pas considérer la température.

Si vous avez sélectionnez l’option Tempo ou vous êtes connecté à un Linky, vous pouvez conditionner la mise en route du Triac ou des relais à l’option tarifaire en cours.

Paramètres des actions si Couleur Tempo sélectionné dans les paramètres.

Toutes les 200 ms, le logiciel augmente ou diminue la durée de conduction du Triac en comparant la puissance mesurée Pw au seuil fixé. 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 les GPIO32, GPIO33, GPIO35) 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.
Exemple d’une commande vers un dispositif externe à l’adresse IP 192.168.0.45 et acceptant des ordres sous la forme /OrdreOn……

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 On/Off.

De même que pour le Triac, on peut conditionner l’action On à une température ou fourchette de températures.

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

Contrôle Externe des GPIOs

Pour des configurations associées à de la domotique, il est possible de piloter à distance les GPIOs libres. Pour bien choisir le GPIO, il y a un très bon article ici: https://www.upesy.fr/blogs/tutorials/esp32-pinout-reference-gpio-pins-ultimate-guide

La commande à passer est de la forme : http://<ip de l’ESP32>/SetGPIO?gpio=<numéro du GPIO>&out=0 ou 1;

Exemple: http://192.168.123/SetGPIO?gpio=18&out=1

Remarque CACSI

Attention, si vous avez signé un CACSI (Convention d’Autoconsommation Sans Injection), votre système interdit les injections de puissance sur le réseau public. Cela se traduit à un bridage par moment pour ne pas avoir de valeur de puissance négative (=injection) à l’entrée de la maison.

Il est impératif dans ce cas avec CACSI, d’utiliser le routeur avec un seuil de réglage des W au-dessus de zéro, par exemple la consommation talon de votre maison : 200W. Si vous passez en dessous de ce seuil et à condition que le système qui bride la sortie d’énergie vers ENEDIS ne soit pas encore actif, les W commenceront à être envoyés à votre chauffe-eau ou tout autre dispositif.

Sauvegarde

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.

Montage

Montage UxIx2

Le système le plus simple à monter est le capteur UxIx2. Avec les différents modules utilisés, il n’y a pas de soudure ou presque avec l’éventuel changement du Triac.
Les composants sont principalement achetés sur Aliexpress en chine. La merveille d’ESP32 est de design chinois. Cela fonctionne très bien, vérifiez simplement que le mode d’expédition proposé vous assure une livraison dans les 10 à 30 jours à venir. Parfois en payant 1 euro de plus, on arrive à accélérer l’envoi.

Plus de détails sont fournis dans les articles du blog dédiés aux différents capteurs de mesure.

Des exemples de réalisation sont donnés ici.

Installation avec un Contacteur Jour/Nuit

Schéma de principe contacteur et routeur en parallèle

Dans ce schéma , on garde le contacteur Jour/Nuit et on installe en parallèle le routeur.
Remarque: le routeur ne coupe pas le neutre mais la phase uniquement.

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.

On l’achète chez Aliexpress (module ESP32 Wroom 32U) : https://fr.aliexpress.com/item/1005005306335907.html

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

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 et quel que soit le capteur de mesure. 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 Si vous n’êtes pas familier de l’IDE Arduino, voir les détails 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 disponible ici:

Dézipper l’ensemble et ouvrez dans l’IDE Arduino (version 2.xx) le fichier Solar_Router_V7_03_RMS.ino.

Vérifiez que vous avez les bibliothèques installées sur votre IDE Arduino :

  • RemoteDebug
  • PubSubClient
  • OneWire
  • DallasTemperature
  • ArduinoJson
  • UrlEncode

Ensuite vous devez compiler le logiciel en précisant à l’IDE Arduino que vous avez une carte ESP32.
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 puis lancez la compilation et le téléchargement. 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.

Historique des versions V5.x , V6.x , V7.x

  • version V5.01_RMS corrige un bug sur le traitement des températures avec le Triac
  • version V5.02_RMS met à jour le numéro de version et la couleur du tarif Tempo bleu
  • version V5.10_RMS rajoute la possibilité de se connecter à une passerelle Enphase – Envoy-S metered – firmware V5. Compléments pour le traitement des caractères speciaux % # dans les mots de passe.
  • version V6.00_RMS
    • Corrige un bug sur le nom du capteur de température et retire les mauvaises mesure de température
    • Introduit la source Smart Gateways (en phase de test) des compteurs belge, holladais etc.
    • Introduit la source Shelly Em
    • Introduit un code tarifaire numérique en plus de LTARF dans les messages MQTT si Linky
    • Encode les URL vers Enphase pour passer les mots de passe
  • version V6.01_RMS
    • Recadre la courbe des températures sur 48h
    • Affiche les valeurs des courbes suivant la postion du curseur en X
    • Corrige un bug d’ocillation d’un relais externe pendant 1mn au début de l’action
  • version V6.02_RMS
    • Corrige un bug pour le Shelly en triphasé et en injection
  • version V7.00_RMS
    • Affiche la couleur du jour de la tarification Tempo et permet sa prise en compte dans les actions
  • version V7.01_RMS
    • Corrige un bug sur l’affichage de l’energie quotidienne dans le cas ESP externe
  • version V7.02_RMS
    • Prend en compe les caratères non alphabétiques dans le mot de passe réseau
  • version V7.03_RMS
    • Corrige un bug d’accès wifi vers Envoy et EDF

Mise à jour des anciennes versions

Dans le cas d’une mise à jour des anciennes versions V3.04_UxI ou V3.11_Linky, V4, V5, V6 vers la V7, notez bien sur une feuille de papier les paramètres et réglages. La nouvelle version V7, virginise la mémoire ROM au premier lancement. Il faudra faire comme un premier lancement en se connectant au point d’accès Wifi.

De plus votre box internet risque d’attribuer à l’ESP une nouvelle adresse IP. Si vous faites la mise à jour par le câble USB, pas de souci, le Moniteur Série, au lancement vous donne l’adresse IP qui a été attribuée. Si vous faites la mise à jour par OTA (bien pratique quand l’ESP est loin de votre PC), c’est au niveau de votre box internet que vous allez trouver l’adresse IP attribuée par elle. Ou bien sur votre téléphone vous avez une application comme Fing qui vous liste toutes les machines connectées au réseau et vous y trouverez la nouvelle adresse IP de l’ESP. Par la suite vous pouvez forcer l’adresse IP précédente dans la page paramètres.

Si vous utilisez également l’affichage distant de la « maisonnette », pensez à mettre à jour le logiciel :
https://f1atb.fr/affichage-a-distance-consommation-ou-surproduction-electrique/

Moniteur Série

Après une opération de téléchargement, ouvrez le moniteur série de l’Arduino en allant sur le menu Outils. Vérifiez à droite de la fenêtre qui s’est ouverte que vous êtes à 115200 baud. L’ESP32 vous fournira de nombreuses informations comme l’adresse IP qu’on lui a attribuée etc.

Premier lancement du programme

Au premier lancement du programme dans l’ESP32, le logiciel ne connaît pas le nom et le mot de passe de votre réseau Wifi à la maison. Il va créer son propre Wifi en passant en mode point d’accès pour que vous vous y connectiez. Sur votre Smartphone (deconnectez votre accès mobile) ou PC portable, regardez la liste des WiFi disponibles. Connectez-vous à celui qui porte le nom ESP-RMS….., 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 renvoyer une page vous demandant le nom du WiFi de la maison auquel se connecter à l’avenir et le mot de passe.

Votre box internet va attribuer à l’ESP32 une adresse IP sur votre réseau maison.

Reconnectez vous au Wifi de la maison avec votre smartphone ou PC. Rentrez l’adresse IP attribuée à l’ESP32 dans un navigateur Web.

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. Ce forçage de l’adresse IP, se fait dans la page « Paramètres » de l’ESP32.

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

Clignotement des LEDs

Les 2 LEDs clignotent en phase toutes les 300ms. L’ESP32 cherche à se connecter au WIFI de la maison que vous lui avez défini.

Les 2 LEDS clignotent en opposition de phase. L’ESP32 ne trouve pas le WIFI, il est en mode Point d’Accès. (AP) en créant son propre réseau . Ouvrez votre smartphone et connectez-vous comme pour un premier lancement de programme.

La LED jaune clignote toutes les 2s environ. C’est bon signe, l’ESP32 reçoit des mesures de tension, puissance etc.
La LED verte clignote, le Triac est ouvert. Plus elle clignote, plus l’ouverture est importante.

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 (Solar_Router_V7_02_RMS.ino), il y a 2 constantes :

#define HOSTNAME « RMS-ESP32-« 

#define CLE_Rom_Init 702567807

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, l’ESP ayant peu de chance de trouver cette clé en mémoire, la mémoire de stockage en ROM est virginisée. Par la suite, elle contiendra cette clé et 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, changez la clé. 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. Pour plus d’explications, allez sur la page : https://f1atb.fr/programmation-de-lesp32-application-au-routeur-photovoltaique/

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.

Bug matériel

Dans de rare cas, l’horloge interne de l’ESP32 ne démarre pas. Pour vérifier qu’elle tourne correctement, sur la page d’accueil vous devez avoir l’heure. Un peu plus d’explication ici : https://f1atb.fr/programmation-de-lesp32-application-au-routeur-photovoltaique/

Comparaison des capteurs de mesure

Pour vous aider dans votre choix du capteur de mesure en entrée, voici un tableau donnant les + et les -.

CapteurPériode échantillonnage+
UxI40 msÉchantillonnage rapide permettant une grande réactivité en cas de changement de la consommationDu câblage de différents composants, difficile pour les non-électroniciens
Linky2 sMême mesures qu’EnedisUn peu de câblages et ligne à tirer depuis le compteur.
Échantillonnage lent : 2s
UxIx2400 msTrès simple à câbler. Zéro soudure.
Échantillonnage correct.
Deuxième canal de mesure
Légèrement plus cher que les autres solutions.
Envoy-S400msPeu de câblage.
Echantillonnage correct.
Limité au produit Enphase firmware V5 et V7
Shelly400msPeu de câblage.
Echantillonnage correct.
Monophasé ou Triphasé
Externe2 sPermet de déporter le routeur près du dispositif à piloter.Nécessite un ESP32 avec un des 5 capteurs cité plus haut pour mesurer les puissances.

Visualisation à distance

Certaines des données peuvent être affiché à distance sur un mini écran qui s’allume au passage d’une personne. Les détails de la construction sont disponibles ici : https://f1atb.fr/affichage-a-distance-consommation-ou-surproduction-electrique/

Si vous changez de version de routeur, il faut mettre à jour le logiciel de l’affichage distant.

Evolutions demandées

Nombreuses sont les demandes d’évolutions du routeur. Ci dessous une récapitulation des principales.

SujetDescriptionStatus
Bouton Marche ForcéeForcer le Triac à On pendant 2h par exemple
TempoAfficher la couleur du jour et jour+1 des abonnements TempoRéalisé dans la version 7
Actions avec TempoConditionner l’exécution d’actions à la couleur Tempo du JourRéalisé dans la version 7
Train de 1/2 sinusoïdesProposer un mode permettant, au lieu de hacher la sinusoide de tension, l’envoi de trains de demi-sinusoïde toutes les secondesEn cours de développement
Source MQTTIntégrer un message via MQTT comme source de mesure de la puissance
Evolutions MaisonnetteAfficher Tempo et ouverture du Triac dans l »affichage distant (Maisonnette)Affichage Tempo à partir version 7
Shelly loginPossibilité de renseigner le login et mot de passe du shellyNe dispose pas de Shelly actuellement pour tester.
Activer Actions à distancePossibilité d’activer / désactiver le routeur solaire (surtout le triac) à distance via un système de domotique (soit via une API, une requête HTTP ou MQTT) ou même de le forcer à ON. 
Source ECU-CIntégrer l’ECU-C d’AP System comme source de mesure de la puissance
Multi TriacsRajouter des Triacs pour différentes charges.
Echange températurePouvoir echanger d’un ESP vers l’autre, la température, comme les puissances.
MQTT triphaséEnvoyer le détail des puissances des 3 phases
Source SmartGPour les compteurs belges.En développement. Recherche testeurs.

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

1 381 réponses

  1. José dit :

    Bonjour, tout d’abord félicitation pour votre travail et surtout votre partage.
    J’ai mis en place votre système depuis la version 3.03 et ça fonctionne parfaitement, ma question se porte sur la gestion de température, au niveau des actionneur elle n’agit que sur la sortie triac ou peut-on aussi gérer les autres sortie ? sur mon installation je gère aussi avec votre système une pompe de circulation que j’active pour faire circuler et brasser l’eau chaude en fin de journée entre mon chauffe eau et ma chaudière, que j’ai bouclé pour mettre toute mon installation en température, les 2 étant en série, du coup je désirait la faire tourner en fonction de la température du chauffe eau est ce possible ?
    Merci encore. Cdt

    • F1ATB André dit :

      Le capteur de température peut être utilisé pour le Triac et conditionner les mises en route de relais.
      Cdlt

      • josé dit :

        merci pour la rapidité de votre réponse, j’attend le matériel pour faire la modification et je vous ferai un retour si nécessaire.
        Bonne journée et encore bravo.
        Cdt

  2. R. Jean claude dit :

    Bonjour .

    Pour ceux qui sont en triphasé il existe un JSY avec 3 capteurs intégrés ou déportés. Mais pour le code de fonctionnement il faut voir les spécialistes.
    https://www.aliexpress.com/item/1005005968942004.html?spm=a2g0o.cart.0.0.3d0b378dn0kUW4&mp=1

  3. Romain (F4HTU) dit :

    Bonjour,
    J’attends les composants pour essayer la nouvelle version avec le capteur communicant.
    Serait-il possible d’ajouter une fonction de marché forcé suivant l’état d’une entrée ?
    Sur mes précédentes version, j’ai câblé un bouton sur un GPIO (avec pull-up).
    Celui-ci pourrait servir pour mettre en marché forcé le TRIAC suivant un temps défini : ex 2 heures, cela éviterait de devoir toucher à la page web pour la mise en marche en cas de manque de soleil ou d’une grosse utilisation d’eau chaude.
    Aucun problème pour écrire cette fonction en C, mais j’avoue que je ne maitrise pas du tout la partie WEB, de plus cela est plus simple à maintenir si écrit dans le logiciel original et peut surement intéresser plusieurs personnes.

    Bravo pour ce travail !
    Cordialement,

  4. Martin dit :

    Bonjour
    j’ai réalisé les appairages WiFi comme présenté sur votre support mais les deux led clignotes en alternance donc recherche du WIFI. Lorsque je me connecte à nouveau sur le WIFI des cartes ESP 32 il ne me demande plus le code. Que dois je faire ?
    par Alleur je n’arrive pas à aller sur la page HTTP.
    Par avance merci de votre aide

    • F1ATB André dit :

      LEDs en alternance, vous êtes en mode point d’Accès. L’ESP32 émet son propre signal Wifi. À l’adresse 192.168.4.1 vous trouvez la page pour indiquer le nom du Wifi de votre maison. Si cela n’apparaît pas, c’est un problème de cache mémoire sur votre smartphone. Forcez le rechargement de page, ou prenez un autre smartphone ou PC.

      Cdlt

  5. Pierre dit :

    Bonjour
    Par rapport au montage en parallèle d’un relais avec la sortie du triac afin d’alimenter le chauffe-eau . Est ce que si on met le relais en mode forcé cela arrête l’alimentation du triac vers le chauffe-eau . Par programme sur l’esp32? . Sinon peut on avoir sur le chauffe-eau une double alimentation. En sortie du relai (1000w. Par exemple ) et à la sortie du triac (500w) pour alimenter le chauffe-eau au max de sa puissance ( dans mon cas 1500w)
    Merci

    • F1ATB André dit :

      Le Triac peut être monté en parallèle d’un relais, si le relais est à On cela ne perturbe pas le Triac, mais il n’apportera rien de plus. On ne peut pas séparer 500W d’un côté et 1000W de l’autre. Un relais à On, 100% de la puissance est transmise, c’est comme le Triac à 100% d’ouverture.
      Cdlt

  6. Sebastien.D dit :

    Bonjour,
    En attendant ma sonde de T° j’ai fini mon montage et fait des tests sur les heures de coupure programmable. Je suis tombé sur un problème voir photo après avoir fait la sauvegarde des réglages.
    j’avais programmé sur ON jusqu’à 8h28 et ensuite sur off et même après plusieurs minutes le triac reste ouvert.
    https://image.noelshack.com/fichiers/2023/42/3/1697611574-test.jpg
    je peux vous envoyer d’autres photos par mail si vous le désirez

    • F1ATB André dit :

      Vous aviez probablement sur le « On » fit précède un repetition rate de 240s . Ainsi, l’état n’est pas rafraîchi immédiatement.

      Cdlt

  7. Olivier dit :

    Bonjour André.

    Avant toute chose je tiens à vous remercier pour votre travail et le partage que vous en faite.

    Etant au tout début du projet et devant commander tous les composants ; pourriez vous nous dire s’il y a des avantages et inconvénients entre les différents type de mesure ?

    Pour info j’ai un compteur Linky et si jamais le détail a son importance, mon installation de 3kwc sera faite avec des micro onduleurs Enphase.
    Le ballon se trouve à 5m du compteur. Tous deux situés en sous sol mais à porté de signal Wifi.

    Cdlt, Olivier.

    • F1ATB André dit :

      Le Linky est une bonne solution. Vu que le câble sera court, il n’y aura pas de souci.
      Cdlt
      André

  8. Sebastien.D dit :

    Merci pour votre aide, mais je ne vois pas de rep dans la partie du triac, j’ai refais un essai en partant d’un OFF avant 12h30 comme sur la photo et le triac ne commute pas a 12h30 et même jusqu’à 12h40 rien. Pourtant j’ai bien coché sur l’une des 3 options (ON) .
    https://image.noelshack.com/fichiers/2023/42/3/1697625944-test1.jpg

    • F1ATB André dit :

      Recevez vous des données de puissance? Si pas de données pas d’action.
      Cdlt

      • Sebastien.D dit :

        oui je recois les données de puissance du routeur principal qui est en 192.168.1.160. mon routeur déporté est en .170.
        Les données doivent être exactes car pour me caler sur l’heure je regarde dans données brutes linky en mode standard.

        • F1ATB André dit :

          OK, je suis arrivé à recréer ce bug sur une maquette, bien que sur ma piscine,cela ne le fait pas.
          Je cherche.
          Cdlt

          • Nicolas dit :

            Bonjour, Il n’y a pas un soucis dans Actions.ccp « case 2: » entre action local et distant ?

          • F1ATB André dit :

            Je pense pas. La différence vient qu’en local, on peut répéter le message sur le GPIO, en distant, on peut pas envoyer un message en permanence (actionTimer).

            Cdlt

        • F1ATB André dit :

          J’ai publié une version V4.02_RMS qui corrige un bug dans Action
          Cdlt

          • Sebastien.D dit :

            j’étais content de voir que vous aviez sorti la version 4.02 mais après essai cela reste pareil.
            https://postimg.cc/Pp0LLGpM
            Sur l’image jusqu’à 21H c’est en Off et normalement après ca doit passer en ON mais le triac ne commute pas même a 21h04.
            Par contre chose étrange si je passe la barre bleu de Off en ON et après sauvegarde du changement du réglage, le triac commute de suite alors que l’heure est dépassée.

          • Arthur.B dit :

            Je confirme ce que Sebastien.D indique, la 4.02 ne corrige pas le probleme.
            J’ai exactement le meme bug.
            Je vais faire des tests afin d’etre le plus precis possible

          • F1ATB André dit :

            Essayez de m’en dire plus. Je n’arrive pas à le reproduire.
            Cdlt
            André

          • Arthur.B dit :

            Apres tests, on dirait que le programme ne tient compte que de la 1ere periode horaire.
            J’ai cree 4 ou 5 periodes et rien ne marche, mais du moment ou l’ on met la 1ere sur On le triac commute et inversement

          • F1ATB André dit :

            Pourriez-vous, si cela ne vous gêne pas trop, changer la constante à la ligne 28
            #define CLE_Rom_Init 4004567894
            Vous changer 1 chiffre, cela permet au redémarrage de virginiser toute la mémoire des constantes en ROM.
            Comme j’avais un bug sur la création de la troisième période horaire, que j’ai corrigé dans la 4.02, il y a peut-être quelque chose resté en mémoire (mauvais format de données) qui perdure.
            En faisant cela, il faudra refaire la procédure d’initialisation du premier lancement à l’adresse 192.168.4.1
            De mon côté avec 4 routeurs autour de moi, je n’arrive pas à le reproduire.

            Cdlt
            André

          • F1ATB André dit :

            Après investigation en ligne avec Arthur, on a la date et l’heure qui ne sont mises à jour par l’ESP32. Cela est probablement dû à un non-démarrage de l’horloge interne (RTC = RealTime Clock). Avant de changer d’ESP32, essayez une autre alimentation. On peut faire des essais avec l’exemple de programme dans l’IDE Arduino (SimpleTime). N’hésitez pas à faire des retours sur le sujet.
            Cdlt

  9. Michel Voisin (F1UVM) dit :

    Bonjour Monsieur,
    j’ai installé la version 4.01 et j’ai besoin de délester un circuit électrique lorsque la consommation dépasse 3500w
    (four électrique qui régule la température toutes +- 60 secondes et qui est prioritaire)
    Comme prévu dans la config j’utilise Actions de routage et un gpio .
    ça fonctionne bien mais j’ai du mettre un temporisateur à 555 pour maintenir ce circuit coupé tant que la consommation n’est pas redescendue .
    J’ai essayé la fonction répétition mais cela ne résous pas mon problème. Ou je m’y suis mal pris….

    j’avais acquis un relais de délestage qui aurait aussi exigé une temporisation que je ne souhaite pas utiliser car votre système peut réaliser cette fonction.
    En clair il faut délester au moins 5 minutes
    Y a il une solution.
    Merci d’avance
    Cdlt

  10. Michel C dit :

    Bonjour André,
    Je suis en version 4.01 et je voulais mettre à jour en version 4.02 par OTA et j’ai ce message:
    Sending invitation to 192.168.1.101
    22:20:42 [ERROR]: No response from device
    Failed uploading: uploading error: exit status 1

    Alors que je communique bien avec le navigateur sur l’adresse IP de l’ESP32.
    Merci de votre retour.
    Cordialement,
    Michel

  11. Regis ARNAUD dit :

    Bonjour André.
    Je suis depuis 2 mois avec la version 3.11 Linky, dont je suis très satisfait sur mon installation en triphasé. Y a t’il un intérêt pour moi à passer à la version 4.01-RMS avec le compteur Linky comme entrée ?
    D’autre part a quoi correspond la colonne « Données Triac » – « Produite » ?
    Merci encore pour ton site super intéressant.
    Au fait mon triac 40A fonctionne parfaitement depuis 1 mois, j’ai mis un thermostat de 40° qui met en route un ventilateur (au cas ou).
    Avec mon chauffe eau de 2.2kw, le ventilateur se met rarement en route, mais ça arrive.
    Au plaisir…

    • F1ATB André dit :

      Merci pour votre retour positif.
      La colonne Données Triac peut servir si on alimente le chauffe eau par le Triac dans la journée et par le contacteur Jour/Nuit, la nuit en passant un fil dans l’autre sens. Ainsi on a chaque jour la part chauffée par le solaire et la part chauffée par le contacteur Jour/nuit (A ne pas enclencher de jour).
      Cette deuxième sonde de mesure peut servir à d’autre chose si besoin.

      La version 4.03_RMS change peu pour le Linky par rapport à la 3.11.

      Cdlt

      • Regis ARNAUD dit :

        Merci André pour votre réponse.
        Je viens d’envoyer le programme 4.03-RMS dans 2 ESP32 que j’ai en réserve, tout fonctionne parfaitement « hors ligne » car je n’ai pas d’entrée puisque non relié au Linky.
        Toutefois la mesure de température me parait intéressante pour le chauffe-eau et la température de la piscine, je prévois de basculer mon installation actuelle dans cette nouvelle version.
        De plus je pense qu’il est judicieux d’utiliser la dernière mouture pour profiter des améliorations futures que, je suis sûr, vous ne manquerez pas de nous concocter .
        Grand merci à vous pour tout ce travail dont on profite avec un très grand plaisir.

  12. PUCHE dit :

    Bonsoir André.

    Après avoir résolu mon souci « Hors ligne » dans un autre de vos articles, je tente de téléverser votre software « version 4.03_RMS » dans mon ESP32.Mais je peux pas y arriver car dès la fin de la compilation, ca bloque et je reçois le message suivant :

    D:\DOSSIER VOLTAIQUE\ROUTEUR SOLAIRE F1ATB\Solar_Router_V4_01_RMS\Solar_Router_V4_01_RMS\Solar_Router_V4_01_RMS.ino:36:10: fatal error: RemoteDebug.h: No such file or directory
    #include //Debug via Wifi
    ^~~~~~~~~~~~~~~
    compilation terminated.

    exit status 1

    Compilation error: RemoteDebug.h: No such file or directory

    Que puis-je faire ? Merci à nouveau de votre aide.

    • Arthur.B dit :

      bonsoir,
      Il doit vous manquer cette librairie RemoteDebug, avez vous téléchargé toutes les librairies comme l’indique Andre dans ses explications?

      Vérifiez que vous avez les bibliothèques installées sur votre IDE Arduino :

      RemoteDebug
      NTPClient
      PubSubClient
      OneWire
      DallasTemperature
      ArduinoJson

      Cordialement
      Arthur

      • PUCHE dit :

        Bonjour Arthur, j’ai bien revérifié avoir installé les bibliothèques suivantes comme le demandait l’article d’André :
        RemoteDebug VERSION 3.0.5, NTPClient VERSION 3.2.1, PubSubClient VERSION 2.8, OneWire VERSION 2.3.7,DallasTemperature VERSION 3.9.0, ArduinoJson VERSION 6.21.3
        J’ai trouvé, c’était la bizarrerie qu’évoquait André quand on travaille sur un ordinateur portable.
        Dans
        C:/Users/Utilisateur/Documents/Arduino/libraries/RemoteDebug/src/utility/Websockets.cp
        A la ligne 42, j’ai effectivement remplacé :
        #include
        par
        #include
        Et la compilateur et téléversement a eu lieu. Merci encore à vous André et Arthur de nous aider à avancer quand nous ne sommes pas de formation techique et informatique.

      • PUCHE dit :

        Bonjour André,

        C’était la bizarrerie que vous évoquiez quand on travaille sur un ordinateur portable.
        Dans
        C:/Users/Utilisateur/Documents/Arduino/libraries/RemoteDebug/src/utility/Websockets.cp
        A la ligne 42, j’ai effectivement remplacé la ligne « include ».

        Et la compilateur et téléversement a eu lieu. Merci encore à vous André et vos contributeurs de nous aider à avancer quand nous ne sommes pas de formation technique et informatique.

  13. jean dit :

    bonjour
    j ai un ancien portable en verson android 4.0.4 , avec googole chrome comme navigateur ,j avais la version linky 3.11, qui s affichait tre bien , en passant a rms 4.03 uxi2, j ai des problemes , je n ai pas de données qui s affiche , le point rouge clignote pas , et pour le tableau d accueil j ai que la partie maison avec des cases blanches vides , pas de courbe, la partie donnes brute rien , la partie parametres s affiche mais toutes les cases sont blanches ,vide , la partie action , que la bande blanche du triac
    ca fontionne bien sur l ordinateur
    merci

    • F1ATB André dit :

      Si je comprends bien vous avez 2 machines:
      – Un ancien portable sous Android
      – Un ordinateur (sous Windows?)

      Si cela fonctionne avec l’ordinateur et pas l’Andoid. C’est la mémoire cache de l’Android qui conserve les vieux fichiers et ne remet pas à jour.
      Forcer plusieurs fois la relecture de la page.
      Cdlt

      • jean dit :

        oui c est ca , sous windows ca marche , avec android non , jai forcé plusieurs fois ,rien on dirait les données arrivent pas , point rouge fixe , et DATE
        c est un vieux google version 40 , je peux plus mettre a jour , on est a la version 100
        ca marchait version linky 3.11..avec rms3 bug ???
        si vous avez d autres pistes ?
        merci

        • F1ATB André dit :

          C’est un problème de cache.
          Essayé de rajouter à l’adresse dans la barre un truc bidon comme ?toto=3
          On peut leurrer le navigateur qui croit devoir charger une nouvelle page et ne pas prendre celle en mémoire cache.
          Essayer de redémarrer Android.

          Cdlt

          • jean dit :

            ca ne marche pas , jai essayé d autre navigateur , c est pire
            mon navigateur ne serai til pas trop vieux

          • F1ATB André dit :

            Installez un autre navigateur Web sur votre Android.
            Cela marche t’il bien sur un smartphone?

            Cdlt

          • jean dit :

            merci de votre je viens de trouver un qui fonctionne mozilla Firefox

          • F1ATB André dit :

            Parfait. La différence en V4, j’ai précisé le codage des caractères en UTF8 pour mieux traiter les accents.

            Cdlt

          • Ludovic dit :

            On peut aussi ouvrir une page en mode « navigation privée »; cela évite d’utiliser le cache (qu’on peut aussi effacer).
            Cordialement,

  14. JMH dit :

    Bonjour André,

    Après des test très concluant avec les version linky et UxI, j’ai voulu compiler la dernière version du logiciel (Solar_Router_V4_03_RMS) compilation sur Raspberry 4 avec Arduino1.8.19 et j’ai les erreur de compilation suivantes :
    /home/jmh/Arduino/Solar_Router_V4_03_RMS/Solar_Router_V4_03_RMS.ino: In function ‘void loop()’:
    Solar_Router_V4_03_RMS:551:40: error: no matching function for call to ‘WiFiClass::waitForConnectResult(int)’
    if (WiFi.waitForConnectResult(10000) != WL_CONNECTED) {
    ^
    In file included from /home/jmh/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src/WiFi.h:32:0,
    from /home/jmh/Arduino/Solar_Router_V4_03_RMS/Solar_Router_V4_03_RMS.ino:33:
    /home/jmh/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src/WiFiSTA.h:56:13: note: candidate: uint8_t WiFiSTAClass::waitForConnectResult()
    uint8_t waitForConnectResult();
    ^
    /home/jmh/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src/WiFiSTA.h:56:13: note: candidate expects 0 arguments, 1 provided
    /home/jmh/Arduino/Solar_Router_V4_03_RMS/HomeAssistant.ino: In function ‘void sendMQTTDiscoveryMsg_global()’:
    HomeAssistant:63:14: error: ‘class PubSubClient’ has no member named ‘setBufferSize’
    clientMQTT.setBufferSize(700); // voir –>#define MQTT_MAX_PACKET_SIZE 256 is the default value in PubSubClient.h
    ^
    Multiple libraries were found for « WiFi.h »
    Used: /home/jmh/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
    Not used: /home/jmh/arduino-1.8.19/libraries/WiFi
    exit status 1
    no matching function for call to ‘WiFiClass::waitForConnectResult(int)’

    Je ne vois pas d’où ça peut venir … Avez vous une idée ?

    Merci encore pour ce great job!

    • F1ATB André dit :

      Le cauchemar de la gestion des librairies sur Arduino « Multiple libraries were found for « WiFi.h » »

      Essayez une installation propre de l’IDE Arduino en version 2.xxx et non plus la vieille version 1.xxxx

      Cdlt

      • JMH dit :

        Merci André pour cette réponse.
        Je ne peux pas installer la v2 d’Arduino sur Raspberry, enfin je ne crois pas.
        Je vais donc essayer de compiler sur mon macbook ou sur un PC.

  15. Serge+11 dit :

    Bonjour.
    J’ai débuté avec la V2 il y a plusieurs mois et merci pour l’assistance, le suivi et les évolutions que vous proposez.
    J’ai installé la version RMS en UxI et récupère les données sur HA.
    Y a t’il un moyen, en ajoutant une sonde de courant type SCT 013, comme sur la première version, et peut être d’autres composants, d’arriver au même résultat que la version UxIx2 sans avoir a tout refaire?
    Je souhaite faire une corrélation entre l’ouverture du triac et le courant de CE.
    Merci.
    Serge

    • F1ATB André dit :

      Désolé, mais à ce jour, je n’ai pas d’autre entrée analogique possible dans le code.

      Cdlt

    • Montvalt dit :

      Bonjour André
      Premier bilan après l’installation du routeur qui fonctionne à merveille. Je rappelle que mon installation solaire de 2550Wc est reliée à une phase de mon installation triphasée. Le compteur linky est situé à 40 mètres de la maison et j’ai été obligé d’installer un répéteur wifi malgré l’antenne sur l’esp32. Je pensais être producteur en ayant constaté un P devant le mot souscrite et en contastant des kWh injectés devant l’index injection. Malheureusement la variable SINSTI n’est pas présente dans les données brutes. Donc j’ai réglé le seuil du triac à 20W et cela fonctionne pour alimenter une des 3 trois résistances de 1000 w du ballon tri. Par contre j’aimerais mettre un relais supplémentaire pour un convecteur lorsque le ballon est à température mais je ne sais pas quel seuil régler n’ayant pas la puissance injectée toujours à 0
      Encore merci André pour cette belle étude. Il me reste à réaliser la petite maison pour afficher la puissance

      Cdlt dom

      • F1ATB André dit :

        Bizarre votre P sur le Linky et pas SINSTI
        Pour le Triac et le relais, mettez un seuil de 40 sur le Triac et de 20 sur le relais. A ajuster suivant le bruit de mesure. Le triac déclenchera en premier, puis quand le ballon sera à température, la sortie Triac ne consommant plus, vous basculerez sur le relais.

  16. Martin dit :

    bonjour j’un probleme dans la fenetre liaison serie jes des signes comme ci dessous !
    ai je fait une mauvaise manip ??

    O�1!������;? %d�����b@(�
    OPA�u���w����G��
    RR��7Ȱ��

  17. Olivier D. dit :

    Bonjour André, merci pour cette version 4. Pouvez-vous remettre dans la description du projet la configuration du fichier yaml correspondant aux nouvelles trames MQTT ?
    D’autre part, comme je l’avais évoqué dans la version 3.11, je souhaiterais contrôler la température du radiateur lorsque le triac laisse passer 3000W afin de déclencher un ventilateur fixé en bout de radiateur si besoin. Pouvez-vous m’aider sur cette évolution ?
    Merci d’avance.

    • F1ATB André dit :

      En MQTT, il y a à présent la découverte automatique. Vous n’avez plus de yaml à écrire, les différentes valeurs apparaîtront dans la configuration MQTT.

      En version 4.03_rms, on peut brancher un capteur de température et enclencher un relais ou un petit transistor qui alimente le ventilateur.

      Cdlt

      • Olivier D. dit :

        En effet les valeurs remontent mais pour pouvoir désigner un sensor comme référence pour le tableau de bord énergie, il semble obligatoire de le déclarer dans un yaml en state_class: total_increasing .
        Concernant le pilotage ventilateur avec sonde, est-ce que c’est documenté ?

        • F1ATB André dit :

          Pour le state class, il faut que je regarde.
          Pour le ventilo. Tout dépend de quel modèle 5v,12v,230V.
          Il faut derrière un GPIO, mettre un petit transistor ou un mini-relais. Cela dépend de la puissance à commuter.

          Cdlt

  18. Martin dit :

    mes excuse j’étais en 9600 bau ….

  19. Gregoire.Fourdin dit :

    Bonsoir,
    Tout d’abord bravo pour tout cet investissement, ca doit aider pas mal de monde.
    Serait il possible d’inclure dans une meme « Action » de mettre aussi une commande de coupure.
    Je m’explique, si lors de la commande d’une action (imaginons une periode HC de 10h a 14h) que je demande au ballon de se mettre en route si la temperature est en dessous de 55°mais qu’il se coupe s’il atteint les 65° avant meme la fin de l’heure creuse afin de remplacer la sonde d’origine du CE

    • F1ATB André dit :

      Désolé, je ne comprends pas bien la question.
      Aujourd’hui, on peut forcer à ON durant une période si la température est inférieure à65°C par exemple. On peut aussi envoyer que l’excedentaire si la température est inférieure à 65°. Au-delà de 65, cela coupe.

      Cdlt

      • Arthur.B dit :

        Bonjour,
        Je pense que Grégoire veut peut être dire que dans chaque période de programmation, que ce soit en marche forcée ou via le routage du surplus solaire il y ait comme une soupape de sécurité réglé à 65° pour venir protéger le CE. Sans être obliger de le spécifier dans les réglages de chaque période du menu action, enfin je suppose que c’est ce qu’il veut nous faire comprendre. 😉
        Cordialement

    • Regis ARNAUD dit :

      Bonjour Grégoire,
      Si je peux me permettre une remarque, il ne faut surtout pas supprimer le thermostat d’origine du CE.
      On peux rajouter une coupure supplémentaire mais en gardant le montage d’origine qui a passé les tests et répond aux normes en vigueur.
      En cas de problème (fuite ou incendie), je doute que les assurances prennent en compte le sinistre.

      • Arthur.B dit :

        Oui tout a fait, c’est pour cela qu’André l’indique dans chaque projet.

        Bien sur que la sécurité est la première chose a respecter il y a des normes pour cela et si vous les respectez il n’y a pas de souci.

        A partir du moment ou vous faites une modification quelle qu’elle soit sur une installation existante il y a des risques. Ajouter un routeur ou tous autres dispositifs peut faire annuler une garantie en cas d’expertise. De mon coté je ne suis pas inquiet malgré le fait que j’ai des batteries solaire + ballon d’eau chaude solaire, tout cela fait maison.

        C’est pas parce que le Consuel est accordé que l’on est pas a l’abri surtout du coté de mes batteries il y a toujours un risque assez important a prendre en compte.

        c’est pour cela que j’ai des block fire => https://urlz.fr/o9RY et https://urlz.fr/o9SO

  20. Regis ARNAUD dit :

    Bonsoir André,
    Je viens de basculer mes trois ESP32 version 3.11 Linky en version 4.03 RMS.
    J’ai rajouté une sonde de température sur chacun d’eux, mais elles ne sont pas encore à leurs place définitive.
    Pour l’instant elles m’indiquent la température du local ou les ESP sont câblés ; par la suite il me faudra en intégrer une dans le chauffe-eau et une autre dans la tuyauterie de la piscine, la dernière continuera de m’indiquer la température du garage.
    Tout fonctionne de nouveau, j’ai été surpris par le clignotement rapide de la led du Cumulus, mais j’ai trouvé, en relisant vos explications, qu’elle clignote en fonction de l’ouverture du triac.
    A ce sujet si l’on pouvait personnaliser l’étiquette « Température » ce serait super !.
    J’ai également l’impression que la puissance active suit plus rapidement les variations et « colle » d’avantage avec la puissance apparente.
    Merci encore pour ton travail qui devient très intéressant en pouvant s’adapter à beaucoup de configurations.
    Grand merci.