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 ESP32 | V 2.0.17 | V 3.0.1 ou au dessus | V3.1.0 RC1 |
Version Routeur | V9_01 et en dessous | V9_02 et au dessus | V11.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
- Routeur photovoltaïque V12 – Affichage et paramétrage
- Routeur Photovoltaïque – Raccordement à un chauffe-eau
- Routeur Photovoltaïque – Installation rapide du logiciel
- Routeur photovoltaïque piloté via MQTT
- Capteur SmartGateways / Siconia pour routeur photovoltaïque
- Routeur photovoltaïque – Modes de régulation
- Routeur photovoltaïque – Affichage et paramétrage
- Routeur photovoltaïque – Réalisation matérielle
- Réalisation d’un Routeur photovoltaïque Multi-Sources Multi-Modes et Modulaire
- Routeur photovoltaïque – Installation manuelle du logiciel
- Capteur Shelly Em™ – Shelly Pro Em™ pour routeur photovoltaïque
- Exemples Montage Routeur Photovoltaïque F1ATB
- Capteur Enphase – Envoy-S Metered™ pour routeur photovoltaïque
- Routeur photovoltaïque simple à réaliser
- Capteur UxIx2 ou UxIx3 pour routeur photovoltaïque
- Triacs gradateurs pour routeur photovoltaïque
- Capteur Linky pour routeur photovoltaïque
- Capteur UxI pour routeur photovoltaïque
- Programmation de l’ESP32 – Application au routeur Photovoltaïque
- Chauffer votre piscine avec l’excédent d’énergie Photovoltaïque
- U x I : Routeur Solaire pour gérer la surproduction photovoltaïque (DIY)
- Panneaux Photovoltaïques Intégrés Au Bâti (IAB) d’un abri voiture
- Réalisez un Routeur Solaire avec un Linky (DIY)
- Câblage de panneaux Photovoltaïques à des Micro-Onduleurs en Autoconsommation (DIY)
- Démarches Administratives pour le Photovoltaïque
- Affichage à distance consommation ou surproduction électrique
- Réalisez un Routeur Solaire pour gérer la surproduction
- Câblage de panneaux Photovoltaïques à un onduleur en Autoconsommation (DIY)
- Panneaux Photovoltaïques Intégrés Au Bâti (IAB)
- Routeur Solaire. Mesure de Puissance avec un ESP32
Bonjour André,
Merci pour cette nouvelle version 8.09 qui nous apporte de nouvelles fonctionnalités.
Je mets ici le lien vers ma version modifiée:
https://drive.google.com/file/d/1IPJ-2USyf3G38K84oy90YChgmzqBr4Ip
Fonctions ajoutées (les mêmes qu’avant): estimation énergie routée par action, complément HC pour avoir un minimum, priorité des actions, boost CACSI/TIC, sonde DHT11 interne, sécurité température, ventilateur.
Cordialement,
Super merci je ne vais pas avoir besoin de rentrée t’es modification manuellement
Top
Bonjour,
Mon problème de lenteur des versions postérieures à 8.06 est résolu !!
Après une dizaine d’aller-retour entre les différentes versions, je me suis décidé à faire une mise à jour en « effaçant’ la ROM de l’ESP32 c’est à dire en changeant la variable « CLE_Rom_Init ». Et là tout marche impeccablement sans lenteur, sans de multiple « Connection failed to Envoy-S server! »
André, une idée d’où le problème peut venir ?
Cordialement
Eric
Je ne comprends pas la source du problème. Le principal, cela fonctionne bien aujourd’hui
Cdlt
Bonjour, moi cette méthode ne fonctionne pas chez moi. André y a t’il possibilité de me faire une version light (sans graph sur la première page pour tester si c’est l’origine du problème?
merci a vous
Désolé, on ne peut pas faire d’autres versions sans même connaitre l’origine du problème. Chez de nombreuses personnes, cela tourne. Il faut regarder autour du WIFI, de conflits d’adresse IP, du paramétrage, du navigateur WEB qui conserve en cache une ancienne version etc…
Cdlt
bonjour je comprend, c’etait pour isoler le probleme.
niveau wifi j’ai changé de routeur.
j’ai changé de esp (avec antenne)
conflit d’adresse ip impossible c’est des réservations.
navigateur web en inprivate pour les tests.
je vais continuer a investiguer, merci encore de votre retour et bonne journée
J’ai un peu cherché moi aussi sur le pkoi de ces lenteurs. J’ai remarqué que le ping envers le routeur était très haut.
En faisant le tour des périphériques, de manière générale, le ping de mes esp32 est très haut comparé aux esp8266. J’ai fait quelques trouvailles:
– Pour les esp32, il faut désactiver le power saving du wifi qui introduit des lenteurs du wifi.
– L’esp32 avec les bibliothèques de l’arduino supporte mal le wifi mesh, sur les TP-LINK Deco, il vaut mieux désactiver le mesh pour les périphériques ESP32
Comme le dit André, il semble bien qu’il faille fouiller du coté du Wifi, peut être serait-il pertinent de donner les marques et modèles du fournisseur de wifi
Personnelement:
– TPLINK Deco XE75 Pro + Deco X50 + Deco X50 Outdoor
effectivement j’ai du mesh a la baraque, es ce que c’est l’axe de recherche je suis un peu dubitatif mais j’ecoute 🙂
-Synology wrx560 avec un mr2200ac en filaire
voici les tests effectué ce matin:
-remontage d’un esp32 a coté du routeur -24dbm
-suppression de mes webcam (peut etre une saturation du wifi en 2.4)
-suppression des requetes HA sur le enphase.
-essai d’un autre navigateur
si je vais sur la page d’accueil puis vers données brute puis de nouveau sur accueil, pouf il plante je le perds sur le reseau. apres il a un mal de chien a retrouver enphase.
j’avoue ne plus avoir d’idée. Peut etre l’alim du esp….
Pour moi, tout est revenu à la normale depuis 2 jour. Les changements:
– Version perso avec désactivation du power saving du wifi sur l’esp
– Désactivation du mesh pour l’esp
– Désactivation du beam forming
Je laisse tourner comme ça pendant quelques jours, si ça reste comme ça, je récativerai les fonctions une par une pour regarder laquelle a un impact.
Votre analyse m’intéresse. J’ai 4 routeurs chez moi et jamais rencontré ce problème.
Vous pouvez si vous le souhaitez m’écrire en direct à f1atb.fr@gmail.com
André / F1ATB
Bonsoir André,
Le routeur est une machine de guerre, ça fonctionne superbement ! Merci !
Mais je suis passé au V8.09 récemment, le forçage est une belle nouveauté.
Seulement j’ai trouvé un détail troublant:
Lors de la première connexion après téléversement, le routeur trouve tous les wifi au scan et se connecte sans problème puis fonctionne.
Mais si on le force à repasser en AP pour changer de SSID, alors il ne retrouve plus aucun réseau disponible… dans le même environnement.
C’est alors qu’il faut retéléverser en changeant la clé rom… et hop il retrouve à nouveau tous les réseaux…
Cette situation vous parle ? On dirait qu’il ne parvient qu’à se connecter une seule fois…
Merci dans tous les cas pour votre routeur.
Cordialement
Gabriel S
Cette situation me parle. J’ai corrigé le bug dans la V9.00 à venir.
Cdlt
Bonsoir André, mon routeur fonctionne avec la 8.07 mais je pense avoir trouvé un dysfonctionnement en rapport avec le wifi, c’est à dire que si l’esp32 n’est plus connecté au wifi alors il n’effectue plus les actions enregistrées sur ce laps de temps ni n’enregistre l’historique sur 48h.
Je m’en suis rendu compte car je lui ai enregistré comme action de chauffer en marche forcée la nuit sur mes heures creuse uniquement si la température est inférieure à 46 degrés, et il ne l’avait pas fait alors que la température relevée était de 38 degrés. et j’avais constaté dans le même temps que mon historique sur 48h disparaissait et recommençait tous les matin à 7h30. et en fait c’est que j’avais programmé une coupure du wifi toutes les nuit de 3h à 7h30… une fois cette programmation enlevée et donc le wifi rétabli définitivement, tout fonctionne correctement.
J’espère que cela aidera, cordialement.
C’est le fonctionnement normal du routeur en l’absence de wifi pendant 3mn il se reset et perd les données enregistrées en mémoire RAM. Le wifi lui permet d’obtenir l’heure pour les différentes actions et de dialoguer éventuellement avec d’autres ESP.
Cdlt
entendu merci, par contre est-il possible dans l’accueil de distinguer pour l’énergie injectée dans le chauffe-eau celle provenant du surplus solaire de celle provenant du réseau en marche forcée svp?
Cordialement.
Vous pouvez voir sur la courbe d’ouverture du Triac en marche forcée et en régulation. Cela donne un ordre de grandeur.
Cdlt
Bonjour et merci André,
Moi aussi j’ai de gros problèmes de lenteur de déconnexion et d’erreurs de lectures sur Emphase avec les versions de routeur postérieure à la 8.06 !!
Merci pour ton investissement
Alain
Essayez ceci qui améliore nettement le ping mais augmente de 70mA la consommation.
En version 8.09 c’est à la ligne 534
Remplacez:
WiFi.begin(ssid.c_str(), password.c_str());
par
WiFi.begin(ssid.c_str(), password.c_str());
WiFi.setSleep(false);
Vous rajoutez cette ligne qui évite au wifi de passer en mode de veille.
Dites moi, si cela améliore.
Je vais le mettre en option dans la version 9.00 à venir
Cdlt
Bonjour André, comme tu peux voir, j’ai un grand sourire sur mon visage, la modif de la ligne 534 change complètement le comportement. L’interface répond du tac o tac. je ne vois plus de perte de connexion avec le metered enphase. Attendons d’autre retour, mais pour moi c’est top!!
Cordialement
Parfait, merci pour le retour. Reste la question pourquoi chez certain, il n’y a pas de souci, chez d’autres cela traine.
Dans la V9 ce sera une option.
Cdlt
Salut à tous,
Depuis que je teste le routeur, je confirme que l’ajout de cette ligne :
WiFi.setSleep(false);
dans le code, permet de n’avoir plus aucunes erreurs de communication avec la passerelle Envoy-S et que les pages Web sont beaucoup plus réactives !!
Donc bien vu et surtout merci !!
Normalement, demain je place le routeur dans l’armoire électrique pour qu’elle fasse foncitonner mon ballon d’eau chaude sur le surplus solaire ….
Voilà et merci à tous
David ROCHE
Dans la version 9 du routeur publiée ce matin. Il y a dans les paramètres une case à cocher pour choisir ou pas cette option.
Cdlt
André
bonjour André,
j’ai fait la modification pour mes deux ESP32 sur la ligne 534, effectivement l’affichage entre les menus est très réactif ainsi que le rafraîchissement de la page, pour les mesures c’est un Shelly EM
Bonjour André,
est-il prévu dans un avenir proche la prise en charge comme source de mesure des messages mqtt vers ESP32?
Provenant par exemple de zigbee2mqtt.
Merci pour votre travail.
Cordialement
Dans les jours à venir en V9
Parfait! Merci pour votre réponse
Bonjour,
Bravo et merci pour ce partage que je suis en train de mettre en place…
J’ai une version 8.06 en test qui fonctionne bien. J’essaie d’installer la dernière version 8.09 pour être à jour et rajouter la mesure de température du chauffe-eau.
Mais voilà je me heurte à ce message d’erreur :
Compilation error: ‘WiFiClient’ does not name a type; did you mean ‘Client’?
J’ai essayé via OTA et via liaison série sur un autre ESP32 avec le même résultat…
Merci de toute piste !
Cordialement,
Vous n’avez pas changé de machine ou d’Arduino IDE? Cela ressemble au manque de la bibliothèque WiFiClientSecure.h ou de la bibliothèque de l’ESP32.
cdlt
Finalement, sur un autre ordinateur, l’installation se passe sans problème.
Je n’ai pas bien compris pourquoi, mais le problème vient donc de ma machine…
Encore merci et bravo pour cette superbe réalisation !
Bonjour André, et merci pour ce super routeur.
Je souhaiterai réutiliser voter code pour piloter, non pas un triac mais un onduleur qui alimente un moteur.
Pour l’instant je contrôle la vitesse par paliers avec des relais mais je peux aussi la contrôler avec une tension (comme un VCO).
Je pense que la modification du code pour envoyer sur un GPIO une tension 0-3,3v selon les mêmes critères que l’ouverture du triac, au lieu du signal PWM doit être assez limitée. Pouvez vous m’aider svp ?
Merci
Désolé, il y a un bug pour le changement de Wifi. Ce sera corrigé en V0.
Pour l’instant, modifiez un chiffre de la constante en ligne 57
#define CLE_Rom_Init 812567808
Cela permettra un redémarrage comme la première fois.
Cdlt
Si vous pouvez piloter en 0 à 3.3V.
Mettez en sortie d’un GPIO une résistance de 10kohm et un condensateur de 100 micro farad pour lisser une sortie en multi-sinus.
Alternative, modifier le code pour avoir une sortie analogique.
Cdlt
Malheureusement ce n’est pas assez lissé avec la capa et la résistance. Ca oscille de qq Hz tous les 1/4 de seconde environ. J’admet qu’une dynamique de 50Hz sur 3V il faut être assez stable.
Un indice pour où ca se passe dans le code pour passer sur une sortie analogique ? Si j’ai bien compris il faut utiliser les gpio 25 ou 26.
Merci.
Note : J’ai ajouté un 2eme DS18B20 sur le gpio12. Pour l’instant ça fais que remonter en MQTT, mais j’espère arriver à l’utiliser pour fixer la consigne sur le 2eme relais. Quand à l’interface HTML, ce n’est pas commenté, ca me parait quasi impossible d’afficher cette T°en page d’accueil.
avec la variable Retard[0] pour le triac et Retard[1],Retard[2] … pour les relais vous ave une information entre 0 et 100 pour piloter une sortie en PWM , DAC ou Sigma/Delta.
Retard=0 implique ouverture 100% du temps
Retard=100 : pas d’ouverture
Cdlt
Bonjour André,
J’ai corrigé la ligne 534 comme suggéré.
Il apparaît que j’observe une certaine amélioration en terme de reboot intempestif. Je sent que le système est moins chargé. Le routeur est fonctionnel lorsque je n’appelle pas les pages durant son fonctionnement.
Toutefois les pages restent difficiles à appeler. Il n’est pas rare de devoir les appeler à nouveau pour les voire s’afficher. cela est assez frustrant.
L’accès aux pages semble occuper beaucoup le système et occasionne des ratés. Notamment des erreurs de connections de Emphase. Ces dernières restent encore très fréquentes.
Cordialement
Alain
OK, je ne comprends toujours pas pourquoi certains ont des problèmes avec le WIFI. C’est quelque chose que je n’arrive pas à reproduire même en configuration Emphase.
Cdlt
Bonjour Alain,
Quel marque/type de routeur wifi utilisez vous ?
Sur ces derniers jours, j’ai constaté que le beamforming avait vraiment un impact sur la réponse du routeur en plus du power management wifi.
Pouvez vous tenter de désactiver le beamforming si cette option est disponible ?
Cordialement,
F.
Bonjour Alain,
J’avais aussi ces problèmes de lenteur. Une installation avec mise à jour complète c’est à dire en « effaçant’ la ROM de l’ESP32 (en changeant la variable « CLE_Rom_Init ») a complètement résolu le problème.
Cordialement
Bonjour Fab,
J’ai une box wifi Red/SFR fibre en entre web.
Derrière j’ai un routeur Linksys WRT54GL sous DD-WRT. Ce routeur est configuré en repeater de la box et toute ma domotique sous Domoticz/RPI4 et autres protocoles y sont configuré !
Ça me permet de ne pas être exposé directement au web et surtout d’avoir un système plus nomad sans dépendre d’une box particulière !!
L’ensemble est plutôt très stable.
Je regarde ce soir pour ce paramètre beamforming.
La ce paramètre ne me dit rien.
Avec la modif ligne 534, le routeur tourne en injection depuis ce matin sans trop de soucis.
La courbe est plutôt propre est même améliorée par rapport aux précédentes versions.
Le soucis reste le buggage des que l’on accède aux pages.
Lorsque la page est activée elle est plutôt stable.
Cordialement
Alain
Bonjour André,
Qu’est ce qui a changé fondamentalement entre les versions 8.06 et 8.09 ? Car la 8.06 reste une référence en terme de fluidité.
Par ailleurs, pourquoi maintenir le choix sur le mode sleep wifi de l’esp. Compte tenu du nombre de requêtes pratiquement permanente, l’esp n’a pratiquement jamais la possibilité de se mettre en veille !!??
Cordialement
Merci
Alain
C’est écrit en début de fichier. Il n’y a pas au de mofification sur le WIFI.
Suivant la source de puissance utilisé on a beaucoup ou peu de requète sur le Wifi. Dans tous les cas, avec un mode sleep on a des pings à 100 ou 200ms. Sans mode sleep on a des ping à 1 à 10ms.
Cdlt
André merci pour ta réponse,
J’ai une nette amélioration sur l’accès aux pages après plusieurs manipulations.
Pour info je suis relié en RJ45 entre mon routeur et l’Envoy. J’ai un signal -32db en wifi avec l’esp.
Je n’ai pas détecté de comflit d’ip mais j’ai modifié l’IP initialement utilisée dans l’esp pour cette liaison RJ45. Dans mon routeur j’avais fait une réservation d’ip sur l’adresse mac de l’envoy. J’ai donc mis à jour cette réservation.
Surtout j’ai changé l’ip passerelle et dns dans l’esp! qui n’étaient certainement pas adaptées ??
A suivre.
Par contre, sans être forcément bloquant, les erreurs de connections Envoyé restent assez nombreuses. On sent que le système reste chargé.
Cordialement
Alain
Bonjour Alain,
Si j’ai bien compris, vous êtes passé par un ESP32+Ethernet (avec RJ54) ?
Je souhaiterais faire de même… quel modèle avez vous utilisé ? Y a-t-il beaucoup de modifications logiciels à faire en partant de la solution d’André ? (je découvre ce monde) .
Pour l’instant je suis en ESP32 avec le wifi (j’ai désactivé le mode veille pour ce dernier). D’ailleurs depuis que le mode veille est désactivé, je n’est plus de reboot depuis 20 h).
Alain_C ( 🙂 pour me démarquer)
Bonjour Alain C,
Non pas de modifications par rapport au routeurRLS d’André.
J’ai simplement un routeur Wifi supplémentaire dans mon réseau de maison.
Toi tu connectes le routeur d’André sur ta box wifi de ton opération internet.
Moi je me connecte sur mon routeur wifi qui est lui même connecté en wifi sur ma box internet de mon opérateur.
Cordialement
Alain
Bonjour,
J’ai parcouru les commentaires pour essayer de trouver une solution, mais… je n’ai pas trouvé.
Lorsque j’installe une version 8 sur 2 ESP différents, aucun ne voit le triac alors qu’en version 7 pas de problème….
Ce n’est donc pas un problème de branchement du triac mais alors que cela peut-il bien être ??
Une idée ?
Merci (et encore bravo)
Bonjour Valade,
Vérifie dans données que le triac est bien actif puis fait un reset dans paramètres avant d’activer la page action
Cordialement
Alain
Le signal Zc n’arrive pas sur l’ESP32. La V8 coupe le Triac si l’ESP32 ne reçoit pas une impulsion toutes les 10ms. Revoir le câblage et que Phase et Neutre arrive bien sur le gradateur/Triac.
Cdlt
Merci pour ces pistes.
– Le câblage est revu (et bon me semble-t-il puisque ok en version 7)
– Phase et neutre en bonne place
Et… rien « pas de triac »
Ce qui est encore étrange, c’est que j’en ai un en test en 8.06 qui fonctionne depuis plus d’un mois.
Je repasse donc en version en V7 pour celui-là… pour le moment.
Cordialement,
Patrice
Bonjour André.
j’ai aussi ce souci d’accès dans Action !
J’accède après un reset !!
On dirait que le serveur sur l’esp à du mal à agir.
J’ai fait beaucoup de manipulations. Je ne suis pas convaincu que ça vient de la liaison wifi.
Merci encore
Alain
idem pour action
Je suis passé à la version 8.09 (source UxI) il y a 3 jours et le premier jour a bien fonctionné mais par la suite la page « Actions » ne fonctionne plus non-plus chez moi (un reset fonctionne mais pas longtemps).
https://i.servimg.com/u/f81/15/44/36/18/captur50.png
Bonjour Nutta.
Oui cette situation est typique.
Il faut faire un reset à chaque fois.
J’ai installé un Routeur avec Shelly EM chez mon voisin hier. Le truc semble beaucoup plus réactif !!
J’ai commandé un Shelly pour chez moi que je reçois dans 2 jours.
A suivre.
Cordialement
Alain
Quand cette page Action ne s’ouvre pas complètement, l’inspecteur du navigateur montre que le fichier Javascript ActionsJS ne s’est pas chargé. En attendant que je comprenne pourquoi, allez sur une autre page et revenez sur Action. En général, cela marche. Pas la peine de faire un reset.
Cdlt
En ayant découpé en 2 le fichier javascript ActionsJS à télécharger par le navigateur. Cela semble résoudre le problème. Cela fera partie de la version 9 avec de nombreuses nouveautés.
Cdlt
Non André, pas chez moi, vraiment pas même en faisant cette manipulation de nombreuses fois.
Oui
Bonsoir André,
Est il envisageable d’activer l’ipv6 sur un esp32 ?
Merci par avance pour ton retour.
Cordialement
Alain
Pour l’instant, je ne crois pas que c’est possible.
Cdlt
Bon, depuis quelques jours j’avais des reboot casiment à chaque fois que je me connectais au routeur,
J’ai depuis ce matin sorti le routeur de l’adressage automatique de la box, pour le mettre en dehors du serveur dhcp de cette box.
Depuis je n’est plus de reboot à chaque ouverture du routeur.
Peu être un début de résolution du problème rencontré par certains utilisateurs ?
Bonne soirée à vous
Bonjour, après 24 h, le problème reste entier, casiment à chaque fois que je me connecte au routeur, celui-ci reboot.
Cela ne gêne pas le fonctionnement, mais je perds à chaque fois les tracés sur les différents compteur de la page d’accueil.
Bonne journée
Bonjour,
ça ressemble à un signal wifi faible.
Quelle est ta valeur wifi en dB ?
Tu a modifié la ligne 534 comme suggéré par André ??
Cdl
+1 pour la modif de la ligne 534, j’avais exactement le meme probleme
cdt
+1 pour la modif de la ligne 534, j’avais exactement le même problème
cordialement
Bonsoir,
J’ai reçu et installé le ShellyEM.
Implacablement le système est de loin beaucoup plus rapide et pas d’erreurs de lectures.
Reste à peaufiner les réglages.
Je suis en zéro injection sur Emphase.
Cordialement
Alain
Bonjour André,
Avec ma configuration, certainement du à la réactivité des onduleurs Emphase notamment en zéro injection. J’ai des variations de puissance reactves de folie totalement décorrélé de la puissance active.
La superposition des deux courbes fait que l’échelle de mesure est très importante et rend la lecture de la puissance active peu visuelle.
Perso, la puissance reactves n’est pas pertinente chez moi.
y a t’il pas moyen de faire un bouton menu afin d’afficher ou pas la puissance réactive ou mettre les deux courbes sur un graphique séparé ?
Cordialement
Alain
Au contraire. Cela est pertinent. Quand vous avez une bonne régulation autour de 0W de puissance active, plus la puissance apparente est chahutée et importante, plus vous envoyez vers votre chauffe-eau etc.. Regardez bien les explications et la 3 eme image ici: https://f1atb.fr/fr/routeur-photovoltaique-affichage-et-parametrage/
Cdlt
Ok
C’est plus clair pour moi.
Merci pour cette exploitation.
J’avais en tête le côté négatif sur mon matériel, mes onduleurs.
Cdl
Bonjour André,
Merci pour ton retour.
Je suis sous Emphase, zéro injection, mesure ShellyEM, je régule mon ballon ECS.
J’ai réglé la réactivité à 12 et le seuil à 60w.
J’étais en multi -sinus. J’avais des variations importantes et pas très régulières autour du 0 avec des allé et retour en tirage et en injection d’une amplitude de l’ordre de 100 à 300 w.
Pas très jolie à mon goût.
Je viens de repasser en découpe-sinus, plus rien à voir, ici la courbe est très propre avec très peu de fluctuations dans une plage de 0 à 90w, très peu d’aller retour en injection.
Bien-sûr la variation se fait ressentir lors des plus ou moins fortes variations de production PV
Je voulais partager mon expérience.
Cdl
Alain
Bonjour,
Je suis étonné de la différence de charge processeur chez moi (quand je compare aux images vues à droite à gauche):
Charge coeur 0 (Lecture RMS) Min, Moy, Max : 1, 12, 2260 ms
Charge coeur 1 (Calcul + Wifi) Min, Moy, Max : 0, 0, 98 ms
Non c’est bon. cela dépend beaucoup de la façon dont vous mesurez la puissance. Uxi, Lynky etc…
Envoy d’enphase
Bonjour André,
est il possible de faire fonctionner le routeur uniquement sur un routeur wifi non connecté au web ? ou la liaison web est indispensable au bon fonctionnement ?
merci André.
Le web est nécessaire pour la gestion de l’heure.
Cdlt
mince, c’est pour mettre dans un endroit ou il n’y a pas de web (ils utilisent un smartphone, mais le réseau n’est pas partagé 24/24). je pensais mettre juste un routeur wifi (tplink ou autre).
je vais examiner le code pour voir ce que je peux faire pour le rendre autonome en terme de réseau. Merci André pour ton travail.