Skip to content

platformassets_pb2

frequenz.api.platformassets.v1alpha1.platformassets_pb2 ¤

Generated protocol buffer code.

Attributes¤

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GRIDPOOL_ENERGY_SCHEDULE_DIRECTION_EXPORT module-attribute ¤

GRIDPOOL_ENERGY_SCHEDULE_DIRECTION_EXPORT: ValueType

EXPORT: Energy is exported from the Frequenz balancing group to a third-party balancing group.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GRIDPOOL_ENERGY_SCHEDULE_DIRECTION_IMPORT module-attribute ¤

GRIDPOOL_ENERGY_SCHEDULE_DIRECTION_IMPORT: ValueType

IMPORT: Energy is imported into the Frequenz balancing group from a third-party balancing group.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GRIDPOOL_ENERGY_SCHEDULE_DIRECTION_UNSPECIFIED module-attribute ¤

GRIDPOOL_ENERGY_SCHEDULE_DIRECTION_UNSPECIFIED: ValueType

UNSPECIFIED: Unspecified energy schedule direction.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.MARKET_PARTICIPATION_TYPE_ENERGY_TRADING module-attribute ¤

MARKET_PARTICIPATION_TYPE_ENERGY_TRADING: ValueType

ENERGY_TRADING: The relation participates in energy trading, supply, balancing, or settlement of scheduled and measured energy.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.MARKET_PARTICIPATION_TYPE_FLEX_MARKETS module-attribute ¤

MARKET_PARTICIPATION_TYPE_FLEX_MARKETS: ValueType

ANCILLARY_SERVICES: The relation participates in ancillary services or flex-market services, such as FCR, aFRR, or other grid-operator services.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.MARKET_PARTICIPATION_TYPE_UNSPECIFIED module-attribute ¤

MARKET_PARTICIPATION_TYPE_UNSPECIFIED: ValueType

UNSPECIFIED: Unspecified participation type.

Classes¤

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GetMicrogridRequest ¤

Bases: Message

Request message for retrieving metadata for a specific microgrid.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

The unique identifier of the microgrid for which to fetch details.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GetMicrogridResponse ¤

Bases: Message

Response message containing metadata for a specific microgrid.

Functions¤
microgrid ¤
microgrid() -> Microgrid

Details of the requested microgrid.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GridpoolEnergySchedule ¤

Bases: Message

Describes a static energy schedule associated with a Gridpool.

A Gridpool energy schedule represents a planned energy exchange between the Frequenz/Gridpool side and a third-party balancing group. It is usually based on a static contractual delivery, such as an OTC contract or a baseline PPA.

The schedule defines the counterparty balancing group, the delivery areas on both sides of the scheduled exchange, the direction of the exchange from the Frequenz balancing-group perspective, the configured validity period, and the scheduled active-power values.

Static schedules

Gridpool energy schedules represent fixed or pre-agreed delivery quantities. They are accounted for separately from spot-market optimization and do not describe pay-as-produced or otherwise dynamically changing delivery positions.

Direction

The schedule direction is expressed from the perspective of the Frequenz balancing group.

IMPORT means energy is imported into the Frequenz balancing group from the counterparty balancing group.

EXPORT means energy is exported from the Frequenz balancing group to the counterparty balancing group.

Delivery areas

frequenz_delivery_area describes the delivery area of the Frequenz side of the scheduled exchange.

counterparty_delivery_area describes the delivery area of the counterparty side of the scheduled exchange.

These fields describe the schedule context. They do not imply that the Gridpool itself is assigned to a single delivery area.

If both delivery areas are the same, the schedule represents an exchange within one delivery area.

If they differ, the schedule represents an exchange across delivery areas and may be subject to additional matching, nomination, and capacity-right validation.

Effective validity

validity_period describes the originally configured schedule period.

If cancel_time is set, the schedule should only be considered effective until cancel_time, even if validity_period.end_time is later. The original configured end time remains available in validity_period.

The API does not expose an active/inactive status because such a status is time-dependent. Consumers can derive it by comparing the schedule's effective validity period with the timestamp at which they evaluate the schedule.

Attributes¤
delivery_duration instance-attribute ¤
delivery_duration: ValueType

Delivery duration used by all time-series entries in this schedule.

Each time_series entry applies from entry.start_time until entry.start_time + delivery_duration.

direction instance-attribute ¤
direction: ValueType

Direction of the scheduled energy exchange from the perspective of the Frequenz balancing group.

gridpool_id instance-attribute ¤
gridpool_id: int

Unique identifier of the Gridpool the energy schedule belongs to.

name instance-attribute ¤
name: str

Human-readable name of the energy schedule.

schedule_id instance-attribute ¤
schedule_id: int

Unique identifier of the energy schedule.

Functions¤
cancel_time ¤
cancel_time() -> Timestamp

Optional. Timestamp at which the schedule was cancelled.

If set, the schedule should no longer be considered effective from this timestamp onward and the effective schedule period ends at cancel_time.

The original configured end time remains available in validity_period.

counterparty_balancing_group ¤
counterparty_balancing_group() -> BalancingGroup

The third-party balancing group involved in the scheduled energy exchange.

counterparty_delivery_area ¤
counterparty_delivery_area() -> DeliveryArea

Delivery area of the counterparty side of the scheduled exchange.

If this is the same as frequenz_delivery_area, the schedule represents an exchange within one delivery area.

If this differs from frequenz_delivery_area, the schedule represents an exchange across delivery areas and may be subject to additional matching, nomination, and capacity-right validation.

frequenz_delivery_area ¤
frequenz_delivery_area() -> DeliveryArea

Delivery area of the Frequenz side of the scheduled exchange.

This is the delivery area in which the Frequenz balancing group participates for this schedule.

This field does not imply that the Gridpool itself belongs to only one delivery area. A Gridpool can have relations or schedules in different delivery areas.

time_series ¤
time_series() -> (
    RepeatedCompositeFieldContainer[
        Global___GridpoolEnergyScheduleTimeSeriesEntry
    ]
)

Scheduled active-power values.

validity_period ¤
validity_period() -> Interval

Validity interval of the schedule configuration.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GridpoolEnergyScheduleDirection ¤

Bases: _GridpoolEnergyScheduleDirection

Describes the direction of a scheduled energy exchange from the perspective of the Frequenz balancing group.

Source code in py/frequenz/api/platformassets/v1alpha1/platformassets_pb2.py
_globals['_LISTGRIDPOOLSREQUEST_GRIDPOOLSFILTER']._serialized_start=2145
_globals['_LISTGRIDPOOLSREQUEST_GRIDPOOLSFILTER']._serialized_end=2184
_globals['_LISTGRIDPOOLSRESPONSE']._serialized_start=2186
_globals['_LISTGRIDPOOLSRESPONSE']._serialized_end=2277

frequenz.api.platformassets.v1alpha1.platformassets_pb2.GridpoolEnergyScheduleTimeSeriesEntry ¤

Bases: Message

A scheduled active-power value for one delivery period.

Attributes¤
active_power_w instance-attribute ¤
active_power_w: float

Scheduled active power in watts.

Functions¤
start_time ¤
start_time() -> Timestamp

Start timestamp of the scheduled delivery value.

This timestamp is inclusive. The entry applies until start_time + GridpoolEnergySchedule.delivery_duration.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListGridpoolEnergySchedulesRequest ¤

Bases: Message

Request message for listing schedules for a specific Gridpool.

Attributes¤
gridpool_id instance-attribute ¤
gridpool_id: int

The unique identifier of the Gridpool whose schedules should be listed.

Classes¤
GridpoolEnergySchedulesFilter ¤

Bases: Message

Filters for selecting Gridpool schedules.

A schedule must match all specified filter fields to be included in the response. The current enterprise scope is always applied in addition to these filters.

Filter Semantics

Each repeated field is evaluated using logical OR. Different filter fields are combined using logical AND. If no filters are provided, all schedules for the requested Gridpool within the current enterprise scope are returned.

Functions¤
directions ¤
directions() -> RepeatedScalarFieldContainer[ValueType]

Optional. Return only schedules with one of these directions.

If empty, no direction filtering is applied.

effective_validity_period ¤
effective_validity_period() -> Interval

Optional. Return only schedules whose effective validity period overlaps this interval.

Use this filter to retrieve all schedules that are applicable at any point during the requested time window.

A schedule matches if its effective validity period intersects the requested interval:

effective_start_time < effective_validity_period.end_time
AND
effective_end_time > effective_validity_period.start_time

The effective validity period starts at validity_period.start_time.

If cancel_time is set before validity_period.end_time, the effective validity period ends at cancel_time. Otherwise, it ends at validity_period.end_time.

If omitted, no effective-validity-period filtering is applied.

schedule_ids ¤
schedule_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only schedules whose IDs are included in this list.

If empty, no schedule-ID filtering is applied.

time_series_interval ¤
time_series_interval() -> Interval

Optional. Restrict returned time_series entries to delivery periods that overlap this interval.

A time-series entry matches if its delivery period overlaps the requested interval:

entry.start_time < time_series_interval.end_time
AND
entry.start_time + schedule.delivery_duration >
time_series_interval.start_time

The returned schedules contain only matching time_series entries. If omitted, no time-series filtering is applied.

Functions¤
filter ¤
filter() -> GridpoolEnergySchedulesFilter

Optional. Filtering criteria for narrowing the returned schedules.

If omitted, all schedules for the requested Gridpool within the current enterprise scope are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListGridpoolEnergySchedulesResponse ¤

Bases: Message

Response message containing Gridpool schedules.

The response contains schedules for the requested Gridpool matching the requested filters within the current enterprise scope. If no matching schedules are available in that scope, schedules is empty.

Attributes¤
gridpool_id instance-attribute ¤
gridpool_id: int

The unique identifier of the Gridpool the returned schedules belong to.

Functions¤
schedules ¤
schedules() -> (
    RepeatedCompositeFieldContainer[
        Global___GridpoolEnergySchedule
    ]
)

Schedules matching the request filters within the current enterprise scope.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListGridpoolsRequest ¤

Bases: Message

Request message for listing Gridpools within the current enterprise scope.

Classes¤
GridpoolsFilter ¤

Bases: Message

Filters for selecting Gridpools.

A Gridpool must match all specified filter fields to be included in the response. The current enterprise scope is always applied in addition to these filters.

Filter Semantics

Each repeated field is evaluated using logical OR. Different filter fields are combined using logical AND. If no filters are provided, all Gridpools within the current enterprise scope are returned.

Functions¤
gridpool_ids ¤
gridpool_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only Gridpools whose IDs are included in this list and are within the current enterprise scope.

If empty, no Gridpool-ID filtering is applied.

Functions¤
filter ¤
filter() -> GridpoolsFilter

Optional. Filtering criteria for narrowing the returned Gridpools.

If omitted, all Gridpools within the current enterprise scope are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListGridpoolsResponse ¤

Bases: Message

Response message containing Gridpool metadata.

Functions¤
gridpools ¤
gridpools() -> RepeatedCompositeFieldContainer[Gridpool]

Gridpools matching the request filters within the current enterprise scope.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMarketTopologyRelationsRequest ¤

Bases: Message

Request message for listing market-topology relations within the current enterprise scope.

Classes¤
MarketTopologyRelationsFilter ¤

Bases: Message

Filters for selecting market-topology relations.

A relation must match all specified filter fields to be included in the response. The current enterprise scope is always applied in addition to these filters.

Filter Semantics

Each repeated field is evaluated using logical OR.

Different filter fields are combined using logical AND.

If no filters are provided, all market-topology relations within the current enterprise scope are returned.

Functions¤
delivery_areas ¤
delivery_areas() -> (
    RepeatedCompositeFieldContainer[DeliveryArea]
)

Optional. Return only relations applying to any of these delivery areas.

If empty, no delivery-area filtering is applied.

gridpool_ids ¤
gridpool_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only relations involving any of these Gridpools.

If empty, no Gridpool-ID filtering is applied.

market_location_id_values ¤
market_location_id_values() -> (
    RepeatedCompositeFieldContainer[MarketLocationIdValue]
)

Optional. Return only relations involving Market Locations whose ID values match any of these filters.

This filter does not require callers to provide the Market Area. It is useful when the Market Location identifier is known, but the Market Area has not been resolved yet.

If empty, no Market Location-ID filtering is applied.

microgrid_ids ¤
microgrid_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only relations involving any of these Microgrids.

If empty, no Microgrid-ID filtering is applied.

participation_types ¤
participation_types() -> (
    RepeatedScalarFieldContainer[ValueType]
)

Optional. Return only relations that include at least one participation with one of these types.

If empty, no participation-type filtering is applied.

Functions¤
filter ¤
filter() -> MarketTopologyRelationsFilter

Optional. Filtering criteria for narrowing the returned relations.

If omitted, all market-topology relations within the current enterprise scope are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMarketTopologyRelationsResponse ¤

Bases: Message

Response message containing market-topology relations.

Functions¤
relations ¤
relations() -> (
    RepeatedCompositeFieldContainer[
        Global___MarketTopologyRelation
    ]
)

Market-topology relations matching the request filters within the current enterprise scope.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridElectricalComponentConnectionsRequest ¤

Bases: Message

Request message for listing directed electrical connections between components in a microgrid.

Connections define the directed electrical component graph of a microgrid. The source component is closer to the grid-connection point or logical root, while the destination component is further downstream.

Component Graph

A component graph in the context of a microgrid refers to a directed graph where the nodes represent electrical components (like generators, batteries, or loads) and the edges represent electrical connections between them. The edges are directional, pointing away from the grid-connection point (or the root point for island microgrids). This means that for each edge, the source component is towards the grid connection point, and the destination component is pointing towards an underlying component. This graph provides a structured view of how electrical energy flows within the microgrid.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

The unique identifier of the microgrid whose electrical component connections should be listed.

Classes¤
MicrogridElectricalComponentConnectionsFilter ¤

Bases: Message

Filters for selecting electrical component connections in a microgrid.

A connection must match all specified filter fields to be included in the response.

Filter Semantics

Each repeated field is evaluated using logical OR. Different filter fields are combined using logical AND. If no filters are provided, all known electrical connections in the microgrid are returned.

Functions¤
destination_component_ids ¤
destination_component_ids() -> (
    RepeatedScalarFieldContainer[int]
)

Optional. Return only connections whose destination component ID is included in this list.

If empty, connections to any destination component are returned.

source_component_ids ¤
source_component_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only connections whose source component ID is included in this list.

If empty, connections from any source component are returned.

Functions¤
filter ¤
filter() -> MicrogridElectricalComponentConnectionsFilter

Optional filtering criteria for narrowing the returned connections.

If omitted, all known electrical connections in the microgrid are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridElectricalComponentConnectionsResponse ¤

Bases: Message

Response message containing directed electrical connections for a microgrid.

The response contains all connections matching the requested filters. If no connection matches the filters, connections is empty.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

The unique identifier of the microgrid the returned connections belong to.

Functions¤
connections ¤
connections() -> (
    RepeatedCompositeFieldContainer[
        ElectricalComponentConnection
    ]
)

Electrical component connections matching the request filters.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridElectricalComponentsRequest ¤

Bases: Message

Request parameters for the RPC ListMicrogridElectricalComponents.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

Mandatory field. The ID of the microgrid for which components are to be listed.

Classes¤
MicrogridElectricalComponentsFilter ¤

Bases: Message

Filters for selecting electrical components in a microgrid.

An electrical component must match all specified filter fields to be included in the response.

Filter Semantics

Each repeated field is evaluated using logical OR. Different filter fields are combined using logical AND. If no filters are provided, all electrical components in the microgrid are returned.

Functions¤
categories ¤
categories() -> RepeatedScalarFieldContainer[ValueType]

Optional. Return only components whose categories are included in this list.

If empty, no category filtering is applied.

component_ids ¤
component_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only components whose IDs are included in this list.

If empty, no component-ID filtering is applied.

Functions¤
filter ¤
filter() -> MicrogridElectricalComponentsFilter

Optional. Filtering criteria for narrowing the returned components.

If omitted, all electrical components in the microgrid are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridElectricalComponentsResponse ¤

Bases: Message

Response message containing electrical components for a microgrid.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

The unique identifier of the microgrid the returned components belong to.

Functions¤
components ¤
components() -> (
    RepeatedCompositeFieldContainer[ElectricalComponent]
)

Electrical components matching the request filters.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridSensorsRequest ¤

Bases: Message

Request message for listing sensors in a microgrid.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

The unique identifier of the microgrid whose sensors should be listed.

Classes¤
MicrogridSensorsFilter ¤

Bases: Message

Filters for selecting sensors in a microgrid.

A sensor must match all specified filter fields to be included in the response.

Filter Semantics

Each repeated field is evaluated using logical OR. Different filter fields are combined using logical AND. If no filters are provided, all sensors in the microgrid are returned.

Functions¤
sensor_ids ¤
sensor_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only sensors whose IDs are included in this list.

Functions¤
filter ¤
filter() -> MicrogridSensorsFilter

Optional. Filtering criteria for narrowing the returned sensors.

If omitted, all sensors in the microgrid are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridSensorsResponse ¤

Bases: Message

Response message containing sensors for a microgrid.

Attributes¤
microgrid_id instance-attribute ¤
microgrid_id: int

The unique identifier of the microgrid the returned sensors belong to.

Functions¤
sensors ¤
sensors() -> RepeatedCompositeFieldContainer[Sensor]

Sensors matching the request filters.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridsRequest ¤

Bases: Message

Request message for listing microgrids within the current enterprise scope.

Classes¤
MicrogridsFilter ¤

Bases: Message

Filters for selecting microgrids.

A microgrid must match all specified filter fields to be included in the response. The current enterprise scope is always applied in addition to these filters.

Filter Semantics

Each repeated field is evaluated using logical OR. Different filter fields are combined using logical AND. If no filters are provided, all microgrids within the current enterprise scope are returned.

Functions¤
gridpool_ids ¤
gridpool_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only microgrids that are part of a market-topology relation involving any of these Gridpools within the current enterprise scope.

If empty, no Gridpool-ID filtering is applied.

microgrid_ids ¤
microgrid_ids() -> RepeatedScalarFieldContainer[int]

Optional. Return only microgrids whose IDs are included in this list and are within the current enterprise scope.

If empty, no microgrid-ID filtering is applied.

Functions¤
filter ¤
filter() -> MicrogridsFilter

Optional. Filtering criteria for narrowing the returned microgrids.

If omitted, all microgrids within the current enterprise scope are returned.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridsResponse ¤

Bases: Message

Response message containing microgrid metadata.

The response contains microgrids matching the requested filters within the current enterprise-scoped context. If no matching microgrids are available in that context, microgrids is empty.

Functions¤
microgrids ¤
microgrids() -> RepeatedCompositeFieldContainer[Microgrid]

Microgrids matching the request filters within the current enterprise-scope.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.MarketParticipation ¤

Bases: Message

Describes the participation of a market-topology relation in a specific use case.

Attributes¤
type instance-attribute ¤
type: ValueType

The use case for which this relation participates.

Functions¤
validity_period ¤
validity_period() -> Interval

Optional. Configured validity interval for this participation.

If omitted, the participation has no explicit validity interval in the returned data. The interpretation of an omitted interval is service-defined and may depend on the participation type and backend configuration.

If set, the interval describes when this relation is valid for the given use case. The interval is inclusive at start_time and exclusive at end_time.

Updating end_time can be used to end a participation. Updating start_time can be used to move a participation into the future.

frequenz.api.platformassets.v1alpha1.platformassets_pb2.MarketParticipationType ¤

Bases: _MarketParticipationType

Describes a market-related use case for which a relation can participate.

Source code in py/frequenz/api/platformassets/v1alpha1/platformassets_pb2.py
_globals['_LISTMICROGRIDELECTRICALCOMPONENTCONNECTIONSREQUEST_MICROGRIDELECTRICALCOMPONENTCONNECTIONSFILTER']._serialized_start=4718
_globals['_LISTMICROGRIDELECTRICALCOMPONENTCONNECTIONSREQUEST_MICROGRIDELECTRICALCOMPONENTCONNECTIONSFILTER']._serialized_end=4830

frequenz.api.platformassets.v1alpha1.platformassets_pb2.MarketTopologyRelation ¤

Bases: Message

Describes a market-topology relation between a Gridpool, Microgrid, and Market Location.

A MarketTopologyRelation is the canonical relationship record that describes how official market-facing metering points, technical Microgrids, and Gridpools are connected.

A relation can exist without a Gridpool, in which case it links one Microgrid to one Market Location for metering validation, reporting comparison, or local optimization. A Microgrid can have multiple such relations.

When gridpool_id is set, the relation describes participation in a Gridpool context. In that case, delivery_area is required and use-case-specific participations can describe energy trading, ancillary services, or other market-related use cases.

A Microgrid-only Gridpool relation is a special case. It is typically used when the Microgrid participates technically while the matching Market Location is represented outside Frequenz, for example through a third-party balancing group, or when a Market Location is temporarily excluded due to metering/reporting issues.

Multiple Market Locations per Microgrid

A Microgrid can be associated with multiple Market Locations.

This is common in markets where different Market Locations represent different metering or settlement roles. For example, a Microgrid can have separate Market Locations for import and export. It can also have multiple export Market Locations, for example when different feed-in assets, such as wind and solar generation, are assigned to different subsidy, settlement, or regulatory regimes.

Each Microgrid-to-Market-Location association is represented as a separate MarketTopologyRelation.

Validation

A relation must contain at least two of gridpool_id, microgrid_id, and market_location.

If gridpool_id is unset, both microgrid_id and market_location must be set. In that case, the relation does not represent market participation, but the relation can remain as a Microgrid-to-Market-Location relation without Gridpool participation. Gridpool-specific fields, such as delivery_area and participations, no longer apply once gridpool_id is unset. If gridpool_id is set, delivery_area is required.

participations are only valid when gridpool_id is set.

If removing gridpool_id would leave only microgrid_id or only market_location, no valid relation remains.

Attributes¤
gridpool_id instance-attribute ¤
gridpool_id: int

Optional. The Gridpool associated with this relation.

If set, this relation describes participation in a virtual balancing group.

If unset, this relation describes only a Microgrid-to-Market-Location relationship without Gridpool participation.

microgrid_id instance-attribute ¤
microgrid_id: int

Optional. The Microgrid associated with this relation.

If gridpool_id is set, the Microgrid participates in the Gridpool context.

If gridpool_id is unset, this field links the Microgrid to the Market Location for metering validation, reporting comparison, or local optimization.

Functions¤
delivery_area ¤
delivery_area() -> DeliveryArea

Optional. Delivery area in which this relation applies.

This field is required when gridpool_id is set, because the delivery area only has meaning in the Gridpool/balancing-group context.

This field must be unset when gridpool_id is unset.

market_location ¤
market_location() -> MarketLocation

Optional. The Market Location associated with this relation.

If gridpool_id is set, the Market Location participates in the Gridpool context.

If gridpool_id is unset, this field links the Market Location to the Microgrid without market participation.

participations ¤
participations() -> (
    RepeatedCompositeFieldContainer[
        Global___MarketParticipation
    ]
)

Use-case-specific participations for this relation.

Different use cases can become active at different times. For example, energy trading may start before ancillary services, or ancillary services may end while the Market Location remains associated for energy trading.

Participations are only valid when gridpool_id is set. If gridpool_id is unset, this field must be empty.