DESS slowly discharging battery when scheduled to keep target SOC flat

Hi there,

We’re seeing some interesting behavior with DESS, and wanted to seek feedback on whether this is expected, or an issue in our configuration.

Specifically, when the system is scheduled for “Grid to consumption”, we’re (a) correctly seeing consumption from grid, but (b) also seeing a consistent 400-700W discharge from the batteries. Is this latter behavior expected?

From the graphs below, you can see this discharge behavior causes SOC to slowly decline ~10% overnight, Going into the night, the target SOC projections were to keep the SOC flat (which can be seen in the remaining projections shown).

My underlying assumption is the system is trying to match “grid” use with “AC loads”, and invert just enough to make up for the idle consumption / losses of the Quattros. Though I’m surprised these aren’t accounted for in the target SOC projections.




Some details on the system below.

We have 4x 10k 120v Quattros, in a 2x2 split-phase configuration:

  • Grid connected to “AC Input 1”, with all loads on the “AC Output 1”
  • AC-coupled PV on the load-side of the system, monitored by a Victron VM-3P75CT meter
  • 60kWh of Discover AES batteries, with a communicating Lynk II BMS (on latest firmwares)
  • Cerbo GX on Venus Large v3.54
  • Quattros on firmware v555, with the latest ESS assistant installed

We’ve successfully tested standalone ESS for the past few weeks with a grid setpoint of zero watts (i.e., the system stores all excess PV and then discharges during low PV / evenings until the min SOC is reached – with minimal export/import in the meantime). Importantly, once min SOC is reached, the batteries idle around +/- 1 amp (so overnight, the batteries remain around the min SOC +/- 1 to 3%)

Our utility provider has a peak / off-peak pricing scheme, so we’re testing DESS in Green mode, with a fixed tariff schedule.

  • In DESS settings, we’ve inputted the max discharge rate of the batteries (per what we’re seeing reported by the BMS), and max charge rate (per what we’ve set in DVCC). Maximum Power Import is set to 48kW (200A grid connection).
  • We’ve also set the DESS system efficiency to 75% via Node Red.

I believe this slow discharge behavior will have some interesting effects today. The system is currently set with a min SOC of 40%. Yesterday was a high PV production day, and today will be a low production day.

Yesterday evening, the DESS projected (a) there was sufficient battery energy available to schedule a short discharge prior to midnight, which would still reserve enough battery energy to last into today (such that the SOC would reach the min SOC of 40% after the on-peak period ends today). Between midnight and the morning, the system was scheduled to keep the target SOC flat. All makes sense.

In reality, the target SOC slowly drifted downwards overnight given the slow discharge behavior noted in the original post. So now we’re seeing a grid charge scheduled prior to on-peak hours today.

While DESS did correct itself to avoid on-peak consumption, it seems it would have been more efficiency to either (a) account for the slow discharge overnight, or (b) modify how the system behaves at the “target SOC”, so that it draws energy needed to self-power from the grid rather than battery (similar to when the system hits min SOC).

Of course, it’s possible the projections changed as well — though I believe the slow overnight discharge would also contribute to the need for a grid charge before the on-peak period today.

Since the original post, we’ve also upgraded the Quattros to v556 and the Cerbo to v3.60~47




Can this be related: Since yesterday's daylight saving change, DESS drops SoC target to 0% between 6 and 7
And you might find it helpful to monitor for ‘Soc target for currently active operation’ in your graphs.

Another example of slightly non optimal behavior due to DESS not accounting for the ~400W needed to power the 4x Quattros. Min SOC is set at 20%, and we can see the system intended to keep SOC flat overnight but the slow power draw from the Quattros ended up causing a large charge before peak hours. Consumption ended up being a little higher than planned, and PV a little lower than planned, so the system ended up passing power from the grid on peak hours.

@dognose would it be possible add an input to the DESS settings where we can enter the power needed to just keep the Victron system active? This obviously differs depending on the system size, but the power draw is fairly constant. It would be awesome if this input could be used in the projections.




Yes, the inverters are taking their power from the DC-Side. So, even if DESS schedules for a 0 Watt being used for consumption, the inverters will need their power to operate. Else the system would shut down.

DESS is trying to avoid a recharge by continuously lowering the target soc required to idle - but when the soc drops bellow the systems minimum soc, underlaying ESS-mechanics will kick in to charge a certain amount in order to keep the system operational. This ofc. happens based on needs and is totally unaware about prices and/or other load-situations.

The only situation, where a charge would happen above minimum soc is when the soc drops 2% before DESS lowered the idle-soc value. With 400 Watts continuous consumption, that might be a short time to react for the scheduler. In that case, the maximum amount charged will be 2% soc. So depending on your battery size that is some cents.

There are changes to come which might mitigate this effect, so eventually there is no action needed.

1 Like

Thanks for the reply @dognose - very much appreciate it. This all makes sense. Will the “changes to come” also allow the DESS schedules to account for the power draw of the inverters?

When DESS is operating near the minimum SOC threshold on days with low PV production, the system quite often ends up hitting the threshold too early in the day (due to the 400W continuous consumption which the DESS schedule didn’t account for in the morning/the day before).

Given the simple on-peak/off-peak price schedule for my utility, this often ends up forcing the system to draw power from the grid “too early” in the day (during on-peak hours).

P.S. I’ve also seen the charging behavior you mention regarding the 2% threshold around the idle-SOC value. We have a 60kWh battery bank, and our consumption / PV forecasts are fairly accurate — though the 400W continuous draw does cause brief charges throughout the day. Happy to hear this is on the roadmap. You’re right though, these charges don’t cost much — so this behavior is less bothersome.

@dognose @dfaber here’s another example of non-optimal performance caused by the DESS scheduler not projecting the ~400W continuous power draw of the inverters (Friday April 11)

VRM did a good job at projecting PV production and consumption for the day.

When the day started, the system was projecting an ending SOC of ~30-35% (sorry, I forgot the exact number). The DESS schedule showed no grid consumption between 12:00 through 20:00 (peak hours).

Unfortunately, the ~400W inverter power draw contributed to a revised DESS schedule in the afternoon, resulting in grid consumption between 16:00 through 20:00 (half of the peak hour period).

In the screenshots below, taken at the end of day, it can be seen the system reached the min SOC of 20% by 20:00 (due to the revised DESS schedules, impacted by the ~400W power draw of the inverters).

I believe the optimal performance would have been to schedule a short charge at 11:00, prior to the peak period — charging enough to last from 12:00 to 20:00 without gird consumption.

During the spring / summer period, this shouldn’t be a big deal - but during fall / winter, I can see this causing significant issues. Can this be addressed in a future update of the scheduler?

Thanks very much