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
¤
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
¤
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
¤
UNSPECIFIED: Unspecified energy schedule direction.
frequenz.api.platformassets.v1alpha1.platformassets_pb2.MARKET_PARTICIPATION_TYPE_ENERGY_TRADING
module-attribute
¤
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
¤
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
¤
UNSPECIFIED: Unspecified participation type.
Classes¤
frequenz.api.platformassets.v1alpha1.platformassets_pb2.GetMicrogridRequest ¤
frequenz.api.platformassets.v1alpha1.platformassets_pb2.GetMicrogridResponse ¤
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 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 of the scheduled energy exchange from the perspective of the Frequenz balancing group.
gridpool_id
instance-attribute
¤
Unique identifier of the Gridpool the energy schedule belongs to.
Functions¤
cancel_time ¤
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 ¤
The third-party balancing group involved in the scheduled energy exchange.
counterparty_delivery_area ¤
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 ¤
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.
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
frequenz.api.platformassets.v1alpha1.platformassets_pb2.GridpoolEnergyScheduleTimeSeriesEntry ¤
frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListGridpoolEnergySchedulesRequest ¤
Bases: Message
Request message for listing schedules for a specific Gridpool.
Attributes¤
gridpool_id
instance-attribute
¤
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.
Optional. Return only schedules with one of these directions.
If empty, no direction filtering is applied.
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.
Optional. Return only schedules whose IDs are included in this list.
If empty, no schedule-ID filtering is applied.
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 ¤
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.
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¤
filter ¤
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 ¤
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.
Optional. Return only relations applying to any of these delivery areas.
If empty, no delivery-area filtering is applied.
Optional. Return only relations involving any of these Gridpools.
If empty, no Gridpool-ID filtering is applied.
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.
Optional. Return only relations involving any of these Microgrids.
If empty, no Microgrid-ID filtering is applied.
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 ¤
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 ¤
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
¤
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.
Optional. Return only connections whose destination component ID is included in this list.
If empty, connections to any destination component are returned.
Optional. Return only connections whose source component ID is included in this list.
If empty, connections from any source component are returned.
Functions¤
filter ¤
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.
frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridElectricalComponentsRequest ¤
Bases: Message
Request parameters for the RPC ListMicrogridElectricalComponents.
Attributes¤
microgrid_id
instance-attribute
¤
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¤
filter ¤
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.
frequenz.api.platformassets.v1alpha1.platformassets_pb2.ListMicrogridSensorsRequest ¤
Bases: Message
Request message for listing sensors in a microgrid.
Attributes¤
microgrid_id
instance-attribute
¤
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¤
filter ¤
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.
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.
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.
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 ¤
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.
frequenz.api.platformassets.v1alpha1.platformassets_pb2.MarketParticipation ¤
Bases: Message
Describes the participation of a market-topology relation in a specific use case.
Attributes¤
Functions¤
validity_period ¤
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
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
¤
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
¤
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 ¤
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 ¤
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 ¤
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.