Bonjour,
J’ai déjà eu l’opportunité de vous présenter mon projet de routeur solaire ici et là et le projet à continuer à grandir depuis ces dernières présentations.
Contexte & objectif
Solar-Routeur-For-ESPHome est un projet, basé sur ESPHome, qui a pour objectif de créer un routeur solaire 100% compatible avec Home Assistant.
C’est quoi “un routeur solaire” et ça sert à quoi ?
Un routeur solaire est un dispositif utile aux personnes ayant une installation de panneaux solaires et voulant augmenter leur auto-consommation. Grâce à lui, il est possible de rediriger le surplus de production solaire vers un chauffe-eau et/ou un radiateur (pour le hors-gel) et/ou toute autre charge résistive. Comme l’énergie est toujours achetée plus cher qu’elle n’est revendue, ce dispositif maximise l’auto-consommation et permet ainsi de réduire sa facture d’électricité.
Solar-Routeur-For-ESPHome
Solar-Router-For-ESPHome c’est le projet de routeur solaire que j’ai initié en utilisant ESPHome. Au début, ce projet avait pour objectif de répondre à mes besoins : Rediriger le surplus de production de mes panneaux solaires vers mon chauffe-eau en utilisant les données de consommation extraites directement de mon onduleur Fronius.
Lors de mes recherches, j’ai été séduit par la modularité du routeur solaire de F1ATB et j’ai donc conçu mon projet dans le même état d’esprit.
J’ai publié la première version Open Source de mon projet en début 2024 et depuis cette date, j’ai eu plusieurs retours d’utilisateurs et même des propositions de codes permettant d’apporter des améliorations et des nouvelles fonctionnalités.
D’un projet personnel, ce projet est devenu un projet collaboratif avec la participation de @tikismoke, ghish, @SullyP, … qui supporte maintenant :
- Les compteurs d’énergie Shelly ou Home Assistant
- Les chauffes-eau avec 3 résistances
- Les relais mécaniques, les relais statiques, les gradateurs et des combinaisons de ces éléments
- La gestion du forçage d’activation et d’arrêt en fonction de l’heure courante
- Une réactivité variable en fonction du sens de l’échange d’énergie
J’en profite donc pour remercier toutes les personnes qui ont fait des retours et/ou proposés leurs contributions.
Matériel (BOM) & Schéma de câblage
Comment faire pour créer mon propre Solar-Router-For-ESPHome ?
Tout d’abord un avertissement : Ce projet met en œuvre des tensions et des courants qui peuvent être dangereux et voir mortels. Assurez-vous de bien connaitre ces dangers avant de vous lancer dans la construction de votre routeur solaire.
J’ai pris le temps d’écrire une documentation en français et en anglais pour permettre à toute personne intéressée de créer le routeur adapté à ses besoins.
Voici un exemple de ma première réalisation construite avec :
- 1 x ESP32 Wroom
- 1 x module Triac RoboDyn 24A
- 2 x leds + résistances
- 1 x alimentation USB de téléphone

Une fois monté, le routeur ressemble à ceci :


La configuration permettant de mettre en œuvre ce matériel avec un onduleur Fronius est la suivante :
# --------------------------------------------------------------------------------
# ESPHome configuration - This part depends on your hardware target
# --------------------------------------------------------------------------------
esphome:
name: solarrouter
friendly_name: SolarRouter
min_version: 2025.3.2
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
baud_rate: 115200
level: INFO
logs:
component: ERROR
light: ERROR
# Enable Home Assistant API
api:
encryption:
key: !secret api_encryption_key
# Enable over-the-air updates
ota:
- platform: esphome
password: !secret solar_router_ota_password
# Enable improv serial
improv_serial:
# WiFi connection
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# If you have a WiFi activity plannification, you may have to update the reboot timeout (Default: 15min)
reboot_timeout: 24h
# Activate web interface
web_server:
port: 80
# Define watchdog time (it should be greater than timeout)
http_request:
watchdog_timeout: 12s
# --------------------------------------------------------------------------------
# Customisation
# --------------------------------------------------------------------------------
# This part of the script is designed to be used for customisation.
packages:
solar_router:
url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/
refresh: 1d
files:
- path: solar_router/common.yaml
- path: solar_router/power_meter_fronius.yaml
vars:
power_meter_ip_address: "192.168.1.21"
- path: solar_router/regulator_triac.yaml
vars:
regulator_gate_pin: GPIO22
regulator_zero_crossing_pin: GPIO23
- path: solar_router/engine_1dimmer.yaml
vars:
green_led_pin: GPIO19
yellow_led_pin: GPIO18
Le résultat
Maintenant, ma consommation suit ma production :

