Fronius MPPT 1 and 2 voltages and details

Thank you Mike,it also looks like having inverter temperature is possible as on page 53 every 5 min

I have created a PHP script that extract the DC Voltage and Current data for each of the two strings and sends the derived Power information for MPP1 and MPP2 to PVOutput. The script is designed to be run ( via cron ) every five minutes. It appears to be working although it needs a little tidying up first.

The PHP version on my iMac is 7.1.23 and the PHP version on my [ 24 x 7 ] Linux host is only 5.4.16. It appears that the Array Bounds Checking is not the same in the two versions.


I’ve made a few modifications to the PHP script. I still need to to a bit more testing. I’ve manually added the data for 1st -> 3rd of March. The 4th is happening automagically - so far. I had to perform a manual overwrite though so there is so ‘future’ data on today’s date. It will get overwritten as the day wears on.

The 3rd of March is interesting as it shows what happens to my two (2) strings as my ( 5kW ) inverter clips its output. Yesterday was ‘cloud-free’.

yes it looks good,very handy to have for twin setups please keep up the good work,are you going to add mppt 1 and 2 string voltages as well and perhaps inverter temperature as well, jim D 150 kms down the road from you with Jims maxim jinkos 6625 5.050kW

Interesting. Is there a conversion factor variable in the data to convert those into AC output wattages, so that MPP1 + MPP2 = total?

Solarweb does it, so I guess it must be in there somewhere.

can you put the script up here?

The script is ready to go. I just have to figure out where to put it!

Depending how big the code is you could just post it directly in here with code tags
Or pm it
Or host on a dropbox or similar account

I havent been able to grab inverter temp. It says its available in the api document but doesnt show it when i query it.


I’ve uploaded the PHP script to github

Please let me know if you have any trouble accessing it. I’ve not used github before. Please read the readme too. If you have any questions please ask.

I am running the script on a Linux host via cron.

*/5 * * * * root /usr/bin/php /root/pushPVStringData.php >> /root/pushPVStringData.log

The Linux host is running PHP 5.4.16

Good Luck.

I suspect that Temperature_Powerstage is only being logged by the inverter whilst it is inverting. It wasn’t that cold in Perth yesterday.

The Fronius API documentation also mentions: Temperature_Channel_1 Temperature_Channel_2. I suspect that this if for the optional Fronius temperature sensors. When I made an API call no temperature data were returned. I do NOT have an optional Fronius temperature sensor attached to my system.

So this is just live 5 min readings? how do you get actual cumulative totals of each?

The DC Power readings are and can only be instantaneous. I haven’t tried to calculate energy data. The figures / chart doesn’t show cumulative data.

You could calculate a very rough energy value based upon two adjacent power settings. ( P(t) + P(t+1) / 2 ) * 300. It wouldn’t be very accurate as too much can happen in 5 minutes.

This would give you a value in Joules. 1kWh = 60 * 60 * 1 = 3600J so you could divide the result by 3600 to convert it to kWh if you wished.

I am more interested in extracting the Inverter fan RPM data to use up my remaining Extended Data fields… :wink:

Is there a dummies guide available to get this script running? I’m interested in capturing power data by array.

Hi outputs from MPPT 1 and MPPT 2 are averable to read on the inverter LCD screen in kW,
so with the right push code you may be able to display them on PV org in extended data,sorry i do ,not know what the push code would it may be in the inverter instructions online

I found a helpful guide here on getting up and running with PHP on Windows:

However it would be good to know if there was an easier way to extract MMP1 and MMP2 via the Fronius Push Service to PVOutput server.

Judging from this thread and others this isn’t possible yet.


I managed to get this working on a Windows 10 box. Thanks to all the contributors.

I followed the PHP install steps within this post:

I used this script:

Rather than scheduling using Windows Scheduler I simply opened the php from a web browser and tweaked the code to refresh the page every 5 minutes. Steps below. I also added a condition so the script only runs between 5am and 8pm.

  1. Create and save file.php in C:\inetpub\wwwroot

Add the following to the end of the file:

  1. In web browser open http://localhost/file.php

This page will refresh every 5 minutes to request the data from inverter and push to PVOutput.

  1. Code to restrict to day time (added at line 65):


$timenow = date(‘H:i’);
$hours = substr($timenow, 0, 2);
// $minutes = substr($timenow, 3, 2);

echo $timenow . “\r\n”;

  // If the time is between 4am and 8pm then run the code below, else just exit
  if ($hours >= 4) // Greater than 4am
  	if ($hours <= 20) // Less than 8pm

I had a deeper read of the Fronius documentation.

The Fronius Solar API V1 (42,0410,2012.pdf) mentions all of the functionality (in this discussion thread) under archive requests. I am assuming that there is no available push service to send this out of the inverter hence the need to build your own script?

Can the “SolarAPI v1 - Logdata - Data” not be leveraged here? Can you not push out the below fields or perform any calculations in the configurations?


See page 49 of the Fronius Push Service guide - 42,0410,2152.pdf

if you combine the current*voltage for the same string it can give you a live reading of the string W but it wont give you the cumulative totals.

Thanks for sharing this script with us - it is great to be able to log powerstage temperture and keep an eye on things.

Something odd I’ve noticed about mine, is that the powerstage temperature rises and falls with generation (unlike grannos’) - does anybody else’s do this?

Mine is one of the Primo 5.0-1 models with only a single cooling fan (fan on the left, blanked off on the right). It does make an impolite amount of noise, unfortunately.

Hi sensorclean.

The inverter’s temperature does rise and fall with generation BUT. We have been having very high temperatures here so that the ambient temperature in the evenings means that the inverter’s temperature has not fallen much by the time daylight disappears. The API only returns an inverter temperature whilst the inverter is actually inverting.

It’s easier to see the temperature rise over the course of the day. I have actually placed extra external fans around my inverter to keep cooler air flowing over it. Daytime temperatures have been lurking in the high thirties and low forties for several weeks. Celsius not Fahrenheit. I have also placed a temperature sensor adjacent to my inverter to log its ambient temperature. I am not uploading the data to PVO yet though.

The inverter is located in my garage which is spared the worst of the daytime maxima temperatures but it also stays warmer at night so cools down less.