Inverter: Solis - 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.

Compatible Solis inverters

  • RHI-3P(5-10)K-HVES-5G ✅
  • S6-EH1P10K-H-US-APST ✅
  • S6-EH1P(3.8-11.4)K-H-US ✅
  • S6-EH3P(3-10)K-H-AU ✅
  • S6-EH3P(3-10)K-H-EU (testers wanted, please report back!)
  • S6-EH3P(3-10)K2-H (testers wanted, please report back!)

Communication wiring

The Solis inverter works via CAN. The LilyGo board can have both a CAN battery and a CAN inverter connected on the same pins. When the board is used with two CAN devices at the same time that have termination resistors in all ends, the terminating resistor needs to be removed from the board. Please measure CAN termination if you have issues. This is explained in CAN-troubleshooting

ℹī¸ Always check the termination resistance of the system! That way you know if resistor needs to be removed or not.

ℹī¸ Grounding is extremely important. 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.

Compiling the software for Solis inverters

Make sure that the settings in the "USER_SETTINGS.h" file are correct. The line:

//#define PYLON_CAN //Enable this line to emulate a "Pylontech battery" over CAN bus

Needs to be uncommented for the software to emulate the correct protocol.

[!IMPORTANT]
The Pylon protocol is very versatile. By default we emulate a 4x96V Force H2 battery. Not all inverters like this setup, so please adjust the configuration if needed. Pylon options are located in the file /Battery-Emulator/Software/src/inverter/PYLON-CAN.cpp

The following options need to be set:

  • SET_30K_OFFSET

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!

Startup example

The sequence that seems to work most reliably is to get the battery up and running but still disconnected from the power supply to the inverter (I have a pair of inline DC 32A breakers for this). Once the battery is awake, go into the inverter menu and select Pylontech from the battery menu. Then select 'Battery Wakeup'. The alarm light on the inverter should now go out, and the lilygo will be pulsing green on its led. You can now flip the DC breakers to connect the battery power to the inverter.

Installation examples

S6-EH1P10K-H-US-APST

I am a mess at keeping documentation but I believe these are the relevant options I selected to have this US Spec inverter work.

#define CAN_PYLON // Use PYLON as the battery type

#define SET_30K_OFFSET // Inside of PYLON-CAN.cpp file

Select Pylon_HV as the battery type inside the inverter (it will let you connect locally over bluetooth within the phone app for making this setting change or through the web interface/app)