I have an issue with peak shaving in ESS not taking into account the correct meter when looking at the current.
Some context: I have a 2x230V without neutral grid connection.
I added a VM-3P75CT to this system and it could measure the grid on L1 just fine, it reads the amps and correct 240-ish voltage and can compute the correct power.
This week I also wanted to use the 2nd clamp on this meter to measure the draw on my evcs to have it show up in vrm and possible have this taken into account for the load prediction. (Btw, thsi is something that could be fixed in firmware by victron? Setting the meter to split phase doesn’t fix it, and there doesn’t seem to be a compute option to make it work, but maybe this could be added so the meter works on grids without a Netural? Is the firmware of this meter available somewhere? I could take a look at adding this compute mode)
When I connect this second clam I notice the current is correctly measured but the voltage reeds as sqrt(3)* actual voltage.
Nothing is really preventing this memter to work on a neutral less grid except it doesn’t know how to compute the correct power with this wrong voltage.
To solve this issue I created a virtual acload meter on dbus that reads the voltage of L1 and the current of L2 on this meter, and publishes it as a evcs.
This gave the problem that I was not able to let ess know that it should only look at L1 of the VM-3P75CT for my grid metering, it was now taking the sum of L1 and sort(3) of L2
To solve this I set the VM-3P75CT to be an AC Load meter not grid meter and again created my own dbus service that just publishes L1 and have this be a grid service. (VeDbusService(f’com.victronenergy.grid.virtual_grid_{DEVICE_INSTANCE}'))
After doing all this however I noticed that peak shaving is going way to low when my car is charging, it’s trying to keep the total Power of the VM-3P75CT acload meter below peak_shaving_amperage * L1 voltage
so example, its keeping L1 current x230 + L2 current x sqrt(3)x230 below 22*230 (as measured by the VM-3P75CT)
where 22 is the value I have set for peak shaving current.
I have no idea why it is looking at the power of a acload to try to keep below the peak shaving, it would have expect it to look at the current of the grid member if I configure the peak current, not at the power of an acload meter.
I can reliably repeat this, so If you need any further information I can provide screenshots of vrm, console and the code of my dbus services.
Perhaps it would be a bit easier to replicate without the virtual meters as dbus services, I can see if I can place another real Carlo Gavazi EM as grid meter if required.

