components_pb2
frequenz.api.common.v1.microgrid.components.components_pb2
¤
Generated protocol buffer code.
Attributes¤
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_BATTERY: ComponentCategory.ValueType
module-attribute
¤
A storage system for electrical energy, used by inverters.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_CHP: ComponentCategory.ValueType
module-attribute
¤
A heat and power combustion plant (CHP stands for combined heat and power).
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_CONVERTER: ComponentCategory.ValueType
module-attribute
¤
A DC-DC converter.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_CRYPTO_MINER: ComponentCategory.ValueType
module-attribute
¤
A crypto miner.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_ELECTROLYZER: ComponentCategory.ValueType
module-attribute
¤
An electrolyzer for converting water into hydrogen and oxygen.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_EV_CHARGER: ComponentCategory.ValueType
module-attribute
¤
A station for charging electrical vehicles.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_FUSE: ComponentCategory.ValueType
module-attribute
¤
A fuse. Fuses are used to protect electrical components from overcurrents.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_GRID: ComponentCategory.ValueType
module-attribute
¤
The point where the local microgrid is connected to the grid.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_INVERTER: ComponentCategory.ValueType
module-attribute
¤
An electricity generator, with batteries or solar energy.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_METER: ComponentCategory.ValueType
module-attribute
¤
A meter, for measuring electrical metrics, e.g., current, voltage, etc.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_PRECHARGER: ComponentCategory.ValueType
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.components.components_pb2.COMPONENT_CATEGORY_RELAY: ComponentCategory.ValueType
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.components.components_pb2.COMPONENT_CATEGORY_UNSPECIFIED: ComponentCategory.ValueType
module-attribute
¤
An unknown component categories, useful for error handling, and marking unknown components in a list of components with otherwise known categories.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_VOLTAGE_TRANSFORMER: ComponentCategory.ValueType
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.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_BLOCK_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a battery block error.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_CALIBRATION_NEEDED: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that battery calibration is needed.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_CONTROLLER_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a battery controller error.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_IMBALANCE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a battery system imbalance.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_LOW_SOH: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a low state of health (SOH) detected in the battery.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_RELAY_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a battery relay error.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_CONFIG_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a configuration error related to the component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_INVALID: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating an invalid electric vehicle (EV) cable.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_LOCK_FAILED: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating electric vehicle (EV) cable lock failure.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating electric vehicle (EV) cable was abruptly unplugged from the vehicle.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_STATION: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating electric vehicle (EV) cable was abruptly unplugged from the charging station.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_EV_CONSUMER_INCOMPATIBLE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating an incompatible electric vehicle (EV) plug.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_EV_UNEXPECTED_PILOT_FAILURE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating unexpected pilot failure in an electric vehicle (EV) component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_FAULT_CURRENT: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating fault current detected in the component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_FUSE_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component's fuse has blown.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_HARDWARE_INACCESSIBLE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the hardware of the component is inaccessible.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_HIGH_HUMIDITY: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is exposed to high humidity levels over the maximum rated value.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_ILLEGAL_COMPONENT_STATE_CODE_REQUESTED: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating an illegal state requested for the component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_INTERNAL: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating an internal error within the component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_OVERCURRENT: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is drawing more current than the maximum rated value.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_OVERCURRENT_CHARGING: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component's consumption current is over the maximum rated value during charging.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_OVERCURRENT_DISCHARGING: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component's production current is over the maximum rated value during discharging.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_OVERTEMPERATURE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is operating over the maximum rated temperature.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_OVERVOLTAGE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is operating over the maximum rated voltage.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_PLAUSIBILITY_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating plausibility issues within the system involving this component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_PRECHARGE_ERROR: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component's precharge unit has failed.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_RELAY_CYCLE_LIMIT_REACHED: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the relays have been cycled for the maximum number of times.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_SHORT_CIRCUIT: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating a short circuit detected in the component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_SWITCH_ON_FAULT: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component could not be switched on.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_UNAUTHORIZED: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is unauthorized to perform the last requested action.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_UNDERTEMPERATURE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is operating under the minimum rated temperature.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_UNDERVOLTAGE: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating that the component is operating under the minimum rated voltage.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_UNDERVOLTAGE_SHUTDOWN: ComponentErrorCode.ValueType
module-attribute
¤
Error indicating system shutdown due to undervoltage involving this component.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_UNKNOWN: ComponentErrorCode.ValueType
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.components.components_pb2.COMPONENT_ERROR_CODE_UNSPECIFIED: ComponentErrorCode.ValueType
module-attribute
¤
Default value. No specific error is specified.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_CHARGING: ComponentStateCode.ValueType
module-attribute
¤
State when the component is actively consuming energy.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_DISCHARGING: ComponentStateCode.ValueType
module-attribute
¤
State when the component is actively producing or releasing energy.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_ERROR: ComponentStateCode.ValueType
module-attribute
¤
State when the component is in an error state and may need attention.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_EV_CHARGING_CABLE_LOCKED_AT_EV: ComponentStateCode.ValueType
module-attribute
¤
The EV charging cable is locked at the vehicle end, indicating that charging is active.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_EV_CHARGING_CABLE_LOCKED_AT_STATION: ComponentStateCode.ValueType
module-attribute
¤
The EV charging cable is locked at the charging station end, indicating readiness for charging.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_EV_CHARGING_CABLE_PLUGGED_AT_EV: ComponentStateCode.ValueType
module-attribute
¤
The EV charging cable is plugged into the vehicle.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_EV_CHARGING_CABLE_PLUGGED_AT_STATION: ComponentStateCode.ValueType
module-attribute
¤
The EV charging cable is plugged into the charging station.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_EV_CHARGING_CABLE_UNPLUGGED: ComponentStateCode.ValueType
module-attribute
¤
The Electric Vehicle (EV) charging cable is unplugged from the charging station.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_OFF: ComponentStateCode.ValueType
module-attribute
¤
State when the component has successfully switched off.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_PRECHARGER_CLOSED: ComponentStateCode.ValueType
module-attribute
¤
The precharger circuit is closed, allowing full current to flow to the main circuit.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_PRECHARGER_OPEN: ComponentStateCode.ValueType
module-attribute
¤
The precharger circuit is open, meaning it's not currently active.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_PRECHARGER_PRECHARGING: ComponentStateCode.ValueType
module-attribute
¤
The precharger is in a precharging state, preparing the main circuit for activation.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_READY: ComponentStateCode.ValueType
module-attribute
¤
State when the component is fully operational and ready for use.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_RELAY_CLOSED: ComponentStateCode.ValueType
module-attribute
¤
The relay is in a closed state, allowing current to flow.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_RELAY_OPEN: ComponentStateCode.ValueType
module-attribute
¤
The relay is in an open state, meaning no current can flow through.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_STANDBY: ComponentStateCode.ValueType
module-attribute
¤
State when the component is in standby mode, and not immediately ready for immediate operations.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_SWITCHING_OFF: ComponentStateCode.ValueType
module-attribute
¤
State when the component is in the process of switching off.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_SWITCHING_ON: ComponentStateCode.ValueType
module-attribute
¤
State when the component is in the process of switching on from an off state.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_UNAVAILABLE: ComponentStateCode.ValueType
module-attribute
¤
State when the component is temporarily unavailable for operation.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_UNKNOWN: ComponentStateCode.ValueType
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.components.components_pb2.COMPONENT_STATE_CODE_UNSPECIFIED: ComponentStateCode.ValueType
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.components.components_pb2.COMPONENT_STATUS_ACTIVE: ComponentStatus.ValueType
module-attribute
¤
The component is active.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATUS_INACTIVE: ComponentStatus.ValueType
module-attribute
¤
The component is inactive.
frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATUS_UNSPECIFIED: ComponentStatus.ValueType
module-attribute
¤
The status is unspecified. This should not be used.
Classes¤
frequenz.api.common.v1.microgrid.components.components_pb2.Component
¤
Bases: Message
Microgrid electrical component details.
Attributes¤
category: global___ComponentCategory.ValueType
instance-attribute
¤
The component category. E.g., Inverter, Battery, etc.
category_type: global___ComponentCategoryMetadataVariant
property
¤
The metadata specific to the component category type.
id: builtins.int
instance-attribute
¤
The component ID.
manufacturer: builtins.str
instance-attribute
¤
The component manufacturer.
metric_config_bounds: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MetricConfigBounds]
property
¤
List of rated bounds present for the component identified by Metric.
microgrid_id: builtins.int
instance-attribute
¤
Unique identifier of the parent microgrid_id.
model_name: builtins.str
instance-attribute
¤
The model name of the component.
name: builtins.str
instance-attribute
¤
The component name.
operational_lifetime: frequenz.api.common.v1.microgrid.lifetime_pb2.Lifetime
property
¤
The operational lifetime of the component.
status: global___ComponentStatus.ValueType
instance-attribute
¤
The status of the component.
frequenz.api.common.v1.microgrid.components.components_pb2.ComponentCategory
¤
Bases: _ComponentCategory
Enumrated component categories.
frequenz.api.common.v1.microgrid.components.components_pb2.ComponentCategoryMetadataVariant
¤
Bases: Message
Metadata specific to a microgrid component.
frequenz.api.common.v1.microgrid.components.components_pb2.ComponentConnection
¤
Bases: Message
ComponentConnection 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: builtins.int
instance-attribute
¤
Unique ID of the component where the connection terminates. This is the component towards which the current flows.
operational_lifetime: frequenz.api.common.v1.microgrid.lifetime_pb2.Lifetime
property
¤
The operational lifetime of the connection.
source_component_id: builtins.int
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.components.components_pb2.ComponentData
¤
Bases: Message
ComponentData message aggregates multiple metrics, operational states, and errors, related to a specific microgrid component.
Example
Example output of a component data message:
{
component_id: 13,
metric_samples: [
/* list of metrics for multiple timestamps */
{
sampled_at: "2023-10-01T00:00:00Z",
metric: "DC_VOLTAGE_V",
sample: {},
bounds: {},
},
{
sampled_at: "2023-10-01T00:00:00Z",
metric: "DC_VOLTAGE_V",
sample: {},
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: [],
},
]
}
Attributes¤
component_id: builtins.int
instance-attribute
¤
The ID of the microgrid component.
metric_samples: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[frequenz.api.common.v1.metrics.metric_sample_pb2.MetricSample]
property
¤
List of measurements for a metric of the specific microgrid component.
states: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ComponentState]
property
¤
List of states of a specific microgrid component.
frequenz.api.common.v1.microgrid.components.components_pb2.ComponentErrorCode
¤
Bases: _ComponentErrorCode
A representation of all possible errors that can occur across all component categories.
frequenz.api.common.v1.microgrid.components.components_pb2.ComponentState
¤
Bases: Message
Representation of a component state and errors.
Attributes¤
errors: google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___ComponentErrorCode.ValueType]
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: google.protobuf.timestamp_pb2.Timestamp
property
¤
The time at which the state was sampled.
states: google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___ComponentStateCode.ValueType]
property
¤
List of states of the microgrid component.
Note
The list will contain unique members. No state will exist twice in this list.
warnings: google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___ComponentErrorCode.ValueType]
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.components.components_pb2.ComponentStateCode
¤
Bases: _ComponentStateCode
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.components.components_pb2.ComponentStatus
¤
Bases: _ComponentStatus
ComponentStatus 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.components.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: frequenz.api.common.v1.metrics.bounds_pb2.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: frequenz.api.common.v1.metrics.metric_sample_pb2.Metric.ValueType
instance-attribute
¤
Metric type the config bounds are for