Manuel Modbus TCP

Manuel Modbus TCP Lunergy

Manuel Modbus TCP Lunergy

Modbus TCP vous permet de lire localement les données d'une batterie domestique plug-in Lunergy et, si vous le souhaitez, de la piloter localement. La communication s'effectue directement via votre réseau, sans connexion cloud.

Connexion locale via adresse IP et port 8080 Pour la lecture, les tableaux de bord et l'automatisation locale Dernière mise à jour : 17 septembre 2026
1. Même réseau

Assurez-vous que votre client Modbus TCP et la batterie domestique plug-in Lunergy sont connectés au même réseau Wi-Fi ou LAN.

2. IP et port

Recherchez l'adresse IP locale de la batterie, puis connectez-vous au port 8080.

3. Lire les registres

Utilisez Modbus TCP, l'adresse de communication 01 et le code fonction 03H pour lire les registres.

1. Présentation

Ce manuel décrit comment se connecter localement à une batterie domestique plug-in Lunergy via Modbus TCP. Vous pouvez ainsi lire des données telles que le SOC, la puissance de charge et de décharge, l'état et les avertissements. Pour des applications avancées, vous pouvez également écrire certains paramètres de contrôle.

a

Pas besoin de cloud

Le client communique directement avec la batterie au sein du même réseau local.

b

Adapté aux tableaux de bord

Utilisez les valeurs en temps réel dans Home Assistant, Domoticz, Node-RED, votre propre tableau de bord web ou un écran LCD.

c

Automatisation locale

Avec les registres inscriptibles, vous pouvez définir des valeurs de consigne, à condition que la stratégie de l'application et les autres contrôleurs soient désactivés.

2. Prérequis

Vous avez besoin d'un client Modbus TCP. Il s'agit du logiciel ou du matériel qui établit activement la connexion avec la batterie domestique plug-in Lunergy, demande des valeurs et envoie éventuellement des commandes d'écriture.

Type de client Exemples Utilisation typique
Logiciel de test sur ordinateur Modbus Poll, QModMaster, ModbusDoctor Vérifier d'abord si l'IP, le port et les registres fonctionnent.
Plateforme domotique Home Assistant, Domoticz Afficher les valeurs en temps réel et créer des automatisations.
Plateforme d'automatisation Node-RED Créer une logique pour les plannings, les tarifs d'énergie ou le pilotage intelligent.
Carte de développement ESP32, Raspberry Pi Piloter votre propre écran LCD, afficheur ou script local.
Application propre Tableau de bord web, moniteur local, enregistreur de données Stocker, visualiser ou transmettre les données à d'autres systèmes.

3. Connexion via Modbus TCP

1

Assurez-vous que les deux appareils sont sur le même réseau

Connectez le client Modbus TCP et la batterie domestique plug-in Lunergy au même réseau Wi-Fi ou LAN. C'est la seule façon pour que le client puisse atteindre l'adresse IP locale de la batterie.

2

Recherchez l'adresse IP locale de la batterie

Vous trouverez généralement l'adresse IP dans la page de gestion de votre routeur, dans la liste des appareils connectés ou des clients DHCP. Vous pouvez également vérifier l'adresse IP dans la page des paramètres de l'appareil dans l'application Lunergy, si cette information y est disponible.

Exemple : 192.168.1.68
3

Saisissez les informations de connexion dans votre client

Champ dans le client Valeur Note
Protocole Modbus TCP Utilisez TCP, pas Modbus RTU.
Hôte / IP Adresse IP de la batterie Par exemple 192.168.1.68.
Port 8080 Le port TCP local pour la connexion.
ID d'unité / ID d'esclave 01 Également appelée adresse de communication.
Code fonction 03H Pour la lecture des registres.
Adresse du registre Par exemple 65030 65030 est le SOC de la batterie.
Nombre / longueur Selon le tableau des registres De nombreux registres ont une longueur de 1.
Certains clients Modbus utilisent un décalage d'adresse (offset). Si 65030 ne renvoie pas la valeur correcte, essayez 65029. Cela ne signifie pas que le registre est différent ; cela dépend de la façon dont le client traite l'adresse de départ.
4

Testez d'abord avec le SOC de la batterie

Un premier test simple consiste à lire le registre 65030. La valeur est un pourcentage. Si le client renvoie par exemple 82, le SOC de la batterie est de 82%.

Protocole : Modbus TCP Hôte / IP : adresse IP locale de la batterie Port : 8080 ID d'unité : 01 Code fonction : 03H Registre : 65030 Longueur : 1 Type de données : U16

4. Codes fonction

Le code fonction indique à la batterie ce que le client veut faire : lire, écrire une valeur unique ou écrire plusieurs valeurs. La lettre H signifie que le code est écrit en hexadécimal.

Code fonction Signification Utilisation
03H Lecture des registres de maintien (Read Holding Registers) Lire des registres, comme le SOC, la puissance et l'état.
06H Écriture d'un registre unique (Write Single Register) Définir un registre inscriptible unique.
10H Écriture de registres multiples (Write Multiple Registers) Écrire un ou plusieurs registres dans la même commande.
Pour une simple lecture, vous utilisez normalement 03H. L'écriture n'est destinée qu'aux registres marqués comme R/W dans le tableau.

5. Pilotage et conflit avec les modes de l'application

Si vous souhaitez piloter activement la batterie, vous devez d'abord activer le pilotage intelligent via Wi-Fi. Ensuite, vous pourrez utiliser les registres de puissance inscriptibles.

Attention : Le pilotage par Modbus TCP peut entrer en conflit avec le mode IA, le mode NoM ou d'autres stratégies automatiques dans l'application Lunergy. Utilisez toujours une seule source de contrôle à la fois. Si vous utilisez Modbus TCP pour le pilotage, désactivez complètement le mode IA, le mode NoM et les autres stratégies de contrôle de l'application. Si vous utilisez les modes de l'application, arrêtez toute écriture automatique via Modbus TCP.
1

Activez le planning intelligent Wi-Fi

Écrivez d'abord 1 dans le registre 65045. Cela active le planning intelligent Wi-Fi. Sans cette étape, la batterie pourrait ne pas être en mesure de suivre les paramètres de puissance via Modbus TCP.

65045 = 1 signifie : planning intelligent Wi-Fi activé 65045 = 0 signifie : planning intelligent Wi-Fi désactivé
2

Définissez ensuite la puissance souhaitée

Utilisez les registres 65046, 65047 et 65048 respectivement pour les phases A, B et C. Une valeur positive signifie l'injection au réseau ou la décharge. Une valeur négative signifie la charge.

65046 = 300 signifie : la phase A injecte/décharge à 300 W 65046 = -300 signifie : la phase A charge à 300 W

Vérifiez toujours au préalable la plage de puissance autorisée, la configuration des phases et les paramètres de sécurité de l'installation.

3

Vérifiez le retour d'information

Après une commande d'écriture, relisez les valeurs actuelles, par exemple 65031 pour la puissance de la batterie et 65038 pour l'état de charge ou de décharge. Vous verrez ainsi si la batterie suit réellement la commande.

6. Tableau des registres

Les registres ci-dessous sont destinés à la communication Modbus TCP locale. Pour la lecture, utilisez le code fonction 03H. N'utilisez les commandes d'écriture que pour les registres marqués R/W.

Nom Registre Longueur R/W Facteur Unité Type Description
Commande marche/arrêt 40000 1 W 1 - U16 0 éteint l'appareil, 1 allume l'appareil. Les autres valeurs n'exécutent aucune action.
Redémarrage de l'appareil 40001 1 W 1 - U16 1 redémarre l'appareil. Les autres valeurs n'exécutent aucune action.
SOC de la batterie 65030 1 R 1 % U16 SOC actuel de la batterie.
Puissance de charge/décharge batterie 65031 1 R 1 W I16 Positif signifie décharge, négatif signifie charge.
Puissance de charge AC 65032 1 R 1 W I16 Puissance de charge AC actuelle de la batterie.
Puissance de charge disponible batterie 65033 1 R 1 W I16 Puissance de charge disponible restante.
Puissance active AC_In phase A 65034 1 R 1 W I16 Puissance en temps réel côté réseau. Positif signifie flux vers le réseau, négatif signifie consommation depuis le réseau.
Puissance nominale de la machine 65035 1 R 1 W I16 Puissance maximale raccordée au réseau de la machine.
Puissance nominale de la batterie 65037 1 R 1 W I16 Puissance maximale de charge et de décharge de la batterie.
État de charge/décharge batterie 65038 1 R 1 - U16 0 signifie décharge, 1 signifie charge.
Énergie totale chargée batterie 52050 2 R 0.1 kWh U32 Quantité totale d'énergie chargée dans la batterie. Le mot de poids faible est sur le premier registre, le mot de poids fort sur le second.
Énergie totale déchargée batterie 52052 2 R 0.1 kWh U32 Quantité totale d'énergie déchargée par la batterie. Le mot de poids faible est sur le premier registre, le mot de poids fort sur le second.
Énergie totale injectée au réseau 52080 2 R 0.1 kWh U32 Quantité totale d'énergie injectée dans le réseau électrique. Nécessite un compteur externe ou un TC.
Température 1 30073 1 R 0.1 °C I16 Température du point de mesure 1.
Température 2 30074 1 R 0.1 °C I16 Température du point de mesure 2.
Température 3 30075 1 R 0.1 °C I16 Température du point de mesure 3.
État général de l'appareil 65039 1 R 1 - U16 0 signifie normal, 1 signifie défaut.
Puissance active charge de secours phase A 65040 1 R 1 W I16 Puissance côté ACOut. La puissance sortante est positive, la puissance entrante est négative.
Puissance active charge de secours phase B 65041 1 R 1 W I16 Puissance côté ACOut. La puissance sortante est positive, la puissance entrante est négative.
Puissance active charge de secours phase C 65042 1 R 1 W I16 Puissance côté ACOut. La puissance sortante est positive, la puissance entrante est négative.
Réservé 65043 1 R 1 - U16 Réservé.
Activation mise à jour paramètres de contrôle 65044 1 R/W 1 - U16 Utilisé pour activer le rapport de données rapide après l'utilisation du panneau machine. Le collecteur peut effacer activement ce drapeau.
Activation planification intelligente Wi-Fi 65045 1 R/W 1 - U16 0 signifie désactivé, 1 signifie activé. Réglez sur 1 avant de définir la puissance de charge ou de décharge via Modbus TCP.
Puissance onduleur raccordé au réseau phase A 65046 1 R/W 1 W I16 Valeur de puissance définie. Positif signifie injection/décharge, négatif signifie charge.
Puissance onduleur raccordé au réseau phase B 65047 1 R/W 1 W I16 Valeur de puissance définie. Positif signifie injection/décharge, négatif signifie charge.
Puissance onduleur raccordé au réseau phase C 65048 1 R/W 1 W I16 Valeur de puissance définie. Positif signifie injection/décharge, négatif signifie charge.
Puissance active AC_In phase B 65049 1 R 1 W I16 Puissance en temps réel côté réseau. Positif signifie flux vers le réseau, négatif signifie consommation depuis le réseau.
Puissance active AC_In phase C 65050 1 R 1 W I16 Puissance en temps réel côté réseau. Positif signifie flux vers le réseau, négatif signifie consommation depuis le réseau.
Drapeaux d'alarme appareil 65051 2 R 1 - U32 Informations sur les défauts de l'appareil, représentées bit à bit. Seules les erreurs graves de la machine déclenchent la réserve de sécurité et le rapport rapide.
Réservé 65052 2 R 1 - U16 Réservé.

7. Dépannage

Utilisez ces contrôles lorsque la connexion échoue ou lorsque le client ne renvoie pas de valeurs pertinentes.

Situation Contrôle ou solution
Le client ne parvient pas à se connecter. Vérifiez si le client et la batterie sont sur le même réseau Wi-Fi ou LAN. Vérifiez ensuite l'adresse IP et le port 8080.
La connexion s'ouvre, mais aucune valeur n'est retournée. Vérifiez si Modbus TCP est sélectionné, si l'ID d'unité 01 est utilisé et si le code de fonction 03H est choisi pour la lecture.
Le registre 65030 ne renvoie pas de SOC. Essayez également l'adresse 65029 dans le même client. Certains clients attendent l'adresse de départ avec un décalage de -1.
Les valeurs de puissance négatives semblent incorrectes. Vérifiez si le type de données est interprété comme I16. Pour les registres avec des valeurs négatives, un entier signé est nécessaire.
Une commande d'écriture semble n'avoir aucun effet. Activez d'abord le registre 65045 avec la valeur 1. Vérifiez également que le mode IA, le mode NoM et les autres stratégies de contrôle de l'application sont entièrement désactivés.
La batterie bascule constamment entre les modes. Plusieurs contrôleurs sont probablement actifs. Utilisez soit l'application Lunergy, soit Modbus TCP, soit une plateforme tierce comme Home Assistant ou Node-RED, mais pas simultanément pour les commandes d'écriture.