A series of incorrect DESS behaviours

DESS decisions make less sense every day. I have now had multiple of these absurd totally opposite-to-plan behaviours. I will start documenting them here in case they might help develop DESS into a better product.

For example here:

  • Online DESS has planned to charge grid to battery with seeminly full speed
  • However, my Multiplus stubbornly keeps discharging with SCHEDULED_MINIMUM_DISCHARGE plan.
  • Maybe the online vs local timing is off by 1 hour, causing this sort of bug?



During the night, DESS Trade mode planned and succeeded in charging the battery from grid.

At 7:00, market price spiked up to a very lucrative 0.3€/kWh. DESS Trade mode decided to IDLE NO OPPORTUNITY for the whole hour.

At 8:00, DESS finally decided to start selling, as planned by the online system. That’s good, at least. The question is, why not start discharging an hour earlier? The system wasted a major opportunity to recoup some of the buying cost last night, ending up with pretty much zero gains.

@dognose any ideas?


And now DESS trade mode is selling for less than buy cost. Obviously I would expect that the system does not sell for less than buy cost. Especially when it charged last night, and I had to pay for it, and there is seemingly no solar excess that would not fit into my battery.


I did a few edits to the posts above to highlight the undesireable decisions and add some clarity. Hopefully this helps eventually improve DESS. I am sure I am not the only one struggling with this behaviour.

It would be great to get some insight from Victron about the development/future of DESS. Are DESS improvements included in the plan?

Sure thing, Feedback always helps to either find bugs or just improve things :slight_smile:

I’ve send you a PN for your VRM-ID, will look into our debug-tools, what’s happening there.

1 Like

I’ve checked all 3 things, and figured out the following:

  • The schedule here was to sell 2 consecutive hours, 18 -20
  • The system fullfilled this schedule properly (as you noted)
  • Looking at the prices this absolutely made sence.
  • However, the VRM Graph indicating “grid2bat” doesn’t make sence.

So, that is not something like bad scheduling or system not following the plan - it’s the graph that didn’t outline the actual plan. I will forward this to the VRM Team, maybe they have an idea what could cause this.

That one is pretty simple:

  • DESS was on a schedule to charge to 100% with the intention to sell later
  • At that day, it also scheduled for battery-balancing, and for successfull balancing it needs to hold the soc >= 99% for 2 hours
  • So, that’s what it did here, sacrificing one hour of “selling” for the sake of successfull battery balancing.
  • Here I agree with you - when looking at your average buy and the sell prices, selling would have stopped best at 09am, when buy equaled sell.

However, I think this is caused by design, because DESS is not really “tracking” the actual purchase price of energy, but mainly does two considerations:

  1. WHEN can I buy energy I can sell more expensive later?
  2. WHEN can I sell best in the next “known hours” (from now).

So, (1) basically ensures that DESS is only charging from grid, what it COULD Sell with a nice margin.

And here comes the BUT, which is related to the battery balancing again:
It is best visible, when looking at the following graph:

  • On a regular day, DESS wouldn’t have charged to 100% here.
  • It would have most likely concluded, it can charge to ~70% and then sell upto 9AM.
  • However, Battery Balancing caused the charging to 100% - and then the unfavourable hours 9-10 and 10-11 became the best opportunity to sell the additional energy bought för balancing. Energy of which Dess thinks it purchased for reasonable prices for all the sell-hours due to consideration (1)

So, this is mainly a big “coincidence” of battery balancing kicking in on that day, making DESS believe it bought all that for the “4 upcoming hours of highest prices”

However, overall I think the vrm team made a great job there, integrating the balancing almost unnoticable into the regular schedule. It took me a while to note, the system was balancing there.

3 Likes

I appreciate the analysis. It makes more sense now, and hopefully the minor scheduling/plan displaying bugs get resolved. Thank you.

I have been trying Green mode for a change, and noticed it maintaining targetsoc instead of supporting house loads if the plan was to have excess solar and do excess feedin. There were unexpected clouds and some unexpected house loads, which ultimately led to the system idling, and me buying energy from the grid despite having ample battery kWh available. Is this expected behaviour from Green mode?

The grid net balance is electricity provider’s quarter hour balance, used for billing. Positive is selling energy (as intended, scheduled feedin), negative is buying energy (idle_maintain_targetsoc). I would have expected DESS Green to support house loads from battery during the negative times after 12:00. The grid net balance is around zero after 12:45 with DESS disabled, only ESS, charging and discharging appropriately.

As you can see, the system expected small house loads and plenty of solar. The opposite happened, causing the plan to fail.

Tonight Green mode again decided to idle instead of supporting house loads from grid. Light blue color in the Reactive Strategy is IDLE_MAINTAIN_TARGETSOC. SOC limitation is 5% and battery voltage is also way way above the minimum limit, so there was energy available from the battery. Furthermore, today is a very sunny day and the battery will be charged to the max.

Green mode should have used SCHEDULED_SELFCONSUME strategy instead.

I had today strange behaviour.
At 19:00 DESS started grid to battery even my battery was 70% and price was highest.
I have in nodered informations what it was doing.



so it seams i had 70,4% battery and target was 71% and it bought from GRID???

It predicted SOC higher in that hour what it actually was and then DESS thought that it can compensate that by buying from GRID at highest price?
Because actually it in the dess energy it had selling in the mind at that hour :slight_smile:

I’ll send you a pn, if you could give me your system-id (the numeric one in the VRM url) I could look up some things.

Usually we have a charge hysteresis of 1% to exactly avoid this from happening - seems like that didn’t kick in here.

@dognose , all,

Quiet a lot of “supposed” incorrect DESS effects come from unknown system considerations and decisions. Why not visualize it a bit more sophisticated, making DESS more transparent:

  • Replace the Inverter/Charger message in the Cerbo Overview page with something more useful. Instead of “External Control/Charge/Discharge”, display “DESS” and “current DESS activity”. Activity could be, as an example: Selling to grid for xx ct, buying from grid for xx ct, charge battery, avoid grid consumption, prepare for balancing, …
  • When clicking on the “Inverter/Charger Box”, a even more verbose DESS information with more details is displayed.
  • Those new DESS views would be available in VRM and locally on the Cerbo Display.

The current “External Control” message is not telling much anyway.

2 Likes