Skip to main content

How to configure Solar-Only Optimization Without Market Trading?

This article explains how to set up a Digital Twin simulation that isolates solar self-consumption optimization, with no EPEX market trading or dynamic price arbitrage.

Written by Jeroen Pleunis

When to use solar-only optimization

There are situations where you want to understand the value of PV and battery storage independently of market dynamics:

  • Building a conservative business case based solely on self-consumption and peak shaving

  • Presenting a baseline scenario to a client before showing the incremental uplift from EPEX trading

  • Validating battery sizing and PV yield without the complexity of dynamic pricing

  • Isolating the effect of peak shaving on grid connection costs

Running a solar-only simulation first gives you a clean foundation to compare against a full market optimization scenario.

How Alice makes charging decisions

Alice (the Tibo EMS) optimizes battery charging and discharging based on the financial signals it receives. When a dynamic energy contract is active, Alice sees real-time or day-ahead EPEX prices and will charge the battery from the grid during low-price hours — even when PV generation is available — because that can be more profitable.

This is the correct behavior for full market optimization, but it means Alice will not behave as a pure solar self-consumption system. To get solar-only behavior in a simulation, you need to remove the financial incentive to charge from the grid.

The battery surcharge threshold

Tibo applies a default battery surcharge of 7 ct/kWh in the background to account for battery degradation. This cost is added to every kWh routed through the BESS — both charging and discharging.

This threshold has a direct effect on how Alice decides between grid import and battery use:

  • If the grid import price is below 7 ct/kWh, Alice will prefer to import directly from the grid rather than store PV energy and discharge it later, because the surcharge makes the battery route more expensive

  • If the grid import price is above 7 ct/kWh, Alice will prefer PV — both direct consumption and PV stored via the BESS — over grid import

Understanding this threshold is essential when configuring a fixed contract for solar-only optimization.

Configuring a fixed energy contract to enforce solar-only behavior

The primary way to prevent grid-based charging and enforce solar self-consumption is to replace the dynamic energy contract with a fixed-price contract in the simulation settings. The fixed import price must be set above 7 ct/kWh so that Alice always prefers PV over grid import.

  1. Open the simulation settings
    Navigate to your Digital Twin simulation and open the Settings panel. Locate the Energy Contracts section.

  2. Replace the dynamic contract with a fixed contract
    Select the option to use a fixed energy contract instead of a dynamic (EPEX-linked) contract. This removes the variable price signal that drives grid charging behavior.

  3. Set the fixed import price above 7 ct/kWh
    Enter a fixed import price that exceeds the 7 ct/kWh battery surcharge threshold. Example: setting the price to 12 ct/kWh ensures that importing from the grid is always more expensive than using stored PV energy, so Alice will consistently prefer the solar route.

  4. Set the export price
    Configure the feed-in tariff to reflect your actual or assumed export price. This affects how Alice values surplus PV that cannot be stored or self-consumed.

  5. Save and run the simulation
    Apply the contract settings and run the simulation. Alice will now optimize purely for solar self-consumption and peak shaving, with no incentive to charge from the grid.

Optional — adding a peak shaving margin

If peak shaving is part of your use case, you can configure a safety margin on the main grid connection in addition to the fixed contract. This tells Alice to keep grid import below a defined threshold regardless of price signals.

  • Find the Main Connection or Grid Connection settings in the simulation

  • Set a margin below your GTV (contracted capacity) — Alice will target a maximum grid import equal to the GTV minus the margin

  • Example: GTV = 160 kW, margin = 20 kW → Alice targets a maximum of 140 kW peak import

The right margin depends on your specific load profile and PV generation curve. Start with a reasonable estimate and adjust after reviewing the simulation results — some experimentation is normal.

Running a two-scenario comparison

For client-facing analysis, it is good practice to run two simulations and compare them side by side:

  • Scenario 1 — Solar-only (fixed contract): Configured as described in this article. Shows the value of self-consumption and peak shaving alone. Best for: establishing a conservative baseline.

  • Scenario 2 — Full EMS (dynamic contract): Uses the actual or expected EPEX-linked contract. Alice optimizes across self-consumption, peak shaving, and market arbitrage. Best for: showing the total system value.

The difference between the two scenarios quantifies the incremental value of market trading, which is often a useful data point for investment decisions or contract negotiations.

Did this answer your question?