Skip to content

Peak Shaving Strategies: Options for Feed-in Management and Battery Overshoot Prevention #271

@MaStr

Description

@MaStr

Peak Shaving: Feature Enhancement

Context

This issue covers the implementation of advanced peak shaving strategies, building on the discussion from Issue #39 regarding battery and grid limitations. This will use the function "limited battery charging" (see PR #260 ), which allows granular management of battery SoC and grid feed-in.

Options for Peak Shaving

In the context of dynamic grid pricing and battery management, we need to discuss and implement two main peak shaving options:

  1. Avoid Feed-in Below Price Threshold:

    • Restrict grid feed-in if the net market price falls below a set threshold (e.g., below zero).
    • Battery charging and discharging routines should be scheduled or limited based on expected market price events.
  2. Avoid Random Battery Overshoot, Incorporating Expected Events:

    • For scenarios where a specific event is expected (e.g., an EV car returns home, requiring a full battery at a known time), allow battery to fill up and accept grid feed-in up to a certain SoC.
    • Calculate the expected time and quantity for battery charge, holding enough energy for forecasted needs, and then allow overflow (feed-in) only after reservation is met.

Implementation Notes

  • When surplus criteria are met, fill battery up to target SoC (including any reserved energy for later events, e.g., allow_discharge state).
  • Calculate where max_soc will be reached, limiting battery charge/discharge accordingly.
  • Use functions such as set_max_charging_from_grid_limit, set_always_allow_discharge_limit, and discharge block controls from existing PR code.
  • Integrate logic from DefaultLogic.calculate_inverter_mode, considering forecasted price events, battery reserves, and grid limitations.

Code Snippet Reference


Related:


Please elaborate and select the preferred option or propose enhancements for the peak shaving strategy. Feedback or further requirements welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions