PLATFORM / 04 · BESS OPTIMIZATION & EMS

BESS optimization. Stack four revenue streams.

DYNVOLT is the BESS optimization software — and the EMS — for utility-scale battery storage. One platform dispatches across day-ahead arbitrage, intraday, aFRR, FCR, and imbalance, co-optimized on every cycle and grid-code compliant out of the box.

+34%
Revenue uplift vs. arbitrage-only
4
Stacked revenue streams
<50ms
aFRR signal response (bidirectional)
99.2%
aFRR availability
ALSO KNOWN ASBESS EMS·Battery EMS·Battery dispatch optimizer·Battery trading platform·Energy management system
WHAT IS BESS OPTIMIZATION?

The software layer that decides when the battery charges, discharges, or stays still.

A battery without an optimizer is a parked asset. BESS optimization is the dispatch software that decides — every minute, against live prices, forecasts, and constraints — which revenue stream the battery should serve right now: arbitrage, intraday, balancing reserves, or imbalance settlement. The optimizer is where utility-scale battery storage stops being a capital expense and starts being a yield engine.

¹

Predicts

Ingests price forecasts (day-ahead, intraday, imbalance) and co-located generation forecasts (PV production, wind, demand) on a rolling horizon.

²

Decides

Solves a constrained optimization problem — maximize revenue subject to state-of-charge, cycle budget, thermal envelope, and grid-code limits.

³

Dispatches

Issues setpoints to the PCS, sub-second for aFRR signals, on the trading cadence for energy markets. Logs every decision with the inputs that drove it.

DYNVOLT AS YOUR BESS EMS

The energy management system that pays for itself.

DYNVOLT sits exactly where every utility-scale BESS needs an EMS: above the PCS, below the trading desk. It owns the dispatch decision, enforces the warranty envelope, and routes ancillary-service bids — the things a generic site controller cannot do because it has no view of the market.

PCS setpoint dispatch

Active and reactive power setpoints to the PCS over Modbus TCP, IEC 61850, or OPC-UA — sub-50ms on the fast loop for activated aFRR, 15-min for energy markets. The PCS executes inside the BMS-defined safety envelope; DYNVOLT never overrides safety.

Ancillary-services bidding

aFRR, FCR, mFRR — capacity bids submitted to the TSO platform on the local schedule, with availability and ramp-rate constraints from the actual battery state, not from a static sheet.

🛡

Grid-code enforcement

Voltage and frequency ride-through, reactive support curves, ramp-rate caps. Configured per-zone, enforced at the edge, audit-logged.

Warranty envelope

Cycle limits, DoD windows, thermal derating, calendar-aging guards. The optimizer literally cannot schedule a dispatch that breaches the envelope the asset owner defines.

🔗

PV+BESS co-optimization

One dispatch model across the co-located solar plant and the battery — clipping recovery, ramp-smoothing, curtailment hedging, and self-consumption solved together.

REVENUE STACKING

Four streams. One battery.

Most operators pick one or two. DYNVOLT sequences four — a co-optimized BESS dispatch plan that respects state-of-charge, cycle limits, and grid-code obligations.

  • A
    Day-ahead arbitrage — charge cheap, discharge dear, on the SDAC schedule.
  • B
    Intraday continuous — capture price moves between gate closure and delivery.
  • C
    aFRR / FCR — bid into balancing reserves with capacity-aware availability.
  • D
    Imbalance hedge — short-cycle BESS into imbalance settlement spreads.
bess · dispatch plan · 24h
DYNVOLT BESS optimization software dashboard — 7.2 MWh storage fleet with arbitrage window, state-of-charge curve, three battery-string units (BESS-Alpha, BESS-Beta, BESS-Gamma), and projected revenue overlay
REVENUE BENCHMARKS · €/MW/YEAR

What four streams actually pay.

Day-ahead arbitrage
€7.6k–11.8k
SPOT · single market
+ Intraday continuous
€14.5k
SPOT · DA + ID combined
FCR
up to €9.4k
FREQUENCY · symmetric
aFRR negative
€11.4k
RESERVE · capacity
aFRR positive
€21.5k
RESERVE · capacity
Stacked aFRR + spot
€16.5k+
CO-OPTIMIZED

Indicative ranges from European ENTSO-E zones, 2025 trailing data. Actual capture depends on zone, market regime, and battery duration. Price-forecast accuracy is the multiplier on every line.

LIFECYCLE-AWARE

Cycles cost money. We count them.

The BESS optimizer is only as good as its cost model. DYNVOLT prices every cycle against augmentation, calendar aging, and the warranty envelope — so the dispatch engine never burns lifetime on a negative-margin trade.

σ

SoH-aware dispatch.

DYNVOLT models cell degradation as a real cost on every cycle. Only trades whose price spread beats the cycle cost get scheduled.

Per-rack control.

Balance SoC across racks. Rotate cycle wear evenly across the fleet.

T

Thermal- & warranty-aware

Derate dispatch on hot days and enforce the warranty envelope the asset owner defines — cycle, thermal, and depth-of-discharge limits, never breached.

!

Grid-code safe

Reactive support, ramp-rate limits, voltage ride-through.

$

Audit trail

Every dispatch decision is logged with the price and forecast that drove it.

BESS OPTIMIZATION · APPROACHES COMPARED

Three ways to dispatch a battery. Only one stacks four revenue streams.

Most BESS projects ship with a generic EMS or run a rules-based arbitrage loop. Both leave money on the table. Co-optimization across all four streams is what separates a utility-scale battery from a parked one.

CapabilityGeneric EMSArbitrage-only optimizerDYNVOLT co-optimization
Day-ahead arbitrage
Intraday continuous tradingpartial
aFRR / FCR ancillary services
Imbalance settlement hedging
Cycle-cost & SoH-awarepartial
PV + BESS co-optimization
Grid-code & warranty envelopepartial
Dispatch-decision audit trail

Want the deeper buyer's guide? Read the BMS · PCS · EMS · BESS buyer's guide →

Stack four revenue streams. Run one BESS optimization platform.

Request a demoSee architecture →
FAQ

BESS optimization — frequently asked

Can't find what you're looking for? Talk to our team →

Is DYNVOLT a BESS EMS?
Yes — DYNVOLT is the EMS (energy management system) for utility-scale battery storage, and it is also the optimization and trading layer that most standalone EMS products are missing. It sits exactly where every BESS needs an EMS: above the PCS, below the trading desk. It owns the dispatch decision, writes the active and reactive setpoints to the PCS over Modbus TCP / IEC 61850 / OPC-UA, enforces the warranty envelope, routes ancillary-service bids to the TSO platform, and never overrides the BMS safety layer. The difference from a generic EMS is co-optimization: DYNVOLT solves day-ahead arbitrage, intraday, aFRR, FCR, imbalance, and PV co-location in one model rather than as separate rules-based loops.
What is BESS optimization?
BESS optimization is the dispatch software layer that decides — every minute, against live prices, forecasts, and constraints — which revenue stream a utility-scale battery should serve right now: day-ahead arbitrage, intraday, balancing reserves (aFRR / FCR / mFRR), imbalance settlement, or capacity markets. A serious optimizer co-optimizes across all of these simultaneously rather than running each as a separate rules-based loop, and prices every cycle against augmentation, calendar aging, and the warranty envelope so the engine never burns lifetime on a negative-margin trade.
What revenue streams does DYNVOLT optimize?
Energy arbitrage (day-ahead and intraday continuous), FCR, aFRR, mFRR, capacity markets, imbalance settlement, and behind-the-meter peak shaving — co-optimized in a single dispatch model that respects state-of-charge, cycle budget, thermal envelope, and grid-code limits.
Is the optimizer cycle-cost aware?
Yes. Augmentation cost, calendar aging, and the warranty envelope (cycle, thermal, and depth-of-discharge limits) feed into every dispatch decision so the optimizer never schedules a trade whose price spread fails to beat the cycle cost.
How is DYNVOLT different from a generic EMS or an arbitrage-only optimizer?
A generic EMS dispatches against rules — it doesn't see prices or forecasts. An arbitrage-only optimizer captures day-ahead spreads but ignores balancing reserves, imbalance, and co-located solar. DYNVOLT solves the full revenue-stacking problem in one mixed-integer optimization, which is where the +30% revenue uplift versus arbitrage-only comes from.
Can it co-optimize with co-located solar?
Yes — PV+BESS co-optimization is a first-class feature. Clipping recovery, ramp-rate compliance, curtailment hedging, and self-consumption are dispatched against a single envelope across PV and storage rather than as separate workflows.
Which BMS / EMS / PCS systems are supported?
Sungrow, BYD, CATL, Tesla Megapack, Fluence, Wärtsilä, Powin, and Sineng natively. For anything else: IEC 61850 (MMS / GOOSE), OPC-UA, Modbus TCP, and Sunspec. The platform writes setpoints to the PCS — it does not replace the BMS.
How fast is the aFRR signal response?
Bidirectional under 50 ms, with 99.2% availability on production deployments. The fast-loop control runs at the edge so the PCS receives setpoints on the millisecond cadence ENTSO-E requires for activated aFRR capacity.
Do you provide an audit trail for dispatch decisions?
Every dispatch decision is logged with the price forecast, production forecast, state-of-charge, cycle-cost estimate, and grid-code constraints that drove it. Compliance teams, lenders, and warranty insurers can reconstruct any cycle on demand.