battery_optimizer.de.result#

Classes

DEMarketPositions(*, intraday, imbalance, ...)

DEResult(*, asset_id, request_id, ...[, ...])

DESoE(*, time_from, time_to, soe_target, ...)

class battery_optimizer.de.result.DEMarketPositions(*, intraday, imbalance, epexIDA1, epexDA, fcr, afrr_capacity_pos, afrr_capacity_neg, afrr_energy_pos, afrr_energy_neg)#

Bases: MarketPositions

Parameters:
afrr_capacity_neg: list[CapacityMarketPositions] | DataFrame#
afrr_capacity_pos: list[CapacityMarketPositions] | DataFrame#
afrr_energy_neg: list[CapacityMarketPositions] | DataFrame#
afrr_energy_pos: list[CapacityMarketPositions] | DataFrame#
epexDA: list[EnergyMarketAuctionedPositions] | DataFrame#
epexIDA1: list[EnergyMarketAuctionedPositions] | DataFrame#
fcr: list[CapacityMarketPositions] | DataFrame#
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'ignore', 'frozen': False, 'json_encoders': {<class 'datetime.datetime'>: <function BaseModel.<lambda>>, <class 'pandas._libs.tslibs.timedeltas.Timedelta'>: <function BaseModel.<lambda>>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>: <function BaseModel.<lambda>>, <class 'pandas.core.frame.DataFrame'>: <function BaseModel.<lambda>>, <class 'pandas.core.series.Series'>: <function BaseModel.<lambda>>}, 'validate_default': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class battery_optimizer.de.result.DEResult(*, asset_id, request_id, battery_optimizer_commit_sha, user_id, request_creation_time, result_creation_time, request, market_positions, markets_optimized, markets_already_auctioned, soe, discharge_over_daily_cycle_limit_kWh=None, discharge_over_daily_cycle_limit_count=None, intraday_buckets=None, aggregated_intraday_buckets=None, trace=None, pulp_solver_variables_values_delta_false=None, pulp_solver_variables_values_delta_true=None, optimizer_object=None)#

Bases: Result

Parameters:
classmethod add_use_case_specific_soe_fields(solved_problem, soe, result)#

See base class Result.add_use_case_specific_soe_fields.

Parameters:
Return type:

DataFrame

classmethod get_soe_model()#

Hook method to return the class used for SoE records.

Return type:

type[SoE]

market_positions: DEMarketPositions#
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'ignore', 'frozen': False, 'json_encoders': {<class 'datetime.datetime'>: <function BaseModel.<lambda>>, <class 'pandas._libs.tslibs.timedeltas.Timedelta'>: <function BaseModel.<lambda>>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>: <function BaseModel.<lambda>>, <class 'pandas.core.frame.DataFrame'>: <function BaseModel.<lambda>>, <class 'pandas.core.series.Series'>: <function BaseModel.<lambda>>}, 'validate_default': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

request: DERequest#
class battery_optimizer.de.result.DESoE(*, time_from, time_to, soe_target, soe_target_kwh, max_charge_kW, max_discharge_kW, charge_power_kW, discharge_power_kW, min_soe_with_flex_positive_reservation_kwh, min_soe_with_flex_positive_reservation, max_soe_with_flex_negative_reservation_kwh, max_soe_with_flex_negative_reservation)#

Bases: SoE

Parameters:
  • time_from (datetime)

  • time_to (datetime)

  • soe_target (float)

  • soe_target_kwh (float)

  • max_charge_kW (float)

  • max_discharge_kW (float)

  • charge_power_kW (Annotated[float, Ge(ge=0.0)])

  • discharge_power_kW (Annotated[float, Ge(ge=0.0)])

  • min_soe_with_flex_positive_reservation_kwh (float)

  • min_soe_with_flex_positive_reservation (float)

  • max_soe_with_flex_negative_reservation_kwh (float)

  • max_soe_with_flex_negative_reservation (float)

max_soe_with_flex_negative_reservation: float#
max_soe_with_flex_negative_reservation_kwh: float#
min_soe_with_flex_positive_reservation: float#
min_soe_with_flex_positive_reservation_kwh: float#
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'ignore', 'frozen': False, 'json_encoders': {<class 'datetime.datetime'>: <function BaseModel.<lambda>>, <class 'pandas._libs.tslibs.timedeltas.Timedelta'>: <function BaseModel.<lambda>>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>: <function BaseModel.<lambda>>, <class 'pandas.core.frame.DataFrame'>: <function BaseModel.<lambda>>, <class 'pandas.core.series.Series'>: <function BaseModel.<lambda>>}, 'validate_default': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].