Skip to content

Protocol Documentation¤

Table of Contents¤

Top

frequenz/api/microgrid/ev_charger.proto¤

Data¤

EV charger data.

Field Type Label Description
dc frequenz.api.common.metrics.electrical.DC DC metrics of the EV charging station. Contains data only if DC charging is supported by the EV charging station. (in which case, the type of the EV charging station is TYPE_DC or TYPE_HYBRID)
ac frequenz.api.common.metrics.electrical.AC AC metrics of the EV charging station. Contains data only if AC charging is supported by the EV charging station. (in which case, the type of the EV charging station is TYPE_AC or TYPE_HYBRID)
temperature frequenz.api.common.metrics.Metric The overall temperature of the EV charger. 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.

EvCharger¤

EvCharger details

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

Metadata¤

The EV charger metadata.

Field Type Label Description
type frequenz.api.common.components.EvChargerType The EV charger type.

Properties¤

EV charger 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.
cable_state CableState The state of the charging cable.

CableState¤

The possible states of the cable connecting an EV charging station and an EV.

Name Number Description
CABLE_STATE_UNSPECIFIED 0 Default state.
CABLE_STATE_UNPLUGGED 1 No cable is connected to the EV charging station.
CABLE_STATE_CHARGING_STATION_PLUGGED 2 A cable is connected to the EV charging station, but is not locked with it.
CABLE_STATE_CHARGING_STATION_LOCKED 3 A cable is connected to and locked with the EV charging station.
CABLE_STATE_EV_PLUGGED 4 A cable is connected to and locked with the EV charging station. The same cable is connected to the EV, but is not locked with it.
CABLE_STATE_EV_LOCKED 5 A cable is connected to and locked with the EV charging station. The same cable is connected to and locked with the EV.

ComponentState¤

The possible states of an EV charging station.

Name Number Description
COMPONENT_STATE_UNSPECIFIED 0 Default state. This value is used only when the state information is not available.
COMPONENT_STATE_STARTING 1 The EV charging station is starting up.
COMPONENT_STATE_NOT_READY 2 The EV charging station is unplugged or RFID is not working.
COMPONENT_STATE_READY 3 The EV charging station is ready and waiting for a charging request
COMPONENT_STATE_CHARGING 4 The EV charging station is charging an EV.
COMPONENT_STATE_DISCHARGING 5 The EV charging station is discharging from an EV into the local microgrid.
COMPONENT_STATE_ERROR 6 The EV charging station is in an error state.
COMPONENT_STATE_AUTHORIZATION_REJECTED 7 The EV charging station rejected the last authorization.
COMPONENT_STATE_INTERRUPTED 8 The EV charging process hes been temporarily interrupted.
COMPONENT_STATE_UNKNOWN 9 The state is provided by the device, but it can not be parsed as any of the above (known) states.

ErrorCode¤

Enumerated EV charger error codes.

Name Number Description
ERROR_CODE_UNSPECIFIED 0 Unspecified.
ERROR_CODE_SWITCH_ON_FAULT 1 Something is preventing the DC contactor from being switched on.
ERROR_CODE_UNDERVOLTAGE 2 AC supply voltage is lower than expected.
ERROR_CODE_OVERVOLTAGE 3 AC supply voltage is higher than expected.
ERROR_CODE_OVERCURRENT 4 DC charging voltage is higher than expected.
ERROR_CODE_OVERTEMPERATURE 5 Temperature in the charging station is higher than expected.
ERROR_CODE_UNEXPECTED_PILOT_FAILURE 6 EV has sent an unexpected pilot signal.
ERROR_CODE_FAULT_CURRENT 7 A fault current has been detected.
ERROR_CODE_SHORT_CIRCUIT 8 A short circuit has been detected.
ERROR_CODE_CONFIG_ERROR 9 The system is incorrectly configured.
ERROR_CODE_ILLEGAL_COMPONENT_STATE_REQUESTED 10 The system received a request to move to an illegal state.
ERROR_CODE_HARDWARE_INACCESSIBLE 11 The system cannot access the internal hardware.
ERROR_CODE_INTERNAL 12 The system has detected an unspecified internal error.
ERROR_CODE_CABLE_LOST 13 The charging cable was unplugged unexpectedly.
ERROR_CODE_CABLE_LOCK_FAILED 14 The charging cable could not be locked.
ERROR_CODE_CABLE_INVALID 15 The charging cable could not be locked.
ERROR_CODE_PLUG_UNKNOWN 16 The charging cable has an unrecognised plug.
ERROR_CODE_CONSUMER_NON_STANDARD 17 The connected consumer is not a standard-compliant EV.

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)