Battery Storage (BESS) and Smart Charging

How Stekker integrates battery energy storage systems (BESS) with smart charging — optimization strategies, technical requirements and site-level coordination.

What does Stekker do with your battery?

Stekker integrates your Battery Energy Storage System (BESS) into the same energy management system that controls your charge points. Rather than treating your battery as a standalone system, Stekker optimizes the battery as part of your entire site — charge points, solar panels, other loads and the grid connection are all taken into account together.

Stekker controls your battery across four dimensions:

  • Price arbitrage — charging the battery when energy prices are low, discharging when prices are high. Stekker uses real-time wholesale market prices (day-ahead and imbalance) to maximize the financial return of each charge cycle.
  • Peak shaving — your grid connection has a maximum capacity (the fuse limit). When EV charging or other loads push consumption toward that limit, the battery can discharge to keep total power within bounds. This prevents costly capacity overruns.
  • Solar self-consumption — when your solar panels produce more than your site consumes, Stekker stores the surplus in the battery for later use. This reduces feed-in to the grid and increases the value of your solar investment.
  • Coordinated optimization — the battery and all charge points are scheduled together. The system does not optimize the battery first and then fit charging sessions around it — it finds the best combined solution for all assets simultaneously.

Optimization strategies

Stekker offers three planning strategies for your BESS. The right choice depends on your site configuration and objectives.

Cash optimized

Maximizes financial return by trading on energy price differences. The planner uses a linear programming solver (GLPK) to find the optimal charge and discharge schedule over a rolling 24-hour window. It takes into account:

  • Day-ahead market prices per quarter-hour
  • Round-trip efficiency losses — trades are only made when the price difference exceeds the energy loss in a charge-discharge cycle
  • Charge limits — never charges above the configured maximum or discharges below the minimum
  • Grid connection capacity — respects your fuse limit when scheduling battery power
  • Continuity bias — avoids unnecessary switching between charging and discharging when the financial benefit is marginal

This strategy works best for sites with significant battery capacity relative to their base load, and a grid connection on a dynamic energy contract.

Solar optimized

Maximizes self-consumption of your solar production. Stekker uses solar panel production forecasts from your site sensor to determine the optimal charging window. The planner:

  • Identifies production periods (when the site exports to the grid) and consumption periods (when the site imports)
  • Concentrates charging around peak production hours for maximum capture
  • Schedules discharge during consumption periods to reduce grid import
  • Accounts for one-way efficiency — stored energy is less than consumed energy, so the planner factors in conversion losses

Ideal for sites with significant solar capacity where feed-in tariffs are low or where maximizing self-sufficiency is the goal.

Winter optimized

A seasonal strategy designed for periods with limited solar production. Instead of relying on forecasts (which can be unreliable in winter), this planner uses a deterministic approach based on the solar noon point:

  • Calculates the true solar noon for your location with longitude correction and the equation of time
  • Schedules a 4-hour charging window around solar noon — the period with the highest likelihood of solar production
  • Discharges during morning and evening peak consumption hours
  • Includes rest periods (25 minutes before and 55 minutes after charging) to prevent unnecessary switching of power direction

This strategy ensures the battery contributes even when accurate solar forecasts are unavailable.

Technical specifications

To integrate your BESS, Stekker needs the following parameters of your battery system. These are configured once during onboarding and can be updated when your system changes.

Parameter Unit Description
Capacity kWh Total usable energy capacity of the battery system
Max charge power kW Maximum power the battery can absorb from the grid
Max discharge power kW Maximum power the battery can deliver to the site
Round-trip efficiency % Percentage of energy retained after a full charge-discharge cycle (typical: 85%–95%). Stekker calculates the one-way efficiency as the square root of this value to account for losses in both directions.
Minimum state of charge % SoC floor — the planner will not discharge below this level. Protects battery lifespan.
Maximum state of charge % SoC ceiling — the planner will not charge above this level. Prevents overcharging.

The effective usable range of your battery is determined by the minimum and maximum SoC settings. For example: a 100 kWh battery with SoC limits of 10% and 90% has an effective usable capacity of 80 kWh.

Integration with EV charging

The battery is registered as a topology node in the same site network as your charge points, solar panels and other loads. This means the energy management system treats the battery as a full participant when optimizing your site.

In practice, this enables several powerful scenarios:

  • Load balancing — when multiple EVs are charging simultaneously and approaching the grid connection limit, the battery can discharge to create additional headroom. This makes it possible to charge more vehicles at higher power without exceeding your contracted capacity.
  • Solar-to-EV — solar surplus flows to the battery, which later discharges to charge EVs during the evening hours. The entire chain is optimized together, not sequentially.
  • Price-aware coordination — the planner weighs both EV charging needs (departure times, energy requirements) and battery trading opportunities. An EV charging deadline is never sacrificed for marginal battery revenue.

The tree-based planner (Engine v4) solves this multi-asset optimization problem with constraint programming. It models the full site topology — from grid connection through distribution points to individual charge points and batteries — and finds a globally optimal schedule that respects all physical constraints.

S2 protocol

Battery systems can communicate with Stekker via the S2 protocol (EN 50491-12-2), an open European standard for energy flexibility management. In this architecture:

  • Stekker is the Customer Energy Manager (CEM) — receives flexibility information from the battery and sends control signals back
  • The battery is the Resource Manager (RM) — reports its capabilities (capacity, power limits, current state of charge) and executes the CEM’s instructions

The S2 protocol guarantees vendor-independent communication. Any BESS that implements S2 can integrate with Stekker without custom development. The protocol supports real-time status updates, so Stekker always has a current view of your battery status for planning.

For battery systems that do not support S2, Stekker can also integrate via vendor-specific APIs. Contact us to discuss your specific system.