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.
Open the simulation settings
Navigate to your Digital Twin simulation and open the Settings panel. Locate the Energy Contracts section.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.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.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.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.
