The meaning of the static strategy stored within a schedule window is explained here:
But there also is a new reactive strategy now which is more fine-grained than this and determines how the system dynamically reacts to the combination of static schedule and actual live data:
Many thanks! But the comments behind the line items are not as self-explanatory as I had hoped And the reactive strategy you have found is currently not available on dbus I think.
Hopefully someday soon documentation will be updated so I can better understand the intention. Being a mixed AC-PV / DC-PV user I have lots of DESS decisions I disagree with. Tuning the decisions with node-red works, but are not always easy as schedule and target soc are only updated hourly.
So I am very anxious to find out how these new plans will effect DESS.
And what I can say so far is that the new DESS algorithm works much better than before because it will adapt better to forecast errors and also waste less energy to the grid.
Thanks for that. It would still be a very big help if @dfaber can post draft documentation as without the knowledge above, DESS is behaving very strange.
In the Netherlands we mostly run in trade mode with buy-price=sell-price. This makes the pricing equally important to green mode but the forecast is not very interesting. You either buy or sell and along with it, you charge PV or sell PV. No self consumption ever. No regular ESS.
I noticed last saturday morning and this afternoon that the reactivestrategy was set to values 4 and 13. As a result the system started to charge the battery with PV only to unload it to grid the next hour. But prices were high with only a 5 cent difference. With battery costs set to 4 cents and efficiency to 80% this behaviour results in almost 20% energy losses.
Without the new reactive feature, PV would feed in which is the most economical decision.
@dfaber Upgraded to ~66 and the result is the same as before in trade mode:
system uses DC PV to charge out of the low-soc condition
post low-sec, it continues to charge both AC PV and DC PV to battery (probattery, selfconsume_accept_charge), far from optimal considering pricing
on the hour it dumps the charged energy back to grid till low-soc is reached
The hour after that, by now the morning is well underway:
system uses DC PV to charge out of the low-soc condition
post low-sec, it starts dumping everything back to grid (progrid, scheduled_minimum_discharge). Again, far from optimal considering pricing
I created a flow in the early DESS days to ensure DC-PV is always stored in battery by using a dynamic grid feed-in value based on consumption. Backed by a flow to determine DESS buy and sell plans to disable this functionality.
The side effect of this flow is that it luckily also resolves the grid dump once the system has charged out of low-soc.
I guess I will turn it back on as the reactivestrategy functionality seems to be primarily designed for green mode. Is there any chance you can share some documentation or post what you want beta testers to test ? I can imagine more beta testers in trade mode not fancying the rather costly effect of running this beta.
I use trade mode and have not been able to figure it out yet. From what I have been reading it’s only related to green mode. To fix VRM forecast deficiencies using logic on the Cerbo itself.
For example, forecast says solar delivers 2kWh between 14:00 and 15:00 resulting in SoC increase of 10%. Consumption forecast was correct but solar forecast was incorrect. So target SoC is reached too soon at 14:30 and the sun is still shining.
With DESS, the remaining (probably another 2kWh) solar will feed in to grid. Whereas the correct solution is to continue charging the battery to prevent feed in, possibly having to buy it back later.
The new reactive strategy fixes this locally on the Cerbo. I think…
I’ve been tracking the settings since last weekend.
While I still don’t understand exactly what are the two new strategies, the reactive strategies bring what seems to be a “timely” strategy approach - bringing to the next question: what’s the interest of the “strategy” value ?
Right now the reactive strategy shown surprising reactions, such as changing 3 times its status in a 15 seconds timeframe. We’ll see over time.
The strategy is basically an information on how to “behave” within a certain 15 minute window.
The reactive strategy is what the gx decides to do, to achieve the best possible strategy fullfillment without violating any of the window constraints provided.
It will monitor local solar, consumption, grid and battery values, and as any of these values change, another reactive strategy may be more suitable to achieve the intendet goal.
For example, when the advice is to charge 5% SoC, there may be different reactions based on all parameters available:
If consumption is above solar, but pulling from grid is allowed, fine, charge a bit from grid to reach the goal.
If pulling from grid is restricted for that window, idling is the best to stay close to target soc.
but the charge advice may be “less strict”, even allowing to drive loads during that moment.
If solar is above consumption, battery can be charged using solar.
If solar is WAY over the required chargerate, the advice could either be to increase the battery charge rate - or keep it at X and feedin a bit.
All of this may happen within seconds, leading to a different reactive strategy for a few seconds.
Basically the “strategy” is a very compact if-then-else-instruction, and the reactive strategy is the gx following that constraints by continiously monitoring local values.