battery_optimizer.uk.bod#

Classes

BodBid(*, offer_price_per_MWh, ...)

BodRequest(*, request_id, ...[, ...])

BodRequestEntry(*, time_from, time_to, ...)

BodResult(*, request_id[, problem_type, ...])

BodResultEntry(*, time_from, time_to, ...)

class battery_optimizer.uk.bod.BodBid(*, offer_price_per_MWh, bid_price_per_MWh, power_MW)#

Bases: BaseModel

Parameters:
bid_price_per_MWh: float#
model_config: ClassVar[ConfigDict] = {}#

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

offer_price_per_MWh: float#
power_MW: float#
class battery_optimizer.uk.bod.BodRequest(*, request_id, creation_timestamp, payload, maximal_price_per_MWh=9999.0)#

Bases: BaseModel

Parameters:
compute_bid_offer_pairs()#
Return type:

BodResult

creation_timestamp: datetime#
maximal_price_per_MWh: float#
model_config: ClassVar[ConfigDict] = {}#

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

payload: list[BodRequestEntry]#
request_id: str#
class battery_optimizer.uk.bod.BodRequestEntry(*, time_from, time_to, base_price_export_per_MWh, base_price_import_per_MWh, max_discharging_power_MW, max_charging_power_MW, max_physical_notification_MW, min_physical_notification_MW, price_margin_export_per_MWh, price_margin_import_per_MWh, undo_price_margin_export_per_MWh, undo_price_margin_import_per_MWh, mel_MW=None, mil_MW=None)#

Bases: BaseModel

Parameters:
base_price_export_per_MWh: float#
base_price_import_per_MWh: float#
classmethod insure_max_physical_notification_smaller_equal_max_discharging(max_physical_notification_MW, values)#
classmethod insure_min_physical_notification_greater_equal_max_charging(min_physical_notification_MW, values)#
max_charging_power_MW: float#
max_discharging_power_MW: float#
max_physical_notification_MW: float#
mel_MW: float | None#
mil_MW: float | None#
min_physical_notification_MW: float#
model_config: ClassVar[ConfigDict] = {}#

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

price_margin_export_per_MWh: float#
price_margin_import_per_MWh: float#
time_from: datetime#
time_to: datetime#
undo_price_margin_export_per_MWh: float#
undo_price_margin_import_per_MWh: float#
class battery_optimizer.uk.bod.BodResult(*, request_id, problem_type=ProblemType.BOD, data, request_creation_time=None, result_creation_time=None)#

Bases: BaseModel

Parameters:
data: list[BodResultEntry]#
model_config: ClassVar[ConfigDict] = {}#

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

problem_type: ProblemType#
request_creation_time: datetime#
request_id: str#
result_creation_time: datetime#
class battery_optimizer.uk.bod.BodResultEntry(*, time_from, time_to, pair_p1, pair_n1)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

pair_n1: BodBid#
pair_p1: BodBid#
time_from: datetime#
time_to: datetime#