1. Overzicht
Deze handleiding beschrijft hoe u lokaal verbinding maakt met een Lunergy plug-in-thuisbatterij via Modbus TCP. U kunt hiermee gegevens zoals SOC, laad- en ontlaadvermogen, status en waarschuwingen uitlezen. Voor geavanceerde toepassingen kunt u ook bepaalde regelparameters schrijven.
Geen cloud nodig
De client communiceert rechtstreeks met de batterij binnen hetzelfde lokale netwerk.
Geschikt voor dashboards
Gebruik de realtime waarden in Home Assistant, Domoticz, Node-RED, een eigen webdashboard of een LCD-scherm.
Lokale automatisering
Met schrijfbare registers kunt u regelwaarden instellen, mits de app-strategie en andere controllers zijn uitgeschakeld.
2. Benodigdheden
U heeft een Modbus TCP-client nodig. Dat is de software of hardware die actief verbinding maakt met de Lunergy plug-in-thuisbatterij, waarden opvraagt en eventueel schrijfopdrachten verstuurt.
| Type client | Voorbeelden | Typisch gebruik |
|---|---|---|
| Testsoftware op computer | Modbus Poll, QModMaster, ModbusDoctor | Eerst controleren of IP, poort en registers werken. |
| Smarthomeplatform | Home Assistant, Domoticz | Realtime waarden tonen en automatiseringen bouwen. |
| Automatiseringsplatform | Node-RED | Logica bouwen voor tijdschema's, energieprijzen of slimme sturing. |
| Ontwikkelbord | ESP32, Raspberry Pi | Een eigen LCD-scherm, display of lokaal script aansturen. |
| Eigen toepassing | Webdashboard, lokale monitor, datalogger | Data opslaan, visualiseren of doorgeven aan andere systemen. |
3. Verbinden via Modbus TCP
Zorg dat beide apparaten in hetzelfde netwerk zitten
Verbind de Modbus TCP-client en de Lunergy plug-in-thuisbatterij met hetzelfde wifi- of LAN-netwerk. Alleen dan kan de client het lokale IP-adres van de batterij bereiken.
Zoek het lokale IP-adres van de batterij
Het IP-adres vindt u meestal in de beheerpagina van uw router, in de lijst met verbonden apparaten of DHCP-clients. U kunt het IP-adres ook controleren in de instellingenpagina van het apparaat in de Lunergy-app, indien deze informatie daar beschikbaar is.
Voorbeeld: 192.168.1.68Vul de verbindingsgegevens in uw client in
| Veld in de client | Waarde | Opmerking |
|---|---|---|
| Protocol | Modbus TCP | Gebruik TCP, niet Modbus RTU. |
| Host / IP | IP-adres van de batterij | Bijvoorbeeld 192.168.1.68. |
| Poort | 8080 |
De lokale TCP-poort voor de verbinding. |
| Unit ID / Slave ID | 01 |
Ook wel communicatieadres genoemd. |
| Functiecode | 03H |
Voor het uitlezen van registers. |
| Registeradres | Bijvoorbeeld 65030
|
65030 is de batterij-SOC. |
| Aantal / lengte | Volgens de registertabel | Veel registers hebben lengte 1. |
65030 geen juiste waarde oplevert, probeer dan ook 65029. Dit betekent niet dat het register anders is; het ligt aan hoe de client het startadres verwerkt.Test eerst met de batterij-SOC
Een eenvoudige eerste test is het uitlezen van register 65030. De waarde is een percentage. Als de client bijvoorbeeld 82 teruggeeft, is de batterij-SOC 82%.
4. Functiecodes
De functiecode vertelt de batterij wat de client wil doen: lezen, een enkele waarde schrijven of meerdere waarden schrijven. De letter H betekent dat de code hexadecimaal is geschreven.
| Functiecode | Betekenis | Gebruik |
|---|---|---|
03H |
Read Holding Registers | Registers uitlezen, zoals SOC, vermogen en status. |
06H |
Write Single Register | Een enkel schrijfbaar register instellen. |
10H |
Write Multiple Registers | Een of meerdere registers in dezelfde opdracht schrijven. |
03H. Schrijven is alleen bedoeld voor registers die in de tabel als R/W zijn gemarkeerd.5. Besturing en conflict met app-modi
Als u de batterij actief wilt aansturen, moet eerst de slimme wifi-aansturing worden ingeschakeld. Daarna kunt u de schrijfbare vermogensregisters gebruiken.
Schakel slimme wifi-planning in
Schrijf eerst 1 naar register 65045. Daarmee wordt slimme wifi-planning ingeschakeld. Zonder deze stap kan de batterij de vermogensinstellingen via Modbus TCP mogelijk niet volgen.
Stel daarna het gewenste vermogen in
Gebruik register 65046, 65047 en 65048 voor respectievelijk fase A, B en C. Een positieve waarde betekent netinjectie of ontladen. Een negatieve waarde betekent laden.
Controleer altijd eerst het toegestane vermogensbereik, de faseconfiguratie en de veiligheidsinstellingen van de installatie.
Controleer de terugkoppeling
Lees na een schrijfopdracht opnieuw de actuele waarden uit, bijvoorbeeld 65031 voor batterijvermogen en 65038 voor laad- of ontlaadstatus. Zo ziet u of de batterij de opdracht daadwerkelijk volgt.
6. Registertabel
Onderstaande registers zijn bedoeld voor lokale Modbus TCP-communicatie. Gebruik voor uitlezen functiecode 03H. Gebruik schrijfopdrachten alleen bij registers met R/W.
| Register | Lengte | Naam | R/W | Factor | Eenheid | Type | Beschrijving |
|---|---|---|---|---|---|---|---|
65030 |
1 | Batterij-SOC | R | 1 | % | U16 | Actuele SOC van de batterij. |
65031 |
1 | Laad-/ontlaadvermogen batterij | R | 1 | W | I16 | Positief is ontladen, negatief is laden. |
65032 |
1 | AC-laadvermogen | R | 1 | W | I16 | Actueel AC-laadvermogen van de batterij. |
65033 |
1 | Beschikbaar laadvermogen batterij | R | 1 | W | I16 | Resterend beschikbaar laadvermogen. |
65034 |
1 | A-fase AC_In actief uitgangsvermogen | R | 1 | W | I16 | Realtime vermogen aan de netzijde. Positief is instroom naar het net, negatief is opname uit het net. |
65035 |
1 | Nominaal vermogen van de machine | R | 1 | W | I16 | Maximaal netgekoppeld vermogen van de machine. |
65036 |
1 | Totaal PV-vermogen | R | 1 | W | I16 | Actueel totaal PV-vermogen. |
65037 |
1 | Nominaal batterijvermogen | R | 1 | W | I16 | Maximaal laad- en ontlaadvermogen van de batterij. |
65038 |
1 | Laad-/ontlaadstatus batterij | R | 1 | - | U16 |
0 is ontladen, 1 is laden. |
65039 |
1 | Algemene apparaatstatus | R | 1 | - | U16 |
0 is normaal, 1 is storing. |
65040 |
1 | A-fase back-upbelasting actief vermogen | R | 1 | W | I16 | Vermogen aan de ACOut-zijde. Uitgaand vermogen is positief, inkomend vermogen is negatief. |
65041 |
1 | B-fase back-upbelasting actief vermogen | R | 1 | W | I16 | Vermogen aan de ACOut-zijde. Uitgaand vermogen is positief, inkomend vermogen is negatief. |
65042 |
1 | C-fase back-upbelasting actief vermogen | R | 1 | W | I16 | Vermogen aan de ACOut-zijde. Uitgaand vermogen is positief, inkomend vermogen is negatief. |
65043 |
1 | Gereserveerd | R | 1 | - | U16 | Gereserveerd. |
65044 |
1 | Update-enable voor apparaatregelparameters | R/W | 1 | - | U16 | Wordt gebruikt om snelle datarapportage te activeren nadat het machinepaneel is bediend. De collector kan deze vlag actief wissen. |
65045 |
1 | Slimme wifi-planning inschakelen | R/W | 1 | - | U16 |
0 is uit, 1 is aan. Zet dit op 1 voordat u laad- of ontlaadvermogen via Modbus TCP instelt. |
65046 |
1 | A-fase netgekoppeld invertervermogen | R/W | 1 | W | I16 | Ingestelde vermogenswaarde. Positief is netinjectie/ontladen, negatief is laden. |
65047 |
1 | B-fase netgekoppeld invertervermogen | R/W | 1 | W | I16 | Ingestelde vermogenswaarde. Positief is netinjectie/ontladen, negatief is laden. |
65048 |
1 | C-fase netgekoppeld invertervermogen | R/W | 1 | W | I16 | Ingestelde vermogenswaarde. Positief is netinjectie/ontladen, negatief is laden. |
65049 |
1 | B-fase AC_In actief uitgangsvermogen | R | 1 | W | I16 | Realtime vermogen aan de netzijde. Positief is instroom naar het net, negatief is opname uit het net. |
65050 |
1 | C-fase AC_In actief uitgangsvermogen | R | 1 | W | I16 | Realtime vermogen aan de netzijde. Positief is instroom naar het net, negatief is opname uit het net. |
65051 |
2 | Apparaatalarmvlaggen | R | 1 | - | U32 | Storingsinformatie van het apparaat, bitgewijs weergegeven. Alleen ernstige machinefouten activeren de beveiligingsreservering en snelle rapportage. |
65052 |
2 | Gereserveerd | R | 1 | - | U16 | Gereserveerd. |
7. Probleemoplossing
Gebruik deze controles wanneer de verbinding niet lukt of wanneer de client geen zinvolle waarden teruggeeft.
| Situatie | Controle of oplossing |
|---|---|
| De client kan geen verbinding maken. | Controleer of de client en de batterij in hetzelfde wifi- of LAN-netwerk zitten. Controleer daarna het IP-adres en poort 8080. |
| De verbinding opent, maar er komt geen waarde terug. | Controleer of Modbus TCP is geselecteerd, of Unit ID 01 wordt gebruikt en of functiecode 03H is gekozen voor uitlezen. |
Register 65030 geeft geen SOC terug. |
Probeer in dezelfde client ook adres 65029. Sommige clients verwachten het startadres met een offset van -1. |
| Negatieve vermogenswaarden zien er verkeerd uit. | Controleer of het datatype als I16 wordt geïnterpreteerd. Voor registers met negatieve waarden is signed integer nodig. |
| Een schrijfopdracht lijkt geen effect te hebben. | Schakel eerst register 65045 in met waarde 1. Controleer ook of de AI-modus, NoM-modus en andere app-regelstrategieën volledig uit staan. |
| De batterij schakelt steeds tussen modi. | Er zijn waarschijnlijk meerdere controllers actief. Gebruik ofwel de Lunergy-app, ofwel Modbus TCP, ofwel een derde platform zoals Home Assistant of Node-RED, maar niet tegelijk voor schrijfopdrachten. |