utilities/telegraf-plugins#10: Soliscloud Grid Energy Export figure is unexpectedly high

Issue Information

Issue Type: issue
Status: closed
Reported By: btasker

Created: 04-Jun-23 11:25


An issue was originally noted here (in #9)

The value of gridPurchasedTodayEnergy is (according to gridPurchasedTodayEnergyStr) in kWh. Yet it's claiming ~650, suggesting it's actually in Wh

The values seemed to have normalised when I checked the next day though.

It looks like gridSellTodayEnergy as its own oddities:


Yesterday, once the battery was charged, we allegedly went from exporting nothing to having exported 40 kWh. We've got around 4kWp of installed capacity, so the panels would need to be delivering max capacity for around 10 hours (and exporting all of it) to get anywhere near that.

It's not an issue in the plugin itself, because the Soliscloud UI reports the same figure


My clamp meter doesn't discriminate between the direction of flow, and so (by happy luck) reports the rate at which power was being exported at the time


That time period shows "consumption" of a total of 5.34kWh which sounds much more reasonable.

Now, curiously, if - rather than using Daily energy to grid (gridSellTodayEnergy) - we use Total energy to grid (ridSellTotalEnergy) we get a more reasonable figure


Given that clamp meters aren't 100% accurate, the two are pretty well aligned.

Toggle State Changes


My understanding was that xTodayEnergy was a daily counter for x, whilst xTotalEnergy was an incrementing counter since time began.

That understanding (aside from making sense) is supported by the figures used for drawing energy from the grid:


I think, maybe, the API has the two figures inverted and is erroneously reporting the total instead of the daily value (although that wouldn't explain the sudden jump from 0).

The Soliscloud UI appears to have support messaging capability, so I'll ping them to ask.

In the meantime though, should probably update to capture the Totals - if nothing else, they're interesting information.

Bizzarely though, if we look at the graph for today the figures look like they're the right way round


This more or less mirrors what we saw with gridPurchasedTodayEnergy in #9 - it was wrong on the first day, and then right after that.

Yesterday was the first day that we actually exported, so will have been day 1 for whatever counter they're using.

I guess, then, that the answer is that (for whatever reason) these counters will give invalid readings on the first day that they register a value.

Should update the README to that effect.

I've added the following to the README

Unexpected Initial Values

It's been observed (in [utilities/telegraf-plugins#9](/issue/utilities/telegraf-plugins/9.html) and [utilities/telegraf-plugins#10](/issue/utilities/telegraf-plugins/10.html)) that the Soliscloud API can report unexpectedly high values for some counters on the first day that a reading is registered for that particular counter.

The following counters have been observed to do this

  • gridBuyToday (will usually be the first day that the inverter is online)
  • gridSellToday (may occur later - it'll be the first day that energy is actually exported to the grid)

After the first day's high values, readings appear to normalise and report correctly.

Oddly the corresponding "Total" fields are unaffected, so on the first day, gridBuyTotal and gridSellTotal can be used to obtain a more accurate read.

changed title from Soliscloud Grid Energy {-figure looks wrong-} to Soliscloud Grid Energy {+Export figure is unexpectedly high+}

I don't think there's anything we can really do to address this then - it only appears to affect the first day's reading and there isn't really a good way to logic it out.

Although we could check whether gridSellToday > gridSellTotal (and swap the values if so), that'll cause major issues if gridSellTotal resets at some point in the future. Although frustrating, it seems better to tolerate a single day's misreporting than risk reporting bad data in the future.

We're now capturing those total fields, so if such logic is desirable, it can be used at query time.

The documentation update is in place, so I'm going to close this issue out as being caused by the upstream API.


mentioned in commit github-mirror/telegraf-plugins@0404172d9ed69b7eb6a90f2b5d29010f3ed38e89

Commit: github-mirror/telegraf-plugins@0404172d9ed69b7eb6a90f2b5d29010f3ed38e89 
Author: B Tasker                            
Date: 2023-06-04T12:31:42.000+01:00 


Add total grid bought and sold ([utilities/telegraf-plugins#10](/issue/utilities/telegraf-plugins/10.html))

This adds two new fields

  • gridBuyTotal: The total energy bought from the grid
  • gridSellTotal: The total energy exported to the grid

However, as noted in [utilities/telegraf-plugins#10](/issue/utilities/telegraf-plugins/10.html) there's a possibility that the Soliscloud API is currently misreporting gridSellTotal and instead giving the daily value (whilst giving the total value in the daily field).

+2 -0 (2 lines changed)

mentioned in commit github-mirror/telegraf-plugins@d12bf3948ca450fac1a5922d70a7464e367d90eb

Commit: github-mirror/telegraf-plugins@d12bf3948ca450fac1a5922d70a7464e367d90eb 
Author: B Tasker                            
Date: 2023-06-04T12:52:21.000+01:00 


Update README to add observations from utilities/telegraf-plugins#10

This adds a note about the odd initial readings that Soliscloud gives for grid energy

+16 -2 (18 lines changed)

changed the description