Skip to main content

ChargingSchedule

Struct ChargingSchedule 

Source
pub struct ChargingSchedule<CustomDataType = NoCustomData> {
Show 16 fields pub absolute_price_schedule: Option<AbsolutePriceSchedule<CustomDataType>>, pub charging_rate_unit: ChargingRateUnitEnum, pub charging_schedule_period: Vec<ChargingSchedulePeriod<CustomDataType>>, pub custom_data: Option<CustomDataType>, pub digest_value: Option<String<88usize>>, pub duration: Option<i64>, pub id: i64, pub limit_at_so_c: Option<LimitAtSoC<CustomDataType>>, pub min_charging_rate: Option<f64>, pub power_tolerance: Option<f64>, pub price_level_schedule: Option<PriceLevelSchedule<CustomDataType>>, pub randomized_delay: Option<i64>, pub sales_tariff: Option<SalesTariff<CustomDataType>>, pub signature_id: Option<i64>, pub start_schedule: Option<OcppTimestamp>, pub use_local_time: Option<bool>,
}
Expand description

Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only duration and chargingSchedulePeriod are relevant and chargingRateUnit must be ‘W’. + An ISO 15118-20 session may provide either an absolutePriceSchedule or a priceLevelSchedule. An ISO 15118-2 session can only provide a_salesTariff_ element. The field digestValue is used when price schedule or sales tariff are signed.

image::images/ChargingSchedule-Simple.png[]

Fields§

§absolute_price_schedule: Option<AbsolutePriceSchedule<CustomDataType>>§charging_rate_unit: ChargingRateUnitEnum§charging_schedule_period: Vec<ChargingSchedulePeriod<CustomDataType>>§custom_data: Option<CustomDataType>§digest_value: Option<String<88usize>>

(2.1) Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.

§duration: Option<i64>

Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.

§id: i64§limit_at_so_c: Option<LimitAtSoC<CustomDataType>>§min_charging_rate: Option<f64>

Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates.

§power_tolerance: Option<f64>

(2.1) Power tolerance when following EVPowerProfile.

§price_level_schedule: Option<PriceLevelSchedule<CustomDataType>>§randomized_delay: Option<i64>

(2.1) Defaults to 0. When randomizedDelay not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and randomizedDelay. Only allowed for TxProfile and TxDefaultProfile.

§sales_tariff: Option<SalesTariff<CustomDataType>>§signature_id: Option<i64>

(2.1) Id of this element for referencing in a signature.

§start_schedule: Option<OcppTimestamp>

Starting point of an absolute schedule or recurring schedule.

§use_local_time: Option<bool>

(2.1) Defaults to false. When true, disregard time zone offset in dateTime fields of ChargingScheduleType and use unqualified local time at Charging Station instead. This allows the same Absolute or Recurring charging profile to be used in both summer and winter time.

Trait Implementations§

Source§

impl<CustomDataType: Clone> Clone for ChargingSchedule<CustomDataType>

Source§

fn clone(&self) -> ChargingSchedule<CustomDataType>

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<CustomDataType: Debug> Debug for ChargingSchedule<CustomDataType>

Source§

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

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

impl<'de, CustomDataType> Deserialize<'de> for ChargingSchedule<CustomDataType>
where CustomDataType: Deserialize<'de>,

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<CustomDataType: PartialEq> PartialEq for ChargingSchedule<CustomDataType>

Source§

fn eq(&self, other: &ChargingSchedule<CustomDataType>) -> bool

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

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

Inequality operator !=. Read more
Source§

impl<CustomDataType> Serialize for ChargingSchedule<CustomDataType>
where CustomDataType: Serialize,

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<CustomDataType: PartialEq> StructuralPartialEq for ChargingSchedule<CustomDataType>

Auto Trait Implementations§

§

impl<CustomDataType> Freeze for ChargingSchedule<CustomDataType>
where CustomDataType: Freeze,

§

impl<CustomDataType> RefUnwindSafe for ChargingSchedule<CustomDataType>
where CustomDataType: RefUnwindSafe,

§

impl<CustomDataType> Send for ChargingSchedule<CustomDataType>
where CustomDataType: Send,

§

impl<CustomDataType> Sync for ChargingSchedule<CustomDataType>
where CustomDataType: Sync,

§

impl<CustomDataType> Unpin for ChargingSchedule<CustomDataType>
where CustomDataType: Unpin,

§

impl<CustomDataType> UnsafeUnpin for ChargingSchedule<CustomDataType>
where CustomDataType: UnsafeUnpin,

§

impl<CustomDataType> UnwindSafe for ChargingSchedule<CustomDataType>
where CustomDataType: UnwindSafe,

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 = 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.