question

knacker-ede avatar image
knacker-ede asked

Solar yield not shown correctly

Hi, my ESS consists of MP-2 5000 via AC-in, no AC-out, Cerbo GX, 14.4kWh Battery connected via CAN to Cerbo, Shelly-3 EM 3 phases connected behind grid meter and an old Piko 8.3 reporting Data to Cerbo via dbus. The dashboard displays correct energy flow and data:
vrm-dashboard-1.jpeg

My AC-Coupled Inverter Piko 8.3 produces 4525W, the Battery is charged by 984W, consumption is 1729 (including battery charging power and air conditioner running) and the rest of 2923W is sent to the grid.
But: installation data system overview does not include solar data, neither it shows the energy sent to the grid (5.3 kWh last 30 days shown here is for too small):

vrm-dashboard-2.jpeg

Here is what remote console shows for the Piko inverter:
vrm-dashboard-3.jpeg

dbus values sent to Cerbo are calculated here:

self._dbusservice['/Ac/Energy/Forward'] = self._dbusservice['/Ac/L1/Energy/Forward'] + self._dbusservice['/Ac/L2/Energy/Forward'] + self._dbusservice['/Ac/L3/Energy/Forward']

self._dbusservice['/Ac/Energy/Reverse'] = self._dbusservice['/Ac/L1/Energy/Reverse'] + self._dbusservice['/Ac/L2/Energy/Reverse'] + self._dbusservice['/Ac/L3/Energy/Reverse']


# New Version - from xris99

#Calc = 60min * 60 sec / refreshRate (refresh interval of 10000ms) * 1000

if (self._dbusservice['/Ac/Power'] > 0):

self._dbusservice['/Ac/Energy/Forward'] = self._dbusservice['/Ac/Energy/Forward'] + (self._dbusservice['/Ac/Power']/(60*60/(refreshRate/1000)*1000))

if (self._dbusservice['/Ac/Power'] < 0):

self._dbusservice['/Ac/Energy/Reverse'] = self._dbusservice['/Ac/Energy/Reverse'] + (self._dbusservice['/Ac/Power']*-1/(60*60/(refreshRate/1000)*1000))


Why is the VRM not showing the solar yield?

VRMsolar
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

1 Answer
knacker-ede avatar image
knacker-ede answered ·

Ok, it was my own fault. I implemented the Piko 8.3 inverter script inspired by Fabian Lauer's Shelly3EM implementation here:
https://github.com/fabian-lauer/dbus-shelly-3em-smartmeter

But I was writing the Piko energy data (like in original implementation) to
/Ac/Energy/Reverse registers. Obviously, following the Victron terminology, inverters need to send Energy values to /Ac/Energy/(Lx)/Forward registers.
Now, the picture looks like:

piko.png


remote.png

vrmportal.png

BTW, I decoupled the script running on Cerbo and writing data to dbus from that one retrieving the Piko data as my Piko doesn't respond to http requests 1-2 times a day.
The latter runs on a Raspi, queries the Piko html page and transforms the data to json, finally writes it to a file (Shelly EM3 style):

{"wifi_sta":{"connected":true,"ssid":"ede2wlan","ip":"192.168.1.4","rssi":-38},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"12:43","unixtime":1692355381,"serial":7416,"has_update":false,"mac":"C45BBE785136","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":false,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"is_valid":true,"source":"input"}],"emeters":[{"power":1279 ,"pf":-1.00,"current":5.00,"voltage":235,"is_valid":true,"total":2623.33,"total_returned":0},{"power":1263,"pf":-1.00,"current":5.00,"voltage":232,"is_valid":true,"total":2623.33,"total_returned":0},{"power":1271,"pf":-1.00,"current":5.00,"voltage":235,"is_valid":true,"total":2623.33,"total_returned":0}],"total_power":3813,"fs_mounted":true,"update":{"status":"idle","has_update":false,"new_version":"20220209-094824/v1.11.8-g8c7bb8d","old_version":"20220209-094824/v1.11.8-g8c7bb8d"},"ram_total":49440,"ram_free":27940,"fs_size":233681,"fs_free":154867,"uptime":1000}

The former contacts the webserver running on Raspi and gets the json file. In case the Piko does not respond to the http request (Raspi always does), there is at least the old version of json file served to Gerbo request.

Question closed ;-)


remote.png (102.1 KiB)
vrmportal.png (74.4 KiB)
piko.png (84.0 KiB)
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Related Resources