electrical_components_pb2
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2
¤
Generated protocol buffer code.
Attributes¤
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_BATTERY
module-attribute
¤
A storage system for electrical energy, used by inverters.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_CHP
module-attribute
¤
A heat and power combustion plant (CHP stands for combined heat and power).
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_CONVERTER
module-attribute
¤
A DC-DC converter.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_CRYPTO_MINER
module-attribute
¤
A crypto miner.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_ELECTROLYZER
module-attribute
¤
An electrolyzer for converting water into hydrogen and oxygen.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_EV_CHARGER
module-attribute
¤
A station for charging electrical vehicles.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_FUSE
module-attribute
¤
A fuse. Fuses are used to protect electrical components from overcurrents.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_GRID
module-attribute
¤
The point where the local microgrid is connected to the grid.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_HVAC
module-attribute
¤
An HVAC (Heating, Ventilation, and Air Conditioning) system.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_INVERTER
module-attribute
¤
An electricity generator, with batteries or solar energy.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_METER
module-attribute
¤
A meter, for measuring electrical metrics, e.g., current, voltage, etc.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_PRECHARGER
module-attribute
¤
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.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_RELAY
module-attribute
¤
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.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_UNSPECIFIED
module-attribute
¤
The component category is unspecified. This should not be used.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_CATEGORY_VOLTAGE_TRANSFORMER
module-attribute
¤
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.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_BATTERY_BLOCK_ERROR
module-attribute
¤
Error indicating a battery block error.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_BATTERY_CALIBRATION_NEEDED
module-attribute
¤
Error indicating that battery calibration is needed.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_BATTERY_CONTROLLER_ERROR
module-attribute
¤
Error indicating a battery controller error.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_BATTERY_IMBALANCE
module-attribute
¤
Error indicating a battery system imbalance.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_BATTERY_LOW_SOH
module-attribute
¤
Error indicating a low state of health (SOH) detected in the battery.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_BATTERY_RELAY_ERROR
module-attribute
¤
Error indicating a battery relay error.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_CONFIG_ERROR
module-attribute
¤
Error indicating a configuration error related to the component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_INVALID
module-attribute
¤
Error indicating an invalid electric vehicle (EV) cable.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_LOCK_FAILED
module-attribute
¤
Error indicating electric vehicle (EV) cable lock failure.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV
module-attribute
¤
Error indicating electric vehicle (EV) cable was abruptly unplugged from the vehicle.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_STATION
module-attribute
¤
Error indicating electric vehicle (EV) cable was abruptly unplugged from the charging station.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_EV_CONSUMER_INCOMPATIBLE
module-attribute
¤
Error indicating an incompatible electric vehicle (EV) plug.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_EV_UNEXPECTED_PILOT_FAILURE
module-attribute
¤
Error indicating unexpected pilot failure in an electric vehicle (EV) component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_FAULT_CURRENT
module-attribute
¤
Error indicating fault current detected in the component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_FUSE_ERROR
module-attribute
¤
Error indicating that the component's fuse has blown.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_HARDWARE_INACCESSIBLE
module-attribute
¤
Error indicating that the hardware of the component is inaccessible.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_HIGH_HUMIDITY
module-attribute
¤
Error indicating that the component is exposed to high humidity levels over the maximum rated value.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_ILLEGAL_COMPONENT_STATE_CODE_REQUESTED
module-attribute
¤
Error indicating an illegal state requested for the component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_INTERNAL
module-attribute
¤
Error indicating an internal error within the component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_OVERCURRENT
module-attribute
¤
Error indicating that the component is drawing more current than the maximum rated value.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_OVERCURRENT_CHARGING
module-attribute
¤
Error indicating that the component's consumption current is over the maximum rated value during charging.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_OVERCURRENT_DISCHARGING
module-attribute
¤
Error indicating that the component's production current is over the maximum rated value during discharging.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_OVERTEMPERATURE
module-attribute
¤
Error indicating that the component is operating over the maximum rated temperature.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_OVERVOLTAGE
module-attribute
¤
Error indicating that the component is operating over the maximum rated voltage.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_PLAUSIBILITY_ERROR
module-attribute
¤
Error indicating plausibility issues within the system involving this component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_PRECHARGE_ERROR
module-attribute
¤
Error indicating that the component's precharge unit has failed.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_RELAY_CYCLE_LIMIT_REACHED
module-attribute
¤
Error indicating that the relays have been cycled for the maximum number of times.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_SHORT_CIRCUIT
module-attribute
¤
Error indicating a short circuit detected in the component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_SWITCH_ON_FAULT
module-attribute
¤
Error indicating that the component could not be switched on.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_UNAUTHORIZED
module-attribute
¤
Error indicating that the component is unauthorized to perform the last requested action.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_UNDERTEMPERATURE
module-attribute
¤
Error indicating that the component is operating under the minimum rated temperature.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_UNDERVOLTAGE
module-attribute
¤
Error indicating that the component is operating under the minimum rated voltage.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_UNDERVOLTAGE_SHUTDOWN
module-attribute
¤
Error indicating system shutdown due to undervoltage involving this component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_UNKNOWN
module-attribute
¤
The component is reporting an unknown or an undefined error, and the sender cannot parse the component error to any of the variants below.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_ERROR_CODE_UNSPECIFIED
module-attribute
¤
Default value. No specific error is specified.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_CHARGING
module-attribute
¤
State when the component is actively consuming energy.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_DISCHARGING
module-attribute
¤
State when the component is actively producing or releasing energy.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_ERROR
module-attribute
¤
State when the component is in an error state and may need attention.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_EV_CHARGING_CABLE_LOCKED_AT_EV
module-attribute
¤
The EV charging cable is locked at the vehicle end, indicating that charging is active.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_EV_CHARGING_CABLE_LOCKED_AT_STATION
module-attribute
¤
The EV charging cable is locked at the charging station end, indicating readiness for charging.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_EV_CHARGING_CABLE_PLUGGED_AT_EV
module-attribute
¤
The EV charging cable is plugged into the vehicle.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_EV_CHARGING_CABLE_PLUGGED_AT_STATION
module-attribute
¤
The EV charging cable is plugged into the charging station.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_EV_CHARGING_CABLE_UNPLUGGED
module-attribute
¤
The Electric Vehicle (EV) charging cable is unplugged from the charging station.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_OFF
module-attribute
¤
State when the component has successfully switched off.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_PRECHARGER_CLOSED
module-attribute
¤
The precharger circuit is closed, allowing full current to flow to the main circuit.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_PRECHARGER_OPEN
module-attribute
¤
The precharger circuit is open, meaning it's not currently active.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_PRECHARGER_PRECHARGING
module-attribute
¤
The precharger is in a precharging state, preparing the main circuit for activation.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_READY
module-attribute
¤
State when the component is fully operational and ready for use.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_RELAY_CLOSED
module-attribute
¤
The relay is in a closed state, allowing current to flow.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_RELAY_OPEN
module-attribute
¤
The relay is in an open state, meaning no current can flow through.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_STANDBY
module-attribute
¤
State when the component is in standby mode, and not immediately ready for immediate operations.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_SWITCHING_OFF
module-attribute
¤
State when the component is in the process of switching off.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_SWITCHING_ON
module-attribute
¤
State when the component is in the process of switching on from an off state.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_UNAVAILABLE
module-attribute
¤
State when the component is temporarily unavailable for operation.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_UNKNOWN
module-attribute
¤
State when the component is in an unknown or undefined condition. This is used when the sender is unable to classify the component into any other state.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATE_CODE_UNSPECIFIED
module-attribute
¤
Default value when the component state is not explicitly set. This is the zero value of the enum.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATUS_ACTIVE
module-attribute
¤
The component is active.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATUS_INACTIVE
module-attribute
¤
The component is inactive.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ELECTRICAL_COMPONENT_STATUS_UNSPECIFIED
module-attribute
¤
The status is unspecified. This should not be used.
Classes¤
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponent
¤
Bases: Message
Microgrid electrical component details.
Attributes¤
category
instance-attribute
¤
The component category. E.g., Inverter, Battery, etc.
category_type
property
¤
The metadata specific to the component category type.
id
instance-attribute
¤
The component ID.
manufacturer
instance-attribute
¤
The component manufacturer.
metric_config_bounds
property
¤
List of rated bounds present for the component identified by Metric.
microgrid_id
instance-attribute
¤
Unique identifier of the parent microgrid_id.
model_name
instance-attribute
¤
The model name of the component.
name
instance-attribute
¤
The component name.
operational_lifetime
property
¤
The operational lifetime of the component.
status
instance-attribute
¤
The status of the component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentCategory
¤
Bases: _ElectricalComponentCategory
Enumerated electrical component categories.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentCategoryMetadataVariant
¤
Bases: Message
Metadata specific to a microgrid component.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentConnection
¤
Bases: Message
ElectricalComponentConnection describes a single electrical link between two components within a microgrid, effectively representing the physical wiring as viewed from the grid connection point, if one exists, or from the islanding point, in case of an islanded microgrids.
Physical Representation
This message is not about data flow but rather about the physical electrical connections between components. Therefore, the IDs for the source and destination components correspond to the actual setup within the microgrid.
Direction
The direction of the connection follows the flow of current away from the grid connection point, or in case of islands, away from the islanding point. This direction is aligned with positive current according to the [Passive Sign Convention] (https://en.wikipedia.org/wiki/Passive_sign_convention).
Historical Data
The timestamps of when a connection was created and terminated allows for tracking the changes over time to a microgrid, providing insights into when and how the microgrid infrastructure has been modified.
Attributes¤
destination_component_id
instance-attribute
¤
Unique ID of the component where the connection terminates. This is the component towards which the current flows.
operational_lifetime
property
¤
The operational lifetime of the connection.
source_component_id
instance-attribute
¤
Unique identifier of the component where the connection originates. This is aligned with the direction of current flow away from the grid connection point, or in case of islands, away from the islanding point.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentData
¤
Bases: Message
ElectricalComponentData message aggregates multiple metrics, operational states, and errors, related to a specific microgrid component.
Example
Example output of a component data message:
{
ELECTRICAL_component_id: 13,
metric_samples: [
/* list of metrics for multiple timestamps */
{
sampled_at: "2023-10-01T00:00:00Z",
metric: "DC_VOLTAGE_V",
value: {},
bounds: {},
},
{
sampled_at: "2023-10-01T00:00:00Z",
metric: "DC_VOLTAGE_V",
value: {},
bounds: {},
}
],
states: [
/* list of states for multiple timestamps */
{
sampled_at: "2023-10-01T00:00:00Z",
states: [],
warnings: [],
errors: [],
},
{
sampled_at: "2023-10-01T00:00:00Z",
states: [],
warnings: [],
errors: [],
},
]
}
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentErrorCode
¤
Bases: _ElectricalComponentErrorCode
A representation of all possible errors that can occur across all component categories.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentState
¤
Bases: Message
Representation of a component state and errors.
Attributes¤
errors
property
¤
List of errors for the microgrid component.
Note
This list is expected to have errors if and only if the component is in an error state.
Note
The list will contain unique members. No error will exist twice in this list.
sampled_at
property
¤
The time at which the state was sampled.
states
property
¤
List of states of the microgrid component.
Note
The list will contain unique members. No state will exist twice in this list.
warnings
property
¤
List of warnings for the microgrid component.
Note
This list may have warnings even if the component state is not in an error state.
Note
The list will contain unique members. No warning will exist twice in this list.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentStateCode
¤
Bases: _ElectricalComponentStateCode
Enum to represent the various states that a component can be in. This enum is unified across all component categories for consistency.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.ElectricalComponentStatus
¤
Bases: _ElectricalComponentStatus
ElectricalComponentStatus defines the possible statuses for a component.
Note
The status indicates the status set by the user via the user interface. The status is not yet included in the Component messages and should be added.
frequenz.api.common.v1.microgrid.electrical_components.electrical_components_pb2.MetricConfigBounds
¤
Bases: Message
MetricConfigBounds describes a set of limits for a specific metric consisting of a lower and upper bound for said metric.
This can be used for example to specify an allowed range of power output for a component.
Attributes¤
config_bounds
property
¤
The set of bounds for the specified metric.
This contains the lower and upper bounds for said metric. Sources these may be derived from include the component configuration, manufacturers limits, and limits of other devices.
metric
instance-attribute
¤
Metric type the config bounds are for