modbus tcp handleiding

Lunergy Modbus TCP-handleiding

Lunergy Modbus TCP-handleiding

Met Modbus TCP kunt u een Lunergy plug-in-thuisbatterij lokaal uitlezen en, indien gewenst, lokaal aansturen. De communicatie loopt rechtstreeks via uw eigen netwerk, zonder cloudverbinding.

Lokale verbinding via IP-adres en poort 8080 Voor uitlezen, dashboards en lokale automatisering
1. Zelfde netwerk

Zorg dat uw Modbus TCP-client en de Lunergy plug-in-thuisbatterij met hetzelfde wifi- of LAN-netwerk verbonden zijn.

2. IP en poort

Zoek het lokale IP-adres van de batterij en verbind daarna met poort 8080.

3. Registers lezen

Gebruik Modbus TCP, communicatieadres 01 en functiecode 03H om registers uit te lezen.

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.

a

Geen cloud nodig

De client communiceert rechtstreeks met de batterij binnen hetzelfde lokale netwerk.

b

Geschikt voor dashboards

Gebruik de realtime waarden in Home Assistant, Domoticz, Node-RED, een eigen webdashboard of een LCD-scherm.

c

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

1

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.

2

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.68
3

Vul 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.
Sommige Modbus-clients gebruiken een adresoffset. Als 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.
4

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%.

Protocol: Modbus TCP Host / IP: lokaal IP-adres van de batterij Poort: 8080 Unit ID: 01 Functiecode: 03H Register: 65030 Lengte: 1 Datatype: U16

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.
Voor alleen uitlezen gebruikt u normaal 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.

Let op: Modbus TCP-besturing kan conflicteren met de AI-modus, NoM-modus of andere automatische strategieën in de Lunergy-app. Gebruik altijd maar één regelbron tegelijk. Als u Modbus TCP gebruikt voor besturing, schakel dan de AI-modus, NoM-modus en andere app-regelstrategieën volledig uit. Als u de app-modi gebruikt, stop dan met automatisch schrijven via Modbus TCP.
1

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.

65045 = 1 betekent: slimme wifi-planning ingeschakeld 65045 = 0 betekent: slimme wifi-planning uitgeschakeld
2

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.

65046 = 300 betekent: fase A injecteert/ontlaadt met 300 W 65046 = -300 betekent: fase A laadt met 300 W

Controleer altijd eerst het toegestane vermogensbereik, de faseconfiguratie en de veiligheidsinstellingen van de installatie.

3

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.