frequenz-api-common 0.8.4__tar.gz → 0.8.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/PKG-INFO +1 -1
- frequenz_api_common-0.8.8/RELEASE_NOTES.md +17 -0
- frequenz_api_common-0.8.8/proto/frequenz/api/common/v1alpha8/grid/balancing_group.proto +24 -0
- frequenz_api_common-0.8.8/proto/frequenz/api/common/v1alpha8/grid/market_location.proto +141 -0
- frequenz_api_common-0.8.8/proto/frequenz/api/common/v1alpha8/market/market_area.proto +123 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/PKG-INFO +1 -1
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/SOURCES.txt +3 -0
- frequenz_api_common-0.8.4/RELEASE_NOTES.md +0 -9
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/LICENSE +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/MANIFEST.in +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/README.md +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/components.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/location.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/metrics/electrical.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/metrics.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/grid/delivery_area.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/grid/delivery_duration.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/location.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/market/energy.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/market/power.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/market/price.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/metrics/bounds.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/metrics/metric_sample.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/battery.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/components.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/ev_charger.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/fuse.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/grid.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/inverter.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/components/transformer.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/lifetime.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/microgrid.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/microgrid/sensors/sensors.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/pagination/pagination_info.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/pagination/pagination_params.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/types/decimal.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/grid/delivery_area.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/grid/delivery_duration.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/market/energy.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/market/power.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/market/price.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/metrics/bounds.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/metrics/metrics.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/microgrid/communication_components/communication_components.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/microgrid/electrical_components/electrical_components.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/microgrid/lifetime.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/microgrid/microgrid.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/microgrid/sensors/sensors.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/pagination/pagination_info.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/pagination/pagination_params.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/streaming/event.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/type/decimal.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/type/interval.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha7/type/location.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/grid/delivery_area.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/grid/delivery_duration.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/gridpool/gridpool.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/market/energy.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/market/power.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/market/price.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/metrics/bounds.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/metrics/metrics.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/microgrid/communication_components/communication_components.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/microgrid/electrical_components/electrical_components.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/microgrid/lifetime.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/microgrid/microgrid.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/microgrid/sensors/sensors.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/pagination/pagination_info.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/pagination/pagination_params.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/streaming/event.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/types/decimal.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/types/interval.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1alpha8/types/location.proto +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/metrics/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/py.typed +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/grid/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/market/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/metrics/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/microgrid/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/microgrid/components/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/microgrid/sensors/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/pagination/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/types/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/grid/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/market/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/metrics/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/microgrid/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/microgrid/communication_components/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/microgrid/electrical_components/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/microgrid/sensors/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/pagination/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/streaming/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/type/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/grid/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/gridpool/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/market/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/metrics/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/microgrid/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/microgrid/communication_components/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/microgrid/electrical_components/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/microgrid/sensors/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/pagination/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/streaming/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/types/__init__.py +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/dependency_links.txt +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/requires.txt +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/top_level.txt +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/pyproject.toml +0 -0
- {frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/setup.cfg +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Frequenz Common API Release Notes
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
This release includes addition a new definition of balancing group in
|
|
6
|
+
v1alpha8 and moved market location definition to the `grid` submodule.
|
|
7
|
+
|
|
8
|
+
## Upgrading
|
|
9
|
+
|
|
10
|
+
## New Features
|
|
11
|
+
|
|
12
|
+
- Added `BalancingGroup` to
|
|
13
|
+
"frequenz/api/common/v1alpha8/grid/balancing_group.proto"
|
|
14
|
+
|
|
15
|
+
## Bug Fixes
|
|
16
|
+
|
|
17
|
+
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Frequenz definitions balancing groups.
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2025 Frequenz Energy-as-a-Service GmbH
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the MIT License (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
|
|
8
|
+
syntax = "proto3";
|
|
9
|
+
|
|
10
|
+
package frequenz.api.common.v1alpha8.grid;
|
|
11
|
+
|
|
12
|
+
import "frequenz/api/common/v1alpha8/grid/delivery_area.proto";
|
|
13
|
+
|
|
14
|
+
// Identifies a balancing group by its market code.
|
|
15
|
+
//
|
|
16
|
+
// This message identifies the balancing group itself. It does not include the
|
|
17
|
+
// delivery area in which the balancing group is used.
|
|
18
|
+
message BalancingGroup {
|
|
19
|
+
// The balancing group code.
|
|
20
|
+
string code = 1;
|
|
21
|
+
|
|
22
|
+
// The type of market code used to identify the balancing group.
|
|
23
|
+
EnergyMarketCodeType code_type = 2;
|
|
24
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// Frequenz definitions of market locations.
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2025 Frequenz Energy-as-a-Service GmbH
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the MIT License (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
|
|
8
|
+
syntax = "proto3";
|
|
9
|
+
|
|
10
|
+
package frequenz.api.common.v1alpha8.grid;
|
|
11
|
+
|
|
12
|
+
import "frequenz/api/common/v1alpha8/market/market_area.proto";
|
|
13
|
+
|
|
14
|
+
// Identifies the type of external market identifier used to reference
|
|
15
|
+
// a Market Location in a specific regulatory regime.
|
|
16
|
+
//
|
|
17
|
+
// The identifier type defines the format, validation rules, and semantics
|
|
18
|
+
// of the identifier value. Jurisdictional applicability is modeled separately
|
|
19
|
+
// via MarketArea.
|
|
20
|
+
//
|
|
21
|
+
// !!! note "Identifier regimes, not countries"
|
|
22
|
+
// Some identifier types (e.g. EAN, ESI_ID) are used across multiple
|
|
23
|
+
// jurisdictions. This enum models identifier formats, not geography.
|
|
24
|
+
//
|
|
25
|
+
enum MarketLocationIdType {
|
|
26
|
+
// UNSPECIFIED: Default unspecified value — must not be used.
|
|
27
|
+
MARKET_LOCATION_ID_TYPE_UNSPECIFIED = 0;
|
|
28
|
+
|
|
29
|
+
// MALO_ID: Germany – Marktlokations-ID (MaLo-ID).
|
|
30
|
+
MARKET_LOCATION_ID_TYPE_MALO_ID = 1;
|
|
31
|
+
|
|
32
|
+
// ZAEHLPUNKT: Austria – Zählpunktbezeichnung (Semantically similar to
|
|
33
|
+
// Germany’s MaLo-ID).
|
|
34
|
+
MARKET_LOCATION_ID_TYPE_ZAEHLPUNKT = 2;
|
|
35
|
+
|
|
36
|
+
// MPAN: United Kingdom – Meter Point Administration Number.
|
|
37
|
+
MARKET_LOCATION_ID_TYPE_MPAN = 3;
|
|
38
|
+
|
|
39
|
+
// POD: Italy — Point of Delivery.
|
|
40
|
+
MARKET_LOCATION_ID_TYPE_POD = 4;
|
|
41
|
+
|
|
42
|
+
// CUPS: Spain — Código Universal de Punto de Suministro.
|
|
43
|
+
MARKET_LOCATION_ID_TYPE_CUPS = 5;
|
|
44
|
+
|
|
45
|
+
// PRM: France — Point de Référence et Mesure (PRM).
|
|
46
|
+
MARKET_LOCATION_ID_TYPE_PRM = 6;
|
|
47
|
+
|
|
48
|
+
// EAN: Continental Europe (e.g. FR (legacy), NL, BE, PL, CZ, HU, ...) —
|
|
49
|
+
// European Article Number.
|
|
50
|
+
MARKET_LOCATION_ID_TYPE_EAN = 7;
|
|
51
|
+
|
|
52
|
+
// GSRN: Nordic countries (e.g., DK, SE, NO, FI) — GS1 Global Service
|
|
53
|
+
// Relation Number.
|
|
54
|
+
MARKET_LOCATION_ID_TYPE_GSRN = 8;
|
|
55
|
+
|
|
56
|
+
// ESI_ID: United States – Electric Service Identifier.
|
|
57
|
+
MARKET_LOCATION_ID_TYPE_ESI_ID = 9;
|
|
58
|
+
|
|
59
|
+
// NMI: Australia – National Metering Identifier.
|
|
60
|
+
MARKET_LOCATION_ID_TYPE_NMI = 10;
|
|
61
|
+
|
|
62
|
+
// ICP: New Zealand — Installation Control Point.
|
|
63
|
+
MARKET_LOCATION_ID_TYPE_ICP = 11;
|
|
64
|
+
|
|
65
|
+
// SPN: Japan — Supply Point Number (需要地点特定番号).
|
|
66
|
+
MARKET_LOCATION_ID_TYPE_SPN = 12;
|
|
67
|
+
|
|
68
|
+
// OTHER: Generic meter identifier for markets not modeled explicitly yet.
|
|
69
|
+
MARKET_LOCATION_ID_TYPE_OTHER = 99;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Opaque identifier in its original market format as received from the
|
|
73
|
+
// source system (MSCONS, DataHub, CSV, manual entry, etc.).
|
|
74
|
+
//
|
|
75
|
+
// The service accepts both formatted and already-normalized values.
|
|
76
|
+
// Formatting characters (spaces, hyphens, prefixes) are ignored during
|
|
77
|
+
// validation. Validation is performed exclusively on a canonical
|
|
78
|
+
// normalized form derived from the input value, based on the type.
|
|
79
|
+
//
|
|
80
|
+
// Clients MUST NOT rely on formatting differences to distinguish identifiers.
|
|
81
|
+
//
|
|
82
|
+
// Examples:
|
|
83
|
+
// - "01234567890" (Germany MaLo)
|
|
84
|
+
// - "18 1066 1234 567 8901 234" (UK MPAN with spaces)
|
|
85
|
+
// - "NEM12-03456-A" (AU NMI with hyphens)
|
|
86
|
+
message MarketLocationIdValue {
|
|
87
|
+
// Official market location identifier.
|
|
88
|
+
string value = 1;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Market-standard identifier describing a Market Location.
|
|
92
|
+
//
|
|
93
|
+
// A Market Location is a jurisdiction-specific point of metering used for
|
|
94
|
+
// regulatory processes such as settlement, billing, supplier switching,
|
|
95
|
+
// balancing-group reconciliation, and DSO/TSO reporting. Different markets
|
|
96
|
+
// use incompatible identifier formats—varying in length, character sets,
|
|
97
|
+
// checksum rules, and decomposition.
|
|
98
|
+
//
|
|
99
|
+
// This message encapsulates the official, market-issued identifier used to
|
|
100
|
+
// reference such a point. Examples:
|
|
101
|
+
// • Germany: MaLo-ID (Marktlokations-ID)
|
|
102
|
+
// • UK: MPAN (Meter Point Administration Number)
|
|
103
|
+
// • US: ESI-ID (Electric Service Identifier)
|
|
104
|
+
// • Australia NMI (National Metering Identifier)
|
|
105
|
+
//
|
|
106
|
+
// Different markets use incompatible identifier formats—varying in length,
|
|
107
|
+
// character sets, checksum rules, and presentation formatting (spaces,
|
|
108
|
+
// hyphens, prefixes).
|
|
109
|
+
//
|
|
110
|
+
// !!! example "Example values for different markets"
|
|
111
|
+
// The following examples illustrate how the fields may be populated for
|
|
112
|
+
// different jurisdictions:
|
|
113
|
+
//
|
|
114
|
+
// | Market:Type | Official ID | Normalized Value
|
|
115
|
+
// | --------------- | ------------------- | -----------------------------
|
|
116
|
+
// | DE:MALO_ID | "12345678901" | "12345678901"
|
|
117
|
+
// | UK:MPAN | "18 1066 1234 567 8901 234" | "18106612345678901234"
|
|
118
|
+
// | US_ERCOT:ESI_ID | "10443720000012345" | "10443720000012345"
|
|
119
|
+
// | AU:NMI | "NEM12-03456-A" | "NEM1203456A"
|
|
120
|
+
//
|
|
121
|
+
// In each case, `value` preserves the original format as provided by the
|
|
122
|
+
// market operator, while `normalized_value` is an implementation-specific
|
|
123
|
+
// cleaned representation suitable for validation, indexing, and
|
|
124
|
+
// comparisons.
|
|
125
|
+
//
|
|
126
|
+
message MarketLocationId {
|
|
127
|
+
// Official market location identifier.
|
|
128
|
+
MarketLocationIdValue id = 1;
|
|
129
|
+
|
|
130
|
+
// Identifies what type of official market identifier `id` represents.
|
|
131
|
+
MarketLocationIdType type = 2;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Identifies a Market Location.
|
|
135
|
+
message MarketLocationSelector {
|
|
136
|
+
// Regulatory jurisdiction in which this Market Location is registered.
|
|
137
|
+
frequenz.api.common.v1alpha8.market.MarketArea market_area = 1;
|
|
138
|
+
|
|
139
|
+
// Official market identifier (MaLo-ID, MPAN, ESI-ID, ...).
|
|
140
|
+
MarketLocationId market_location_id = 2;
|
|
141
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// Frequenz definitions of market areas.
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2025 Frequenz Energy-as-a-Service GmbH
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the MIT License (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
|
|
8
|
+
syntax = "proto3";
|
|
9
|
+
|
|
10
|
+
package frequenz.api.common.v1alpha8.market;
|
|
11
|
+
|
|
12
|
+
// Defines the jurisdiction in which a Market Location is registered.
|
|
13
|
+
//
|
|
14
|
+
// A Market Area represents the regulatory jurisdiction and market regime that
|
|
15
|
+
// governs identifier formats, settlement periods, and metering conventions
|
|
16
|
+
// for a Market Location.
|
|
17
|
+
//
|
|
18
|
+
// Identifier formats (MaLo-ID, MPAN, POD, NMI, ESI-ID, …) are modeled
|
|
19
|
+
// separately in MarketLocationIdType.
|
|
20
|
+
//
|
|
21
|
+
// !!! note "Jurisdictions, not operators"
|
|
22
|
+
// Market areas represent regulatory regimes, not individual exchanges or
|
|
23
|
+
// TSOs. Where operator-specific behavior matters (e.g. ERCOT vs PJM),
|
|
24
|
+
// dedicated sub-areas are defined.
|
|
25
|
+
//
|
|
26
|
+
// !!! note "Numeric ranges"
|
|
27
|
+
// Enum values are grouped by region to preserve ordering, readability,
|
|
28
|
+
// and backwards-compatible extension.
|
|
29
|
+
//
|
|
30
|
+
enum MarketArea {
|
|
31
|
+
// UNSPECIFIED: Default unspecified value — must not be used.
|
|
32
|
+
MARKET_AREA_UNSPECIFIED = 0;
|
|
33
|
+
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
// Europe [100..199]
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
|
|
38
|
+
// EU_DE: Germany — MaLo-ID regime (Marktlokation / MaLo-ID).
|
|
39
|
+
MARKET_AREA_EU_DE = 101;
|
|
40
|
+
|
|
41
|
+
// EU_UK: United Kingdom — MPAN regime (Meter Point Administration Number).
|
|
42
|
+
MARKET_AREA_EU_UK = 102;
|
|
43
|
+
|
|
44
|
+
// EU_FR: France — PDL/PRM regime (Point de Livraison/Référence Mesure).
|
|
45
|
+
MARKET_AREA_EU_FR = 103;
|
|
46
|
+
|
|
47
|
+
// EU_IT: Italy — POD regime (Point of Delivery).
|
|
48
|
+
MARKET_AREA_EU_IT = 104;
|
|
49
|
+
|
|
50
|
+
// EU_ES: Spain — CUPS regime (Código Universal de Punto de Suministro).
|
|
51
|
+
MARKET_AREA_EU_ES = 105;
|
|
52
|
+
|
|
53
|
+
// EU_NL: Netherlands — EAN regime (European Article Number).
|
|
54
|
+
MARKET_AREA_EU_NL = 106;
|
|
55
|
+
|
|
56
|
+
// EU_BE: Belgium — EAN regime.
|
|
57
|
+
MARKET_AREA_EU_BE = 107;
|
|
58
|
+
|
|
59
|
+
// EU_CH: Switzerland — EAN regime.
|
|
60
|
+
MARKET_AREA_EU_CH = 108;
|
|
61
|
+
|
|
62
|
+
// EU_AT: Austria — Zählpunktnummer (EAN-based).
|
|
63
|
+
MARKET_AREA_EU_AT = 109;
|
|
64
|
+
|
|
65
|
+
// EU_NORDICS: Nordic region — Elhub / GSRN regime (NO, SE, DK, FI).
|
|
66
|
+
MARKET_AREA_EU_NORDICS = 110;
|
|
67
|
+
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// Asia Pacific [200..299]
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
|
|
72
|
+
// AP_JP: Japan — country-specific metering / settlement regime.
|
|
73
|
+
MARKET_AREA_AP_JP = 201;
|
|
74
|
+
|
|
75
|
+
// AP_CN: China — country-specific metering / settlement regime.
|
|
76
|
+
MARKET_AREA_AP_CN = 202;
|
|
77
|
+
|
|
78
|
+
// AP_IN: India — country-specific metering / settlement regime.
|
|
79
|
+
MARKET_AREA_AP_IN = 203;
|
|
80
|
+
|
|
81
|
+
// AP_SG: Singapore — country-specific metering / settlement regime.
|
|
82
|
+
MARKET_AREA_AP_SG = 204;
|
|
83
|
+
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
// North America [300..399]
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
|
|
88
|
+
// NA_US_ERCOT: United States — ERCOT regime (ESI-ID).
|
|
89
|
+
MARKET_AREA_NA_US_ERCOT = 301;
|
|
90
|
+
|
|
91
|
+
// NA_US_PJM: United States — PJM regime (ESI-ID).
|
|
92
|
+
MARKET_AREA_NA_US_PJM = 302;
|
|
93
|
+
|
|
94
|
+
// NA_US_ISONE: United States — ISO New England regime (ESI-ID).
|
|
95
|
+
MARKET_AREA_NA_US_ISONE = 303;
|
|
96
|
+
|
|
97
|
+
// NA_US_CAISO: United States — CAISO regime (ESI-ID).
|
|
98
|
+
MARKET_AREA_NA_US_CAISO = 304;
|
|
99
|
+
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
// Eurasia [400..499]
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
|
|
104
|
+
// EURASIA_RU: Russia — country-specific metering / settlement regime.
|
|
105
|
+
MARKET_AREA_EURASIA_RU = 401;
|
|
106
|
+
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
// Oceania [500..599]
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
|
|
111
|
+
// OC_AU: Australia — NMI regime (National Metering Identifier).
|
|
112
|
+
MARKET_AREA_OC_AU = 501;
|
|
113
|
+
|
|
114
|
+
// OC_NZ: New Zealand — ICP regime (Installation Control Point).
|
|
115
|
+
MARKET_AREA_OC_NZ = 502;
|
|
116
|
+
|
|
117
|
+
// ---------------------------------------------------------------------------
|
|
118
|
+
// Other / not yet modelled [900..999]
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
120
|
+
|
|
121
|
+
// OTHER: Other or not yet modelled areas.
|
|
122
|
+
MARKET_AREA_OTHER = 999;
|
|
123
|
+
}
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/SOURCES.txt
RENAMED
|
@@ -46,10 +46,13 @@ proto/frequenz/api/common/v1alpha7/streaming/event.proto
|
|
|
46
46
|
proto/frequenz/api/common/v1alpha7/type/decimal.proto
|
|
47
47
|
proto/frequenz/api/common/v1alpha7/type/interval.proto
|
|
48
48
|
proto/frequenz/api/common/v1alpha7/type/location.proto
|
|
49
|
+
proto/frequenz/api/common/v1alpha8/grid/balancing_group.proto
|
|
49
50
|
proto/frequenz/api/common/v1alpha8/grid/delivery_area.proto
|
|
50
51
|
proto/frequenz/api/common/v1alpha8/grid/delivery_duration.proto
|
|
52
|
+
proto/frequenz/api/common/v1alpha8/grid/market_location.proto
|
|
51
53
|
proto/frequenz/api/common/v1alpha8/gridpool/gridpool.proto
|
|
52
54
|
proto/frequenz/api/common/v1alpha8/market/energy.proto
|
|
55
|
+
proto/frequenz/api/common/v1alpha8/market/market_area.proto
|
|
53
56
|
proto/frequenz/api/common/v1alpha8/market/power.proto
|
|
54
57
|
proto/frequenz/api/common/v1alpha8/market/price.proto
|
|
55
58
|
proto/frequenz/api/common/v1alpha8/metrics/bounds.proto
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Frequenz Common API Release Notes
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
This release includes a bug fix for a typo in the enum `v1alpha8::microgrid::electrical_components::ElectricalComponentOperationalMode`.
|
|
6
|
-
|
|
7
|
-
## Bug Fixes
|
|
8
|
-
|
|
9
|
-
- A typo in the enum `v1alpha8::microgrid::electrical_components::ElectricalComponentOperationalMode` has been fixed. The variant `ELECTRICAL_COMPONENT_OPERATIONAL_MODE_TELEMTRY` has been renamed to `ELECTRICAL_COMPONENT_OPERATIONAL_MODE_TELEMETRY`.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/components.proto
RENAMED
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/location.proto
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/metrics.proto
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/proto/frequenz/api/common/v1/location.proto
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/metrics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/__init__.py
RENAMED
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/grid/__init__.py
RENAMED
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/market/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1/types/__init__.py
RENAMED
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha7/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz/api/common/v1alpha8/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_api_common-0.8.4 → frequenz_api_common-0.8.8}/py/frequenz_api_common.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|