Ginlong Solis Inverter Monitor

I fitted a Solis Solar Inverter as a replacement for an Aurora inverter that failed after a few years. I had intended reusing the RS485 setup that I had with the Aurora, monitored with a Raspberry Pi, but despite many efforts I was unable to get anything meaningful from the Solis. Additionally, TCP/UDP output to a local device doesn't appear to work. I ended up buying a Solis WiFi module, which is fine if you don't mind your data being sent to China and having to use a web browser to access it.

This project comprises an ESP8266 microcontroller and a 16x2 I2C LCD display. The ESP8266 connects to the Solis Wifi through your wireless network and downloads the current status. This is repeated every 30 seconds (the Solis appears to update once a minute). The current output and daily total are displayed; an appropriate message is displayed when the Solis shuts down at dusk.

Parts

Solis Wifi Setup

  • This project only displays the current power and today's total, it does not store any information. It is suggested that you create an account on m.ginlong.com if you want a record kept.
  • Follow the supplied instructions to Install your Solis dongle, connect to its SSID and setup networking.
  • Configure the Solis WiFi as a STA and provide your home wifi SSID and password.
  • Change your web server admin password under Advanced
  • The Solis WiFi will restart and connect to your network and, if set up, a connection to its home network.
  • Refer to your router to find out the device's IP address.
  • Log back in, but this time using the the device's IP address from your home network, rather than the dongle's SSID. in my case I use http://192168.1.162. You may need to disable script blockers in your browser.
  • The following screenshots show my setup. The Remote Server A Connected indicates that it can reach m.ginlong.com.

Connections

  • Display SCL to D1 on the ESP8266 microcontroller
  • Display SDA to D2
  • Display Gnd to any G (Gnd) pin on the ESP8266
  • Display Vcc connection is dependent on your display and controller, so here's what I found:
    • Vcc to Vin. Although this is recommended if you search for instructions, it didn't work on my batch of controllers, as this was input ONLY.
    • My LoLin controllers have a VU pin that appears to pass the USB power which is perfect for my 16x2 displays. Some pinouts have VU and G, others show these pins as reserved.
    • Vcc to 3V. This worked for me for large (20x4) controllers, but there wasn't enough power to drive the 16x2 displays


Code

Set up your Arduino environment for your board, download the Arduino sketch ESP8266_Solar.ino, check the required libraries are installed..

Edit the the sketch and update it as follows:
  • Line 100 - replace "SSID" and "PASSWORD" with your home network's credentials.
    WiFiMulti.addAP("SSID", "PASSWORD");
  • Update line 113 with your Solis WiFi web login credentials.
    if (http.begin(client, "http://user:password@soilis_wifi_IP/status.html")) {
    for example:
    if (http.begin(client, "http://admin:mypassword@192.168.1.162/status.html")) {
  • If you are using a standard 20x4 display refer to lines 14-20 for changes.
  • optional - update the intro message lines 87 and 89
  • uncomment line 124 if you want to see the web page content in the serial console
  • Compile and upload the sketch.
  • monitor the serial console to ensure it connects to the Solis (115200 8 N 1)
    this needs to be in daylight while the inverter is generating!

3D Print a Case

If you have a 3D printer, you can download the STL file to print a case (right click and save as).

The display and ESP8266 fit on the pegs, and to secure you just need to flatten them a little with a soldering iron.

Finish

If all is OK, you should see the following:
  • a intro message at power on
  • A few seconds delay while the ESP8266 connects to your network
  • the status information is pulled from the inverter, and the current and daily values are displayed
  • there's a spinner for around 30 seconds, then the status is checked again.
  • Be aware that the inverter only updates every few minutes, it isn't continuous.
  • If there is no response from the WiFi dongle, for example when the inverter switches off at night, the day's total is displayed along with 'No Signal'.
  • If the eSP8266 is powered on when there's no signal there will be no daily data