-
Notifications
You must be signed in to change notification settings - Fork 11
/
components.proto
114 lines (87 loc) · 3.27 KB
/
components.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// Frequenz microgrid components definitions.
//
// Copyright:
// Copyright 2023 Frequenz Energy-as-a-Service GmbH
//
// License:
// MIT
syntax = "proto3";
package frequenz.api.common.v1.components;
// Enumrated component categories.
enum ComponentCategory {
// An unknown component categories, useful for error handling, and marking
// unknown components in a list of components with otherwise known categories.
COMPONENT_CATEGORY_UNSPECIFIED = 0;
// The point where the local microgrid is connected to the grid.
COMPONENT_CATEGORY_GRID = 1;
// A meter, for measuring electrical metrics, e.g., current, voltage, etc.
COMPONENT_CATEGORY_METER = 2;
// An electricity generator, with batteries or solar energy.
COMPONENT_CATEGORY_INVERTER = 3;
// A DC-DC converter.
COMPONENT_CATEGORY_CONVERTER = 4;
// A storage system for electrical energy, used by inverters.
COMPONENT_CATEGORY_BATTERY = 5;
// A station for charging electrical vehicles.
COMPONENT_CATEGORY_EV_CHARGER = 6;
// A crypto miner.
COMPONENT_CATEGORY_CRYPTO_MINER = 8;
// An electrolyzer for converting water into hydrogen and oxygen.
COMPONENT_CATEGORY_ELECTROLYZER = 9;
// A heat and power combustion plant (CHP stands for combined heat and power).
COMPONENT_CATEGORY_CHP = 10;
// A relay.
// Relays generally have two states: open (connected) and closed
// (disconnected).
// They are generally placed in front of a component, e.g., an inverter, to
// control whether the component is connected to the grid or not.
COMPONENT_CATEGORY_RELAY = 11;
// A precharge module.
// Precharging involves gradually ramping up the DC voltage to prevent any
// potential damage to sensitive electrical components like capacitors.
// While many inverters and batteries come equipped with in-built precharging
// mechanisms, some may lack this feature. In such cases, we need to use
// external precharging modules.
COMPONENT_CATEGORY_PRECHARGER = 12;
// A fuse.
// Fuses are used to protect electrical components from overcurrents.
COMPONENT_CATEGORY_FUSE = 13;
// A voltage transformer.
// Voltage transformers are used to step up or step down the voltage, keeping
// the power somewhat constant by increasing or decreasing the current.
// If voltage is stepped up, current is stepped down, and vice versa.
// Note that voltage transformers have efficiency losses, so the output power
// is always less than the input power.
COMPONENT_CATEGORY_VOLTAGE_TRANSFORMER = 14;
}
// Enumerated battery types.
enum BatteryType {
// Unspecified.
BATTERY_TYPE_UNSPECIFIED = 0;
// Li-ion batteries.
BATTERY_TYPE_LI_ION = 1;
// Sodium-ion batteries
BATTERY_TYPE_NA_ION = 2;
}
// Enumerated inverter types.
enum InverterType {
// Unspecified.
INVERTER_TYPE_UNSPECIFIED = 0;
// Battery inverter.
INVERTER_TYPE_BATTERY = 1;
// Solar inverter.
INVERTER_TYPE_SOLAR = 2;
// Hybrid inverter.
INVERTER_TYPE_HYBRID = 3;
}
// Enumerated EV charger types.
enum EvChargerType {
// Default type.
EV_CHARGER_TYPE_UNSPECIFIED = 0;
// The EV charging station supports AC charging only.
EV_CHARGER_TYPE_AC = 1;
// The EV charging station supports DC charging only.
EV_CHARGER_TYPE_DC = 2;
// The EV charging station supports both AC and DC.
EV_CHARGER_TYPE_HYBRID = 3;
}