# Time-of-Use Controller Fails to Recharge ESS After Reserve Limit

**URL:** <https://community.openems.io/t/time-of-use-controller-fails-to-recharge-ess-after-reserve-limit/10830>\
**Category:** English Forum\
**Created:** [April 27, 2026, 2:55pm UTC](https://community.openems.io/t/time-of-use-controller-fails-to-recharge-ess-after-reserve-limit/10830 "2026-04-27T14:55:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![HamzaElyaakoubi](https://community.openems.io/user_avatar/community.openems.io/hamzaelyaakoubi/32/2350_2.png) [@HamzaElyaakoubi](https://community.openems.io/u/HamzaElyaakoubi)\
**Post date:** [April 27, 2026, 2:55pm UTC](https://community.openems.io/t/time-of-use-controller-fails-to-recharge-ess-after-reserve-limit/10830/1 "2026-04-27T14:55:01Z")

</div>

Hello Community,

I’ve been using a time-of-use controller to optimize energy usage and costs under a static pricing scheme with Octopus. However, I’ve encountered an issue where the controller seems to get stuck in self-consumption optimization mode, effectively handing over control of the ESS to the balancing with a target of 20 kW.

As a result, the system continuously discharges the ESS until it reaches the configured health reserve limit (10%). Once this threshold is reached, the time-of-use controller does not schedule any grid charging to replenish the ESS, leaving it in a persistently discharged state.

My goal is for the controller to actively manage the ESS based on its forecasting and cost-optimization logic, rather than remaining inactive after hitting the reserve limit.

Has anyone experienced similar behavior or found a way to ensure the controller resumes grid charging and maintains proper optimization after reaching the reserve threshold?

 ![image](https://community.openems.io/uploads/default/original/2X/2/2dc7de51f116f68402911b8512e7fac4aaf1272b.png)

---

<div class="post-metadata">

**Author:** ![stefan.feilmeier](https://community.openems.io/user_avatar/community.openems.io/stefan.feilmeier/32/2585_2.png) [@stefan.feilmeier](https://community.openems.io/u/stefan.feilmeier)\
**Post date:** [July 12, 2026, 7:17pm UTC](https://community.openems.io/t/time-of-use-controller-fails-to-recharge-ess-after-reserve-limit/10830/2 "2026-07-12T19:17:59Z")

</div>

Hi @HamzaElyaakoubi . Sorry for the late response. Does this happen with [EnergyScheduler](https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.energy/src/io/openems/edge/energy/Config.java#L22) `V1_ESS_ONLY` or `V2_ENERGY_SCHEDULABLE`?
