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.
