diy solar

diy solar

Growatt SPH Series Inverter - Battery BMS protocol

mnm1501

New Member
Joined
Nov 29, 2020
Messages
12
HI All,
Trying to work out the Protocol required to get my batteries talking to my Growatt SPH5000 Inverter, I have found that the Pylontech US2000-3000 are compatible & am assuming it is CAN BUS that is the protocol (I have got the protocol doc).
Does anyone have the Pinout for the RJ45 on the Inverter, protocol doc, Baud Rate & any info on what I need to pass to the inverter to get it working.
I have 4 x Li-ION & Lifepo4 packs with DALY BMS's but am looking to use the DIYBMS4.0 to manage the batteries, I would like to aggregate the totals of the batts & pass that to the inverter, looking to use a ESP & CANBUS module to do this.
Any info or help would be appreciated :).
Thanks
Matt
 

Attachments

  • CAN-Bus-protocol-PYLON-low-voltage-V1.2-20180408.pdf
    250.4 KB · Views: 551
I no longer need to do it, but yes, I got it running. I will upload it to Github and let you know. Give me 1-2 Days.
 
So did you manage to get this working with a growatt? I'm interested in trying to link up a batrium with growatt but information is somewhat lacking
 
So did you manage to get this working with a growatt? I'm interested in trying to link up a batrium with growatt but information is somewhat lacking
Im looking as well, to allow my batrium watchmon core and my growatts to communicate.
 
Hi Dutchcamper

Does your battery BMS has bluetooth support or another means of sending the data (CAN even if the protocol is different) -- if so what BMS and if you send some details, can give some direction

My Case
-- Had third party developed Battery (Not myself) which incidentally used yybms (China based) -- Got the details after ripping their mobile app and also got the entire information of including format of the data
-- Use GoodWe Inverter (Growatt is also from same factory i believe )
-- Developed unit details below

Hardware
-- Raspberry pi zerp W with header --- cost 14 USD
-- Wavershare CAN-RS485 -- Cost 16 USD or so in Amazon
-- MiroSD Card - i had one
-- 5v/5.1v, 2 amps microusb charging unit -- used old mobile phone charger

Software
-- Python based
-- bluepy
-- CAN Module
-- Custom code
-- Battery sends Bluetooth Low Energy data of voltage, current, soc etc ever 2 to 3 seconds -- custom parser to parse the data
-- CAN Message is sent ever 1 second : battery BLE message and CAN are handled async
-- Added small html/js based utlity to show SOC, Voltage and Current within the home network
-- Also added extra elements -- a pioled based display (it cost 22 USD not required) and sending data to google spread sheet every minute (growatt or other inverters will have this data themself)
 
Hi Dutchcamper

Does your battery BMS has bluetooth support or another means of sending the data (CAN even if the protocol is different) -- if so what BMS and if you send some details, can give some direction

My Case
-- Had third party developed Battery (Not myself) which incidentally used yybms (China based) -- Got the details after ripping their mobile app and also got the entire information of including format of the data
-- Use GoodWe Inverter (Growatt is also from same factory i believe )
-- Developed unit details below

Hardware
-- Raspberry pi zerp W with header --- cost 14 USD
-- Wavershare CAN-RS485 -- Cost 16 USD or so in Amazon
-- MiroSD Card - i had one
-- 5v/5.1v, 2 amps microusb charging unit -- used old mobile phone charger

Software
-- Python based
-- bluepy
-- CAN Module
-- Custom code
-- Battery sends Bluetooth Low Energy data of voltage, current, soc etc ever 2 to 3 seconds -- custom parser to parse the data
-- CAN Message is sent ever 1 second : battery BLE message and CAN are handled async
-- Added small html/js based utlity to show SOC, Voltage and Current within the home network
-- Also added extra elements -- a pioled based display (it cost 22 USD not required) and sending data to google spread sheet every minute (growatt or other inverters will have this data themself)
Yeah I think we are golden except for the "custom code" bit. I'm pretty sure my 12000T DVM does not have CAN (even though growatt says it does). It does have RS-485 but the pylontech protocol is not as clear as the CAN. I'm trying to work on a python script that talks RS-485 to the growatt but it's early days - i.e. I've confirmed that the Growatt is asking for some data but that's about it
 
Are there any Growatt SPH owners active here on this thread?

I’m interested to understand where to purchase these inverters and whether anyone has successfully used a Growatt SPH inverter for zero-export using CT sensors?
 
Small demo on video

Github link
PYLON_EMU

I have no current hardware to test it, but the virtual CAN port shows the expected values, it can be of help to some of you.
We are working on an emulator using Pylon parameters, we have managed to obtain the communication between Growatt and the battery systems using a RPI as an intermediate between BSM and inverter.
 
Does anybody know how invertor work with battery by CAN? Is it bidirectional protocol or battery just send updates every X second to invertor?
 
We are working on an emulator using Pylon parameters, we have managed to obtain the communication between Growatt and the battery systems using a RPI as an intermediate between BSM and inverter.
So is this that ur RPI systems sends every 1second CAN Messages to Inverter. Presume we don't need to worry about what inverter sends back. Please confirm
 
Hi Dutchcamper

Does your battery BMS has bluetooth support or another means of sending the data (CAN even if the protocol is different) -- if so what BMS and if you send some details, can give some direction

My Case
-- Had third party developed Battery (Not myself) which incidentally used yybms (China based) -- Got the details after ripping their mobile app and also got the entire information of including format of the data
-- Use GoodWe Inverter (Growatt is also from same factory i believe )
-- Developed unit details below

Hardware
-- Raspberry pi zerp W with header --- cost 14 USD
-- Wavershare CAN-RS485 -- Cost 16 USD or so in Amazon
-- MiroSD Card - i had one
-- 5v/5.1v, 2 amps microusb charging unit -- used old mobile phone charger

Software
-- Python based
-- bluepy
-- CAN Module
-- Custom code
-- Battery sends Bluetooth Low Energy data of voltage, current, soc etc ever 2 to 3 seconds -- custom parser to parse the data
-- CAN Message is sent ever 1 second : battery BLE message and CAN are handled async
-- Added small html/js based utlity to show SOC, Voltage and Current within the home network
-- Also added extra elements -- a pioled based display (it cost 22 USD not required) and sending data to google spread sheet every minute (growatt or other inverters will have this data themself)
Can you please share some information on how you did this?
 
hi everyone. im looking to purchase a SPH5000 but from what i can see the battery limitation is a bit annoying. would love to hear if anyone has gotten around this ...
 
Hello!
Do someone know is Nissan Leaf original BMS CAN protocol compatible with Growatt SPH?
 
Last edited:
We are working on an emulator using Pylon parameters, we have managed to obtain the communication between Growatt and the battery systems using a RPI as an intermediate between BSM and inverter.
did you manage to make an emulator between the two? as I am about to try and do the same thing
 
So is this that ur RPI systems sends every 1second CAN Messages to Inverter. Presume we don't need to worry about what inverter sends back. Please confirm
Can you please share more info please. With GoodWe was able to send the CAN message but don't see GoodWe picking up. So wanted how you did with Growatt so that we can learn and mimic it
 
Can you please share more info please. With GoodWe was able to send the CAN message but don't see GoodWe picking up. So wanted how you did with Growatt so that we can learn and mimic it
I have all the equipment to start trying to do this now, I believe that growatt actually communicates to the pylontech batteries over rs485 and not can-bus but I have the can hat module so I will be able to use rs485 and can, from reading a lot about people connecting actual pylontech batteries it's using the rs485 at 9600 and needs some dip switches changed and possibly some firmware updates on the inverter to get it to work. currently have my inverter to lead-acid but it doesn't always start charging the batteries unless they are below 50% as it thinks they are still full.
 
I have all the equipment to start trying to do this now, I believe that growatt actually communicates to the pylontech batteries over rs485 and not can-bus but I have the can hat module so I will be able to use rs485 and can, from reading a lot about people connecting actual pylontech batteries it's using the rs485 at 9600 and needs some dip switches changed and possibly some firmware updates on the inverter to get it to work. currently have my inverter to lead-acid but it doesn't always start charging the batteries unless they are below 50% as it thinks they are still full.
Oh,

For Studer inverter, used raspberry pi to switch on the power / off -- basically used relay we operate connector. My LFP Battery communicates using blue tooth which is captured by RPI and control this relay (which in turns connector on/off).

For GoodWe I was trying to enable the CAN directly -- while was able convert bluetooth data into CAN format (tried both pylon tech format and goodwe format ) unable to get it working with inverter working.

Once in a while get the below message from inverter (only when inverter is rebooted type but not always)
Timestamp: 1642746282.069438 ID: 0004 S E DLC: 8 00 08 00 00 00 00 00 00 Channel: can0
Timestamp: 1642746282.073657 ID: 0004 S E DLC: 8 00 20 00 00 00 00 00 00 Channel: can0
Timestamp: 1642746282.071984 ID: 0040 S E DLC: 8 00 00 00 00 00 00 00 00 Channel: can0
 
Are there any Growatt SPH owners active here on this thread?

I’m interested to understand where to purchase these inverters and whether anyone has successfully used a Growatt SPH inverter for zero-export using CT sensors?
I have SPH4000 and use zero export. That option works but not well.
When solar energy is enough for load and rest goes to the battery, then import from the grid is about 40-50W. When energy from panels is higher which uses load and battery, and battery is under current limitation, export to grid is 50-60W. When the battery is full then export to grid 80-120W. When inverters use energiju from the battery then work well (export to grid or export to grid between -10 and +10W). Most of the time it is near zero W.
 
afaik only SEPLOS supports the can bus used by growatt.

JK bms supports can bus in general but does not tell you anything about the growatt inverter support.

Finally you can find first 2 vendors on alibaba offering 5 kWh battery racks that do support canbus and growatt inverters in particular.
They cost about 900 to 1000$ and look pretty promising, I mean they seem to have even space inside for additional LFP cells for more capacity once they have arrived. You only have to stay within the current peak limits of the BMS in my opinion.

I had seen 2 offers with a Growatt canbus support, both 5 kWh and I guess 10 kWh but that would be just a stack of 2 rackbatteries each 4 rack units high, which makes them a bit too expensive, but one would be OK.

I would love to get such 5 kWh for 900$ and maybe expand that later too to a 10 kWh pack cause it is cheaper to get the cells and parallel those new cells each with an old one to increase or double the capacity.
 
I've got the same problem (though different battereis). I have RS485 connector for the growatt and plan to use a raspberry pi to emulate a supported battery. There's some pylon tech emulatorcode on github, but it's for CAN not RS485. From that it looks like the battery just sends status updates to the growatt. Simple enough, but I don't know if the RS485 protocol is the same (probably not).
 

diy solar

diy solar
Back
Top