Intégrer sa batterie à Home Assistant via MQTT.

Lucas, propriĂ©taire d’une maison connectĂ©e en pĂ©riphĂ©rie de Lyon, dĂ©couvre un matin que sa batterie Marstek affiche un statut batterie incohĂ©rent dans l’application mobile. PlutĂŽt que de multiplier les dongles USB ou d’ouvrir l’armoire Ă©lectrique, il choisit une voie 100% logicielle : relier la batterie Ă  Home Assistant via MQTT en passant par Hame Relay et hm2mqtt. Le rĂ©cit qui suit expose chaque Ă©tape, de l’installation des add-ons Ă  la rĂ©solution des problĂšmes de communication, en s’appuyant sur des paramĂštres concrets (pollingInterval = 60 s, device_id de 22–24 caractĂšres, etc.).

Le but est double : conserver l’application Marstek/PowerZero intacte pour la supervision mobile, et obtenir dans Home Assistant des capteurs et commandes pour piloter l’énergie domestique, crĂ©er des automatisations et remonter des donnĂ©es de capteur (SOC, tension, courant, tempĂ©rature). Ce guide, rĂ©digĂ© avec la communautĂ© francophone, suit une architecture Ă©prouvĂ©e : batterie ↔ broker Hame cloud ↔ Hame Relay ↔ MQTT local ↔ hm2mqtt ↔ Home Assistant. Chaque section termine par une phrase-clĂ© pour garder le fil, et Lucas sert d’exemple concret pour vĂ©rifier la validitĂ© des Ă©tapes.

Architecture d’intĂ©gration Home Assistant + MQTT pour batteries Venus/Jupiter

La solution s’appuie sur une chaĂźne de relais logiciel qui transforme la communication propriĂ©taire cloud en topics MQTT locaux. ConcrĂštement, la batterie reste connectĂ©e au broker Hame (cloud), Hame Relay s’authentifie sur ce broker et renvoie les messages vers un MQTT local, puis hm2mqtt publie les entitĂ©s exploitables par Home Assistant. Cette topologie garantit le maintien de l’application mobile tout en rendant possible la supervision et le contrĂŽle bidirectionnel depuis votre systĂšme domotique.

Phrase-clĂ© : cette architecture 100% logicielle retire le besoin de matĂ©riel additionnel et prĂ©serve la continuitĂ© de l’app mobile.

Préparer Home Assistant : Broker MQTT et prérequis

Choisir et installer le broker MQTT

Dans Home Assistant, installer l’add-on Mosquitto broker ou connecter un broker externe. VĂ©rifiez la portĂ©e rĂ©seau : URI typiques utilisĂ©es dans les configurations testĂ©es par la communautĂ© sont mqtt://homeassistant:1883, mqtt://core-mosquitto:1883 ou mqtt://user:[email protected]:1883. Assurez-vous que Home Assistant et le broker partagent des identifiants cohĂ©rents pour l’accĂšs.

Phrase-clé : un broker accessible et stable est la condition sine qua non pour que Hame Relay et hm2mqtt communiquent correctement.

Installation pas Ă  pas : Hame Relay

Ajout du dépÎt et installation

Depuis ParamĂštres → Modules complĂ©mentaires → Boutique, ajouter ce dĂ©pĂŽt : https://github.com/tomquist/hame-relay. Installez l’add-on, puis renseignez vos identifiants Hame (email et mot de passe) dans la configuration pour permettre la rĂ©cupĂ©ration automatique des appareils.

Phrase-clé : Hame Relay nécessite des identifiants Hame valides pour découvrir automatiquement vos batteries Venus/Jupiter.

Configuration minimale recommandée

Utilisez une configuration initiale avec ces éléments clés : inverse_forwarding: true (obligatoire pour Venus/Jupiter), mqtt_uri pointant vers votre broker, et un device temporaire qui sera remplacé aprÚs découverte. Exemple (résumé en ligne) : inverse_forwarding: true, mqtt_uri: « mqtt://homeassistant:1883 », username et password Hame, puis dans devices : device_id, mac, type, version.

Phrase-clé : ajouter un device temporaire accélÚre la phase de découverte et évite les erreurs de parsing dans les logs.

Récupération des vraies informations (logs)

DĂ©marrez l’add-on et consultez les logs pour repĂ©rer une ligne similaire Ă  :

Device 1: Name: ma_batterie | Device ID: 123456789abcdef012345678 | MAC: 001122334455 | Type: HMG-50 | Version: 152

Remplacez ensuite le device temporaire par ces valeurs rĂ©elles et redĂ©marrez l’add-on.

Phrase-clĂ© : la lecture attentive des logs permet d’obtenir le device_id (22–24 caractĂšres) et la MAC nĂ©cessaires pour hm2mqtt.

Installation pas à pas : hm2mqtt pour exposer les entités MQTT

Ajout du dépÎt et configuration

Ajouter le dépÎt : https://github.com/tomquist/hm2mqtt depuis la Boutique des modules complémentaires. ParamÚtres importants fournis par la communauté :

  • pollingInterval: 60 (s) ⏱
  • responseTimeout: 30 (s) ⏳
  • allowedConsecutiveTimeouts: 3 ❗
  • topicPrefix: hm2mqtt 🔖

Dans devices, indiquez deviceType (ex. HMG-50) et deviceId (MAC sans les “:”, ex. 001122334455).

Phrase-clé : hm2mqtt transforme les messages en topics structurés exploitables par Home Assistant.

AprĂšs la mise en route, vĂ©rifiez les topics listĂ©s tels que hm2mqtt/HMG-50/device/VOTRE_MAC/data et les contrĂŽles sous hm2mqtt/HMG-50/control/VOTRE_MAC/….

Types de devices Marstek (Venus / Jupiter) et correspondance

Type de device ModĂšle courant Usage
HMG-50 🔋 Venus Stockage domestique, SOC & contrĂŽle charge/dĂ©charge ⚡
HMN-X 🔌 Jupiter E Solutions hybrides on-grid/off-grid 🏠
HMM-X 🔧 Jupiter C Applications industrielles et rĂ©sidentielles 🔄

Phrase-clĂ© : connaĂźtre le deviceType permet d’éviter les erreurs de mapping entre Hame Relay et hm2mqtt.

Dépannage : vérifier la communication MQTT et topics

  • 🔍 Tester la connexion MQTT : Publier sur test/homeassistant et Ă©couter test/+ via Outils de dĂ©veloppement → MQTT.
  • đŸ› ïž Si aucun topic hm_
 n’apparaĂźt : tester diffĂ©rentes mqtt_uri (ex. mqtt://core-mosquitto:1883 ou mqtt://addon_core_mosquitto:1883).
  • 📄 Activer log_level: debug dans Hame Relay pour suivre « Connected to remote/local broker » et les Ă©changes dĂ©taillĂ©s.
  • đŸ“± VĂ©rifier l’app mobile Marstek/PowerZero : si la batterie ne rĂ©pond plus dans l’app, le problĂšme est probablement cĂŽtĂ© Hame/cloud et non local.
  • 🔁 Écouter les topics : hm2mqtt/HMG-50/device/VOTRE_MAC/data et hm2mqtt/HMG-50/control/VOTRE_MAC/refresh.

Phrase-clé : les logs et tests MQTT simplifient la résolution en séparant problÚmes réseau, authentification et parsing.

EntitĂ©s créées automatiquement et exemples d’automatisations domotiques

Une fois hm2mqtt opĂ©rationnel, Home Assistant importe des entitĂ©s typiques : SOC (%), Puissance (W), Tension, Courant, TempĂ©rature et Mode de fonctionnement. Ces entitĂ©s peuvent ĂȘtre intĂ©grĂ©es Ă  des automatisations pour Ă©conomiser de l’énergie ou protĂ©ger la batterie.

  • ⚡ Exemple d’automatisation : si SOC < 20% alors rĂ©duire la consommation non essentielle et prioriser la recharge via PV.
  • 📈 Exemple de tableau de bord : affichage en temps rĂ©el du statut batterie + historique de puissance sur 24 h.
  • 🔄 Commandes : activer working-mode ou forcer un refresh via les topics de contrĂŽle.

Phrase-clĂ© : avec ces entitĂ©s, votre domotique devient un vrai contrĂŽleur d’énergie, optimisĂ© pour coĂ»ts et durĂ©e de vie de la batterie.

Checklist rapide pour rĂ©ussir l’intĂ©gration

  • ✅ Confirmer que la batterie reste connectĂ©e au broker Hame (cloud) đŸ“¶
  • ✅ Installer Hame Relay et hm2mqtt depuis les dĂ©pĂŽts officiels 📂
  • ✅ RĂ©cupĂ©rer device_id et mac via les logs et les replacer dans la config 🔑
  • ✅ VĂ©rifier le broker MQTT local (mqtt_uri) et tester avec un topic test/+ đŸ§Ș
  • ✅ Surveiller les topics hm2mqtt/… et activer les logs si nĂ©cessaire 📝

Phrase-clĂ© : suivre cette checklist Ă©vite 80–90% des erreurs rencontrĂ©es lors des intĂ©grations logicielles.

La batterie doit-elle ĂȘtre dĂ©connectĂ©e du cloud pour fonctionner localement ?

Non. Pour Venus et Jupiter, la batterie reste connectĂ©e au broker Hame (cloud). La mĂ©thode utilisĂ©e (Hame Relay + hm2mqtt) relaye les messages vers votre MQTT local sans interrompre l’application mobile.

Quels paramĂštres sont essentiels dans la configuration ?

Assurez-vous de dĂ©finir inverse_forwarding: true dans Hame Relay, d’indiquer le mqtt_uri correct, et d’ajouter le device_id et la mac rĂ©els. Pour hm2mqtt, conservez pollingInterval: 60 s et le topicPrefix: hm2mqtt.

Que faire si je ne vois aucun topic hm2mqtt dans Home Assistant ?

Testez la connexion au broker via Outils de dĂ©veloppement → MQTT (publier/Ă©couter), essayez diffĂ©rentes formules de mqtt_uri, et activez log_level: debug dans Hame Relay pour identifier l’étape en Ă©chec.

Est-ce que cette méthode fonctionne pour toutes les batteries Marstek ?

Elle est documentĂ©e pour les gammes Venus (HMG-50) et Jupiter (HMN-, HMM-). Les modĂšles Saturn/B2500 utilisent une approche diffĂ©rente. VĂ©rifiez le deviceType avant d’appliquer la configuration.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut