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: 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