Routeur photovoltaïque – Installation manuelle du logiciel

Routeur Multi Source

Il existe 2 méthodes pour installer le logiciel binaire du routeur photovoltaïque F1ATB dans l’ESP32. Une méthode en ligne rapide visible ici et la méthode manuelle décrite ci-après qui donne accès au code source.

Code Source

L’ensemble du code est installable en utilisant l’outil de développement IDE Arduino. Il n’y a pas de code à écrire, uniquement une compilation faite par l’IDE et un téléchargement du binaire dans l’ESP32. 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

A partir de la version 11.20, on peut compiler le code avec la version de l’ESP32 : 3.1.0_RC1. mattre l’url suivant dans le gestionnaire de carte :

https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/package_esp32_dev_index.json

Variantes code Source

Fin Mai 2024, Espressif a mis en ligne une nouvelle version de la bibliothèque qui gère l’ESP32. On est passé de la version 2.0.17 à la version 3.00. Laquelle s’est avérée buggé et a été remplacée quelques jours après par la 3.01. C’est un changement important qui a nécessité une reprise de certaines parties du code du routeur.

Allez sur votre Arduino IDE, pour identifier la bibliothèque ESP32 en cours suivant les mises à jour que vous avez accepté ou non.

Le code source est disponible ici, téléchargez la version appropriée à votre version de la carte ESP32:

Version ESP32V 2.0.17V 3.0.1 ou au dessusV3.1.0 RC1
Version Routeur V9_01 et en dessousV9_02 et au dessusV11.20 et au dessus

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

  • PubSubClient
  • OneWire
  • DallasTemperature
  • 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.

Partition Mémoire

Le passage en version 3.0.1 de la bibliothèque de l’ESP32 a fait exploser le volume mémoire occupé de 90% à 99% de la disponibilité. Il est possible de modifier la partition de la mémoire Flash et ne plus utilser celle par défaut.

A partir de la version 10 du routeur et jusqu’à 12.05 et avant compilation, il faut aller dans : Outils–> Partition Scheme –> Minimal SPIFFS

Ainsi le volume occupé tombe à 66% environ, ce qui laisse de la place pour les évolutions futures.

A partir de la version 12.06, il faut mettre : Outils–> Partition Scheme –> FS
Cette nouvelle table de partition pour gagner un peu de place et ne plus avoir un watchdog non fonctionnel comme dans la version 12.05

On ne peut installer la V10 à partir de la V9.x en utilisant l’OTA. Il faut se connecter à l’ESP32. Démonter votre ESP32 ou amener votre PC à côté du routeur. Désolé pour la gêne occasionnée.

Comme tous les paramètres seront perdus, faites l’installation rapide à partir de la page web en étant branché en USB. Cela vous évite la compilation et la courses aux bibliothèques…
https://f1atb.fr/fr/routeur-photovoltaiq…-logiciel/

Historique des versions V8.x, V9.x

  • V8.09_RMS
    • Ralentissement appel Enphase de 200 à 400ms
    • Retrait bibliothèque obsolète ArduinoJson
    • Réorganisation sorties vers broker MQTT
  • V9.00_RMS
    •     Stockage des températures avec une décimale
    •     Simplification changement de nom de réseau WIFI
    •     Choix mode Wifi avec ou sans veille
    •     Sélection source de température
    •     Source de puissance reçue via MQTT
    •     Souscription MQTT à une température externe
    •     Souscription MQTT pour forcer On ou Off les actionneurs.
  • V9.01_RMS
    • Validation puissance apparente pour les configurations Linky et CACSI
    • Dernière version avec la bibliothèque ESP32 V2.0.17
  • V9.02_RMS
    • Suite au passage de la bibliothèque ESP32 en Version 3.0.1 importants changement pour le routeur sur le WIFI, les Timers, Le Watchdog et la partition mémoire FLASH.
    • Filtrage des températures pour tolérer une perte éventuelle de mesures
  • V9.03_RMS
    • Suite au changement de bibliothèque ESP32 en V3.0.1, le scan réseau pour un changement de nom de WIFI ne fonctionnait plus. Scan fait maintenant au boot.
  • V10.00
    • OTA par le Web directement en complément de l’Arduino IDE
    • Modification des calculs de puissance en UxIx3 pour avoir une représentation similaire au Linky (Merci PhDV61)
    • Modification de la surveillance Watchdog
  • V11.00
    • Possibilité de définir le SSID et le mot de passe du Wifi par le port série
    • Import / Export des paramètres et actions
    • Relance découverte MQTT toutes les 5mn
    • Réécriture de la surveillance par watchdog suite au changement de bibliothèque 3.0.x carte ESP32
    • Estimation temps équivalent d’ouverture max du Triac et relais cumulée depuis 6h du matin. Prise en compte de la puissance en sin² du mode découpe
    • Correction d’un bug de syntaxe non détecté par le compilateur depuis la version V9 affectant les communications d’un ESP esclave vers le maître
    • Affichage de l’occupation RAM
  • V11.10
    • Nouvelle source de mesure Shelly Pro Em
  •  V11.11
    • Correction bug mesure de température distante
  •  V11.12 à V11.16
    • Correction bugs et évolutions de bibliothèques mesure de température distante
  • V11.17
    • Compilation avec la nouvelle version 3.03 de la carte ESP32
    • Arrêt routage si température non valide
  • V11.18
    • Recherche de la couleur Tempo non plus chez EDF mais RTE (sauf pour senseur Linky)
    • Améliorations UxIx3
  •  V11.19
    • Nouvelle adresse de recherche Tempo chez  RTE (sauf pour senseur Linky) plus simple
    • Compilation avec la bibliothèque V3.0.4 pour l’ESP32
  •   V11.20
    • Petite modification recherche Tempo chez  RTE (sauf pour senseur Linky)
    • Compilation avec la bibliothèque V3.1.0-RC1 pour l’ESP32
  • V12.00
    •     Jusqu’à 4 capteurs de température DS18B20 ou extérieurs
    •     Offset sur les températures si besoin de corriger les mesures
    •     Rajout d’informations en sortie MQTT
    •     Les Actions peuvent être conditionnées à l’état d’autres Actions sur le même ESP32 ou un distant
    •     RAZ des historiques sur demande
    • Compilation avec la bibliothèque V3.1.0-RC1 pour l’ESP32
  • V12.01
    • Correction bug sur les dixièmes de degrés des températures
  • V12.03
    • Corrections sur les multiplications et divisions de float par une constante
  • V12.04
    •     Mise à jour Shelly Em Pro
    •     Clarification mise en page Actions
  • V12.05
    •     Correction bugs Duree_Relais dans Mqtt.ino et débordement micros() dans Source_UxI.ino
  • V12.06
    • Compilation avec une partition mémoire NoFS suite à comportement anormal du watchdog en V12.05.

Mise à jour des anciennes versions

Versions V4 à V10

Dans le cas d’une mise à jour des anciennes versions V4, V5, V6, V7,V8, vers la V9,V10, notez bien sur une feuille de papier les paramètres et réglages. Au premier lancement. Il faudra faire comme un premier lancement en se connectant au point d’accès Wifi de l’ESP32 à l’adresse IP 192.168.4.1 ou par le port série.

Versions V11.xx et V12.xx

Pour les versions V11.xx, V12.xx sauvegardez vos paramètres sur vote PC (bouton Import/Export) si la partie entière de la version change. Pas nécessaire de sauvegarder si uniquement la partie décimale change.

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

CONFIGURATION PAR LE PORT SÉRIE (DEPUIS LA VERSION 11.00)

Si vous êtes connecté par le port série à la carte ESP32, après l’installation, il faut indiquer le nom du réseau Wifi et son mot de passe. Cette connexion peut être faite avec le moniteur de l’IDE Arduino ou depuis votre navigateur web. Il y a 3 commandes clés à entrer :

  • ssid: nom_du_reseau
  • password: mot de passe
  • restart
CONFIGURATION PAR LE WEB

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 (déconnectez 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. Parfois, il est nécessaire de rafraichir la liste des Wifi sur votre smartphone. De même, penser à répondre « oui » quand la fenêtre demandant si vous voulez rester connecté à un réseau sans accès à internet pop-up. Elle disparait parfois très rapidement.

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.

Watchdog

Le fonctionnement de l’ESP32 est surveillé par un watchdog (chien de garde). Si l’ESP32 se bloque, ne reçoit pas de données de puissance pendant 180s, ou n’est plus connecté en Wifi il se reset.

Remarques

Si vous regardez les premières lignes du programme (Solar_Router_V9_01_RMS.ino), il y a 2 constantes :

#define HOSTNAME « RMS-ESP32-« 

#define CLE_Rom_Init 812567808

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.

Alimentation durant la programmation

Il arrive que l’ESP32 alimenté par l’USB de votre PC ne démarre pas correctement. Cela vient d’une tension d’alimentation insuffisante, inférieure à 5V et d’un courant important au démarrage. Dans ce cas utilisé un Hub USB disposant d’une alimentation propre à lui. Vous connectezl’ESP32 au Hub que vous connectez à votre PC. https://www.amazon.fr/Aceele-Microsoft-Nintendo-Ordinateur-Portable/dp/B07RLFKG4X/ref=sr_1_1_sspa

Bugs Soft

USB Driver

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/

Nom SSID

Après plusieurs téléchargements, modifications du code, je me suis trouvé dans la situation où l’ESP32 cherchait bien à se connecter à mon réseau WIFI de la maison comme d’habitude. Mais, le moniteur série m’affichait un échec et passage en mode point d’accès (AP) à l’adresse 192.168.4.1. En remettant le nom du réseau WIFI (SSID) c’était toujours un échec. La solution a été de nommer un nouveau nom de réseau en modifiant le SSID de la box locale, de s’y connecter sans problème, et finalement de remettre le SSID d’origine. Cela depuis la version 3.0.1 de la carte ESP32. Je n’ai pas l’explication mais au moins le remède.

RemoteDebug (non applicable à partir de la version V8.08 du routeur)

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.

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.

Vidéo sur l’installation et le paramétrage

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

602 réponses

  1. Ploum Peoh dit :

    Bonjour,

    Très bon travail et bien documenté.
    Une remarque sur le code Source_UxIx2 :
    A la ligne 27, il y a un test pour savoir si on a reçu le message complet.
    Si on est pas certain d’avoir reçu toutes les données, pourquoi quand même affecté les variables sens_1 et sens_2 ?
    Ne faudrait-il pas inclure les 2 lignes suivantes dans le if (a == 61) ?
    Sens_1 = ByteArray[27]; // Sens 1
    Sens_2 = ByteArray[28];

    • F1ATB André dit :

      Je ne comprends pas votre remarque. Le test en ligne 27 if ( a == 61) va jusqu’à la ligne 94 et inclu :
      Sens_1 = ByteArray[27]; // Sens 1
      Sens_2 = ByteArray[28];

      Cdlt

  2. Cyril dit :

    Quoi dire de plus, encore une évolution du routeur,
    Moi qui galère pour afficher le % du triac dans la maisonnette version 7,
    Je n’arrive pas à récupérer l’info,
    J’ai pas encore installé la version 8,
    Est-ce que l’affichage du % est prévu?
    https://zupimages.net/viewer.php?id=24/07/3b2v.jpg
    En tous cas merci pour tout, chez moi ça tourne à merveille et je profite au max de mes panneaux,

    • F1ATB André dit :

      L’ouverture du Triac est dans la liste des évolutions à venir de la maisonnette. Sauf que maintenant, avec la version V8, les relais s’ouvre graduellement aussi.

      André

  3. Mmk dit :

    Bonjour André.
    Je rencontre un soucis lors de la configuration à ma passerelle enphase.
    Je suis en V7.
    Je rentre donc adresse mail, mot de passe et ID de la passerelle.
    Malgré ça, en regardant le moniteur série, je vois que je n’arrive pas à récupérer le token.
    En script bash (linux), j’arrive à récupérer ce token sans problème avec les mêmes infos.
    Une idée?
    Merci pour votre retour

  4. MENOU denis dit :

    J’ai oublié de vous préciser que j’ai installé les bibliothéques suivantes
    RemoteDebug
    PubSubClient
    OneWire
    DallasTemperature
    ArduinoJson
    UrlEncode
    Mais l’erreur perciste
    Bien cordialement

    • MENOU denis dit :

      RE:Bonjour
      Erreur ligne 71
      pageHtmlBrute.h: No such file or directory

      j’ai installé votre version V8
      Comment puis je dans le programme
      Cdit

  5. Serge+11 dit :

    Bonjour,
    Je viens d’installer la V8 avec trois récepteurs: Chauffe eau et 2 SSR.
    J’ai actionné le CE en train de sinus (qui, après différents tests (courts) semble la meilleur gestion dans mon cas) avec une réactivité à 10 (si vous vous rappelez, j’ai un gros problème d’oscillations) et les 2 SSR en ON / OFF.
    Je vais continuer les observations pour le CE.
    Mais pour les SSR, dans le menu accueil, l’action est représenté en proportionnelle! Alors que normalement c’est soit 0 soit 1!
    C’est normal??
    Merci encore pour votre partage.

    • F1ATB André dit :

      Pour les SSR en mode On/Off, je vais voir pour changer le texte. On ne comprend pas un pourcentage.

      Cdlt

    • F1ATB André dit :

      J’ai publié une version 8.02 du logiciel avec les libellés On/Off dans le cas d’un relais en mode On/Off
      Cdlt

  6. jerome dit :

    Bonjour,
    J’utilise votre routeur depuis un moment avec les différentes versions. Un grand merci!
    Avec la v8.02 j’ai une erreur de compilation:
    error: invalid conversion from ‘int’ to ‘const esp_task_wdt_config_t*’ [-fpermissive]
    82 | #define WDT_TIMEOUT 180
    | ^~~
    | |
    | int
    Soft à jour…
    Merci pour votre aide

    • F1ATB André dit :

      Bizarre, je ne comprends pas. Rechargez le .zip et recommencez.

      • jerome dit :

        Le problème venait du fichier « esp_task_wdt.h ». Désinstallation profonde d’arduino IDE (Arduino15). Réinstallation. Ça fonctionne! Si ça peut aider…

  7. MATHIEU Jean dit :

    Bonjour André,

    Comme j’ai un autre routeur F1ATB toujours avec 2 ESP32 pour « m’amuser » je blague, c’est pour tester les versions de firmware « Affichage à distance » de Titi21, je viens d’y installer votre nouvelle version V8_02
    Je cherche des explications sur « Action » si par exemple je suis avec un Robodyn faut prendre quoi « Multi-sinus » ou « Train de sinus »

    Merci à vous.

    Jean

    • F1ATB André dit :

      C’est presque pareil. Train de sinus est un peu plus lent à réagir et génère légèrement moins de parasites. Optez pour Multi-sinus…

  8. Marcos83 dit :

    Bonsoir André,
    Je ne sais pas si ça aura une utilité pour les utilisateurs, de votre routeur, mais il me semble que vous aviez indiqué il y a quelques temps ne pas avoir la main sur la période de synchro de l’heure avec le serveur NTP.
    J’utilise la fonction
    « `cpp
    sntp_set_sync_interval(Interval_Refresh_NTP);
    « `
    Interval_Refresh_NTP étant l’interval en milliseconde des mise à jour. Chez moi j’ai mis toutes les 12 heures ->
    « `cpp
    #define Interval_Refresh_NTP 43200000 //43200000 // toutes les 12hr

    « `

    Encore bravo et merci pour cet énorme travail !! Ce routeur est une merveille.

    • F1ATB André dit :

      Maintenant j’utilise la bibliothèque esp_sntp. Elle fonctionne bien, gère le changement d’heure été/hiver et je peux définir l’intervalle de rafraichissement qui est de 3h par defaut.

      Merci
      André

      • Marcos83 dit :

        Merci pour la réponse. C’est effectivement de cette biblio à laquelle je faisait allusion. Sinon, juste pour ma compréhension personnelle, à quoi vous sert la bibliothéque ESPmDNS et comment vous l’utilisez ? J’ai regardé sur le net et il semble qu’il faille faire démarrer le service genre MDNS.begin pour la résolution de nom de domaine. Comme je ne voit pas cette instruction dans votre code, j’imagine que vous avez certainement une autre façon de l’utiliser ?
        Merci encore pour votre partage.

  9. gerard dit :

    bonjour,
    toujours aussi super cd f1atb !
    petit pb sur le bouton « actions » sur PC (android n’a pas ce pb). c’est très lent à s’afficher et l’affichage n’est pas complet. j’ai même réussi à planter l’esp32

  10. gerard dit :

    j’ai oublié de dire que je suis en 8.02 et il n’y avait pas ce problème en 6.02

  11. veve dit :

    bonjour
    super système, comment je pourrai gérer plusieurs triac sur mon install j’ai 2 ballons un chauffage et un eau sanitaire j’aurai voulu quand 1 est charger passer sur l’autre par gestion de température

    • F1ATB André dit :

      Vous pouvez mettre plusieurs relais depuis la version 8 qui piloteront les ballons. Avec le capteur de température et les seuils de déclenchement réglables, vous devriez trouver votre bonheur.

      Cdlt

  12. Mark dit :

    Hi Andre,
    I constructed your great project to measure net power of my house. All seems to work very well except the grid voltage is not stable. The voltage slowly wanders between 220 and 260Vac. I have a reference voltage virtually always shows 240v exactly, so I know the grid is stable.
    I have put the project together using the transformer from a small AC power supply. The output voltage is +/-1.2V pk-pk which I have checked with an oscilloscope.
    I tried changing the resistor bridge to reduce the voltage, removing the capacitor, updated software to latest version and tried a different ESP32 board.
    Do you have any suggestion for me to find the fault please?
    Thanks
    Mark

    • Mark dit :

      Forgot to say I have the UxI setup.

    • Mark dit :

      https://ibb.co/88CrNmb

      Photo of grid voltage and sorry I just realised I posted this on the wrong page. I have too many of your pages open.

    • F1ATB André dit :

      Grounding issue. Some have noticed that all the ground pins are not connected together on some boards. Verify.

      Regards

      • Mark dit :

        I only have 2 GND pins both connected. I completely re-built the circuit board with new components and still the same problem. I put a voltmeter and oscilloscope on the transformer output (10.29Vdc) and pin 32 (2.34Vac pk-pk at 1.65Vdc). Neither of the these voltages move at all. When the voltage on the software appears to rise I can see the waveform flatten at the top and bottom on your software graph, yet the oscilloscope does not change at all.
        The only problem I can see is that the oscilloscope trace is not a nice sinusoid but it is very stable. I would appreciate any other ideas you might have?
        https://ibb.co/L6QRQQy

        • Christophe L. dit :

          We are 2 users who encountered a similar problem with the UxI assembly that we never resolved. I deduced that this was due to excessive inaccuracy of the ESP32s from Alixpress or other cheap sellers. Personally I took measurements with a Shelly EM, it is much more precise.

          • Mark dit :

            Thanks Christopher, it was starting to get really frustrating that I couldn’t work out what I had done wrong. Such a shame as it is such a good solution for my needs. I want the controllability of the power measurement in near to real time. The bit I don’t understand is the current measurement seems to be much more stable than the voltage. I may just use the reference voltage I already have on the Sonoff PowR2 to see how that works.

  13. Kiki387 dit :

    Bonjour,
    J’ai un shelly 3em avec la version 8.04 pouvez vous m’en dire plus sur la version V8.05_RMS qui Rajoute un lissage sur les puissances voie secondaire Shelly

    Merci

    • F1ATB André dit :

      La modification en 8.05 ne concerne que les Shelly Em qui ont une voie secondaire. Celle-ci est moins souvent lue que la voie principale mesurant la puissance en entrée de maison et servant au routeur. Il est nécessaire de la lisser un peu car le Shelly mesurant la puissance sur des durées bien inférieure à la seconde oscille entre consommation et injection en mode multi-sinus ou train de sinus. Cela permet de moyenner.

      Cdlt

  14. Heitz Bruno dit :

    Bon, après des problème de carte non reconnus, changement de carte, de pc., voici que la compilation plante à chaque fois error 1
    Pas mal de lignes en rouges ( je suppose que ce n est pas normal ?)
    J ai essayé de supprimer, retecharger le programme, rouvrir le fichier routeur. Ino.
    L emplacement de dezippage à il une importance ?

    • F1ATB André dit :

      A mon avis , vous n’avez pas installé les bibliothèques si vous avez pleins d’insultes en rouge.

      Cdlt

      • Heitz Bruno dit :

        J ai installé les 6 cités plus haut

        • Heitz dit :

          voici par exemple les premiere ligne rouge de la liste qui est longue….je n y comprend rien
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:21:1: error: ‘include’ does not name a type
          include « FS.h »
          ^~~~~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:26:1: error: ‘size_t’ does not name a type
          size_t File::write(uint8_t c)
          ^~~~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:26:1: note: ‘size_t’ is defined in header  »; did you forget to ‘#include ‘?
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:1:1:
          +#include
          /*
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:26:1:
          size_t File::write(uint8_t c)
          ^~~~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:35:1: error: ‘time_t’ does not name a type
          time_t File::getLastWrite()
          ^~~~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:44:1: error: ‘size_t’ does not name a type
          size_t File::write(const uint8_t *buf, size_t size)
          ^~~~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:44:1: note: ‘size_t’ is defined in header  »; did you forget to ‘#include ‘?
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:53:5: error: ‘File’ has not been declared
          int File::available()
          ^~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp: In function ‘int available()’:
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:55:11: error: invalid use of ‘this’ in non-member function
          if (!*this) {
          ^~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:59:12: error: ‘_p’ was not declared in this scope
          return _p->size() – _p->position();
          ^~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp: At global scope:
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:62:5: error: ‘File’ has not been declared
          int File::read()
          ^~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp: In function ‘int read()’:
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:64:11: error: invalid use of ‘this’ in non-member function
          if (!*this) {
          ^~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:68:5: error: ‘uint8_t’ was not declared in this scope
          uint8_t result;
          ^~~~~~~
          C:\Users\Bruno\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS\src\FS.cpp:69:9: error: ‘_p’ was not declared in this scope
          if (_p->read(&result, 1) != 1) {
          ^~

          • F1ATB André dit :

            Vous n’avez pas du charger/compiler le bon fichier .ino à savoir Solar_Router_V8_05_RMS.ino si vous êtes en version V8.05 du routeur.

            Cdlt

  15. Heitz Bruno dit :

    C est d autant plus étonnant que sur le pc portoble, je n ai aucun problème de programme, mais il ne reconnaît pas mes esp.
    Et sur le fixe, il voit bien l esp, mais le programme bug. Je pense avoir pris le bon ino sur les deux pc

  16. Gaetan dit :

    Bonjour, Mon ESP32 ne parviens plus à communiquer avec la passerelle Envoy et j’ai cette erreur « connection to client clientFirmV5 failed (call to Envoy-S) ». L’ESP redémarre toutes les 3 ou 4 minutes avec cette erreur en boucle.
    Ce qui m’étonne c’est que je suis en firmware v7 et cela me parle d’une erreur « v5 » alors que j’ai bien saisie dans les paramètres le user, mot de passe et numéro de série.
    Pourtant j’accède bien à mes données Envoy avec le bon login et mot de passe (que j’ai vérifié 10 fois) en utilisant l’URL directe : « https://192.168.1.40/ivp/meters/reports/consumption »
    Avez-vous des idées pour me débloquer?
    Merci !

    • F1ATB André dit :

      Vous n’avez pas dû recevoir le Token. Regardez sur le tableau des données brutes.

      • Gaetan dit :

        Ce soir je rebranche simplement l’ESP32 et tout fonctionne immédiatement. Il y a effectivement dû avoir un problème de token ou session_id. Merci encore André pour votre aide!

  17. DD dit :

    Bonjour,
    J’essaye de passer en V8..05 en version Shelly et je rencontre quelques problèmes: J’ai bien recopié manuellement tous mes paramètres.
    Sur la page Main j’ai le message Attente de l’heure par internet
    Plus étrange sur la page Actions je n’ai que la possibilité Routage via Relais. Je ne vois pas le routage via Variateur.

    La liaison avec mon ordi est bonne car j’ai le bonnes indications de puissance..

    Comprends pas.
    Merci.

  18. F1ATB dit :

    vous n’avez pas la bonne adresse IP pour la passerelle. Le routeur ne trouve pas le chemin pour sortir chercher l’heure.

  19. DD dit :

    Merci, exact pour l’l’heure mais toujours « Pas de Triac » dans données brutes ….
    Dans mes paramètres j’ai bien coché Shelly EM, je reçois bien les données mais toujours pas de possibilité de paramétrer un Triac sur la page Actions.

    Comprends pas, j’ai besoin d’une idée là.

    • F1ATB André dit :

      Vous n’avez pas le 230V qui arrive sur la platine du Triac. Ainsi pas de signal zero crossing géneré et reçu par l’ESP32.

      • DD dit :

        Plusieurs constats:

        Non, mon Triac est bien alimenté en 220V et de retour sur la 6.2 mon Triac fonctionne impeccablement et sur cette même configuration de matériel qu’en V8.5 il n’est pas visible.

        Sur la 6.2 un ESP32 strictement seul c’est ok je n’ai pas de message de non détection de Triac comme en 8.5.et le paramètre de gestion du Triac est bien visible sur la page Actions

        J’ai comparé les GPIO Triac des 2 versions elles sont identiques ..

        Comprends pas où est mon problème..

        • Christophe L. dit :

          Bonjour DD.
          Avez-vous tenté de refaire la mise à jour en virginisant la mémoire de l’ESP32 ? J’ai rencontré un problème similaire une fois et cela a solutionné le problème.

  20. laurent dit :

    bonjour j’ai tenté de compiler le programme 8.05 sous arduino et j’obtiens un plantage avec le message ci dessous :

    exit status 1

    Compilation error: invalid conversion from ‘int’ to ‘const esp_task_wdt_config_t*’ [-fpermissive]

    je précise que je ne connais rien à la programmation et que c’est quasiment du chinois pour moi.

    si quelqu’un peut m’aider.