Push Fronius log data from the past into PV Output?


I figured that this subject had probably been previously discussed. The 0:00 push would need to be attributed to the previous day.

A remedy would be to make 00:00 that LAST value of a given date which would of course be very confusing. I also assume then that there aren’t too many PVO users living in very high latitudes… 24 hours of sunlight and low ambient temperatures for panel efficiency - at least for a few days / year.


In PVO (via Fronius push) and this php code the 0:00 interval is always null. That’s OK if it really is yesterday’s data, but why then is there no 24:00 interval?

Put another way, the Fronius push to PVO and in this php code only provide data for 287 intervals per day.

In Solarweb there are data for 288 intervals per day.

There are 288 x 5-min intervals per day.

Solarweb and PVO daily reports both show time intervals from ranging from 0:00 to 23:55 and NOT from 0:05 to 24:00 (or 0:00).

Hence why to me it seems the time stamps mark the start of the interval, not the end.

I don’t see why it would not make sense to consider them to mark the start of the interval. It’s just an arbitrary definition of what to name an interval.


Why is that confusing? “00:00” is simply equivalent to “24:00” of the previous day.

In June 2019 I compared my PVO graphs (created using my own pusher logic) to Solarweb and they were essentially exactly the same except Solarweb was setting the day’s total consumption energy to the 23:55 value, not the next 00:00 value. The last 5 mins of consumption energy was being “leaked away” which was the same flaw as PVOutput. I sent many emails to Fronius Australia and Austria and eventually performed demonstrations of how it was clearly wrong, e.g. I turned an 2400W electric heater on at 23:55 and off at 23:59 each day and showed them the bump in consumption was not seen on their graphs. They finally agreed with me and fixed their graphs to calculate this correctly in Nov 2019.


The Fronius push message sent with timestamp 00:00 contains the last day generation energy value for the entire day. (I.e. the final total, i.e. the maximum value). After the inverter sends that then it immediately resets it’s internal day accumulator.

BTW, this whole issue of dealing with day rollover is a bit of a pain and for generation energy and power it is essentially a moot point given there is no generation over midnight. However, it seems to me that Fronius realized this themselves when they added the smart meter (i.e. consumption monitoring) to the API because I note they did not even bother with a day consumption energy total, they only have a lifetime consumption total and software must derive day totals itself if a day count is wanted. This is how generation should have been done also. There is actually a lifetime counter for generation in the API but it is useless because it updates at a much slower rate than DAY_ENERGY so can not be used. Believe me, I have spent a lot of time on all these issues to get my generation and consumption energy and power graphs displayed perfectly on PVOutput.


Except that they occur on completely different days.

I do agree though that it is highly likely that it was never considered how / when to perform a final update for a given day since most systems wouldn’t be generating when the calendar advances from one day to another.



No, “time 00:00 @ date” is mathematically exactly equivalent to “time 24:00 @ (date - 1)”.

Some languages/library/standards even accept either form. E.g. see https://en.wikipedia.org/wiki/ISO_8601#Times.


How do you get correct consumption data into PVO?


I created a free proxy service on the web which you point your Fronius inverter to instead of directly to PVOuput. It calculates everything correctly from the inverter and meter push data and stores that to PVOutput, fixing all the issues I know of. There is no need for the logdata push so you can delete it. Message me if you want to use it. Apart from myself, a couple of other users have been using it for ages very happily.