Skip to main content

ChargingSchedule

Struct ChargingSchedule 

Source
pub struct ChargingSchedule<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize = 1024, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize = 1024, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize = 1024> {
Show 16 fields pub absolute_price_schedule: Option<AbsolutePriceSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP>>, pub charging_rate_unit: ChargingRateUnitEnum, pub charging_schedule_period: Vec<ChargingSchedulePeriod, 1024usize>, pub custom_data: Option<CustomData>, pub digest_value: Option<String<88usize>>, pub duration: Option<i64>, pub id: i64, pub limit_at_so_c: Option<LimitAtSoC>, pub min_charging_rate: Option<f64>, pub power_tolerance: Option<f64>, pub price_level_schedule: Option<PriceLevelSchedule<PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP>>, pub randomized_delay: Option<i64>, pub sales_tariff: Option<SalesTariff>, pub signature_id: Option<i64>, pub start_schedule: Option<String<CHARGING_SCHEDULE_START_SCHEDULE_CAP>>, 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<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP>>§charging_rate_unit: ChargingRateUnitEnum§charging_schedule_period: Vec<ChargingSchedulePeriod, 1024usize>§custom_data: Option<CustomData>§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>§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<PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP>>§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>§signature_id: Option<i64>

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

§start_schedule: Option<String<CHARGING_SCHEDULE_START_SCHEDULE_CAP>>

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<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> Clone for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

Source§

fn clone( &self, ) -> ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

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<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> Debug for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

Source§

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

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

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> PartialEq for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

Source§

fn eq( &self, other: &ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>, ) -> bool

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

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

Inequality operator !=. Read more
Source§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> StructuralPartialEq for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

Auto Trait Implementations§

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> Freeze for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> RefUnwindSafe for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> Send for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> Sync for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> Unpin for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> UnsafeUnpin for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

§

impl<const ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP: usize, const PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP: usize, const CHARGING_SCHEDULE_START_SCHEDULE_CAP: usize> UnwindSafe for ChargingSchedule<ABSOLUTE_PRICE_SCHEDULE_TIME_ANCHOR_CAP, PRICE_LEVEL_SCHEDULE_TIME_ANCHOR_CAP, CHARGING_SCHEDULE_START_SCHEDULE_CAP>

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