Skip to content

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 module-attribute ¤

A storage system for electrical energy, used by inverters.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_CHP 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 module-attribute ¤

A DC-DC converter.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_CRYPTO_MINER module-attribute ¤

A crypto miner.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_ELECTROLYZER module-attribute ¤

An electrolyzer for converting water into hydrogen and oxygen.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_EV_CHARGER module-attribute ¤

A station for charging electrical vehicles.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_FUSE module-attribute ¤

A fuse. Fuses are used to protect electrical components from overcurrents.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_GRID module-attribute ¤

The point where the local microgrid is connected to the grid.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_HVAC module-attribute ¤

An HVAC (Heating, Ventilation, and Air Conditioning) system.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_INVERTER module-attribute ¤

An electricity generator, with batteries or solar energy.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_CATEGORY_METER module-attribute ¤

A meter, for measuring electrical metrics, e.g., current, voltage, etc.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.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.components.components_pb2.COMPONENT_CATEGORY_UNSPECIFIED module-attribute ¤

The component category is unspecified. This should not be used.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_BLOCK_ERROR module-attribute ¤

Error indicating a battery block error.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_CALIBRATION_NEEDED module-attribute ¤

Error indicating that battery calibration is needed.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_CONTROLLER_ERROR module-attribute ¤

Error indicating a battery controller error.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_IMBALANCE module-attribute ¤

Error indicating a battery system imbalance.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.COMPONENT_ERROR_CODE_BATTERY_RELAY_ERROR module-attribute ¤

Error indicating a battery relay error.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_CONFIG_ERROR 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 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 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 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 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 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 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 module-attribute ¤

Error indicating fault current detected in the component.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_FUSE_ERROR module-attribute ¤

Error indicating that the component's fuse has blown.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_HARDWARE_INACCESSIBLE 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 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 module-attribute ¤

Error indicating an illegal state requested for the component.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_INTERNAL module-attribute ¤

Error indicating an internal error within the component.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.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.components.components_pb2.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.components.components_pb2.COMPONENT_ERROR_CODE_OVERTEMPERATURE 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 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 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 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 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 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 module-attribute ¤

Error indicating that the component could not be switched on.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_ERROR_CODE_UNAUTHORIZED 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 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 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 module-attribute ¤

Error indicating system shutdown due to undervoltage involving this component.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.COMPONENT_ERROR_CODE_UNSPECIFIED module-attribute ¤

Default value. No specific error is specified.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_CHARGING module-attribute ¤

State when the component is actively consuming energy.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_DISCHARGING module-attribute ¤

State when the component is actively producing or releasing energy.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATE_CODE_ERROR 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 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 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 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 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 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 module-attribute ¤

State when the component has successfully switched off.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.COMPONENT_STATE_CODE_PRECHARGER_OPEN 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 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 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 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 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 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 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 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 module-attribute ¤

State when the component is temporarily unavailable for operation.

frequenz.api.common.v1.microgrid.components.components_pb2.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.components.components_pb2.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.components.components_pb2.COMPONENT_STATUS_ACTIVE module-attribute ¤

The component is active.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATUS_INACTIVE module-attribute ¤

The component is inactive.

frequenz.api.common.v1.microgrid.components.components_pb2.COMPONENT_STATUS_UNSPECIFIED 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 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.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 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.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", 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: [], }, ] }

Attributes¤
component_id instance-attribute ¤

The ID of the microgrid component.

metric_samples property ¤

List of measurements for a metric of the specific microgrid component.

states 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 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.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 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