pub struct TariffConditions<CustomDataType = NoCustomData> {Show 19 fields
pub custom_data: Option<CustomDataType>,
pub day_of_week: Option<Vec<DayOfWeekEnum, 7usize>>,
pub end_time_of_day: Option<OcppTimeOfDay>,
pub evse_kind: Option<EvseKindEnum>,
pub max_charging_time: Option<i64>,
pub max_current: Option<f64>,
pub max_energy: Option<f64>,
pub max_idle_time: Option<i64>,
pub max_power: Option<f64>,
pub max_time: Option<i64>,
pub min_charging_time: Option<i64>,
pub min_current: Option<f64>,
pub min_energy: Option<f64>,
pub min_idle_time: Option<i64>,
pub min_power: Option<f64>,
pub min_time: Option<i64>,
pub start_time_of_day: Option<OcppTimeOfDay>,
pub valid_from_date: Option<OcppDate>,
pub valid_to_date: Option<OcppDate>,
}Expand description
These conditions describe if and when a TariffEnergyType or TariffTimeType applies during a transaction.
When more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.
For reverse energy flow (discharging) negative values of energy, power and current are used.
NOTE: minXXX (where XXX = Kwh/A/Kw) must be read as “closest to zero”, and maxXXX as “furthest from zero”. For example, a charging power range from 10 kW to 50 kWh is given by minPower = 10000 and maxPower = 50000, and a discharging power range from -10 kW to -50 kW is given by minPower = -10 and maxPower = -50.
NOTE: startTimeOfDay and endTimeOfDay are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station. A Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.
Fields§
§custom_data: Option<CustomDataType>§day_of_week: Option<Vec<DayOfWeekEnum, 7usize>>Day(s) of the week this is tariff applies.
end_time_of_day: Option<OcppTimeOfDay>End time of day in local time. Same syntax as startTimeOfDay. + If end time < start time then the period wraps around to the next day. + To stop at end of the day use: 00:00.
evse_kind: Option<EvseKindEnum>§max_charging_time: Option<i64>Maximum duration in seconds the charging MUST last (exclusive). When the duration of a charging is shorter than the defined value, this price is or becomes active. After that moment, this price is no longer active.
max_current: Option<f64>Sum of the maximum current (in Amperes) over all phases, for example 20 A. When the EV is charging with less than the defined amount of current, this price becomes/is active. If the charging current is or becomes higher, this price is not or no longer valid and becomes inactive. This is NOT about the maximum current over the entire transaction.
max_energy: Option<f64>Maximum consumed energy in Wh, for example 50000 Wh. Valid until this amount of energy (exclusive) being used.
max_idle_time: Option<i64>Maximum duration in seconds the idle period (i.e. not charging) MUST last (exclusive). When the duration of idle time is shorter than the defined value, this price is or becomes active. After that moment, this price is no longer active.
max_power: Option<f64>Maximum power in W, for example 20000 W. When the EV is charging with less than the defined amount of power, this price becomes/is active. If the charging power is or becomes higher, this price is not or no longer valid and becomes inactive. This is NOT about the maximum power over the entire transaction.
max_time: Option<i64>Maximum duration in seconds the transaction (charging & idle) MUST last (exclusive). When the duration of a transaction is shorter than the defined value, this price is or becomes active. After that moment, this price is no longer active.
min_charging_time: Option<i64>Minimum duration in seconds the charging MUST last (inclusive). When the duration of a charging is longer than the defined value, this price is or becomes active. Before that moment, this price is not yet active.
min_current: Option<f64>Sum of the minimum current (in Amperes) over all phases, for example 5 A. When the EV is charging with more than, or equal to, the defined amount of current, this price is/becomes active. If the charging current is or becomes lower, this price is not or no longer valid and becomes inactive. + This is NOT about the minimum current over the entire transaction.
min_energy: Option<f64>Minimum consumed energy in Wh, for example 20000 Wh. Valid from this amount of energy (inclusive) being used.
min_idle_time: Option<i64>Minimum duration in seconds the idle period (i.e. not charging) MUST last (inclusive). When the duration of the idle time is longer than the defined value, this price is or becomes active. Before that moment, this price is not yet active.
min_power: Option<f64>Minimum power in W, for example 5000 W. When the EV is charging with more than, or equal to, the defined amount of power, this price is/becomes active. If the charging power is or becomes lower, this price is not or no longer valid and becomes inactive. This is NOT about the minimum power over the entire transaction.
min_time: Option<i64>Minimum duration in seconds the transaction (charging & idle) MUST last (inclusive). When the duration of a transaction is longer than the defined value, this price is or becomes active. Before that moment, this price is not yet active.
start_time_of_day: Option<OcppTimeOfDay>Start time of day in local time. + Format as per RFC 3339: time-hour “:” time-minute + Must be in 24h format with leading zeros. Hour/Minute separator: “:” Regex: ([0-1][0-9]|2[0-3]):[0-5][0-9]
valid_from_date: Option<OcppDate>Start date in local time, for example: 2015-12-24. Valid from this day (inclusive). + Format as per RFC 3339: full-date +
Regex: ([12][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])
valid_to_date: Option<OcppDate>End date in local time, for example: 2015-12-27. Valid until this day (exclusive). Same syntax as validFromDate.
Trait Implementations§
Source§impl<CustomDataType: Clone> Clone for TariffConditions<CustomDataType>
impl<CustomDataType: Clone> Clone for TariffConditions<CustomDataType>
Source§fn clone(&self) -> TariffConditions<CustomDataType>
fn clone(&self) -> TariffConditions<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 TariffConditions<CustomDataType>
impl<CustomDataType: Debug> Debug for TariffConditions<CustomDataType>
Source§impl<'de, CustomDataType> Deserialize<'de> for TariffConditions<CustomDataType>where
CustomDataType: Deserialize<'de>,
impl<'de, CustomDataType> Deserialize<'de> for TariffConditions<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 TariffConditions<CustomDataType>
impl<CustomDataType: PartialEq> PartialEq for TariffConditions<CustomDataType>
Source§impl<CustomDataType> Serialize for TariffConditions<CustomDataType>where
CustomDataType: Serialize,
impl<CustomDataType> Serialize for TariffConditions<CustomDataType>where
CustomDataType: Serialize,
impl<CustomDataType: PartialEq> StructuralPartialEq for TariffConditions<CustomDataType>
Source§impl<CustomDataType> Validate for TariffConditions<CustomDataType>
Available on crate feature validate only.
impl<CustomDataType> Validate for TariffConditions<CustomDataType>
validate only.