Skip to content

Protocol Documentation¤

Table of Contents¤

Top

frequenz/api/microgrid/inverter.proto¤

Data¤

Inverter data.

Field Type Label Description
dc_battery frequenz.api.common.metrics.electrical.DC DC metrics for the inverter-battery linkage. This is applicable to BATTERY and HYBRID inverters only.
dc_solar frequenz.api.common.metrics.electrical.DC DC metrics for the inverter-PV linkage. This is applicable to SOLAR and HYBRID inverters only.
ac frequenz.api.common.metrics.electrical.AC AC metrics of the inverter.
temperature frequenz.api.common.metrics.Metric The verall temperature of the inverter. In degree Celsius (°C).

Error¤

Error message.

Field Type Label Description
code ErrorCode The error code.
level frequenz.api.microgrid.common.ErrorLevel The error severity level.
msg string The error message.

Inverter¤

Inverter message definition.

Field Type Label Description
properties Properties The component properties
state State The inverter's state.
errors Error repeated A list of errors encountered the component. An empty list implies no error.
data Data An inverter data object.

Metadata¤

The inverter metadata.

Field Type Label Description
type frequenz.api.common.components.InverterType The inverter type.

Properties¤

Inverter properties.

Field Type Label Description
firmware_ver string The firmware version of the component.

State¤

State message.

Field Type Label Description
component_state ComponentState The state of the overall component.

ComponentState¤

Enumerated inverter states.

Name Number Description
COMPONENT_STATE_UNSPECIFIED 0 Default value.
COMPONENT_STATE_OFF 1 Inverter is switched off.
COMPONENT_STATE_SWITCHING_ON 2 The inverter is starting up and needs some time to become fully operational.
COMPONENT_STATE_SWITCHING_OFF 3 The inverter is switching off and needs some time to fully shut down.
COMPONENT_STATE_STANDBY 4 The inverter is in a standby state, and is disconnected from the grid. When connected to the grid, it run a few tests, and move to the IDLE state.
COMPONENT_STATE_IDLE 5 The inverter is idle.
COMPONENT_STATE_CHARGING 10 The inverter is consuming electrical energy to charge batteries. Applicable to BATTERY and HYBRID inverters only.
COMPONENT_STATE_DISCHARGING 11 The inverter is generating electrical energy.
COMPONENT_STATE_ERROR 14 The inverter is in a faulty state.
COMPONENT_STATE_UNAVAILABLE 15 The inverter is online, but currently unavailable, possibly due to a pre-scheduled maintenance.
COMPONENT_STATE_UNKNOWN 16 The state is provided by the device, but it can not be parsed as any of the above (known) states.

ErrorCode¤

Enumerated inverter error codes.

Name Number Description
ERROR_CODE_UNSPECIFIED 0 Unspecified.

Type¤

Enumerated inverter types.

Name Number Description
TYPE_UNSPECIFIED 0
TYPE_BATTERY 1
TYPE_SOLAR 2
TYPE_HYBRID 3

Scalar Value Types¤

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)