Batteries on PVO?

When taking advantage of time-based feed-in tariffs, the formula consumption + battery power could result in a negative consumption number. I have no data between 6pm-7:15pm because I was exporting more than I was using.

I am trying to upload data that gives an accurate export/import, so I am pre-adjusting consumption by battery power before uploading. Of course, this can now result in negative consumption, which causes the upload to fail.

Do you have any suggestions?

Thanks.

sid=93768

What are the raw numbers for v4, v2 and b1 under this scenario?

{'d': '20251019', 't': '18:00', 'v2': 0, 'v4': 0, 'v5': 23.8, 'v6': 213.4, 'v7': 39, 'v8': 26, 'b1': -360.0, 'b2': 98.7, 'b4': 3246290, 'b5': 3183100}"
{'d': '20251019', 't': '18:05', 'v2': 0, 'v4': -3000, 'v5': 23.7, 'v6': 214.8, 'v7': 40, 'v8': 26, 'b1': -5880.0, 'b2': 96.2, 'b3': 24180, 'b4': 3246290, 'b5': 3183590}"
{'d': '20251019', 't': '18:10', 'v2': 0, 'v4': -3960, 'v5': 23.7, 'v6': 214.4, 'v7': 42, 'v8': 27, 'b1': -6960.0, 'b2': 93.6, 'b4': 3246290, 'b5': 3184170}"
{'d': '20251019', 't': '18:15', 'v2': 120, 'v4': -4440, 'v5': 23.6, 'v6': 209.8, 'v7': 44, 'v8': 27, 'b1': -6960.0, 'b2': 90.9, 'b4': 3246290, 'b5': 3184750}"
{'d': '20251019', 't': '18:20', 'v2': 120, 'v4': -3360, 'v5': 23.5, 'v6': 212.1, 'v7': 46, 'v8': 27, 'b1': -6960.0, 'b2': 88.2, 'b3': 24180, 'b4': 3246290, 'b5': 3185330}"
{'d': '20251019', 't': '18:25', 'v2': 0, 'v4': -5040, 'v5': 23.4, 'v6': 214.2, 'v7': 48, 'v8': 27, 'b1': -6720.0, 'b2': 85.7, 'b4': 3246290, 'b5': 3185890}"
{'d': '20251019', 't': '18:30', 'v2': 0, 'v4': -4920, 'v5': 23.3, 'v6': 207.9, 'v7': 50, 'v8': 27, 'b1': -6000.0, 'b2': 83.5, 'b4': 3246290, 'b5': 3186390}"
{'d': '20251019', 't': '18:35', 'v2': 0, 'v4': -5040, 'v5': 23.2, 'v6': 216.1, 'v7': 51, 'v8': 28, 'b1': -6000.0, 'b2': 81.2, 'b4': 3246290, 'b5': 3186890}"
{'d': '20251019', 't': '18:40', 'v2': 120, 'v4': -4920, 'v5': 23.2, 'v6': 213.6, 'v7': 52, 'v8': 28, 'b1': -5640.0, 'b2': 79.1, 'b4': 3246290, 'b5': 3187360}"
{'d': '20251019', 't': '18:45', 'v2': 0, 'v4': -5040, 'v5': 23.1, 'v6': 213.9, 'v7': 52, 'v8': 28, 'b1': -5640.0, 'b2': 76.9, 'b4': 3246290, 'b5': 3187830}"
{'d': '20251019', 't': '18:50', 'v2': 0, 'v4': -4920, 'v5': 22.8, 'v6': 214.1, 'v7': 53, 'v8': 28, 'b1': -5640.0, 'b2': 74.8, 'b3': 24180, 'b4': 3246290, 'b5': 3188300}"
{'d': '20251019', 't': '18:55', 'v2': 0, 'v4': -4920, 'v5': 22.4, 'v6': 219.3, 'v7': 53, 'v8': 28, 'b1': -5640.0, 'b2': 72.7, 'b3': 24180, 'b4': 3246290, 'b5': 3188770}"
{'d': '20251019', 't': '19:00', 'v2': 120, 'v4': -5040, 'v5': 22.2, 'v6': 209.5, 'v7': 53, 'v8': 28, 'b1': -5640.0, 'b2': 70.5, 'b3': 24180, 'b4': 3246290, 'b5': 3189240}"
{'d': '20251019', 't': '19:05', 'v2': 0, 'v4': -4920, 'v5': 22.0, 'v6': 214.2, 'v7': 54, 'v8': 28, 'b1': -5640.0, 'b2': 68.4, 'b3': 24180, 'b4': 3246290, 'b5': 3189710}"
{'d': '20251019', 't': '19:10', 'v2': 0, 'v4': -4920, 'v5': 21.9, 'v6': 209.6, 'v7': 54, 'v8': 29, 'b1': -5640.0, 'b2': 66.3, 'b4': 3246290, 'b5': 3190180}"
{'d': '20251019', 't': '19:15', 'v2': 0, 'v4': -3240, 'v5': 21.9, 'v6': 203.2, 'v7': 54, 'v8': 29, 'b1': -3840.0, 'b2': 64.8, 'b4': 3246290, 'b5': 3190500}"
{'d': '20251019', 't': '19:20', 'v2': 0, 'v4': 0, 'v5': 21.9, 'v6': 214.6, 'v7': 53, 'v8': 29, 'b1': -480.0, 'b2': 64.7, 'b4': 3246290, 'b5': 3190540}"
{'d': '20251019', 't': '19:25', 'v2': 0, 'v4': 0, 'v5': 21.9, 'v6': 213.8, 'v7': 51, 'v8': 29, 'b1': -480.0, 'b2': 64.5, 'b4': 3246290, 'b5': 3190580}"
{'d': '20251019', 't': '19:30', 'v2': 0, 'v4': 0, 'v5': 21.8, 'v6': 210.9, 'v7': 50, 'v8': 29, 'b1': -478.4, 'b2': 64.3, 'b3': 24180, 'b4': 3246290, 'b5': 3190620}"
{'d': '20251019', 't': '19:35', 'v2': 0, 'v4': 0, 'v5': 21.8, 'v6': 210.8, 'v7': 49, 'v8': 29, 'b1': -478.4, 'b2': 64.2, 'b3': 24180, 'b4': 3246290, 'b5': 3190660}"
{'d': '20251019', 't': '19:40', 'v2': 0, 'v4': 0, 'v5': 21.7, 'v6': 200.7, 'v7': 47, 'v8': 29, 'b1': -360.0, 'b2': 64.0, 'b3': 24180, 'b4': 3246290, 'b5': 3190690}"
{'d': '20251019', 't': '19:45', 'v2': 0, 'v4': 0, 'v5': 21.6, 'v6': 191.2, 'v7': 46, 'v8': 29, 'b1': -480.0, 'b2': 63.8, 'b4': 3246290, 'b5': 3190730}"
{'d': '20251019', 't': '19:50', 'v2': 0, 'v4': 109, 'v5': 21.6, 'v6': 184.8, 'v7': 45, 'v8': 28, 'b1': -335.4, 'b2': 63.7, 'b3': 24180, 'b4': 3246290, 'b5': 3190760}"
{'d': '20251019', 't': '19:55', 'v2': 0, 'v4': 0, 'v5': 21.5, 'v6': 170.2, 'v7': 44, 'v8': 28, 'b1': -480.0, 'b2': 63.5, 'b4': 3246290, 'b5': 3190800}"

Under this scenario, you’d like gross consumption calculated as

v4 = v4 - b1 ?

v4 = -5040 - (-5640)
v4 = 600

It would be best to handle this with a flag in the addstatus request e.g. &bc=1 so it won’t affect existing requests where this isn’t applicable.

hi, we just got shiny new PV system with battery (goodwe) installed last week and I would like to continue using PVoutput, which served me well for over a decade, to track production and savings.
Great to see that battery monitoring is available now, can anyone confirm if pvoutput can can calculate savings from battery system yet? (I know it can do this well for solar PV).

I’m currently exploring how to do this with Home Assistant but since I’m new to HA, the progress is quite slow

Not currently, but it would be a feature added in the future.

Installed 3 Enphase batteries, and now the PVOutput data doesn’t reflect imported power. Is there a way to correct this?