Si vous suivez l’actualité de l’autoconsommation, vous connaissez sans doute l’EcoFlow Power Stream, très populaire pour connecter une batterie directement au réseau. Cependant, il existe une alternative plus performante, moins chère et fonctionnant 100% en local : le micro-onduleur Hoymiles HMS-1000-2T.
Dans cet article, nous allons voir comment détourner ce micro-onduleur pour le faire fonctionner sur batterie, le piloter via Home Assistant et pourquoi il surpasse le Power Stream sur bien des points.
⚡ Le matériel : Hoymiles HMS-1000-2T et mise en garde
Le cœur du système est le Hoymiles HMS-1000-2T. Contrairement aux onduleurs classiques, celui-ci accepte une large plage de tension, ce qui le rend théoriquement compatible avec des batteries 48V DIY.
⚠️ Attention à la polarité : Lors de mes premiers tests, j’ai rencontré un problème critique. Les connecteurs standards utilisés sur cet appareil peuvent être trompeurs. Sur mon modèle, les indications « + » et « – » moulées sur la prise ne correspondaient pas à la réalité du câblage interne, ce qui a conduit à la destruction d’une voie MPPT. Vérifiez impérativement la polarité au multimètre avant tout branchement.
Malgré cette mésaventure et quelques chocs physiques (chute de panneau), le matériel s’avère robuste et continue de fonctionner sur la voie restante.
🛠️ La solution technique et le montage
L’objectif est de piloter l’injection de l’onduleur (qui n’est pas connecté à des panneaux, mais à une batterie) en fonction des besoins de la maison. Pour cela, nous nous basons sur les travaux open-source de « Seb » (un vidéaste spécialisé), qui a décodé le protocole de communication.
Pour réaliser l’interface de communication, vous aurez besoin de deux composants :
-
Un module ESP32 (microcontrôleur).
-
Un module radio CMT2300A (pour communiquer avec le Hoymiles).
Le câblage de l’interface : Voici comment relier le module CMT2300A à l’ESP32 :
-
Alimentation : 3.3V sur 3.3V et GND sur GND.
-
D13 vers le 4ème pin (en partant du bas de la ligne jaune).
-
D12 vers le pin suivant (D14).
-
D27 vers le dernier pin.
-
Note : Conservez les cavaliers (jumpers) présents sur le module CMT pour associer les pins nécessaires.
Pour la partie puissance (batterie vers onduleur), je recommande vivement l’intégration d’un bouton avec résistance de précharge. Cela permet d’éviter l’étincelle et le pic de courant violent au moment de la connexion des condensateurs de l’onduleur.
💻 Programmation via ESP Home
La partie logicielle repose sur ESP Home. Contrairement aux versions WiFi de chez Hoymiles, la série HMS nécessite cette passerelle radio spécifique.
-
Voici le code
substitutions:
name: hms # éviter le "_" dans le hostname (recommandé)
esphome:
name: ${name}
esp32:
board: esp32dev
framework:
type: arduino
external_components:
- source: "github://SeByDocky/myESPhome/"
components: [hms_inverter]
logger:
level: DEBUG
# ⬇️ OBLIGATOIRE car le composant HMS utilise un bouton
button:
api:
ota:
- platform: esphome
wifi:
ssid: WifiBAS
password: xxxxxxxxxxxxxxxxxxxxx
time:
- platform: homeassistant
id: my_time
hms_inverter:
id: hms_id
pins:
clk: GPIO13
cs: GPIO14
fcs: GPIO27
sdio: GPIO12 # ⚠️ strapping pin → OK si montage stable
inverters:
- serial: "xxxxxxxxxxxxxx"
# 🔘 Bouton logiciel de resynchronisation / redémarrage RF
restart:
name: "${name}_restart"
# 🔌 État de connexion HMS
reachable:
name: "${name}_reachable"
# ⚡ Production en cours
producing:
name: "${name}_producing"
# 📉 Limite de puissance en %
limit_percent:
name: "${name}_percent_power_limit"
# 📈 Limite de puissance absolue (W)
limit_absolute:
name: "${name}_absolute_power_limit"
# 🔋 Canaux DC (PV)
dc_channels:
- power:
name: "${name}_pv0_power"
current:
name: "${name}_pv0_current"
icon: mdi:current-dc
voltage:
name: "${name}_pv0_voltage"
energy:
name: "${name}_pv0_energy_today"
device_class: energy
icon: mdi:counter
unit_of_measurement: kWh
filters:
- multiply: 0.001
- power:
name: "${name}_pv1_power"
current:
name: "${name}_pv1_current"
icon: mdi:current-dc
voltage:
name: "${name}_pv1_voltage"
energy:
name: "${name}_pv1_energy_today"
device_class: energy
icon: mdi:counter
unit_of_measurement: kWh
filters:
- multiply: 0.001
- power:
name: "${name}_pv2_power"
current:
name: "${name}_pv2_current"
icon: mdi:current-dc
voltage:
name: "${name}_pv2_voltage"
energy:
name: "${name}_pv2_energy_today"
device_class: energy
icon: mdi:counter
unit_of_measurement: kWh
filters:
- multiply: 0.001
- power:
name: "${name}_pv3_power"
current:
name: "${name}_pv3_current"
icon: mdi:current-dc
voltage:
name: "${name}_pv3_voltage"
energy:
name: "${name}_pv3_energy_today"
device_class: energy
icon: mdi:counter
unit_of_measurement: kWh
filters:
- multiply: 0.001
# ⚡ Sortie AC
ac_channel:
power:
name: "${name}_ac_power"
energy:
name: "${name}_ac_energy_today"
device_class: energy
icon: mdi:counter
unit_of_measurement: kWh
filters:
- multiply: 0.001
# 🔥 Onduleur (interne)
inverter_channel:
power:
name: "${name}_inverter_power"
energy:
name: "${name}_inverter_energy_today"
device_class: energy
icon: mdi:counter
unit_of_measurement: kWh
filters:
- multiply: 0.001
temperature:
name: "${name}_inverter_temperature"
-
Paramétrez votre WiFi et entrez le numéro de série de votre onduleur dans le fichier de configuration.
-
Compilez et téléversez le firmware sur l’ESP32 via USB (utilisez ESP Home Web pour faciliter la tâche).
Une fois flashé, l’ESP32 va communiquer sans fil avec l’onduleur et remontera les informations via le réseau local.
🏠 Intégration dans Home Assistant
Une fois l’ESP32 connecté à votre réseau, il suffit de récupérer son adresse IP (via un scan réseau) et de l’ajouter dans Home Assistant via l’intégration ESP Home.
Vous aurez accès à de nombreuses entités :
-
Puissance produite instantanée.
-
Température de l’onduleur.
-
Contrôle de la puissance : C’est ici que tout se joue. Vous pouvez définir la puissance de sortie (en Watts ou en pourcentage) en temps réel.
Contrairement à une solution autonome (type PID géré par l’ESP), cette méthode délègue la logique à Home Assistant. Si votre réseau coupe, le pilotage s’arrête. C’est une contrainte, mais cela simplifie grandement la mise en place pour ceux qui sont déjà équipés en domotique.
⚖️ Comparatif : Hoymiles HMS vs EcoFlow Power Stream
Faut-il remplacer votre Power Stream ? Après test, le Hoymiles HMS l’emporte sur plusieurs critères techniques :
-
Pas de Cloud : Tout est géré en local. Aucune dépendance aux serveurs chinois ou à une connexion internet externe.
-
Tension admissible : Le HMS accepte des tensions plus élevées (au-delà des 55V du Power Stream). C’est crucial pour charger/équilibrer correctement une batterie LFP 16S à 100%.
-
Réactivité et Durabilité : La modification de la puissance de sortie se fait en RAM (mémoire volatile). On peut ajuster la consigne toutes les 2 secondes sans risquer d’user la mémoire flash de l’appareil (problème connu sur le Power Stream).
-
Thermique : Le HMS chauffe nettement moins et tient ses 1000W (contre 800W max théorique pour le Power Stream, qui surchauffe souvent au-delà de 600W).
-
Prix : On trouve des HMS-1000-2T autour de 120 € sur le marché de l’occasion (Leboncoin), contre un tarif bien plus élevé pour la solution EcoFlow.
🏁 Conclusion
Le passage au Hoymiles HMS-1000-2T est une excellente opération pour qui souhaite monter une batterie domestique performante. La solution est plus robuste, plus puissante et totalement « cloud-free ».
Même si la mise en œuvre demande un peu de bricolage (ESP32, câblage), le jeu en vaut la chandelle, surtout si vous revendez votre ancien matériel EcoFlow qui cote encore très bien sur le marché de l’occasion.

