Weird spikes when adding feeds

I have 4 PV feeds
on one of the PV’s input after logging it, I add the other 3 PV feeds and I log it to a PV-Total feed

Since about a month ago I started getting spikes during the night in the PV-Total feed
If I do a graph I see no spikes in the separate PV feeds, only in PV-Total

How on earth do I debug this?
During the night the feeds get updated less frequently, so the “spikes” take a lot of time to go back to zero and mess up my kwh calculations along with the graphs
How adding 0+0+0+0 = 1000?

I looked at rate of change, but I found no description on how to use it. If rate => But what is the value and what does it mean?

Can you show the CSV data corresponding to the region around a spike? Also, what type of feeds are they all? PHPFina or PHPTimeSeries?

it’s PHPFina

2024-03-14 00:20:50, null, null, null, null, 0
2024-03-14 00:21:00, null, null, null, null, 0
2024-03-14 00:21:10, null, null, null, null, 0
2024-03-14 00:21:20, null, null, null, null, 0
2024-03-14 00:21:30, null, null, null, null, 0
2024-03-14 00:21:40, null, null, null, null, 0
2024-03-14 00:21:50, null, null, null, null, 0
2024-03-14 00:22:00, null, null, null, null, 0
2024-03-14 00:22:10, null, null, null, 0, 0
2024-03-14 00:22:20, null, null, null, null, 0
2024-03-14 00:22:30, 1406.0, null, 0, null, 0
2024-03-14 00:22:40, null, null, null, 0, 0
2024-03-14 00:22:50, null, null, null, null, 0
2024-03-14 00:23:00, null, null, null, null, 0
2024-03-14 00:23:10, null, 0, null, 0, 0
2024-03-14 00:23:20, null, null, null, 0, 0
2024-03-14 00:23:30, null, null, null, 0, 0
2024-03-14 00:23:40, null, null, null, 0, 0
2024-03-14 00:23:50, null, null, null, 0, 0
2024-03-14 00:24:00, null, null, null, null, 0
2024-03-14 00:24:10, null, null, null, 0, 0
2024-03-14 00:24:20, null, null, null, null, 0

I found the problem: I had another reading with a wrong value from an inverter.
Interesting is that I could not see in the graph that wrong reading every day. But when I zoomed at a certain level, I could see it on certain days, and it overlapped the total value

It must be a phpfina thing, to see some readings only at some zoom levels

No, as I understand it, it’s actually a graphing thing. When there are too many points to have one per pixel, it samples points at regular intervals, i.e. alternate, every 3rd, every 4th, etc. It does not average over x points, hence it’s pot luck whether it sees a single rogue/exceptional value or not.

I see. Makes sense now.
Using average values would surely help locate spikes…

As Robert said, it’s actually a graph problem. PHPFina actually behaves a lot better than PHPTimeSeries. Switching the graph to display points instead of lines can sometimes help identify problems, as can flicking on and off the show missing data switch.

Glad you got it solved :slight_smile:

PS That’s why I asked to see the CSV data, but I don’t really understand how the CSV fits with the graph you showed? I understand that the time is slightly different, but the order of the feeds doesn’t make much sense to me.

1 Like

I might have showed the CSV from a different timeframe, but with the same problem :innocent:

Yes but the 1406.0 value is the first value in the list and it should be the last according to the graph?

The downside is, the averaging maths was, I believe, done (in PHPFIWA database before it was withdrawn) for each plottable point as the graph was being drawn, which led to unacceptably slow rendering of the graph - hence its disappearance.

It remains that you can only be guaranteed to see spikes when there’s at least one plottable point (I think 1 pixel but I can’t guarantee I’m right) per data point.

You’re right about one plottable point per data point, but it isn’t anything to do with pixels. Open a graph in a browser with a fairly narrow width and show the CSV data, which corresponds to all the points plotted on the graph. Maximise the browser window and notice that the CSV data doesn’t change (and neither does the graph).