Python implementation of SolisCloud data using hultenvp\soliscloud_api
library, Docker
container, InfluxDB
and Grafana
. The Python code running in a Docker container will periodically request data from the Solis Cloud using the API. This code will execute within a specific time frame, for example from 07:00 to 18:00 IST, and pause. It will resume the same process again the next day.
I needed to gather and save my solar system data so I could track the power generation, check performance and monitor the drop in efficiency over time. With this approach, I am able to accomplish that.
The data received from the Solis Cloud API contains a lot of information like current power output, inverter status, alarm status, IGBT temperature, daily power generation and on. To extract only the essential data that I need, I have parsed the returned data into JSON and kept only the necessary parameters.
You may include any parameters that is supported by this API. For more: SolisCloud API Docs
I have a Solis on-grid (grid-tie) 3kW 1Phase inverter installed, along with 5 panels of Waaree 540W mono-perc monocrystalline solar panels, adding up to a total of 2.7kW of solar capacity. There is no CT or zero-export device attached to it. I have a bi-directional meter installed by my DISCOM and no RS485 communication feature in that.
Solis inverter datasheet (GR1P3K-M): Solis Inverter Datasheet
Solar panel datasheet (WSMD540): Waaree Panel Datasheet
The solar inverter is connected to my home Wi-Fi network using the Solis Datalogger that came bundled with the package. The datalogger communicates with the inverter through the RS485 protocol and uploads the data to Alibaba Cloud at an interval of 300 seconds (5 minutes).
For logging and storing the data, I have an old PC connected to internet running Proxmox with multiple containers, one running Docker Engine CE.
Refer Procedure
No known issues. Create one
hultenvp for the python implementation of SolisCloud API.