Power consumption at the meter


I have a raspberry PI that pulls data from my Delta inverters over RS484, power and energy data is then uploaded to the two systems in PVoutput via the API using a python script. This system works well and I’ve been using this method for alost a year.

I recently had a ABB B23 meter installed and I’m pulling data from the meter over modbus such as import/export/net.

My question is - can I upload raw import/export/net data and PVoutput will do the math for me OR do I have to do the math to work out consumption first then upload it via the API.

I think If I need to do the math myself the formula would be:

consumption = (generation - export) + import

My setup looks like this but note I have 3 phase power so its simplified.

Net data upload is supported.

See Net Data section under - https://pvoutput.org/help.html#api-addstatus

Import 100W

  • addstatus.jsp?n=1&v4=150

Export 100W

  • addstatus.jsp?n=1&v4=-150

Thanks I did see net was supported but I didnt realize I could provide negative numbers, it makes sense though.

I ended up getting this to work by calculating daily consumption using the below formula localy and uploading the energy consumption (v3), v4 seem to be derived automatticly. I did notice however when the page refreshes automatticly the v4 derived values disapear.

consumption = (generation - export) + import

At first this was not working because I was using the parrent SID to upload the energy consumption which the two inverter systems aggregate into, it apeared as tho the energy consumption was getting removed for some reason. I mananged to get it working by creating another system to hold the energy consumption values, upload into the child sid and aggregate into the same parrent system of the inverters.

hi @bankstownbloke ,

Using his drawings, if I provide v2 from the inverter (gross generation, am I right?) and v4 from the meter (net consumption). I do need to send v2 and v4 in two separate requests. Am I right?

If so, wouldn’t make sense to allow a negative v4 for n=0? Like this, if I am not too confused, the v4 becomes export/import and consumption could be derived from there without needing for two separate requests. Does it make any sense?


Yes, this would need to be two separate requests.

  • The first v2=100, gross 100W generation from inverter
  • Second v4=50&n=1, net import 50 from meter

This is the same as a single v2=100&v4=150 request.

Negative values are ignored for any gross generation/consumption request.

Not exactly ignored, it generates a “bad request” error.

Hi @bankstownbloke ,

I still did not get it right. Could you please help?

Take today as example (2021-05-18), and system 56722. I am sending two measurements every 5 minutes, one with v2 and other parameters (v1, voltage, and some extended parameters), another with v4 and n=1. However, in daily page, system shows up as exporting exactly the same amount it generated. Per my understand, the second measurement with n=1 would signal import/export and consumption would be calculated. What I see is that consumption being taken from v4 and export from v2 anyway.

What am I doing wrong?


Answering to my own question: the system tariff configuration was configured to gross instead of net. Changed that and it seems to have solved the issue.

1 Like