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.
Pas besoin de cloud
Le client communique directement avec la batterie au sein du même réseau local.
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.
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
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.
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.68Saisissez 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. |
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.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%.
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. |
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.
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.
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.
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.
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. |