High voltage hybrid inverter (GW6000-EH) with EV battery (Chevy Volt)

btw.:
Big thanks for contributors here like @yasko @NexGen @curto @apr and others. After reading this forum, I decided to bought GW10k-ET (instead GW6k) and use my 360V@20kWh i3 battery pack.
I bought it just three weeks ago and now the progress is:
- I have incredible amount of information imported into homeassistant
- I added some Write registers via modbus for direct control of inverter in real-time (mode change, charge limit, export limit, backup control and some others).
- I created my own BMS/gateway between my batterypack and goodwe thanks to CAN protocol shown here.

And all working in a synergy like one integrated system now.
Thank you all :)

I can attach some pictures, but I don't know, if it is interesting for someone else than me :)
Ho e-certik , could you please post some details on BMS and setup to your i3 battery?
Thanks.
 
Hello @smk23us
I made simple communication interface between original BMS of I3 batteries and goodwe. I was inspired by simpBMS and information here on this forum.

The first setup was:

HW interfaces:
isolated DC/DC converter from battery 400Vdc to low voltage BMS power
- one (isolated) CAN to communicate with originalBMS`s on batterypack
- second CAN to communicate with goodwe (I own GW10k-et)
- protected power output (12V@1A) to drive high voltage contactor
- MODBUS (isolated) to my smart home system (which control goodwe in real-time)
- measure current to/from battery (isolated)

BMS is completely isolated from battery, and each comm. interface is isolated from other, to eliminate unwanted fire effects and risk of injury because DC current is DEADLY VERY DANGEROUS!!!

SW features:
- read voltages on each cell
- read each pack temperature (I use 8 packs = 96 cells in series = 360Vdc)
- measure battery current
- calculate battery capacity
- calculate remaining energy
- control the balancing of cells if needed
- control "enable" contactor
- act as smart battery for goodwe via CAN (send type, voltage, remaining capacity in %, status, warnings and alarms based on cells status and temperature)
- control goodwe in real-time (set warnings, alarms and limiting charge/discharge power from goodwe based on temperature, remaining energy, cells disbalance...) so on goodwe can be SOC protect disabled, BMS take a care of relevant goodwe parameters and don't let him fall :)
- show some "important" information of battery on embedded display.

Now I working on second version, because friend of mine have peugeot CATL batteries, so he asked me about implementing it.
the second generation have same features like the first, plus some new features:

- added four wire peugeot e-3008 HW communication interface (isolated)
- added communication protocol with those batteries up to 192 cells in series (but DC/DC converter is limited to 430V, so for >96cells must be used external power supply)
- implementing all features including balancing for CATL batteries too
- added second power output for aux contactor (defined by SW, plan is use it to control some appliance based on SOC)
- added two (isolated) inputs
- added 2.4" touch display for easy monitoring and parameters setting by user.
- added modbus communication with goodwe (plan is to setup and control in realtime some goodwe features/modes directly from BMS cpu)
- made the "enable" contactor as internal part of BMS (include it inside case) - more security and less risk of injury.

second version is enclosed in din-rail mount case.

sorry for my bad english, but I hope it is understable :)
 
Hello @smk23us
I made simple communication interface between original BMS of I3 batteries and goodwe. I was inspired by simpBMS and information here on this forum.

The first setup was:

HW interfaces:
isolated DC/DC converter from battery 400Vdc to low voltage BMS power
- one (isolated) CAN to communicate with originalBMS`s on batterypack
- second CAN to communicate with goodwe (I own GW10k-et)
- protected power output (12V@1A) to drive high voltage contactor
- MODBUS (isolated) to my smart home system (which control goodwe in real-time)
- measure current to/from battery (isolated)

BMS is completely isolated from battery, and each comm. interface is isolated from other, to eliminate unwanted fire effects and risk of injury because DC current is DEADLY VERY DANGEROUS!!!

SW features:
- read voltages on each cell
- read each pack temperature (I use 8 packs = 96 cells in series = 360Vdc)
- measure battery current
- calculate battery capacity
- calculate remaining energy
- control the balancing of cells if needed
- control "enable" contactor
- act as smart battery for goodwe via CAN (send type, voltage, remaining capacity in %, status, warnings and alarms based on cells status and temperature)
- control goodwe in real-time (set warnings, alarms and limiting charge/discharge power from goodwe based on temperature, remaining energy, cells disbalance...) so on goodwe can be SOC protect disabled, BMS take a care of relevant goodwe parameters and don't let him fall :)
- show some "important" information of battery on embedded display.

Now I working on second version, because friend of mine have peugeot CATL batteries, so he asked me about implementing it.
the second generation have same features like the first, plus some new features:

- added four wire peugeot e-3008 HW communication interface (isolated)
- added communication protocol with those batteries up to 192 cells in series (but DC/DC converter is limited to 430V, so for >96cells must be used external power supply)
- implementing all features including balancing for CATL batteries too
- added second power output for aux contactor (defined by SW, plan is use it to control some appliance based on SOC)
- added two (isolated) inputs
- added 2.4" touch display for easy monitoring and parameters setting by user.
- added modbus communication with goodwe (plan is to setup and control in realtime some goodwe features/modes directly from BMS cpu)
- made the "enable" contactor as internal part of BMS (include it inside case) - more security and less risk of injury.

second version is enclosed in din-rail mount case.

sorry for my bad english, but I hope it is understable :)
Hello e-certik
thanks for that information. Can you please publish the the CAN protocol you use.
on
https://github.com/yasko-pv/gw-ev/blob/main/CAN_protocol_HV.pdf
yasko has published his experience.
but the the CAN-ID's 0x460 and 0x425 are not yet decoded fully.

 
I did not decode those IDs, I control the basic inverter battery related functions via limits and warnings by CAN from my BMS (thanks to yasko document), and higher functions through RS485 line.
 
My TESLA-Model-S Battery (Full Pack, unopened!) works fine now together with a Goodwe GW8K-ET PLUS.
The communication is handled on a ESP8266:
- CAN1 500 kb/s to the TESLA BMS
- CAN2 250 kb/s (isolated) to the GW8K-ET
- TCP/IP connection to my HomeMgr based on Qt5

Next i will migrate to a Raspberry PICO-W. It's more transparent.

Thanks to Yasko and the guys from here
 
Last edited:
My second version prototype is almost finished yet :)
Its designed for a DINrail, and HV contactor is included inside.
pictures are from test desk, so its without covers and front panel :)


IMG-7725-1.jpeg
IMG-7726-1.jpeg
 
My TESLA-Model-S Battery (Full Pack, unopened!) works fine now together with a Goodwe GW8K-ET PLUS.
The communication is handled on a ESP8266:
- CAN1 500 kb/s to the TESLA BMS
- CAN2 250 kb/s (isolated) to the GW8K-ET
- TCP/IP connection to my HomeMgr based on Qt5

Next i will migrate to a Raspberry PICO-W. It's more transparent.

Thanks to Yasko and the guys from here
Wow - thats an amazing complement to you to be able to get that going. Do you have a project log or blog etc where you have documented this ?

Would love to see some pictures of your setup

Craig
 
My TESLA-Model-S Battery (Full Pack, unopened!) works fine now together with a Goodwe GW8K-ET PLUS.
The communication is handled on a ESP8266:
- CAN1 500 kb/s to the TESLA BMS
- CAN2 250 kb/s (isolated) to the GW8K-ET
- TCP/IP connection to my HomeMgr based on Qt5

Next i will migrate to a Raspberry PICO-W. It's more transparent.

Thanks to Yasko and the guys from here
Good work! Any chance to share the ESP8266 code?
 
Hi guys!

This is really interesting thread. I was wondering if you'd have any view on how close we are getting HV hybrid inverters with CAN communication to be able to charge and discharge EV batteries when the car is still fully operational. Basically trigging the inverter to believe that EV is a HV battery bank. And tricking the EV to think hybrid inverter is a DC to DC charger / discharger. I think the most interesting piece for me personally would be able to drive with my battery bank when we have the need for it. And also the fact that I'd not be comfortable working with HV batteries unless inside a fully functioning EV through it's standard charging port CHAdeMO or CCS.

I'm about to invest into PV system and the biggest question mark I have at the moment is the hybrid inverter. It's surprising to me that there seems to be no hybrid inverters yet on the market that would have EV charging cable as an alternative option for the standard HV battery input.
 
Hello,
on this post you set to goodwe inverter to start charge bateries. I try use that, but is not working. Can you please explain me or export few what is in function when you set charging mode? I try like this but is not working:

msg.payload = Buffer.from("f706b997000b482B", "hex");
return msg;
 
Last edited:
Hello,
on this post you set to goodwe inverter to start charge bateries. I try use that, but is not working. Can you please explain me or export few what is in function when you set charging mode? I try like this but is not working:

msg.payload = Buffer.from("f706b997000b482B", "hex");
return msg;

Hi Lukas, there are a some troubleshooting steps you are missing here, are you getting any replies from the inverter? I've moved to a dedicated rs485 connection from the controller and i don't have the node-red flows anymore, but from what i remember it was fairly simple, double check the COM address is factory default 246 if you want to test the messages directly, or else you will have to change the modbus message with the new address and calculate the new CRC. And also be sure of the IP address of the inverter and try to make it reply with some information.

good luck!
 
HW interfaces:
isolated DC/DC converter from battery 400Vdc to low voltage BMS power
- one (isolated) CAN to communicate with originalBMS`s on batterypack
- second CAN to communicate with goodwe (I own GW10k-et)
- protected power output (12V@1A) to drive high voltage contactor
- MODBUS (isolated) to my smart home system (which control goodwe in real-time)
- measure current to/from battery (isolated)

BMS is completely isolated from battery, and each comm. interface is isolated from other, to eliminate unwanted fire effects and risk of injury because DC current is DEADLY VERY DANGEROUS!!!

SW features:
- read voltages on each cell
- read each pack temperature (I use 8 packs = 96 cells in series = 360Vdc)
- measure battery current
- calculate battery capacity
- calculate remaining energy
- control the balancing of cells if needed
- control "enable" contactor
- act as smart battery for goodwe via CAN (send type, voltage, remaining capacity in %, status, warnings and alarms based on cells status and temperature)
- control goodwe in real-time (set warnings, alarms and limiting charge/discharge power from goodwe based on temperature, remaining energy, cells disbalance...) so on goodwe can be SOC protect disabled, BMS take a care of relevant goodwe parameters and don't let him fall :)
- show some "important" information of battery on embedded display.
I also try to interface JKBMS controlled DIY 48V battery to a high voltage inverter and also thought about using a DC/DC converter.
Can you describe more of you hardware and software setup? Which DC converter did you use? Which BMS? Circit diagram? Did you publish the software?
 
Hello,
beautiful project,
has anyone tested the communication of the SUN2000 huawei inverter? Also in this case it uses HV batteries (about 400V) and a 485 protocol. If anyone has news on the protocol between inverter and huawei battery. The inverter use the same port for battery and smart power sensor and I think that maybe is it a standard serial communication on RS485 hw
 
Great thread, thread necro apologies, looks like a few "issues" I have are covered here (on different inverters).

Most important one is getting my GoodWe SBP G2 to charge over Modbus. Instead of cluttering this thread:


Then BMS comms, I don't have any (my G2 only charges at 60% max), my batteries have an internal BMS with no comms bus and so I would like to use data from my Smartshunt to feed the G2, I have the shunt data in MQTT, is there anything like this?

Thanks.
 
Back
Top