- Notifications
You must be signed in to change notification settings - Fork1
A python script that fetches PV statistics from the Ginlong Solis Cloud API and outputs it to influxdb, pvoutput or mqtt
License
Gentleman1983/ginlong_solis_api_connector
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Fetches API data from Solis Cloud API and outputs it to influxdb, pvoutput or mqtt. Based onginlong-scraper by dkruyt.
https://hub.docker.com/repository/docker/gentleman1983/ginlong-solis-api-connector
There is a possibility it also works with the following inverters: Omnik Solar, Solarman and Trannergy Inverters
You can also move the environment variables into an ENV file and invoke that on the commandline wheninvoking the docker image.
In the case of two inverters (see note below) once you have the deviceid you can set up two seperate docker containersand just vary the deviceId in the environment variables.
- You have to order the Solis Cloud API access like describedhere.
- You have to know the Solis Cloud API
KeyID
andKeySecret
.
Environment variable | Required | Description | Default value |
---|---|---|---|
LOG_LEVEL | No | Logging level (ERROR, INFO, DEBUG) | INFO |
SOLIS_CLOUD_API_KEY_ID | Yes | API Key ID | empty |
SOLIS_CLOUD_API_KEY_SECRET | Yes | API Key Secret | empty |
SOLIS_CLOUD_API_URL | No | API URL | https://www.soliscloud.com |
SOLIS_CLOUD_API_PORT | No | API Port | 13333 |
SOLIS_CLOUD_API_INVERTER_ID | No | Ginlong Solis device ID (only required if auto-detect fails or if you have more than one device) | 0 orempty |
SOLIS_CLOUD_API_OVERRIDE_SINGLE_PHASE_INVERTER | No | Override to provide correct calculations for single phase inverters if Solis Cloud API provides wrong data. Simply switch totrue | empty |
SOLIS_CLOUD_API_NUMBER_RETRIES | No | Number of retries to fetch an API endpoint | 3 |
SOLIS_CLOUD_API_RETRIES_WAIT_S | No | Timeout between retries | 1 |
USE_INFLUX | No | Set to true if you want to use InfluxDB as output | false |
INFLUX_DATABASE | No | InfluxDB DB name | influxdb |
INFLUX_SERVER | No | InfluxDB server | localhost |
INFLUX_PORT | No | InfluxDB server port | 8086 |
INFLUX_USER | No | InfluxDB User | empty |
INFLUX_PASSWORD | No | InfluxDB Password | empty |
INFLUX_MEASUREMENT | No | InfluxDB measurement type | PV |
USE_PVOUTPUT | No | Set to true if you want to use PvOutput as output | false |
PVOUTPUT_API_KEY | No | PvOutput API key | empty |
PVOUTPUT_SYSTEM_ID | No | PvOutput system ID | empty |
PVOUTPUT_EXTENDED_V7 | No | Set Extendet Output v7 to this API Key from inverterDetail (leave blank if not donated) | empty |
PVOUTPUT_EXTENDED_V8 | No | Set Extendet Output v8 to this API Key from inverterDetail (leave blank if not donated) | empty |
PVOUTPUT_EXTENDED_V9 | No | Set Extendet Output v9 to this API Key from inverterDetail (leave blank if not donated) | empty |
PVOUTPUT_EXTENDED_V10 | No | Set Extendet Output v10 to this API Key from inverterDetail (leave blank if not donated) | empty |
PVOUTPUT_EXTENDED_V11 | No | Set Extendet Output v11 to this API Key from inverterDetail (leave blank if not donated) | empty |
PVOUTPUT_EXTENDED_V12 | No | Set Extendet Output v12 to this API Key from inverterDetail (leave blank if not donated) | empty |
USE_MQTT | No | Set to true if you want to use MQTT as output | false |
MQTT_CLIENT_ID | No | MQTT client ID | pv |
MQTT_SERVER | No | MQTT server | localhost |
MQTT_USERNAME | No | MQTT username | empty |
MQTT_PASSWORD | No | MQTT password | empty |
MQTT_PORT | No | MQTT port default 1883 | 1883 |
MQTT_TOPIC | No | MQTT topic root, fulltopic will by MQTT_Topic / MQTT_Client_ID | topic |
TZ | No | TimeZone e.g Australia/Sydney | empty |
Note that if you have more than 1 device - then it is not readily apparent where to get the Device IDIn that case - setup the script, and setLOG_LEVEL
toDEBUG
, then view the logs and search for deviceId -this will list the IDs of each inverter.
The grafana-dashboard-example.json file you could import in to Grafana if you use the influx database. Then you can make a dashboard similar to this.
Tobias Otto | Christian Otto | Peter de Vries 🐛 | Pedro 🐛 | philicibine 🐛 | Mark 🐛 | Stephen2615 🐛 |
Izak Hearn 🐛 | ||||||
About
A python script that fetches PV statistics from the Ginlong Solis Cloud API and outputs it to influxdb, pvoutput or mqtt
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- Python93.0%
- Dockerfile7.0%