En tant que développeur de profession et spécialiste en librairies Arduino / ESP32 liées à l'énergie, je bosse depuis fin 2023 sur un projet de logiciel de routage Open-Source nouveau genre, appelé YaSolR (Yet Another Solar Router), que je vais vous décrire ici.
- Site web: https://yasolr.carbou.me
- Projet GitHub: https://github.com/mathieucarbou/YaSolR

Qui suis-je ?
Pour ceux qui ne me connaissent pas, je suis très actif dans le milieu Arduino / ESP32 / Home Assistant.
Profil: https://github.com/mathieucarbou
Je suis notamment l'auteur des librairies (toutes utilisées par YaSolR):
- MycilaJSY: librairie qui supporte les JSY en TTL et RS485 sur ESP32
- MycilaPZEM004Tv3: librairie qui supporte le PZEM-004T v3 sur ESP32
- MycilaPulseAnalyzer: librairie d'analyse de pulse de circuit Zero-Cross
- MycilaESPConnect: librairie de gestion réseau pour ESP32 qui supporte l'Ethernet
Et pour finir, je suis également le concepteur de ces 2 autres routeurs solaires que vous trouverez dans la section blog du site YaSolR et aussi sur ce forum:
- Routeur solaire basé sur Shelly Dimmer Gen 3
- Routeur solaire basé sur Home Assistant
J'ai analysé BEAUCOUP de code source de routeur solaire, et malheureusement, la plupart des solutions ont des lacunes.
N'étant donc pas satisfait des solutions de routage solaire existantes (soit d'un point de vue fonctionnalité, précision, rapidité de réaction, ou qualité du code, ou license, ou autre), j'ai décidé de créer ma propre solution, Open-Source.
Le but de YaSolR est donc de fournir une solution de routage solaire de qualité, précise, réactive et compatible avec la plupart du matériel existant et bien plus encore, comme le LSA avec un DAC DFRobot!
YaSolR est UNIQUEMENT le logiciel: donc pour l'utiliser, vous devez être capable d'assembler votre propre routeur avec le matériel compatible, et installer le logiciel sur un ESP32.
Je ne fournis pas de routeur pré-monté pour des raisons de sécurité, normes, support après-vente, etc.
Particularités de YaSolR:
- Réactivité et rapidité des mesures: YaSolR est capable de faire une mesure toutes les 42 ms, et ajuste le routage au moins 3 fois par seconde.
- PID: YaSolR est le seul routeur à utiliser un algorithme PID à proportionnelle aux mesures pour ajuster le routage, ce qui permet de contrôler les corrections avec plus de précisions et en évitant les à-coups (overshoot) qui provoquent des oscillation, sur-consommations ou sur-injections.
- PID Tuning: YaSolR propose un écran de tuning PID pour ajuster les paramètres du PID en temps réel, sans recompiler le code.
- Fréquence: YaSolR est capable de fonctionner sur une fréquence de 50 Hz et 60 Hz, mais aussi sur une fréquence de 51 Hz (par exemple sur génératrice Enedis).
- Résolution: YaSolR a une résolution de routage de 12 bits, donc est capable d'être précis au watts prés avec une charge de plus de 4000W. Les routeurs ayant une telle précision sont rares. La plupart des routeurs ont une précision de 100 pas, soit 30W pour une charge de 3000W.
- Analyse de pulse Zero-Cross: YaSolR analyse les pulses du circuit Zero-Cross pour détecter les positions du front montant et descendant, ce qui permet de synchroniser le déclenchement du TRIAC le plus précisément possible lors du vrai passage à zéro. La plupart des routeurs basé sur circuit ZC calculent une fausse valeur de déclenchement à partir du front montant du pulse, qui se trouve à être avant le passage à zéro.
- Matériel: YaSolR est le seul routeur qui n'impose pas de matériel et offre une grande compatibilité.
- Supporte le concept de "virtual grid power" qui permet une compatibilité avec un second routeur ou une borne de recharge EV
- Fonctionnalités de contrôle de phase: remapping du dimmer (comme les Shelly Dimmer), limite de puissance, etc
- Bypass (marche forcée) selon horaires et / ou température
- Simplicité: YaSolR est l'un des rare routeurs à supporter directement le régulateur de tension LSA via un DAC, sans passer par un module Zero-Cross, ni une second alimentation!
- Configurable: YaSolR permet de reconfigurer ses GPIO afin d'être compatible avec les setup existant du prof solaire et F1ATB entee autres.
ESP32 boards
- Dev Kit boards,
- S3 Dev Kit boards
- ESP32s
- WIPI 3
- Denky D4
- Lilygo T Eth Lite S3 boards (Ethernet support)
- WT32-ETH01 boards (Ethernet support)
- Olimex ESP32-POE boards (Ethernet support)
- Olimex ESP32 Gateway boards (Ethernet support)
- etc
- basés sur JSY-MK-194G (ce JSY a un pin Zx pour détecter le Zero-Cross)
- basés sur BM1Z102FJ
- basé sur un pulse court comme Robodyn ou le module ZCD de Daniel S. sur PCB Way
- PZEM-004T v3
- JSY-MK-333 (tri-phasé)
- JSY-MK-193
- JSY-MK-194T
- JSY-MK-194G
- JSY-MK-163T
- JSY-MK-227
- JSY-MK-229
- JSY Remote par UDP
- MQTT
- Robodyn 24/40A
- Triac + détection Zero-Cross
- SSR Random + détection Zero-Cross
- Régulateur de tension LSA ou LCTC + module de conversion PWM->Analog 0-10V + détection Zero-Cross
- Régulateur de tension LSA ou LCTC + module de conversion PWM->Analog 0-10V
- Régulateur de tension LSA ou LCTC + DFRobot DAC GP8211S (DFR1071)
- Régulateur de tension LSA ou LCTC + DFRobot DAC GP8403 (DFR0971)
- Régulateur de tension LSA ou LCTC + DFRobot DAC GP8413 (DFR1073)
Le site YaSolR propose plusieurs exemples de configurations, mais à vous de jouer pour créer la votre.
Par exemple. YaSolR est compatible avec le matériel de F1ATB, Prof solaire, etc. Donc il vous suffit d'installer et configurer les GPIO.
YaSolR est aussi l'un des rare routeurs à supporter directement le régulateur de tension LSA via un DAC, sans passer par un module Zero-Cross, ni une second alimentation!
Il est donc possible de construire un routeur solaire avec un ESP32, un DAC DFRobot et un LSA uniquement!
YaSolR Pro
YaSolR est Open-Source et disponible gratuitement.
Cependant, une version Pro est aussi disponible avec une interface graphique plus jolie et complète, qui se base sur ESP-DASH Pro, une librairie graphique commerciale dont la license ne permet pas son intégration dans les projets Open-Source.
Je rends donc disponible cette version Pro aux utilisateurs qui soutiennent le projet via un don, ce qui permet d'aider à financer le développement, maintenance et achat de matériel afin que le projet puisse continuer à évoluer et son code rester accessible gratuitement.