Skip to main content

ChargingProfile

Struct ChargingProfile 

Source
pub struct ChargingProfile {
Show 15 fields pub id: i64, pub stack_level: i64, pub charging_profile_purpose: ChargingProfilePurposeEnum, pub charging_profile_kind: ChargingProfileKindEnum, pub recurrency_kind: Option<RecurrencyKindEnum>, pub valid_from: Option<DateTime>, pub valid_to: Option<DateTime>, pub transaction_id: Option<String>, pub max_offline_duration: Option<i64>, pub charging_schedule: Vec<ChargingSchedule>, pub invalid_after_offline_duration: Option<bool>, pub dyn_update_interval: Option<i64>, pub dyn_update_time: Option<DateTime>, pub price_schedule_signature: Option<String>, pub custom_data: Option<CustomData>,
}
Expand description

A ChargingProfile consists of 1 to 3 ChargingSchedules with a list of ChargingSchedulePeriods, describing the amount of power or current that can be delivered per time interval. image::images/ChargingProfile-Simple.png[]

Fields§

§id: i64

Id of ChargingProfile. Unique within charging station. Id can have a negative value. This is useful to distinguish charging profiles from an external actor (external constraints) from charging profiles received from CSMS.

§stack_level: i64

Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.

§charging_profile_purpose: ChargingProfilePurposeEnum§charging_profile_kind: ChargingProfileKindEnum§recurrency_kind: Option<RecurrencyKindEnum>§valid_from: Option<DateTime>

Point in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.

§valid_to: Option<DateTime>

Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.

§transaction_id: Option<String>

SHALL only be included if ChargingProfilePurpose is set to TxProfile in a SetChargingProfileRequest. The transactionId is used to match the profile to a specific transaction.

§max_offline_duration: Option<i64>

(2.1) Period in seconds that this charging profile remains valid after the Charging Station has gone offline. After this period the charging profile becomes invalid for as long as it is offline and the Charging Station reverts back to a valid profile with a lower stack level. If invalidAfterOfflineDuration is true, then this charging profile will become permanently invalid. A value of 0 means that the charging profile is immediately invalid while offline. When the field is absent, then no timeout applies and the charging profile remains valid when offline.

§charging_schedule: Vec<ChargingSchedule>§invalid_after_offline_duration: Option<bool>

(2.1) When set to true this charging profile will not be valid anymore after being offline for more than maxOfflineDuration. + When absent defaults to false.

§dyn_update_interval: Option<i64>

(2.1) Interval in seconds after receipt of last update, when to request a profile update by sending a PullDynamicScheduleUpdateRequest message. A value of 0 or no value means that no update interval applies. + Only relevant in a dynamic charging profile.

§dyn_update_time: Option<DateTime>

(2.1) Time at which limits or setpoints in this charging profile were last updated by a PullDynamicScheduleUpdateRequest or UpdateDynamicScheduleRequest or by an external actor. + Only relevant in a dynamic charging profile.

§price_schedule_signature: Option<String>

(2.1) ISO 15118-20 signature for all price schedules in chargingSchedules. + Note: for 256-bit elliptic curves (like secp256k1) the ECDSA signature is 512 bits (64 bytes) and for 521-bit curves (like secp521r1) the signature is 1042 bits. This equals 131 bytes, which can be encoded as base64 in 176 bytes.

§custom_data: Option<CustomData>

Trait Implementations§

Source§

impl Clone for ChargingProfile

Source§

fn clone(&self) -> Self

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 ChargingProfile

Source§

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

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

impl<'de> Deserialize<'de> for ChargingProfile

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

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

impl PartialEq for ChargingProfile

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 Serialize for ChargingProfile

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ChargingProfile

Source§

impl Validate for ChargingProfile

Source§

fn validate(&self, path: &Path<'_>) -> Result<(), Violation>

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.