Photovoltaic Inverter Statistics Scanner and Uploader
PVStats is a tool used to connect to your inverter using Modbus TCP, scan for various power figures, and then upload the data to various report services.
Currently supported inverters include:
- Sungrow SG5KTL (TCP and RS485)
- Fronius (WiFi)
- SolaX X1-5.0-T (WiFi)
- Sungrow SH5K-20
- TODO: SMA Sunny Boy
Currently supported reporting methods include:
- PVOutput.org
- MQTT
- InfluxDB
- TODO: dweet.io
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
To install the PVStats via pip (Python Package Index)
pip install pvstats
First modify pvstats.conf
with your inverter settings, and also pvoutput.org, MQTT or InfluxDB settings
/usr/bin/pvstats -f pvstats.conf
Currently this is a TODO, if you would like to assit with adding tests to the project, please do.
Explain what these tests test and why
Give an example
Explain what these tests test and why
Give an example
To deploy this on a live system
- Modify
/etc/pvstats.conf
with your inverter and reporting settings - Start the service via systemd
Enable the service to start on reboot
sudo systemctl enable pvstats.service
Immediately start the service via systemd
sudo systemctl start pvstats.service
- Pymodbus - Python Modbus client
- SolarIOT - Solar PV Inverter to InfluxDB
- sungrow2pvoutput - Sungrow Website scrapper to pvoutput.org
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Paul Archer - Modified for pvstats - PVStats
- Billie Thompson - Initial work - PurpleBooth
See also the list of contributors who participated in this project.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details
- SolarIOT @meltaxa
- sungrow2pvoutput @kronicd
- pvoutput.org