-
Notifications
You must be signed in to change notification settings - Fork 176
Inverter: GoodWe
Caution
Working with high voltage is dangerous. Always follow local laws and regulations regarding high voltage work. If you are unsure about the rules in your country, consult a licensed electrician for more information.
- ET/BT
- EH/BH
- EHB
The GoodWe inverter works via CAN. The LilyGo board can have both a CAN battery and a CAN inverter connected on the same pins.
ℹ️ If communication is not working, you might have to temporarily uncomment "//InitialDataSent = 1" in function send_can_byd(). Start the LilyGo communication with the Inverter first, then battery BMS.
ℹ️ Always check the termination resistance of the system! That way you know if resistor needs to be removed or not.
ℹ️ Grounding is extremely important for GoodWe inverters. Make sure the battery case is connected to protective earth, and the shield part of the twisted pair CAN is connected to PE also! Failing to do this will result in CAN errors.
- Follow the GoodWe inverter installation manual up to the point when you plug the comms and battery connector terminals in
- Unsolder (If needed!) the canbus terminating resistor on the Lilygo board (as per above)
- Connect both the inverter canbus and battery canbus to the board
- Double check your code to make sure the contactors will isolate under the required fault conditions
- Plug in the battery connector (make sure the terminals are not live)
- Double double check all your wiring.
- Switch your battery breaker on
- Enable the contactors and the inverter will configure and connect if all has gone well.
- Configure the inverter with the battery connected
- Use app Solar Go to connect to inverter via Bluetooth
- Go to quick settings (password: goodwe2010)
- Select battery. Hopefully it recognizes battery without any user intervention. (HVM*2 works if using both battery inputs form same battery).
- Suggest setting power limit (ampere limit) in LilyGo web UI at this point, if not already done. Take something low (5A?) until you feel confident the system works as intended.
- Set charging schedule. (app is very buggy here!)
When turning the system on, follow this startup procedure. Work quick, to avoid the inverter getting stuck in battery not detected mode.
- First start the GoodWe inverter via AC switch
- Turn ON the Solar DC safety disconnect switch
- Turn ON the Battery DC safety disconnect switch
- Start the LilyGo hardware
- Start the Battery BMS
- Then either handle precharge/contactor closing manually or let the LilyGo hardware handle it automatically
- If relevant; set power limit (ampere) for charge and discharge to 0 in LilyGo web UI.
- Turn off the Battery BMS, cut the 12V supply to it.
- Wait 60 seconds
- LilyGo status LED will turn red when no battery detected. The inverter will stop using the battery.
- Wait 30 seconds.
- Turn off the power to battery contactors incase the LilyGo isn't setup to automatically open them
- Turn off the LilyGo board
- Turn off the Battery DC safety disconnect switch
Make sure that the settings in the "USER_SETTINGS.h" file are correct. The line:
#define BYD_CAN //Enable this line to emulate a "BYD Battery-Box Premium HVS" over CAN Bus
Needs to be uncommented for the software to emulate the BYD protocol over CAN. Next step is then to select the battery that you intend to use, for instance if you use LEAF battery, make sure the following line is uncommented:
#define BATTERY_TYPE_LEAF // See NISSAN-LEAF-BATTERY.h for more LEAF battery settings
After setting this up, flash the board!
Problem | Possible fix |
---|---|
Inverter app showing "Battery Communication Failure" | Check that high voltage is present on inverter terminals, and that polarity is right way. Check that CAN communication is up via the CAN logging webserver page. |
There is a HACS integration for Home Assistant that lets you control the operation mode of the inverter. It's called GoodWe solar inverter for Home Assistant (experimental).
The documentation for the integration is quite sparse and the terminology differs a bit from the SolarGo app.
There is a Discord server for the integration.
Some screenshots from the integration:
This is an attempt to explain what the different exposed values mean, written by a member of Dala's Discord and slightly edited:
- Fast Charging Power tells the system how much percentage of the configured max charging amps are being used (100% of 10A for example)
- Fast Charging SoC tells the system till what percentage the battery should be charged (80% for example)
- Fast Charging Switch tells the inverter to charge the battery, this overrides any other setting/mode (like eco discharge mode)
- Depth of discharge (on-grid), this is the percentage of discharge when the mode is set to Eco discharge mode or General mode, 80% will discharge the battery till 20%, 95% will discharge it to 5% etc.
- Eco mode power tells the system what percentage of power is used for charging/discharging. 50% will be 5A if 10A is the max charge/discharge etc.
- Eco mode SoC tells the inverter till what percentage the battery should be charged in Eco (Eco charge mode). 80% to save battery life or 100% if you already use scaled SoC in Battery Emulator.
- Grid Export limit This tells the system maximum watt output to grid.
- Grid export limit switch enables this value.
These examples assume the Depth of discharge (on-grid) is set to a high value. There are other ways to control the inverter, in the Discord server it seems to be more common to use the Fast Charging Switch to force charge.
- Set Eco mode SoC to 100%, or a lower value if you don't wish to fill the battery.
- Set Eco mode power to a value that suits your setup and fuses, in this case it's set to 30%.
- Switch operation mode to eco_charge
- Wait 10 seconds and then switch the operation mode to eco_charge again, occasionally it doesn't stick the first time.
- Set Eco mode SoC to 20% indicating you don't wish to discharge below 20%, change this to a value that suits your setup.
- Set Eco mode power to 50% of your maximum energy output from the battery and inverter. Change this value depending on your main fuses or perhaps output 100% and set Grid Export limit to max allowed output to the grid if you have the smart meter installed.
- Switch operation mode to eco_discharge
- Wait 10 seconds and then switch the operation mode to eco_discharge again, occasionally it doesn't stick the first time.