Skip to main content

ElectricalComponentCategory

Enum ElectricalComponentCategory 

Source
#[repr(i32)]
pub enum ElectricalComponentCategory {
Show 19 variants Unspecified = 0, GridConnectionPoint = 1, Meter = 2, Inverter = 3, Converter = 4, Battery = 5, EvCharger = 6, Breaker = 7, Precharger = 8, Chp = 9, Electrolyzer = 10, PowerTransformer = 11, Hvac = 12, Plc = 13, CryptoMiner = 14, StaticTransferSwitch = 15, UninterruptiblePowerSupply = 16, CapacitorBank = 17, WindTurbine = 18,
}
Expand description

Enumerated electrical component categories.

This enum lists key microgrid components, most of which are typically capable of being remotely controlled via digital interfaces (e.g., Modbus, MQTT, OPC-UA).

Variants§

§

Unspecified = 0

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

§

GridConnectionPoint = 1

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

Represents the interface between a local microgrid and the public electricity grid, typically used for metering, protection, and isolation. This category itself is not remotely controllable, but can be associated with other devices (inverters, relays, etc.) that can be controlled to affect the grid connection point.

§

Meter = 2

A meter for measuring electrical parameters.

Measures electrical parameters such as voltage, current, power, energy, and frequency. Meters typically cannot be controlled remotely, but they can provide telemetry data. Examples: Janitza UMG 604, Janitza B24, ABB B24, etc.

§

Inverter = 3

An inverter.

Converts DC to AC power and vice-versa, enabling integration of batteries, PV arrays, or other renewables. Remotely controllable via digital protocols for power setpoints, modes, and status. Examples: SMA Sunny Tripower, Kaco Blueplanet, Refu RefuStore88k, etc.

§

Converter = 4

A DC-DC converter.

Converts electrical energy between different DC voltage levels. Typically remotely controllable for voltage, current, or mode adjustment. Examples: Victron Orion, Delta Electronics DC-DC converters, TDK Lambda.

§

Battery = 5

A battery energy storage system.

Stores electrical energy and can be dispatched for load balancing, backup, or arbitrage. Remotely controllable for charging, discharging, and operational mode. Examples: Tesla Megapack, LG Chem RESU, etc.

§

EvCharger = 6

An EV charger.

Provides controlled charging for electric vehicles. Remotely controllable for starting/stopping charging and setting power limits. Examples: Alfen NG 9xx, KEBA KeContact P30, Siemens VersiCharge, etc.

§

Breaker = 7

A circuit breaker.

Provides protection and switching by disconnecting circuits as needed. Remotely controllable for opening/closing and status monitoring. Examples: Finder Series 62, Phoenix Contact PLC-Interface, Siemens Sirius, Schneider Electric Zelio, etc.

§

Precharger = 8

A pre-charge module.

Ramps up DC voltage gradually to protect components during power-up. Remotely controllable to initiate or manage the pre-charge sequence. Examples: Precharge modules from Bender, Precharge controllers by Elcon, custom PLC-controlled circuits.

§

Chp = 9

A combined heat and power (CHP) plant.

Generates electricity and useful heat from a single energy source. Remotely controllable for start/stop commands and setpoint adjustments. Examples: 2G Agenitor, Viessmann Vitobloc, TEDOM Micro series, Bosch CHP.

§

Electrolyzer = 10

An electrolyzer.

Converts electrical energy into hydrogen and oxygen by electrolyzing water. Remotely controllable for operating mode and production rate. Examples: Siemens Silyzer, Nel Hydrogen PEM, ITM Power electrolyzers.

§

PowerTransformer = 11

A power transformer.

A power transformer is designed for the bulk transfer of electrical energy. Its main job is to “step-up” or “step-down” voltage levels for efficient transmission and distribution of power.

Since power transformers try to keep the output power same as the input power (ignoring losses), when they step-up the voltage, the current gets proportionally reduced, and vice versa.

§

Hvac = 12

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

Manages indoor climate by controlling heating, cooling, and ventilation. Remotely controllable for setpoint and operational scheduling. Examples: Siemens Desigo, Trane Voyager, Daikin VRV, Schneider Electric SmartStruxure.

§

Plc = 13

An industrial controller or PLC (Programmable Logic Controller).

Automates industrial processes, load shedding, and custom logic. Remotely controllable for process execution and telemetry via digital protocols. Examples: Siemens SIMATIC S7-1200/1500, Beckhoff CX-series IPC, Schneider M340, Wago PFC 200.

§

CryptoMiner = 14

A crypto miner.

Consumes power for blockchain computations and can be remotely curtailed or powered down. Examples: Bitmain Antminer, MicroBT WhatsMiner, Canaan AvalonMiner.

§

StaticTransferSwitch = 15

A static transfer switch (STS).

Switches between multiple power sources with minimal transfer time to maintain continuity. Remotely controllable for source selection and transfer commands. Examples: Socomec ATyS, ABB TruONE, Eaton Automatic Transfer Switch, ASCO Series 7000.

§

UninterruptiblePowerSupply = 16

An uninterruptible power supply (UPS).

Provides immediate backup power with battery and inverter integration. Remotely controllable for status, diagnostics, and sometimes operational commands. Examples: APC Symmetra PX, Eaton 93PM, Schneider Electric Galaxy, Vertiv Liebert EXL.

§

CapacitorBank = 17

A capacitor bank for power factor correction.

Improves power quality by compensating reactive power. Remotely controllable for switching capacitors in or out. Examples: Siemens 3FK, ABB Capacitor Banks, Schneider Electric VarSet, Eaton PowerXL.

§

WindTurbine = 18

A wind turbine.

Converts wind energy into electricity. Remotely controllable (in most commercial systems) for start/stop, output regulation, and status. Examples: Siemens Gamesa SG, Vestas V series, GE Cypress, Nordex Delta.

Implementations§

Source§

impl ElectricalComponentCategory

Source

pub fn is_valid(value: i32) -> bool

Returns true if value is a variant of ElectricalComponentCategory.

Source

pub fn from_i32(value: i32) -> Option<ElectricalComponentCategory>

👎Deprecated:

Use the TryFrom<i32> implementation instead

Converts an i32 to a ElectricalComponentCategory, or None if value is not a valid variant.

Source§

impl ElectricalComponentCategory

Source

pub fn as_str_name(&self) -> &'static str

String value of the enum field names used in the ProtoBuf definition.

The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.

Source

pub fn from_str_name(value: &str) -> Option<Self>

Creates an enum from field names used in the ProtoBuf definition.

Trait Implementations§

Source§

impl Clone for ElectricalComponentCategory

Source§

fn clone(&self) -> ElectricalComponentCategory

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ElectricalComponentCategory

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ElectricalComponentCategory

Source§

fn default() -> ElectricalComponentCategory

Returns the “default value” for a type. Read more
Source§

impl From<ElectricalComponentCategory> for i32

Source§

fn from(value: ElectricalComponentCategory) -> i32

Converts to this type from the input type.
Source§

impl Hash for ElectricalComponentCategory

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for ElectricalComponentCategory

Source§

fn cmp(&self, other: &ElectricalComponentCategory) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for ElectricalComponentCategory

Source§

fn eq(&self, other: &ElectricalComponentCategory) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for ElectricalComponentCategory

Source§

fn partial_cmp(&self, other: &ElectricalComponentCategory) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl TryFrom<i32> for ElectricalComponentCategory

Source§

type Error = UnknownEnumValue

The type returned in the event of a conversion error.
Source§

fn try_from(value: i32) -> Result<ElectricalComponentCategory, UnknownEnumValue>

Performs the conversion.
Source§

impl Copy for ElectricalComponentCategory

Source§

impl Eq for ElectricalComponentCategory

Source§

impl StructuralPartialEq for ElectricalComponentCategory

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<N> NodeTrait for N
where N: Copy + Ord + Hash,

Source§

impl<T> RuleType for T
where T: Copy + Debug + Eq + Hash + Ord,