• Have you tried out dark mode?! Scroll to the bottom of any page to find a sun or moon icon to turn dark mode on or off!

diy solar

diy solar

Growatt SPF 6000 ES plus - Modbus communication via USB, anyone lucky?

mschuetz

New Member
Joined
Sep 9, 2024
Messages
4
Location
Germany
Hello,

I have recently upgraded my 3 phase system from Growatt SPF 5000 to 6000 and I am happy with the inverters.

BUT I cannot access the status registers of the inverters via Modbus/USB anymore.

I am using a simple python script with the pymodbus client for testing at the moment, like:

from pymodbus.client import ModbusSerialClient as ModbusClient

# Modbus RTU Client erstellen
client = ModbusClient(
method='rtu',
port='/dev/ttyACM0',
baudrate=9600,
parity='N',
stopbits=1,
bytesize=8,
timeout=1
)

# Verbindung öffnen
if client.connect():
# Modbus-Befehl senden, um Register zu lesen
result = client.read_holding_registers(address=0x00, count=10, unit=1)

if result.isError():
print("Fehler beim Lesen der Register")
else:
print(f"Erhaltene Registerwerte: {result.registers}")

# Verbindung schließen
client.close()
else:
print("Verbindung fehlgeschlagen.")

But its just ending up with a modbus exception, telling me 0 bytes were received ...

I have tried different parameters for the communication but no luck.

Has anyone ever read out data from the SPF 6000 via USB? I would appreciate any hint or help :)

Best,
Martin
 
I found a solution this evening and want to share it here for the case someone stumbles of the same issue.

For USB-to-serial conversion, a Exar Corp. XR21B1411 UART is put on each of my SPF6000 inverters.

The Linux running on my R-PI was using the CDC_ACM driver for this converter devices, creating /dev/ttyACMXX device files, but it seems its not doing the job properly.

For this converters, particular drivers xr_serial ( USB MaxLinear/Exar USB to Serial driver ) exists, creating /dev/ttyXRUSB0 etc. files and MUST be used for the Growatt Inverters.

Now it works just fine ...

Best,
Martin
 
Last edited:
if you need a script or some ideas, my ppg project is using the same modbus lib:

has a "protocol" that might work for yours.
the v0.14 protocol works on my growatt SPF 12000T DVM-US MPV inverter

i didn't have any driver problems \w usb cable. plug-n-play to the inverter, running ubuntu though. shows up as /dev/ttyUSB#
 
Hi @mschuetz. Please explain the hardware interface from Growatt SPF 6000 to your Pi.
Are you using the Growatt SPF 6000 USB port A(the one for wifi dongle) or Port B? Is that a reliable USB port? I'm asking this because I read someone saying that is just USB connector but the signals (D+, D-) are for RS485 :)
Thanks.
 
Last edited:
Hi @mschuetz. Please explain the hardware interface from Growatt SPF 6000 to your Pi.
Are you using the Growatt SPF 6000 USB port A(the one for wifi dongle) or Port B? Is that a reliable USB port? I'm asking this because I read someone saying that is just USB connector but the signals (D+, D-) are for RS485 :)
Thanks.
Yes you can simply connect the Growatt USB Type B to your RPI USB A master, there is nothing special about it!

Best,
Martin
 
Hi again @mschuetz . Thanks for clarification above. I thought you connect growatt to some GPIO of RPI throught an interface.
Does it happen you to have the list of Growatt SPF 6000 registers addresses? Any link for this info or else?! I could find these for SPF 5000 but I expected some differences for SPF6000.
My plan is to connect some ESP32 board to Growatt SPF6000 but I'll give a try to connect it to RPI as you have described above too.
Thanks.
 

diy solar

diy solar
Back
Top