I have 2 Growatt SPF 3000TL LVM inverters which are running great, and I'm trying to get RS485 Modbus RTU data from them.
I have code running on an ESP32 and I'm pretty sure talking valid protocol to one of them (I've put a scope on the connection and I can see the dialog back & forth).
But when I try to process the data, all I'm getting is ModbusMaster ku8MBInvalidSlaveID
Taking the simplest assumption to start, I assume this really means the RS485 slave ID I request data from is different than the Growatt I have hooked up.
The documentation is scant and ambiguous unfortunately.
The only setting that sounds close in the settings menu is #28 "Address setting". I tried this at the default setting of 001, and I also tried setting it to 098 but in both cases I get the InvalidSlaveID message. (Obviously updated my code to point at the same address).
The only other hint I have found is in one (of many) versions of the Growatt RS485 protocol pdf which says:
This pdf says it is for the SPF5000 and is the closest I have found but after much fiddling with the menu buttons, I cannot get any hint of anything corresponding to this.
So I'm really hoping that someone has successfully used the RS485 data port (not the BMS port) to communicate successfully with a Growatt SPF 3000TL LVM inverter, and can shed some light on what I'm doing wrong.
I guess an alternative would be to try and sniff the Modbus dialog and extract whatever the Growatt ID actually is.
Thanks in hope, suggestions welcome.
I have code running on an ESP32 and I'm pretty sure talking valid protocol to one of them (I've put a scope on the connection and I can see the dialog back & forth).
But when I try to process the data, all I'm getting is ModbusMaster ku8MBInvalidSlaveID
Taking the simplest assumption to start, I assume this really means the RS485 slave ID I request data from is different than the Growatt I have hooked up.
The documentation is scant and ambiguous unfortunately.
The only setting that sounds close in the settings menu is #28 "Address setting". I tried this at the default setting of 001, and I also tried setting it to 098 but in both cases I get the InvalidSlaveID message. (Obviously updated my code to point at the same address).
The only other hint I have found is in one (of many) versions of the Growatt RS485 protocol pdf which says:
This pdf says it is for the SPF5000 and is the closest I have found but after much fiddling with the menu buttons, I cannot get any hint of anything corresponding to this.
So I'm really hoping that someone has successfully used the RS485 data port (not the BMS port) to communicate successfully with a Growatt SPF 3000TL LVM inverter, and can shed some light on what I'm doing wrong.
I guess an alternative would be to try and sniff the Modbus dialog and extract whatever the Growatt ID actually is.
Thanks in hope, suggestions welcome.