Upload Fronius Gen24 PV Data to PvOutput.org

This article describes how to query your Fronius Gen24 via a simple Python script and push the outputs to pvoutput.org, which is a free cloud for your PV data.

Prerequisites

Install Python. This is fairly easy nowadays since it is part of the Windows store

https://docs.microsoft.com/en-us/windows/python/beginners

Open a command prompt in a directory where you would like to place all needed artefacts for this little project, e.g. d:\data\python\pvupload. Lets calls this %PVUPLOAD% further on.

Grab a Python module from Martijn Braam which does the pvoutput.org upload for you. You can clone this via git, or download as zip from

https://github.com/MartijnBraam/pvoutput

and place it to %PVUPLOAD%. A subdirectory pvoutput/ is created due to git clone or unpacking from the downloaded .zip

From the command prompt issue

pip install request

so that you install the request Python module, which will be needed by PVQueryAndUpload.py

Query the Inverter via the Web Interface

Download my sample Python script

into this directory

Adapt the ip-adress/name of your inverter with

inverter_url = "http://192.168.178.98/solar_api/v1/"

Now you could start the script already and it will read a few data from your inverter. The script is shaped to my use, because I have 2 strings, does some simple calc, which is obvious, and which you can change in a minute to your liking.

But we need a few more small step to setup uploading to pvoutput.org

Upload to pvoutput.org

Go to pvoutput.org, create an account, and create a so called API key, somewhere down in the settings. There is lots of docu on this topic on pvoutput.org

Adapt the PVQueryAndUpload.py with your API key and SystemID

api = PvOutputApi(api_key="Place_your_api_key_here", system_id="your-system_id")

Voila that’s it, it should upload your first record. If you run this on a regular basis e.g. from a raspberry-pi and use the pvoutput.org service, donate them a few Australian bucks and have fun.

Further Work

You could extend the Python script to your liking. My version contains an update to my local NetAtmo Weathersation, a request to OpenWeather.org and the like. Feel free. This part is just the starting point.

Furthermore you could run it from a raspberry-pi all day.