Skip to main content

ConfigurationKey

Enum ConfigurationKey 

Source
pub enum ConfigurationKey {
Show 51 variants AllowOfflineTxForUnknownId, AuthorizationCacheEnabled, AuthorizeRemoteTxRequests, BlinkRepeat, ClockAlignedDataInterval, ConnectionTimeOut, ConnectorPhaseRotation, ConnectorPhaseRotationMaxLength, GetConfigurationMaxKeys, HeartbeatInterval, LightIntensity, LocalAuthorizeOffline, LocalPreAuthorize, MaxEnergyOnInvalidId, MeterValuesAlignedData, MeterValuesAlignedDataMaxLength, MeterValuesSampledData, MeterValuesSampledDataMaxLength, MeterValueSampleInterval, MinimumStatusDuration, NumberOfConnectors, ResetRetries, StopTransactionOnEVSideDisconnect, StopTransactionOnInvalidId, StopTxnAlignedData, StopTxnAlignedDataMaxLength, StopTxnSampledData, StopTxnSampledDataMaxLength, SupportedFeatureProfiles, SupportedFeatureProfilesMaxLength, TransactionMessageAttempts, TransactionMessageRetryInterval, UnlockConnectorOnEVSideDisconnect, WebSocketPingInterval, LocalAuthListEnabled, LocalAuthListMaxLength, SendLocalListMaxLength, ReserveConnectorZeroSupported, ChargeProfileMaxStackLevel, ChargingScheduleAllowedChargingRateUnit, ChargingScheduleMaxPeriods, ConnectorSwitch3to1PhaseSupported, MaxChargingProfilesInstalled, AdditionalRootCertificateCheck, AuthorizationKey, CertificateSignedMaxChainSize, CertificateStoreMaxLength, CpoName, SecurityProfile, SupportedFileTransferProtocols, Other(String<50usize>),
}
Expand description

Standardized configuration keys for GetConfiguration / ChangeConfiguration.

The schema types key as a plain string; the spec lists these in “Standard Configuration Key Names & Values”, extended by the Security Whitepaper.

An open set: values the specification doesn’t define are carried in Self::Other rather than rejected, so a deployment’s own values survive a deserialize/serialize round trip.

Comparison and hashing go through the wire string, not the variant, so Other("...") holding a standardized value compares equal to that variant.

Variants§

§

AllowOfflineTxForUnknownId

If this key exists, the Charge Point supports Unknown Offline Authorization. If this key reports a value of true, Unknown Offline Authorization is enabled.

§

AuthorizationCacheEnabled

If this key exists, the Charge Point supports an Authorization Cache. If this key reports a value of true, the Authorization Cache is enabled.

§

AuthorizeRemoteTxRequests

Whether a remote request to start a transaction in the form of a RemoteStartTransaction.req message should be authorized beforehand like a local action to start a transaction.

§

BlinkRepeat

Number of times to blink Charge Point lighting when signalling.

§

ClockAlignedDataInterval

Size (in seconds) of the clock-aligned data interval. This is the size (in seconds) of the set of evenly spaced aggregation intervals per day, starting at 00:00:00 (midnight).

§

ConnectionTimeOut

Interval (from successful authorization) until incipient transaction is automatically cancelled, due to failure of EV driver to (correctly) insert the charging cable connector(s) into the appropriate socket(s).

§

ConnectorPhaseRotation

The phase rotation per connector in respect to the connector’s electrical meter (or if absent, the grid connection). Possible values per connector are RST, RTS, SRT, STR, TRS and TSR.

§

ConnectorPhaseRotationMaxLength

Maximum number of items in a ConnectorPhaseRotation Configuration Key.

§

GetConfigurationMaxKeys

Maximum number of requested configuration keys in a GetConfiguration.req PDU.

§

HeartbeatInterval

Interval (in seconds) of inactivity (no OCPP exchanges) with Central System after which the Charge Point should send a Heartbeat.req PDU.

§

LightIntensity

Percentage of maximum intensity at which to illuminate Charge Point lighting.

§

LocalAuthorizeOffline

Whether the Charge Point, when offline, will start a transaction for locally-authorized identifiers.

§

LocalPreAuthorize

Whether the Charge Point, when online, will start a transaction for locally-authorized identifiers without waiting for or requesting an Authorize.conf from the Central System.

§

MaxEnergyOnInvalidId

Maximum energy in Wh delivered when an identifier is invalidated by the Central System after start of a transaction.

§

MeterValuesAlignedData

Clock-aligned measurand(s) to be included in a MeterValues.req PDU, every ClockAlignedDataInterval seconds.

§

MeterValuesAlignedDataMaxLength

Maximum number of items in a MeterValuesAlignedData Configuration Key.

§

MeterValuesSampledData

Sampled measurands to be included in a MeterValues.req PDU, every MeterValueSampleInterval seconds. Where applicable, the Measurand is combined with the optional phase

§

MeterValuesSampledDataMaxLength

Maximum number of items in a MeterValuesSampledData Configuration Key.

§

MeterValueSampleInterval

Interval (in seconds) between sampling of metering (or other) data, intended to be transmitted by MeterValues.req PDUs.

§

MinimumStatusDuration

The minimum duration that a Charge Point or Connector status is stable before a StatusNotification.req PDU is sent to the Central System.

§

NumberOfConnectors

The number of physical charging connectors of this Charge Point.

§

ResetRetries

Number of times to retry an unsuccessful reset of the Charge Point.

§

StopTransactionOnEVSideDisconnect

When set to true, the Charge Point SHALL administratively stop the transaction when the cable is unplugged from the EV.

§

StopTransactionOnInvalidId

Whether the Charge Point will stop an ongoing transaction when it receives a non-Accepted authorization status in a StartTransaction.conf for this transaction.

§

StopTxnAlignedData

Clock-aligned periodic measurand(s) to be included in the TransactionData element of StopTransaction.req MeterValues.req PDU for every ClockAlignedDataInterval of the transaction.

§

StopTxnAlignedDataMaxLength

Maximum number of items in a StopTxnAlignedData Configuration Key.

§

StopTxnSampledData

Sampled measurands to be included in the TransactionData element of StopTransaction.req PDU, every MeterValueSampleInterval seconds from the start of the transaction.

§

StopTxnSampledDataMaxLength

Maximum number of items in a StopTxnSampledData Configuration Key.

§

SupportedFeatureProfiles

A list of supported Feature Profiles. Possible values are Core, FirmwareManagement, LocalAuthListManagement, Reservation, SmartCharging and RemoteTrigger.

§

SupportedFeatureProfilesMaxLength

Maximum number of items in a SupportedFeatureProfiles Configuration Key.

§

TransactionMessageAttempts

How often the Charge Point should try to submit a transaction-related message when the Central System fails to process it.

§

TransactionMessageRetryInterval

How long the Charge Point should wait before resubmitting a transaction-related message that the Central System failed to process.

§

UnlockConnectorOnEVSideDisconnect

When set to true, the Charge Point SHALL unlock the cable on the Charge Point side when the cable is unplugged at the EV.

§

WebSocketPingInterval

Only relevant for websocket implementations. 0 disables client side websocket ping/pong. In this case there is either no ping/pong or the server initiates the ping and client responds with Pong.

§

LocalAuthListEnabled

Whether the Local Authorization List is enabled.

§

LocalAuthListMaxLength

Maximum number of identifications that can be stored in the Local Authorization List.

§

SendLocalListMaxLength

Maximum number of identifications that can be sent in a single SendLocalList.req.

§

ReserveConnectorZeroSupported

If this configuration key is present and set to true, Charge Point support reservations on connector 0.

§

ChargeProfileMaxStackLevel

Max StackLevel of a ChargingProfile. The number defined also indicates the max allowed number of installed charging schedules per Charging Profile Purposes.

§

ChargingScheduleAllowedChargingRateUnit

A list of supported quantities for use in a ChargingSchedule. Allowed values: Current and Power.

§

ChargingScheduleMaxPeriods

Maximum number of periods that may be defined per ChargingSchedule.

§

ConnectorSwitch3to1PhaseSupported

If defined and true, this Charge Point support switching from 3 to 1 phase during a Transaction.

§

MaxChargingProfilesInstalled

Maximum number of Charging profiles installed at a time.

§

AdditionalRootCertificateCheck

Whether a Charge Point should double-check whether a certificate is not revoked, in addition to the standard certificate chain check. When true, the Charge Point MUST verify the certificate against a Certificate Revocation List or an OCSP responder.

§

AuthorizationKey

The basic authentication password used for HTTP Basic Authentication. Is write-only: reading it back returns no value. Minimal length is 16 bytes and it is not allowed to be set to an empty string.

§

CertificateSignedMaxChainSize

This configuration key can be used to limit the size of the ‘certificateChain’ field from the CertificateSigned.req PDU. The value of this configuration key has a maximum limit of 10000 characters.

§

CertificateStoreMaxLength

Maximum number of Root/CA certificates that can be installed in the Charge Point.

§

CpoName

The Charge Point identity that is used as the value of the ‘organizationName’ field in the Certificate Signing Request when a Charge Point requests a new certificate.

§

SecurityProfile

This configuration key is used to set the security profile the Charge Point should use. It is not allowed to lower the security level of an existing connection.

§

SupportedFileTransferProtocols

The transfer protocols supported for uploading a diagnostics or security log and for downloading firmware. Allowed values are FTP, FTPS, HTTP and HTTPS.

§

Other(String<50usize>)

A value this version’s specification doesn’t define – typically a vendor-specific one, which OCPP explicitly permits.

Bounded at 50 bytes, the same maxLength the wire field carries, so anything the field can hold this can hold. Prefer Self::from_wire_or_other over constructing this directly: it returns the standardized variant when the value is one, keeping a single representation per wire string.

Implementations§

Source§

impl ConfigurationKey

Source

pub const ALL: &'static [Self]

Every value this version’s specification defines (50), in spec order.

Does not include Self::Other, which is unbounded in the values it can hold.

Source

pub fn as_str(&self) -> &str

This value as it appears on the wire.

Source

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

Parses a wire value, returning None for values the specification doesn’t define.

Use this to ask “is this one of the spec’s values?”. To accept any value, use Self::from_wire_or_other.

Source

pub fn from_wire_or_other(value: &str) -> Result<Self, ValueTooLong>

Parses any wire value, falling back to Self::Other.

Fails only if value is longer than the specification’s maxLength for this field, in which case it isn’t a value the field could have carried in the first place.

Source

pub fn is_standardized(&self) -> bool

Whether this is one of the values the specification defines, as opposed to a vendor’s own.

Source

pub fn accessibility(&self) -> Option<&'static str>

R (read-only), RW (read/write), or W, as stated by the spec.

Source

pub fn value_type(&self) -> Option<&'static str>

The value’s type as stated by the spec (e.g. integer, boolean, CSL).

Source

pub fn is_required(&self) -> bool

Whether the spec requires every Charging Station to support this key.

Source

pub fn feature_profile(&self) -> Option<&'static str>

The feature profile that defines the key (e.g. Core, SmartCharging, Security).

Trait Implementations§

Source§

impl Clone for ConfigurationKey

Source§

fn clone(&self) -> ConfigurationKey

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ConfigurationKey

Source§

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

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

impl<'de> Deserialize<'de> for ConfigurationKey

Available on crate feature serde only.
Source§

fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for ConfigurationKey

Source§

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

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

impl Eq for ConfigurationKey

Source§

impl FromStr for ConfigurationKey

Source§

type Err = ValueTooLong

The associated error which can be returned from parsing.
Source§

fn from_str(value: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for ConfigurationKey

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 ConfigurationKey

Source§

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

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

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

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

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

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · 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 ConfigurationKey

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl PartialOrd for ConfigurationKey

Source§

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

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 Serialize for ConfigurationKey

Available on crate feature serde only.
Source§

fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more

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<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.