Résumé Episode 2 : Régulateur P+I
Comment configurer un régulateur proportionnel et intégral sous Home Assistant pour piloter localement une batterie Zendure SolarFlow sans dépendre du cloud ? Le système utilise un compteur Shelly Pro 3EM pour mesurer les échanges d'énergie avec le réseau et ajuste la puissance des batteries par une méthode de compensation. L'action proportionnelle gère immédiatement les variations brusques de puissance, tandis que l'action intégrale accumule les erreurs au fil du temps pour éliminer tout écart résiduel. L'utilisation d'un sens d'action inverse permet d'envoyer un signal unique, négatif ou positif, pour alterner entre la charge et la décharge des accumulateurs. Cette configuration technique assure finalement une régulation d'énergie optimale et précise pour atteindre une autoconsommation parfaite.
___
6 Révélations pour Maîtriser le Pilotage Local de sa Batterie SolarFlow sous Home Assistant
Introduction : Le Piège de la Domotique simpliste
Vouloir piloter sa batterie Zendure SolarFlow en local sous Home Assistant est la voie royale pour affranchir son installation photovoltaïque de la dépendance aux serveurs cloud du fabricant. En éliminant les pannes de serveurs distant, la latence réseau et les coupures d'accès internet, vous reprenez le contrôle total de votre gestion énergétique. Cependant, dès que l'on souhaite automatiser cette gestion en local, une interrogation centrale émerge : quelle puissance ordonner exactement à la batterie ?
L'approche naïve consisterait à penser qu'il suffit de lire la consommation mesurée au compteur général et d'ordonner instantanément à la batterie de fournir cette même valeur. En pratique, cette méthode simpliste échoue systématiquement. Pour réussir un pilotage local réactif et fluide, il est indispensable de maîtriser les fondements d'une régulation P+I (Proportionnelle + Intégrale) appliquée au stockage résidentiel.
Révélation 1 : La copie directe de la puissance fait osciller brutalement le système
L'illusion du miroir : Pourquoi la copie 1 pour 1, injecte du chaos dans votre réseau
Dans la plupart des systèmes domotiques élémentaires, on s'attend à ce qu'une mesure directe dicte une action équivalente. Mais appliquer une simple recopie de la valeur du compteur Enedis vers la consigne de sortie du SolarFlow détruit la stabilité de l'installation. Si votre maison consomme 300 W et que vous injectez immédiatement 300 W, le temps d'exécution et de mesure va créer un déphasage. Le système cherche à rattraper une valeur qui a déjà changé, ce qui provoque des pompages incessants ou un dépassement systématique de la cible. "On pourrait penser qu'il suffit de lire la puissance du compteur et de dire à la batterie tu consommes 300 W sur le réseau envoie 300 W", en réalité si vous faites cela votre système va osciller brutalement ou rater sa cible."
Révélation 2 : La régulation par compensation
Le principe de compensation : Mesurer le flux Enedis pour agir sur le flux batterie
Pour surmonter cette instabilité, le pilotage du SolarFlow adopte le principe de la régulation en boucle fermée par "compensation".
- La grandeur mesurée : La puissance instantanée échangée au niveau du compteur Enedis, relevée en temps presque réel par un module Shelly Pro 3EM.
- La grandeur commandée : La puissance délivrée (décharge) ou absorbée (charge) par le système de batteries Zendure.
"le régulateur mesure le flux du réseau puis injecte ou absorbe la quantité exacte d'énergie via les batteries pour maintenir la puissance du compteur général par exemple à 0 W"
L'analogie thermique : Comprendre l'action directe et l'action inverse
Pour configurer correctement le régulateur, il faut déterminer son sens d'action. Pour cela, posez-vous la question : quand la mesure augmente, que doit faire le signal de sortie pour ramener le système à l'équilibre ?
- L'action directe (ex: Climatisation) : Si la température de la pièce monte au-dessus de la consigne, il faut augmenter la puissance du climatiseur pour refroidir. Les deux grandeurs évoluent dans le même sens.
- L'action inverse (ex: Chauffage ou Batterie) : Si la température monte, il faut diminuer le chauffage.
Dans le cadre du SolarFlow, le régulateur doit impérativement fonctionner en action inverse (sens d'action = -1). Lorsque la puissance au compteur Enedis est positif, c’est-à-dire en consommation depuis le réseau, le signal des batteries doit compenser par une alimentation supérieure pour contrer cet appel d'air. À l'inverse, si la mesure devient négative (injection solaire vers le réseau), le régulateur doit augmenter la charge de la batterie pour absorber ce surplus.
Révélation 3 : Le piège du 0 Watt (Pourquoi j’ai choisi le -15 W)
Est-t-il performant de viser 0 W ? La puissance stratégique de la marge à -15 W
Sur le plan théorique, l'objectif absolu de l'autoconsommation est d'atteindre une puissance nette de 0 W au niveau du compteur général. En pratique domotique, régler la cible sur 0 W exact n’est pas optimal.
En ajustant la consigne à environ -15 W, vous forcez le système à maintenir une très légère injection permanente vers le réseau Enedis. Cette marge sert de "coussin d'amortissement" : elle absorbe instantanément les légers micro-appels de courant des appareils ménagers sans risquer de basculer du côté acheteur. Il est financièrement plus stratégique d'offrir 15 W au réseau que de subir des micro-consommations facturées à chaque variation de charge.
Révélation 4 : Un seul signal numérique pour réguler deux actionneurs virtuels
L'élégance d'une plage d'amplitude de -2400 W à +2400 W
L'un des aspects les plus puissants du régulateur sous Home Assistant est sa capacité à piloter deux comportements physiques distincts (charger ou décharger) à l'aide d'un signal de sortie unique s'étendant de -2400 W à +2400 W, ce qui correspond aux limites physiques d'entrée et de sortie des batteries SolarFlow.
Ce signal unique bifurque de façon transparente vers deux fonctions :
- Plage de -2400 W à 0 W : Le signal négatif ordonne aux batteries de se mettre en charge pour absorber le surplus d'injection réseau.
- Plage de 0 W à +2400 W : Le signal positif ordonne aux batteries de se mettre en décharge pour alimenter le domicile et compenser la consommation réseau.
Tout se passe comme si le régulateur pilotait deux actionneurs distincts via un seul canal numérique.
Révélation 5 : L'Action Proportionnelle (P) réagit au présent, mais laisse une erreur permanente
L'action Proportionnelle : Une vitesse de réaction pure, mais aveugle au passé
L'action proportionnelle (P) calcule une correction instantanée directement appliquée à l'écart constaté. Sa formule est :
Action P = Sens d'action x gain x (Mesure -Consigne )
Prenons l'exemple concret issu des relevés de l'installation :
- Sens d'action : -1 (action inverse)
- Mesure Enedis : 46 W (consommation)
- Consigne cible : -15 W
- Écart calculé : 46 - (-15) = 61 W
- Gain P (Kp) : 0,5
Le calcul de l'action proportionnelle pure donne :
Action P = -1 x 0,5 x 61 = -30,5 W
Le siganl S0
Le signal de sortie du régulateur se calcul ainsi :
Signal de sortie = Action P + Action I + S0
Le S0 correspond à la valeur du signal de sortie lorsque vous agissez sur celui-ci avec le régulateur réglé en manuel. Vous pouvez ainsi piloter manuellement la puissance des batteries.
Lorsque vous passez à nouveau le régulateur de manuel à automatique, alors le signal S0 va mémoriser la dernière valeur du signal de sotie qui est censée être une valeur correcte pour la stabilité du système. Dans l’exemple de mon installation sous Home Assistant, le S0 est à -10 W. Si vous ne savez pas comment ajuster ce S0, vous pouvez le régler à 0 W.
Dans la logique d'état global du système sous Home Assistant, cette correction calculée de -30,5 W vient s'appliquer sur la ligne de base du régulateur pour générer un signal de sortie final stabilisé à :
Signal de sortie (environ) = -30,5 + 61 + (-10) = 20,5 W
Arrondi à 21 W (soit un ordre de décharge effective de 21 W envoyé aux batteries).
"L'intérêt de l'action proportionnelle est de pouvoir réagir immédiatement face aux variations brutales de puissance. Cette action ignore le passé et l'avenir et elle ne traite que le présent.
Bilan de l'action Proportionnelle :
- Point fort : Une réactivité extrême sans aucun retard temporel face aux variations de charge de la maison.
- Risque : Si le gain est réglé à une valeur trop élevée, le système se met à pomper (oscillations entretenues).
- Défaut majeur : Seule, l'action P est incapable d'annuler complètement l'erreur (M-C). Elle stabilise la mesure, mais laisse subsister un écart résiduel permanent (l'erreur statique).
Révélation 6 : L'Action Intégrale (I) agit comme la "mémoire" du système et exige d'être bridée
L'action Intégrale : Le cumul des erreurs passées pour supprimer les écarts résiduels
Pour éliminer l'erreur résiduelle laissée par l'action proportionnelle et forcer la mesure à rejoindre parfaitement la consigne, l'ajout de l'action intégrale (I) est indispensable.
L'action intégrale calcule le cumul des surfaces des écarts (M-C) au fil du temps. Dans Home Assistant, le calcul s'exécute à un temps de scrutation fixe de 5 secondes (c'est la période d'échantillonnage de la boucle que j’ai choisie) selon la formule :
Nouvelle intégrale = Ancienne intégrale + (Gain intégral x Écart x Temps écoulé )
"En résumé l'action intégrale, c’est la mémoire de notre régulateur. Contrairement à l'action proportionnelle qui ne regarde que l'instant présent, l'intégrale additionne les erreurs au fil du temps..."
Réglage, Anti-saturation et Sécurité matérielle :
- Le coefficient Ki (2,5 répétitions/minute) : Ce réglage signifie qu'en une minute, l'intégrale répète 2,5 fois l'erreur instantanée. Concrètement, pour un écart persistant de 100 W, l'action intégrale ajoute 250 W (100x2,5) de correction par minute jusqu'à l'annulation complète de l'écart.
- Le bridage anti-saturation : Dans le code du régulateur sous Home Assistant, le cumul de la mémoire intégrale doit être strictement bridé entre -2400 W et +2400 W. Ce garde-fou est indispensable lorsque les batteries sont physiquement à 100 % de charge (pleines) ou à 0 % (vides). Dans ces états saturés, la batterie ne peut plus répondre physiquement à la commande ; sans ce bridage, l'intégrale accumulerait une erreur infinie (emballement), provoquant un choc de régulation violent dès que la batterie redeviendrait disponible.
- La zone morte (de 5 W) : Une zone morte, réglée ici à 5 W, agit comme un filtre de sécurité sur la sortie commandée. Si le nouveau calcul de puissance varie de moins de 5 W par rapport au dernier signal transmis, l'envoi de la commande est bloqué. Cela évite le bombardement d'ordres inutiles (spam MQTT/API) vers le SolarFlow et préserve ainsi les composants électroniques et relais d'une usure prématurée.
L'alliance des actions du régulateur
L'alliance de l'action Proportionnelle (qui apporte la vitesse de réaction immédiate) et de l'action Intégrale (qui efface l'erreur statique au fil du temps) permet d'obtenir une boucle de régulation P+I idéale. Grâce à cet algorithme intégré dans Home Assistant, votre batterie Zendure SolarFlow réagit avec une précision chirurgicale aux flux de votre domicile, en toute autonomie et sans dépendre du Cloud du constructeur distant.
Avez-vous déjà sauté le pas du pilotage 100 % local pour vos batteries solaires sous Home Assistant, ou utilisez-vous encore les automatisations cloud d'usine ?
Visualisez la vidéo correspondante...
