Inverter: FoxESS H1 H3 AC1 KH - dalathegreat/Battery-Emulator GitHub Wiki
[!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.
⚠️ Word of caution, CAN overvoltage ⚠️
FoxESS inverters can have high voltage potential on the CAN chip. They can be 110V when measuring between CAN and PE. It can burn up your Battery-Emulator CAN chips if there is a path to protective earth. This becomes a problem if the board you are using has GND on the same plane as PE. Then the 110V diff might leak over and damage the chips. A way to avoid this is to use a PSU to power the Battery-Emulator board that is not connected to PE. For instance a 2-prong phone charger would effectively be isolated from PE.
Another way to tackle this is with the use of a CAN isolator between the inverter and the rest of the system. Examples found in the lightning strike wiki
Word of caution, isolated CAN
[!IMPORTANT]
This inverter does not handle a CAN connected EV battery on the same channel. If the inverter which likes to see only extended CAN frames sees standard automotive CAN frames, the inverter will enter a fault state.
This can be solved in a few ways:
- One option is to use add on MCP2515 board
- Another options is to use add on CAN-FD MCP2518 board
- Third option is to use Stark CMR hardware
- Fourth option is to use a CAN filter between inverter and the rest of the system
Compatible FoxESS inverters
- FoxESS H1
- Use
FOXESS_CAN
primarily. - Can also use
SOLAX_CAN
protocol, but some values will be wrong
- Use
- FoxESS H3
- Uses
FOXESS_CAN
protocol
- Uses
- FoxESS AC1
- Uses
SOLAX_CAN
protocol
- Uses
- FoxESS KH
- Works with both
SOLAX_CAN
andFOXESS_CAN
protocols
- Works with both
Communication wiring
The FoxESS inverter works via CAN. Connect the Inverter side Pin 4 & 5 to the Battery-Emulator
Compiling the software for FoxESS inverters
Make sure that the settings in the "USER_SETTINGS.h" file are correct. Depending on which inverter model you use, select either the Solax or the Foxess protocol.
#define SOLAX_CAN //Enable this line to emulate a "SolaX Triple Power LFP" over CAN bus
#define FOXESS_CAN //Enable this line to emulate a "HV2600/ECS4100 battery" over CAN bus
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.
Troubleshooting
Problem | Possible fix |
---|---|
Inverter stuck in "Waiting..." | Check that high voltage is present on inverter terminals, and that polarity is right way |
Event CAN_INVERTER_MISSING active | Check that can_config is set properly for .inverter . It also might be a good idea to restart the inverter itself. It sometimes does not recover the startup routine if you have disconnected wires on the fly |
Inverter switched off | ‘long press to activate’ on the inverter screen |
Installation examples
Feel free to add your own images here!
Video Guide
To aid installation Battery Man has produced a video series using the H3 Pro inverter which documents an install with Tesla LFP batteries and both the LilyGo and Stark CMR. There is a full playlist touching on different aspects
Installing inverter - https://youtu.be/9YnuPMdJaoI?si=odCptB7YAE56yFHq
Work to add inverter integration - https://youtu.be/BYqYpsv5svQ?si=oxXq-E-KLXL0grea
https://youtu.be/PYyTD87KQpo?si=jaSvQWiqEct-WYPS