even though I searched a lot in the forum and found several similar reports I have not found any clue how to solve this with my current setup.
I am running a DESS with 1 Phase MultiPlus II GX, AC coupled inverter and battery on DC side with multiphase regulation of all phases.. Everything is working absolutely perfectly and DESS is doing exactly what I could ask. Only thing which does not work correctly is the reporting in VRM.
As I only have 1Phase DESS the Multiplus II GX including AC coupled inverted is connected to L1. This means that L1 is almost always negative to compensate L2 and L3 (which is what it should be). Only problem is, that all negative load on L1 is treated as “xxx to GRID” and L2+L3 is treated “xxx from GRID”..
In reality this would be direct consumption here in Austria.
Both PV and Grid meters are shelly meters (PV = Shelly Plug and Grid = Shelly Pro 3EM). I tried web socket integration and dbus-shellyPlug integration for the Shelly Pro 3EM but this does not change anything regarding my problem. Changing the energy meter is not option as I have no way to get a wired connection to my energy meter and this being a refresh problem make no sense as compensation (which would be more timing sensitive is working perfectly).
Did anyone solve this problem? Please find attached details - all screenshots are for the same timeframe:
Same view for “To and From” - in reality you have to eliminate one add “Battery to Grid” to “Battery to Consumption” in this example…. same would be true for “Solar” workload during the day though.
You are absolutely right. Technically this is correct, but from a usage point of view this is very weird.
I am still trying to understand if the overall reports make any sense.
If I take a look at yesterdays consumption.. I see 11.3 kWh from grid, 11.7 kWh consumed and 4.1 kWh to grid… So I would have to manually calculate which would mean 11.3-4.1=7.2 … If I take a look at my providers report for yesterday I see 7.998 kWh .. this could be good enough with <10% of deviation … I will monitor it for some days.
I have a Quattro, which is inline with the grid, so everything to and from the grid passes through it, but import and export reads consistently 5% or thereabouts over compared to my smart meter.
Doesn’t help you, but if the totals don’t match your energy provider, it could just be normal inconsistencies. I did think about adding an ET112 energy meter, but didn’t bother in the end.
I just realised that the DESS reports are completely off because of the described behaviour… Here the report for “Cost and earnings” for the same timeperiod .. He is counting all “xxx from Grid” with Costs.. which simply is completely wrong. This simply can not be intended!
Ok.. after some digging where and how VRM is getting its data for this calculation from it seems I have found the solution.
Basically VRM is relying 100% how the grid meter is calculating and reporting overall power consumption and return numbers. Contrary to several posts in the forum it has nothing to do with any refresh rate as this is a very simply calculation. That is the reason why - depending on the country you are living - different grid meters are recommended… they simply sum the values differently depending on your country.
I will monitor my solution (only 5 lines of code needed to be changed) and will post the solution here.
After one day of monitoring the changes indeed worked.
Prior to the changes DESS was working great as all 3 phases were balancing perfectly, but all reports were completely off as all negative phases were treated as “sent to grid” and compensated phases were treated as “from grid” … which simply is wrong from a price point here in Austria.
What did I do… basically - as described above - refresh rate and so on does not matter. The only thing that VRM is looking at are following parameters from your grid meter (at least what I have found out)
/Ac/Energy/Forward
/Ac/Energy/Reverse
/Ac/Power
The trick is… the different meters simply report different values in those fields. For example… the EM540 reports the net metering data in those fields (Import-Export=Net for /Ac/Energy/Forward). Other meters which are meant for other countries do report non metered data.. same is true for the shelly integration.
Because I am working with dbus-shellyPlug (higher refresh rate then webhooks and modbus-tcp is not working in my version) - I adapted it.
Look for following part:
if self.settings['/Role'] == 'evcharger':
self._dbusservice['shelly']['/Ac/Energy/ForwardTotal'] = None if shellyData is None else sumEnergy
self._dbusservice['shelly']['/Current'] = None if shellyData is None else sumCurrentAC
else:
self._dbusservice['shelly']['/Ac/Energy/Forward'] = None if shellyData is None else sumEnergy
self._dbusservice['shelly']['/Ac/Power'] = None if shellyData is None else sumPowerAC
self._dbusservice['shelly']['/Ac/Current'] = None if shellyData is None else sumCurrentAC
self._dbusservice['shelly']['/Ac/Energy/Reverse'] = None if shellyData is None else sumEnergyReverse
And change it to following:
net_energy = sumEnergy - (sumEnergyReverse or 0)
net_power = sumPowerAC # already net (positive = import, negative = export)
if self.settings['/Role'] == 'evcharger':
self._dbusservice['shelly']['/Ac/Energy/ForwardTotal'] = None if shellyData is None else sumEnergy
self._dbusservice['shelly']['/Current'] = None if shellyData is None else sumCurrentAC
else:
self._dbusservice['shelly']['/Ac/Energy/Forward'] = None if shellyData is None else net_energy
self._dbusservice['shelly']['/Ac/Power'] = None if shellyData is None else net_power
self._dbusservice['shelly']['/Ac/Current'] = None if shellyData is None else sumCurrentAC
self._dbusservice['shelly']['/Ac/Energy/Reverse'] = None if shellyData is None else 0 # optional: freeze at current value
This is not a perfect solution as I basically ignore all feed back power, but this is way more accurate as the solution without the changes.
If this helped you in your problem please just leave a short note. Thanks.
Edit: I just found another article in the Q&A that describes it well.. even though I was searching for almost 2 weeks.. I didn’t see this one. 10. FAQ