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 –> No 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
html lang= »fr »
Bonjour André, tout fonctionne très bien merci. Question mineure: J’ai un cumulus 2200W: Vous recommandez une action « Découpe Sinus » avec « réactivité 50% », ou bien faudrait-il que j’abaisse la réactivité ou que je déclenche selon « train de sinus » ou « multisinus » dans mon cas svp? J’ai fait des tests avec un halogène 150W au lieu du cumulus pour mes essais, et je trouve que ça scintille beaucoup avec ces paramètres.. Mais ça ne sera peut-être pas un souci pour la résistance du cumulus.. Ma détection se fait via un Shelly3 en triphasé, j’ai un onduleur 6kW tri, mais un cumulus mono 2k2. Encore merci et bravo!
Le scintillement c’est genant pour une lumière. Le cumulus s’en moque. Mettez le Multi-sinus.
Avec 150W vous pouvez avoir une réactivité de 500. Avec 2200W baissez la réactivité à 10 environ.
Cdlt
Parfait, merci André!!
le routeur triac est branché sur le cumulus 2200W en multi-sinus
mais c’est la lampe LED de mon bureau qui scintille
j’ai un peu peur pour toute l’électronique de la maison
je suis revenu en découpe sinus
Bonjour, C’est sur quel version que nous somme pas obligé de connecter le routeur à une box ? (pour éviter que l’esp ne reboot)
Merci d’avance pour le retour.
Cdt,
Toutes les versions ont besoins de se connecter à Internet pour avoir l’heure.
Cdlt
Bonjour,
J’ai tout suivi a la lettre il me semble mais j’ai cette erreur:
A fatal error occurred: Failed to connect to ESP32: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
Failed uploading: uploading error: exit status 2
Pourriez vous m’indiquer la solution?
Cordialement
Regardez si vous n’avez pas un problème de driver manquant sur votre PC
https://f1atb.fr/fr/programmation-de-lesp32-application-au-routeur-photovoltaique/
Cdlt
Bonjour André
Comment peut on retourner en mode AP sur l’Esp 32 pour pouvoir changer de config réseau.
Merci.
Salutations.
Dédé
Soit vous coupez temporaireùent le réseau que vous ne voulez plus et l’ESP32 ne le trouvant pas repartira en AP au bout d’un moment.
Soit vous modifiez un chiffre de la constante CLE_Rom_Init autour de la ligne 59. L’ESP32 ne retrouvant pas la valeur qu’il a en mémoire repartira sur une version vierge.
Cdlt
Ok, merci André.
super projet !!
est-ce qu’il y aurait une façon de piloter un chauffe eau thermodynamique ?
avec une valeur VA seuil à dépasser pour déclencher un relais ?
On peut piloter un relais suivant 2 seuils (On et Off) en Watt et non VA .
Cdlt
ps: y a un GitHub pour le projet ? je suis développeur forcément ça m’intéresse
Source dispo sur le site. Pas de github.
y a beaucoup d’engouement sur ce projet une plateforme collaborative permet de canaliser toute cette belle énergie :p
encore bravo pour tout ce travail
Je pense que la plateforme collaborative, c’est bien avec des informaticiens. Dans le cas du routeur, c’est tout le monde et peu d’informaticiens. Je suis déjà inondé de questions plus ou moins pertinentes. Avec des variantes, des développements complémentaires. Encore plus de questions vont tomber. C’est en open source. Libre à chacun qui se sent capable de créer sa variante.
Cdlt
je vais dans le sens de David. Les quelques informaticiens pourraient venir aider et répondre à des questions usuelles pour vous décharger, et même ajouter des modules complémentaires à ce beau projet. Perso, je retouche un peu le code et ajoute une écriture des données en base sur un NAS plus quelques aménagements.
Cela permet aussi de regrouper les demandes , filtrées par thème.
Mais cela demande du temps, c’est sûr.
Encore bravo en tout cas ! le logiciel est super fiable.
Oui le github serait que pour aider au dév. Pas pour la vie du projet.
Je pensais justement à un refacto sur la forme : rendre le code modulaire pour faciliter les variantes. Ne compiler que ce qu’on utilise. Ajouter un support multilingue etc. Créer une API interne, etc.
La partie HTML doit aussi être pas simple à maintenir sous forme de char* … Un petit outil de simulatoin / précompilation pourrait être sympa.
Je suis admiratif de votre travail et je trouve qu’il pourrait être partagé hors de l’héxagone !
Le but est que de n’avoir à maintenir qu’un sous ensemble et que vous puissiez vous concentrez sur le cœur de l’algo sans avoir à passer trop de temps sur l’écosystème qui se crée autour (ni le casser du coup).
J’ai commandé les composant donc je vais passer pas la case compilation… je vais tenter de refacto certaines choses simples et je monterai un petit repo.
Carrément partant pour un github aussi ! Avec une CI qui build automatiquement chaque release pour profiter de beau projet comme https://web.esphome.io/ pour faciliter l’upload de firmware 🙂
J’ai posé un repo sur Github: https://github.com/quazardous/SolarRouterRMS
– Pas de modification de code.
– Remplacement de RemoteDebug par RemoteDebug2
– Renommage du sketch sans référence de version (gestion via tag git)
– Utilisation Arduino Cli via Makefile (Intégration avec Git-Bash, compatibilité Arduino IDE 2.0 et Visual Studio Code)
– Documentation de la pile logicielle pour linux et windows
Bonjour André, et merci pour votre superbe travail !
J’ai réalisé le routeur qui fonctionne depuis plusieurs jours maintenant.
Est-il possible de piloter en plus du triac, un ou plusieurs relais en fonction de la puissance disponible ou bien de température du chauffe eau.
Ayant 2 chauffe eau, le but serait via un relais NO/NC, basculer le routage d’un chauffe eau vers un autre.
Ou alors déclencher 1000w (1/3 résistance branché) seulement sur le chauffe eau 2 et le surplus restant dans le chauffe eau 1.
Merci beaucoup.
Ludo
Oui vous pouvez rajouter des relais en tout ou rien (On/Off) ou en progressif (multi-sinus..). Suivant les seuils vous pouvez donner la priorité à l’un ou a l’autre.
Cdlt
Salut André,
j’ai reçu le matériel à l’exception du coupleur optique, et donc me suis penché sur le logiciel. Du code réalisé par un électronicien, c’est quand même plus clair que du code d’informaticien !
Pour ceux que cela pourrait aider, Je suis sur Mac Book Air 2014 toujours sous Mac-Os Sierra (si si !), et j’utilisais encore une version 1.8x de l’IDE. Je suis donc passé à « Mojave » puis « Big sur », afin de pouvoir utiliser le dernier IDE Arduino 2.3.1. Effet de bord : Office sur Sierra ne fonctionne plus. On m’invite à repasser à la caisse…
Il m’a fallu chercher sur le net les solutions aux 2 erreurs de compil que j’avais, liées à l’environnement Mac-Os / Arduino IDE pour pouvoir compiler l’ensemble, puis le télécharger ( en bataillant quelques minutes avec le bouton « boot » ).
Franchement, tes explications sont claires et limpides. En les suivant pas à pas, tout fonctionne à merveille.
J’ai juste un warning de compil lié au « json » : class ARDUINOJSON_DEPRECATED(« use JsonDocument instead ») DynamicJsonDocument
C’est lié je pense au passage de json 6 à json 7. Tout est expliqué là : https://arduinojson.org/v7/how-to/upgrade-from-v6/
Pour l’instant ce n’est pas bloquant, car le code tourne. donc je règlerai plus tard. Je vais préparer la partie matériel ce we, en attente du coupleur optique.
Si tu as toujours mon numéro de tel, envoie-moi le tien (ou par email) pour qu »on puisse déjeuner ou diner ensemble avec nos dames.
A+
Phl.
bonjour André
merci pour tout ce que vous faite et de l’aide que vous apportez.
je me suis lancé sur l’assemblage d’un routeur solaire selon vos indications. le programme Solar_rouetur_V8_V6_RMS.ino est bien televersé. j’ai fait le premier lancement, j’ai eu les diagramme et quand je continu a vouloir m’occuper de l’OTA . depuis je n’arrive plus a retrouver les diagrammes avec l’adresse IP sur le navigateur . avez vous une idée . merci
Regardez si l’ESP32 n’est pas passé en mode AP (emetteur Wifi)
Regardez sur le port série avec l’Arduino IDE, l’adresse IP. Elle est donnée toutes les 30s
Cdlt
Bonjour André,
et merci pour ton excellent travail.
Je suis en V8.06, triac (Découpe Sinus) pour BEC et SSR (On/Off) pour pompe piscine. J’ai mis Seuil Pw 0 pour BEC et On si Pw 3000W, est ce que c’est bon? Je ne souhaite pas utiliser le Off! L’idée est l’avoir en priorité 1 le BEC puis la pompe filtration piscine.
Pour le BEC (je suppose Ballon d’eau chaude), un seuil à 0 c’est OK.
Par contre pour la pompe de piscine si elle consomme 1CV=736W il faut mettre un seuil à -100 pour le On avec un Off à +900 (on se prend 1000W d’écart entre les seuils)
Ou si on veut l’enclencher plus tard un seuil On à -700 et off à +300
Je ne comprends pas le +3000 et pas de Off.
Cdlt
bonjour André, merci pour ta réponse rapide, j’ai compris. J’ai une pompe de 1.5CV (1103W), j’ai mis On si Pw1250, je vais testé. Pour le +3000 et pas de off, oublie, c’est moi qui n’avait pas compris le principe de fctment du Off si Pw et On si PW.
Autre question : menu Actions, pour le relais, le nb max de périodes horaire est de 6? Est ce que je peux modifier le code pour rajouter plus? fichier? ligne?
Je réfléchi à modifier le code pour automatiser la durée de filtration de la piscine en fct de la T°C. Si tu as des pistes! Il faut que je comprenne le code côté fct action…
Merci
Les tests ne sont pas concluants, avec On si Pw1300W ou On si Pw800W, beaucoup de arrêt/marche sur une période très courte et la notion de priorité avec le Ballon d’Eau Chaude n’est pas bonne, le BEC fonctionne en même temps, bizarre. Après réflexion, pour mon relai SSR en On/Off, je vais testé On si Pw0W.
correction: Après réflexion, pour mon relai SSR en On/Off, je vais testé On si Pw 500W + une temporisation de 60 sec pour éviter les arrêt / démarrage trop fréquent! merci
pb de page web! désolé
correction: Après réflexion, pour mon relai SSR en On/Off, je vais testé On si Pw 500W et Off si Pw -1350W + une temporisation de 60 sec pour éviter les arrêt / démarrage trop fréquent! merci
Regardez la courbe rouge des puissances en W, pour voir combien d’écart entre Pon et Poff il faut + une marge.
Cdlt
Les chiffres c’est l’inverse votre moteur va enchainer les marches / arrêts..
Pon =-1350
Poff =+500
Quand on injecte 1350W, alors le relais s’enclenche. Ainsi la puissance injectée va tomber à -1350+1103= -247W
Mettez plutôt -1100W pour Pon ainsi la conso va monter autour de 0 et vous mettez un Poff de +200.
1850 W d’écart estun peu fort pour 1103W de puissance moteur. un écart de 1300 doit être préférable.
Bonjour, je voudrais ajouter une nouvelle source : j’ai une borne de recharge Lektrico 1K7k avec un petit module dans le tableau électrique qui possède une pince ampèremétrique de type Shelly je pense. J’ai regardé un peu et il y a un Json accessible sur l’IP du module, du type :
{« type »: 0, « phases »: 1, « meter_status »: 0, « voltage »: [242.228, 242.228, 0.001], « current »: [-5.337, 0.000, 0.000], « active_current »: [-4.737, 0.000, 0.000], « power_factor »: [-0.847, 0.000, 0.000], « angle »: [-150.828, -135.173, 0.000], « active_p »: [-1147.532, 0.000, 0.000], « apparent_p »: [1353.245, 5.133, 0.000], « reactive_p »: [-681.957, 0.221, 0.000]}
Est-ce faisable d’ajouter cette source ? Est-ce que vous hébergez le code sur Github ou quelque part ? J’ai vu dans le code des petits trucs peut-être à modifier (Envoy avec un e à la fin à supprimer par exemple; une référence à Emphase dans le fichier Source_ShellyEM qui ne doit pas devoir être là je pense).
Merci beaucoup.
J’ai oublié de préciser que l’URL pour récupérer les données est du type http://IP_Address/rpc/Meter_info.get
Je pense que j’ai réussi à récupérer les données en ajoutant un nouveau type de source. La communication avec le module de mesure fonctionne, je récupère la tension, le courant, le facteur de puissance, la puissance active et la puissance apparente. Le graph de la première page semble se dessiner correctement. Les données brutes sont OK.
Je ne sais pas comment calculer l’énergie par contre. Comment faire ?
Et il faut que je vérifie que ça donne quand je suis en surproduction solaire pour s’assurer des signes des différentes valeurs mesurées (j’ai trop de conso et pas assez de soleil en ce moment) mais j’ai vu que le relais que j’ai branché était parfois alimenté quand j’avais de la surproduction (mais je travaillais sur d’autres éléments donc je n’ai pas pu bien tout vérifier).
L’energie = Puissance * Durée
Chaque fois que vous mesurez une puissance en Watt vous la multipliez par le temps écoulé ( en heure) entre la précédente mesure et cette dernière. Vous additionnez ce résultat au résultat d’énergie précédent.
Cdlt
Oui tout à fait. Est-ce que je prends la puissance apparente ou active ? et pour le temps écoulé : je ne sais pas trop sur quelle variable me caler si elle existe : LastRMS_Millis ? et sur quelle donnée injecter le résultat : je vois Energie_M_Soutiree et Energie_M_Injectee suivant le cas mais pour le cumul je ne sais pas.
J’ai fait un petit calcul de temps écoulé en récupérant millis() et en stockant l’ancienne valeur. Je multiplie la puissance active par le temps écoulé et je l’additionne soit à Energie_M_Soutiree ou Energie_M_Injectee selon le cas. Je vois que l’énergie active du jour augmente sur la première page.
Il faut stocker dans une variable l’instant de mesure. Pour la fois suivante faire la différence. Attention les millis sont des variables entier long qui déborde tous les 50 jours environ.
On prend les watt , c’est ce que l’on paye et non les VA
Cdlt
Ok merci, j’ai vérifié que le nouveau temps millis() n’est pas inférieur à la dernière valeur du temps, par protection.
Je pense que le code est ok. Plus qu’à vérifier demain quand il fera beau…
J’ai fait quelques changements de couleurs de mon côté et voici une petite vidéo de ce que ça donne :
https://1drv.ms/v/s!Ai91bf9FQgj9hawSGPmA0ZCVJ3yIRw?e=okcQzd
Je peux partager mon code si vous voulez intégrer la source dans votre version.
Le modèle de borne de recharger avec module de mesure de puissance (pour coupler aux panneaux) que j’ai c’est ça : https://lektri.co/fr/maison/
C’est tout bon a priori.
J’ai donc un routeur solaire avec 2 leds en sortie + une récupération des données sur le module qui était déjà dans mon tableau électrique (installé avec ma borne de recharge électrique et permettant de mesurer le surplus de mes panneaux solaires), un relais SSR 40A branché à un chauffe-eau 3000W.
Tout semble fonctionner, j’espère qu’il ‘y aura pas de problème de surchauffe, j’ai mis un radiateur au dos du relais SSR et le tout dans un boitier électrique.
Merci beaucoup !
Parfait
Bonjour, ma box est en panne j’ai récupéré une box de poche mais comment refaire le couplage entre la nouvelle box et l’esp sans devoir tout réinitialiser?
merci
Regardez avec votre smartphone. De temps en temps l’ESP32 va rechercher le Wifi qu’il ne trouve plus et repasser en mode point d’accès sur l’adresse 192.168.4.1
Bjr André, merci pour le partage.
Je n’ai pas de box à la maison, j’ai un iPhone qui fait office de « boite » sur laquelle j’ai déjà mon PV P&P connecté dessus. Arduino Compile & televersement se font correctement, je vois l’adr IP attribué via le Port série. Premiere connexion page web pour rentrer le nom réso &pwd se fait correctement, et après plus rien. J’ai un timeout après 20secs lorsque je souhaite me connecter sur l’adr IP attribuée. J’ai fait un essai sur le wifi du fiston et cela marche, j’ai ttes les pages info & parametrage.
Je me dde si ma config particulière (sans box) n’est pas reconnue dans le code et je devrais faire une maj, bien que le code l’identifie au début car il me réclame le réso & pwd.
Des idées/suggestions? Merci d’avance
Regardez sur le port série, les messages que l’ESP32 envois.
Merci André,
Voici les msgs:
IP address: 172.20.10.5
WIFIbug:0
Charge Lecture RMS (coeur 0) en ms – Min : 1 Moy : 3 Max : 21
Charge Boucle générale (coeur 1) en ms – Min : 0 Moy : 1 Max : 41
ESP32 ON depuis : 0.53 heures
Mesure Température invalide Niveau Signal WIFI:-85
Cdlt
Si 172.20.10.5 ne répond pas dans un navigateur connecté au même iphone, cela vient de cette configuration particulière qui agit comme une passerelle uniquement.
Cdlt
Bonjour, j’essaie de compiler le programme V8_06 avec IDE (2.3.2) mais j’ai une erreur ligne 89 :
Compilation error: invalid conversion from ‘int’ to ‘const esp_task_wdt_config_t*’ [-fpermissive]
je tourne en rond sur cette erreur sans en savoir l’origine ! j’ai désinstallé IDE, enlever le directory Arduino et réinstallé sans plus de succès
Avez vous une sujétion ?
Première fois que j’entends parler de cela.
en regardant sur le smartphone je vois bien quand l’esp repasse en point d’accès puisqu’il ne trouve plus son wifi mais impossible de me connecter en 192.168.4.1 puis ensuite perte du point d’accès