ocpp/v2_1/datatype/charging_schedule_period

OCPP 2.1 ChargingSchedulePeriod data type (schema ChargingSchedulePeriodType).

to_json/decoder map to/from its OCPP-J JSON object; new (when present) builds a value from the required fields only.

Types

Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only startPeriod, limit, limit_L2, limit_L3 are relevant.

FieldTypeReqDescription
custom_dataCustomData
discharge_limitFloat(2.1) Limit in chargingRateUnit that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with setpoint, which can be positive and negative. + For AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1. (≤ 0.0)
discharge_limit_l2Float(2.1) Limit in chargingRateUnit on phase L2 that the EV is allowed to discharge with. (≤ 0.0)
discharge_limit_l3Float(2.1) Limit in chargingRateUnit on phase L3 that the EV is allowed to discharge with. (≤ 0.0)
evse_sleepBool(2.1) If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.
limitFloatOptional only when not required by the operationMode, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. + Charging rate limit during the schedule period, in the applicable chargingRateUnit. This SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit. When using chargingRateUnit = W, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.
limit_l2Float(2.1) Charging rate limit on phase L2 in the applicable chargingRateUnit.
limit_l3Float(2.1) Charging rate limit on phase L3 in the applicable chargingRateUnit.
number_phasesIntThe number of phases that can be used for charging. + For a DC EVSE this field should be omitted. + For an AC EVSE a default value of numberPhases = 3 will be assumed if the field is absent. (0–3)
operation_modeOperationMode
phase_to_useIntValues: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own. (0–3)
preconditioning_requestBool(2.1) If true, the EV should attempt to keep the BMS preconditioned for this time interval.
setpointFloat(2.1) Setpoint in chargingRateUnit that the EV should follow as close as possible. Use negative values for discharging. + When a limit and/or dischargeLimit are given the overshoot when following setpoint must remain within these values. This field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.
setpoint_reactiveFloat(2.1) Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. + This field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.
setpoint_reactive_l2Float(2.1) Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow on phase L2 as closely as possible.
setpoint_reactive_l3Float(2.1) Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow on phase L3 as closely as possible.
setpoint_l2Float(2.1) Setpoint in chargingRateUnit that the EV should follow on phase L2 as close as possible.
setpoint_l3Float(2.1) Setpoint in chargingRateUnit that the EV should follow on phase L3 as close as possible.
start_periodIntStart of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.
v2x_baselineFloat(2.1) Power value that, when present, is used as a baseline on top of which values from v2xFreqWattCurve and v2xSignalWattCurve are added.
v2x_freq_watt_curveList(V2xFreqWattPoint)
v2x_signal_watt_curveList(V2xSignalWattPoint)

Schema: ChargingSchedulePeriodType

pub type ChargingSchedulePeriod {
  ChargingSchedulePeriod(
    custom_data: option.Option(custom_data.CustomData),
    discharge_limit: option.Option(Float),
    discharge_limit_l2: option.Option(Float),
    discharge_limit_l3: option.Option(Float),
    evse_sleep: option.Option(Bool),
    limit: option.Option(Float),
    limit_l2: option.Option(Float),
    limit_l3: option.Option(Float),
    number_phases: option.Option(Int),
    operation_mode: option.Option(operation_mode.OperationMode),
    phase_to_use: option.Option(Int),
    preconditioning_request: option.Option(Bool),
    setpoint: option.Option(Float),
    setpoint_reactive: option.Option(Float),
    setpoint_reactive_l2: option.Option(Float),
    setpoint_reactive_l3: option.Option(Float),
    setpoint_l2: option.Option(Float),
    setpoint_l3: option.Option(Float),
    start_period: Int,
    v2x_baseline: option.Option(Float),
    v2x_freq_watt_curve: option.Option(
      List(v2x_freq_watt_point.V2xFreqWattPoint),
    ),
    v2x_signal_watt_curve: option.Option(
      List(v2x_signal_watt_point.V2xSignalWattPoint),
    ),
  )
}

Constructors

Values

pub fn decoder() -> decode.Decoder(ChargingSchedulePeriod)

Decode a ChargingSchedulePeriod from its OCPP-J JSON object, enforcing schema constraints.

pub fn new(
  start_period start_period: Int,
) -> ChargingSchedulePeriod

Construct a ChargingSchedulePeriod from its required fields, with every optional field set to None.

pub fn to_json(value: ChargingSchedulePeriod) -> json.Json

Encode a ChargingSchedulePeriod to its OCPP-J JSON object.

Search Document