DESS trading stupid

I’m getting rather frustrated by the fact that DESS is selling back to the net while it ‘knows’ that it is reaching minimum SOC, having to buy from the net at a later stage. Buying is always more expensive (in my case, NL, NextEnergy 15 min rates) than selling to the net so DESS is causing costs instead of saving. This is in green mode. Any solution? @victron please change this

I completely agree with this. I’ve been watching the same behavior with my AC-coupled solar and it’s clear the current logic is missing a middle ground.

Right now, Victron gives us two choices that both feel slightly ‘off’ for a self-consumption user:

  • Trade Mode: Aggressively treats the battery as a profit-maker.

  • Green Mode: Supposedly prioritizes self-consumption, but in reality, it’s just ‘Trade Mode Lite.’ It still uses a rolling 48-hour forecast to decide that a 60% SOC is ‘enough’ and sells the rest.

The problem is that the system doesn’t account for the insurance value of a full battery. It doesn’t know that I might want to buffer energy for a cloudy day 3 days from now, or for a sudden spike in house loads that wasn’t in the forecast.

What we really need is a ‘Battery Priority’ mode (or an update to Green Mode) with these rules:

  1. Prioritize the ‘Bucket’: If SOC < 100%, every watt of excess solar goes to the battery. Period. No injection.

  2. Trade only the ‘Overflow’: Only when the battery hits 100% (or a user-defined ‘Target SOC’) should the system start looking at peak injection windows to sell the excess.

Currently, DESS acts like a day-trader trying to optimize for pennies today while leaving us exposed to grid costs tomorrow. My current manual workaround—limiting grid feed-in to 0W—is basically me manually forcing the ‘Battery Priority’ mode that should already exist.

@Victron — Please consider adding a ‘Storage First’ toggle or a slider to Green Mode that lets us prioritize a full battery over forecasted economic ‘efficiency.’ For many of us, energy security is the real ‘Green’ goal."

1 Like

Think alike. And the worst thing is that DESS is a bad trader after all. See picture below:

  • tonight at 4.00 he is ‘buying’ from the net for 0,21
  • at 07.00 and 08.00 he is ‘selling’ it back for 0,09

While SOC was around 50%, so not a case of being completely full.

Instead of saving, again this is costing money.

I got tired of the manual clicking and the ‘bad trades’ from DESS, so I’ve automated the ‘Battery Priority’ logic myself using Node-RED on my Cerbo GX.

I’m now forcing a 0W Grid Feed-in Limit until my battery actually has a safe buffer. This effectively fixes the ‘Green Mode’ issue where DESS injects AC-solar too early.

For anyone interested, here is the logic I’m using: I set a high threshold (90%) to open the gates and a lower one (85%) to close them (hysteresis) to prevent constant toggling.

// --- CONFIG ---
const SOC_FEED_ON  = 90; // Open the gates to export
const SOC_FEED_OFF = 85; // Close the gates to store

let soc = Number(msg.payload.SOC);
let currentGrid = Number(msg.payload.GridFeedIn);

if (isNaN(soc) || isNaN(currentGrid)) return null;

let desiredValue = currentGrid;

if (currentGrid === 0 && soc >= SOC_FEED_ON) {desiredValue = -1;}
else if (currentGrid === -1 && soc <= SOC_FEED_OFF) {desiredValue = 0;}

if (desiredValue === currentGrid) return null;

msg.payload = desiredValue;
msg.currentState = (desiredValue === -1)
    ? "High SOC detected: Disable Grid Feed In Limit."
    : "Low SOC detected: Enable Grid Feed In Limit.";

return msg;

This ensures that my AC-coupled solar must fill the battery first. Only once I have the security of a 90% SOC does the system get permission to start ‘trading’ or injecting.

That looks interesting, I’ll take a look at that.

This morning I was surprised to see my system draining the battery to the grid with about 6Kw. The setpoint was 50%, and the battery was about 53% charged. The solar panels started to deliver power but not enough to supply the demand of the house, so I certainly did not expect this.

I’ve only been using dess for a month now since I’ve got a dynamic energy contract, but I have not seen this behaviour before. And yes, dess is in green mode. I certainly do not want to trade.

An even better solution would be that Victron makes a “Feed In SOC” or “Trade SOC” so user can configure at what point grid feed in might be desired.
In the topic below Barbara (Victron Staff) has noted that they will put it back on our roadmap.

Below I’ve explained how i believe green mode should work in combination with this new “Feed In SOC”. All we now can do is hope that enough people think the same and Victron implements this ASAP.

Thank you very much @Pigmaster, much appreciated. Take a look into it. :ok_hand: