pub struct ChargingProfile<CustomDataType = NoCustomData> {Show 15 fields
pub charging_profile_kind: ChargingProfileKindEnum,
pub charging_profile_purpose: ChargingProfilePurposeEnum,
pub charging_schedule: Vec<ChargingSchedule<CustomDataType>, 3usize>,
pub custom_data: Option<CustomDataType>,
pub dyn_update_interval: Option<i64>,
pub dyn_update_time: Option<OcppTimestamp>,
pub id: i64,
pub invalid_after_offline_duration: Option<bool>,
pub max_offline_duration: Option<i64>,
pub price_schedule_signature: Option<String<256usize>>,
pub recurrency_kind: Option<RecurrencyKindEnum>,
pub stack_level: i64,
pub transaction_id: Option<String<36usize>>,
pub valid_from: Option<OcppTimestamp>,
pub valid_to: Option<OcppTimestamp>,
}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§
§charging_profile_kind: ChargingProfileKindEnum§charging_profile_purpose: ChargingProfilePurposeEnum§charging_schedule: Vec<ChargingSchedule<CustomDataType>, 3usize>§custom_data: Option<CustomDataType>§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<OcppTimestamp>(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.
id: i64Id 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.
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.
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.
price_schedule_signature: Option<String<256usize>>(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.
recurrency_kind: Option<RecurrencyKindEnum>§stack_level: i64Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.
transaction_id: Option<String<36usize>>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.
valid_from: Option<OcppTimestamp>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<OcppTimestamp>Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.
Trait Implementations§
Source§impl<CustomDataType: Clone> Clone for ChargingProfile<CustomDataType>
impl<CustomDataType: Clone> Clone for ChargingProfile<CustomDataType>
Source§fn clone(&self) -> ChargingProfile<CustomDataType>
fn clone(&self) -> ChargingProfile<CustomDataType>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<CustomDataType: Debug> Debug for ChargingProfile<CustomDataType>
impl<CustomDataType: Debug> Debug for ChargingProfile<CustomDataType>
Source§impl<'de, CustomDataType> Deserialize<'de> for ChargingProfile<CustomDataType>where
CustomDataType: Deserialize<'de>,
impl<'de, CustomDataType> Deserialize<'de> for ChargingProfile<CustomDataType>where
CustomDataType: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<CustomDataType: PartialEq> PartialEq for ChargingProfile<CustomDataType>
impl<CustomDataType: PartialEq> PartialEq for ChargingProfile<CustomDataType>
Source§impl<CustomDataType> Serialize for ChargingProfile<CustomDataType>where
CustomDataType: Serialize,
impl<CustomDataType> Serialize for ChargingProfile<CustomDataType>where
CustomDataType: Serialize,
impl<CustomDataType: PartialEq> StructuralPartialEq for ChargingProfile<CustomDataType>
Source§impl<CustomDataType> Validate for ChargingProfile<CustomDataType>
Available on crate features alloc and validate only.
impl<CustomDataType> Validate for ChargingProfile<CustomDataType>
alloc and validate only.