DESS: strange behavior 10 minutes before the hour

Hello all,

While monitoring my DESS setup (latest Cerbo release) I notice the system is behaving unexpected and strange just before the hour (10 min aprox.). The normal expected schedule seems to get overruled and the opposite is happening. In the graphs below an example of this, where it starts charging from grid at high price. Dumping back during the night while prices are low also feels funny.

Can someone explain what is happening here?


Having the same issue for a long time using DESS…
In my case for example target SOC is reached let say 10 minutes before the hour.

  • Main job of DESS was to charge the battery
  • 10 minutes before the hour charging is stopped.
  • And for the next 10 minutes consumption is pulled from the battery (discharging!?)
  • Next hour charging is started again
  • etc …

I have seen discharging scenarios as well.
Tried to change various parameters but could not find a way to solve this.

So you are not the only one.

Indeed @DutchSolarFreak ! This is funny behavior to say the least… My system was just (for the last 10min of the hour) consuming full-pull from the grid while prices are at their highest. It was not even using the battery (still at 40%) for my own consumption.
This must be some kind of DESS trigger that starts calculating every 10min before the hour if DESS is on track of what it was planning to do.

@dfaber Can you explain us what we are experiencing here, and/or if Victron is working on it?

@dognose

You seem to be into the nitty gritty details of DESS parameters. Do you know what is triggering the 10 minute-before-the-hour strategy changes? In almost all cases it’s behaving negatively during that period. TIA!

(btw: running trade-mode here)

About the same here, shedule says it shoud be x%, if charged more, it just dumps it the nexts hour l, instead of earning more the next day…

To now nobody knows a explanation or a way to solve it… is this still a problem because Dess is a bit new??

@Barbara can you help us understand the 10 min before hour behavior of DESS? TIA!

Please check your maximum charging and discharging power in the DESS configurations. Please do not enter theoretical values, but the actual power. I don’t know if it will solve your problem. It helped me with a similar problem

Did you dig a bit deeper into this ? For example look at strategy for the hour etc etc ? If Strategy or Restrictions end up being incorrect than the Cerbo is only doing what it is supposed to do.

If true, question remains why strategy = 1 for the given hour causing this behaviour. In my experience, this happens when VRM fails to do a forecast. Which again (in my case) was solved by Barbara “resetting” something for me in VRM. But I had this very often. No visible consumption forecast, system defaults back to ESS (strategy=1).

What do you mean by digging deeper? I’ve been with DESS for around 1.5 years now and have experienced some ups and downs. Just give it a try. I’ve seen several similar problems that are based on exactly that. If that’s not it, you can always keep looking for a solution. I could write a novel about why these parameters, maximum charge and discharge rate, are important. But to be honest, I’m just lacking the enthusiasm for it.

To add to this: DESS has been running for me since the beginning of October without me noticing any significant errors. Before that, I often intervened and monitored the system meticulously. But since then, it’s been running very well and life has become a little more boring :joy:

1 Like

Thanks for replying @Sarowe1990 @kudos50 !

I know DESS is dependent on the settings and in my case I use exact values for what my system can provide. For these kind of situations I expect DESS to honor certain guardrails, like never charging from battery when prices at at their highest and battery above xx%.
Anyway, spring is here and I will try to deepdive into the numbers while the issue reoccurs in an attempt to understand what is happening. Having said that, I know Victron is redesigning DESS which might result is better strategies in the near future.

What is important is not what the DASS can theoretically do, but what values ​​are actually implemented during loading and unloading

Indeed @Sarowe1990 !

I played around today with the maximum charge power settings and what my BMS allows for charging. Was able to get it tuned for the described behavior not to happen. I had to set the max charge power a little higher that what the battery actual takes with the aim not to reach the target SOC before the hour completes. In my case this was the main issue, also mentioned in:

Knowing this now, I think we can conclude this is tunable, but still somehow unreliable and tricky. Would like to see some safeguards programmed in DESS to prevent it from happening.

Yes, I also think that Victron could do some work on this aspect of the system in the long term. If the maximum charging power is set too high, the system starts too late and therefore does not reach its pre-calculated target. This means that the system often misses the optimal time to purchase. If the charging power is set too low and the actual charging power is higher, the system reaches the target Soc before the hour is up and this leads to the behavior mentioned above. It takes a bit of observation of the system to find the optimal setting. But if the set value is anywhere near realistic, it actually works quite well. Personally, I think there are still some more urgent areas to work on.

Same problem here, after 50 minutes target SOC is reached, and than sometimes the opposite happens.
E.g. current SOC 30 Target SOC 50, if after 50 minutes 50 is reached or sometimes a little overshoot, the inverter starts to deliver power back to the grid.
So instead of trying to maintain a certain SOC it should have the approach:

  1. “Go to (Charge) target SOC but do not discharge from battery!”
    And the other direction:
  2. “Go to (Discharge) target SOC but do not use from grid”
    In case 1 when target SOC is reached, the rest of the hour it will get its power from the grid (price is low on the grid)
    In case 2 when target SOC is reached, the rest of the hour it will get its power from the battery (price is high on the grid)

Again…set your parameters accurately. Especially the maximum charge and discharge rates. If in doubt, set them a little higher, so the DESS calculates with this higher charge rate and doesn’t reach the target too early. On the other hand, if you set the charge power too high, the system will start charging or discharging too late, thus missing favorable buying or selling times. Monitor your actual charge and discharge power and adjust your values; then the schedules and target SOCs will also adjust.

It has nothing to do with setting parameters right.
DESS is programmed in a way that it does those strange things.

It should be an easy fix for Victron to change the code so that after it finishes charging or discharging, it directly changes back to normal operation, instead of waiting till the hour is over and then go back to normal operation.

I know the problems, otherwise I wouldn’t have responded at all. I had exactly the same problems with the purchase until I started looking into the problem more closely. I just wanted to help, but if you think you know better… please do.

Well, you said: “If in doubt, set them a little higher, so the DESS calculates with this higher charge rate and doesn’t reach the target too early”.

That is not how it works, at least not for me.
The system can never exactly export or import the amount of energy needed in exactly one hour, you always have a discrepancy of some minutes.
Especially in the last hour it can be off by a lot, because it needs only a little bit of energy exported or imported to get the SOC it wants to reach.

That is why i said, if Victron changes the code from DESS to after reaching desired SOC, continue with normal operation, then it would work perfectly.

We wrote pages about it last year. It doesn’t seem to be as easy as you’d imagine. I spent quite a bit of time with it last fall and found the right settings for my system. Since then, it’s worked almost perfectly. That’s precisely why I’m sharing my tip.