A grid-scale battery is only as good as the software that operates it. The BESS Optimizer connects to any battery — vendor-agnostic, down to the individual register — forecasts the market, decides the safest profitable set-points, and learns from every cycle. This page walks the whole chain, A to Z.
Each step feeds the next. The last step feeds back into the first — the engine gets better at operating your specific battery the longer it runs.
Day-ahead and intraday prices, demand, weather and grid state are ingested continuously as the raw inputs to every decision.
We forecast where prices and demand are heading over the relevant horizon, so dispatch is planned against tomorrow, not just measured against today.
The optimiser turns those forecasts into a charge/discharge plan that maximises value while respecting grid limits, the SLA and the battery's own constraints.
The plan is written to real hardware at register level — any EMS or PCS — and presented to the control centre as one clean, standardised feed.
What the battery actually did — power, state of charge, temperatures, state of health — is read back and compared against the plan.
The gap between plan and reality updates the model. Each battery's quirks are absorbed, so the next cycle is operated better than the last.
Six capabilities that together turn a battery into a managed, revenue-generating grid asset.
Vendor-agnostic Modbus/SunSpec register-level control of any EMS or PCS. We map the full register set of a grid-scale BESS EMS — on the order of ~2,000 registers per unit, verified on the REPT BATTERO EMS — and present one clean feed to a utility control centre (e.g. IEC 60870-5-104).
Day-ahead and intraday forecasting of prices and demand, so dispatch decisions are made against where the market is going — not where it has been.
Forecasts are converted into safe charge/discharge set-points that stay inside grid limits and SLA obligations at all times. Profit never overrides the safe operating envelope.
Beyond energy arbitrage: frequency containment and fast response (FCR/FFR), frequency support and capacity services — the products a utility actually pays a battery to provide.
Every dispatch decision accounts for state of health and LFP cycle life. The optimiser trades a little present revenue against long-term capacity when that protects the asset's lifetime value.
The engine learns each individual battery. Measured behaviour feeds back into the model, so operation is tuned to the real hardware rather than a generic datasheet.
Connecting a battery normally means weeks of manual integration engineering per vendor — reading register maps, mapping units, building the control feed by hand. Our computational-engineering framework (a "LEAP71 / Noyron"-style core) automates that work. That is the moat: no general-purpose AI model — OpenAI, DeepSeek or otherwise — performs vendor-agnostic, register-level integration. Hardware vendors do it only for their own captive equipment. The BESS Optimizer does it across the fleet.
The optimisation engine is built on Stromfee's operating pedigree across roughly 50 sites and about 72 MW. The register-level connectivity claim is verified on one case — the REPT BATTERO EMS, mapped end to end. It is not yet verified on every vendor. We state this plainly: a proven method on one EMS, a forecasting and dispatch engine with real operating history, and an integration framework designed to extend to the rest.
The BESS Optimizer is the engine. Around it sits the rest of the Stromfee world: the concepts, the connectivity catalogue and the live tools you can try right now.
Tell us the vendor and the site. We will tell you honestly what connects today and what we would verify first.