Skip to main content

Growatt ShineNet – Interface to PVOutput.org

By July 26, 2017home automation, Tech

So I recently dabbled in some Solar Tech. As part of this project, I wanted to get a Growatt Inverter to report to PVOutput, BUT, I also wanted to run Growatts own ShineNet 2 software. It seems doing both can be quite difficult. There appear to be 2 solutions to get Growatt inverter data to POVoutput. One is via a java script, which has various dependencies (like Java) and I simply could not get to run. It also perhaps only runs with an older version of ShineNet (They changed to a database format in the newer versions). The other was an app that directly read from the intverter interface, but this would mean that you could no longer run ShineNet.

So, what to do!?  As usual – Create my own…  Fortunately, PVOutput have a simple and open API.  So, 1 day later, here are the fruits of my labours

A pretty miserable day for solar generation, but hey, it’s working…

If you’d like to do the same I have made available my software below. It’s very simple. There is no install. Just extract the zip to a folder of your choice (program files x86 probably a good choice) and edit the ‘ShineToPVO.exe.config’ file.  The bits you’ll need to edit I have highlighted in bold below

<ShineToPVO.My.MySettings>
<setting name=”LogFolder” serializeAs=”String”>
<value>Path to your shinenet data folder, i.e. InverterData\</value>
</setting>
<setting name=”PVO_APIKey” serializeAs=”String”>
<value>Your POVOutput read/write key</value>
</setting>
<setting name=”PVO_SystemId” serializeAs=”String”>
<value>You PVOutput system ID</value>
</setting>
<setting name=”PVO_ServiceURL” serializeAs=”String”>
<value>https://pvoutput.org/service/r2/addstatus.jsp</value>
</setting>
<setting name=”WriteResultToFile” serializeAs=”String”>
<value>solardata.csv</value>
</setting>
</ShineToPVO.My.MySettings>

Now, this is a windows service, so you’ll need to install it as such.  You do this in .Net with the ‘installutil.exe’ tool. You’ll need to find where this is on your computer. Probably something like ‘c:\windows\Microsoft.NET\Framework\v4.0.30319\’. Make sure you use the ‘Framework’ version, not ‘Framework64’. This is compiled for all processors, not 64bit only. Once you locate your installutil, you open a command prompt (as administrator), change to the folder you extracted the files to and run a command like the following

c:\windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe ShineToPVO.exe

You should get asked for a user account you want to use to run the service as. You’ll likely need to enter this as computername\username, then your password. This is stored on your computer only – the app has not access to it. It’s just windows asking for it.  If at the end of the command you get the sucess message, you are set!  Well, almost. You probably want to go into ‘services’ and make sure the service is set to auto start.

There’s no output from the app at all. If you got your config file correct and the paths to the ShineNetapp etc. are all good, PVOutput should start showing data for your inverter in a few minutes.  The app is configured to work with 5 minut outputs. If monitors the inverter and takes readings as they occur which is normally about every 5/10 seconds with ShineNet. These readings are all taken, averaged, then sent to PVOtput as 5 minutes intervals (they do not allow logging at higher resolution). The app uploads for as long as the inverter is running and generating data. Once the inverter goes to sleep, like overnight, the app stops reporting. It will automatically start again once the inverter wakes up.

Download

You can download the latest version of the service here (Windows, .Net4 (4.6) only)

As usual, let me know below if any issues and I will try to resolve, time permitting.

Donate

The software is free for non-commercial use but if you find it useful and wish to donate beer money, you can do so Via Bitcoin or PayPal. Any amount (no matter how small) will give you a warm fuzzy feeling and help me keep the power on. Be fair, just donate what you think is right. Thank you.

Bitcoin to  1PsQP6ECsevKRck4NPNJ3ZLnGaSJLxNyUT

PayPal to pjs DOT guernsey AT gmail DOT com

Commercial arrangements and custom versions are available if you wish to re-distribute or use for commercial purposes.  Please do not redistribute this, but feel free to link to it here.

At the very least, if you liked this or found it useful, please let me know in the comments section below or give it a like/share above. Thanks!

Contact me

You can view my linkedin here

8 Comments

  • Axel Baas says:

    Hi Paul!,

    After checking multiple hits on Google, i came to your page. It was exactly what is was looking for.
    But unfortunalty, it isn’t working as expected onto my system.
    I did edit the config file, and there is some kind of data exchange between my computer and PVoutput. But with all zeroes, there is no real data being imported.
    I’ve changed the value of the logfolder to : C:\Program Files\Growatt\ShineNet\db\InverterData\.
    In this folder (InverterData), there is a folder for each month ( ex 2017.01 / 2017.02 etc ). Is this the way your software is reading the measurements?

    I’ll hope that you can assist me resolving this problem,

    Thanks in advance,

    Best, Axel

    • pjsmith says:

      Hi,

      Yes, this is exactly what the software expects to find in there. It takes the date from your computer clock to go into the correct folder and extracts data from the relevant file. Go into the folder for the current month and make sure there are some files in there.

      PVOuput is running on your machine and showing you correct data? This part must work before the service will, as it takes it’s data from PVOutput.

      You managed to get the service running? Did you re-start it after editing the config file?

      If the monthly folder, see if you have a ‘data.log’ file.

  • burak says:

    Excellent work! I will try thanks for this

Leave a Reply to pjsmith Cancel Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.