Section 7: Types
Based on OCPP 1.6 Edition 2 Specification (Section 7). This reference covers all data types (classes, enumerations, and primitive types) used across OCPP 1.6 messages, referenced by request/response PDUs defined in Section 6.
1. Overview
IntroductionThis section defines all data types (classes, enumerations, and primitive types) used across OCPP 1.6 messages. These types are referenced by request/response PDUs defined in Section 6 of the OCPP 1.6 specification.
Classes (Complex Types)
8 structured types with multiple fields, such as ChargingProfile, IdTagInfo, and MeterValue.
Enumerations
34 enumerated types defining valid values for status codes, identifiers, and configuration options used throughout the protocol.
Primitive / String Types
7 basic types including case-insensitive strings of various lengths ( CiString variants) and the IdToken type.
Source: Open Charge Point Protocol 1.6, Edition 2 FINAL (2017-09-28). All types defined here (Section 7.1 - 7.49) are used across the request and response messages defined in Sections 4, 5, and 6.
2. Classes (Complex Types)
ReferenceClasses are complex structured types composed of multiple fields. They are used as building blocks within OCPP 1.6 request and response messages.
7.8. ChargingProfile
A ChargingProfile consists of a ChargingSchedule, describing the amount of power or current that can be delivered per time interval.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
chargingProfileId | integer | 1..1 | Required. Unique identifier for this profile. |
transactionId | integer | 0..1 | Optional. Only valid if ChargingProfilePurpose is set to TxProfile, the transactionId MAY be used to match the profile to a specific transaction. |
stackLevel | integer >= 0 | 1..1 | Required. Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0. |
chargingProfilePurpose | ChargingProfilePurposeType | 1..1 | Required. Defines the purpose of the schedule transferred by this message. |
chargingProfileKind | ChargingProfileKindType | 1..1 | Required. Indicates the kind of schedule. |
recurrencyKind | RecurrencyKindType | 0..1 | Optional. Indicates the start point of a recurrence. |
validFrom | dateTime | 0..1 | Optional. 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 Charge Point. |
validTo | dateTime | 0..1 | Optional. Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile. |
chargingSchedule | ChargingSchedule | 1..1 | Required. Contains limits for the available power or current over time. |
{
"chargingProfileId": { "type": "integer" },
"transactionId": { "type": "integer" },
"stackLevel": { "type": "integer" },
"chargingProfilePurpose": {
"enum": ["ChargePointMaxProfile", "TxDefaultProfile", "TxProfile"]
},
"chargingProfileKind": {
"enum": ["Absolute", "Recurring", "Relative"]
},
"recurrencyKind": { "enum": ["Daily", "Weekly"] },
"validFrom": { "type": "string", "format": "date-time" },
"validTo": { "type": "string", "format": "date-time" },
"chargingSchedule": { "$ref": "#ChargingSchedule" }
}
// required: ["chargingProfileId", "stackLevel", "chargingProfilePurpose", "chargingProfileKind", "chargingSchedule"]Used in: SetChargingProfile.req, RemoteStartTransaction.req, GetCompositeSchedule.conf
7.13. ChargingSchedule
Charging schedule structure defines a list of charging periods, as used in: GetCompositeSchedule.conf and ChargingProfile.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
duration | integer | 0..1 | Optional. 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. |
startSchedule | dateTime | 0..1 | Optional. Starting point of an absolute schedule. If absent the schedule will be relative to start of charging. |
chargingRateUnit | ChargingRateUnitType | 1..1 | Required. The unit of measure Limit is expressed in. |
chargingSchedulePeriod | ChargingSchedulePeriod[] | 1..* | Required. List of ChargingSchedulePeriod elements defining maximum power or current usage over time. The startSchedule of the first ChargingSchedulePeriod SHALL always be 0. |
minChargingRate | decimal | 0..1 | Optional. Minimum charging rate supported by the electric vehicle. 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. Accepts at most one digit fraction (e.g. 8.1) |
{
"duration": { "type": "integer" },
"startSchedule": { "type": "string", "format": "date-time" },
"chargingRateUnit": { "enum": ["W", "A"] },
"chargingSchedulePeriod": {
"type": "array",
"items": { "$ref": "#ChargingSchedulePeriod" }
},
"minChargingRate": { "type": "number" }
}
// required: ["chargingRateUnit", "chargingSchedulePeriod"]7.14. ChargingSchedulePeriod
Charging schedule period structure defines a time period in a charging schedule, as used in: ChargingSchedule.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
startPeriod | integer | 1..1 | Required. Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period. |
limit | decimal | 1..1 | Required. Charging rate limit during the schedule period, in the applicable chargingRateUnit, for example in Amperes or Watts. Accepts at most one digit fraction (e.g. 8.1). |
numberPhases | integer | 0..1 | Optional. The number of phases that can be used for charging. If a number of phases is needed, numberPhases=3 will be assumed unless another number is given. |
{
"startPeriod": { "type": "integer" },
"limit": { "type": "number" },
"numberPhases": { "type": "integer" }
}
// required: ["startPeriod", "limit"]7.27. IdTagInfo
Contains status information about an identifier. It is returned in Authorize, Start Transaction and Stop Transaction responses. If expiryDate is not given, the status has no end date.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
expiryDate | dateTime | 0..1 | Optional. This contains the date at which idTag should be removed from the Authorization Cache. |
parentIdTag | IdToken | 0..1 | Optional. This contains the parent-identifier. |
status | AuthorizationStatus | 1..1 | Required. This contains whether the idTag has been accepted or not by the Central System. |
{
"expiryDate": { "type": "string", "format": "date-time" },
"parentIdTag": { "type": "string", "maxLength": 20 },
"status": {
"enum": ["Accepted", "Blocked", "Expired", "Invalid", "ConcurrentTx"]
}
}
// required: ["status"]Used in: Authorize.conf, StartTransaction.conf, StopTransaction.conf
7.29. KeyValue
Contains information about a specific configuration key. It is returned in GetConfiguration.conf.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
key | CiString50Type | 1..1 | Required. |
readonly | boolean | 1..1 | Required. False if the value can be set with the ChangeConfiguration message. |
value | CiString500Type | 0..1 | Optional. If key is known but not set, this field may be absent. |
{
"key": { "type": "string", "maxLength": 50 },
"readonly": { "type": "boolean" },
"value": { "type": "string", "maxLength": 500 }
}
// required: ["key", "readonly"]7.33. MeterValue
Collection of one or more sampled values in MeterValues.req and StopTransaction.req. All sampled values in a MeterValue are sampled at the same point in time.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
timestamp | dateTime | 1..1 | Required. Timestamp for measured value(s). |
sampledValue | SampledValue[] | 1..* | Required. One or more measured values. |
{
"timestamp": { "type": "string", "format": "date-time" },
"sampledValue": {
"type": "array",
"items": { "$ref": "#SampledValue" }
}
}
// required: ["timestamp", "sampledValue"]7.43. SampledValue
Single sampled value in MeterValues. Each value can be accompanied by optional fields.
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
value | String | 1..1 | Required. Value as a "Raw" (decimal) number or "SignedData". Field Type is "string" to allow for digitally signed data readings. Decimal numeric values are also acceptable to allow fractional values for measurands such as Temperature and Current. |
context | ReadingContext | 0..1 | Optional. Type of detail value: start, end or sample. Default = "Sample.Periodic" |
format | ValueFormat | 0..1 | Optional. Raw or signed data. Default = "Raw" |
measurand | Measurand | 0..1 | Optional. Type of measurement. Default = "Energy.Active.Import.Register" |
phase | Phase | 0..1 | Optional. Indicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N). Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value. |
location | Location | 0..1 | Optional. Location of measurement. Default = "Outlet" |
unit | UnitOfMeasure | 0..1 | Optional. Unit of the value. Default = "Wh" if the (default) measurand is an "Energy" type. |
{
"value": { "type": "string" },
"context": {
"enum": [
"Interruption.Begin", "Interruption.End",
"Sample.Clock", "Sample.Periodic",
"Transaction.Begin", "Transaction.End",
"Trigger", "Other"
]
},
"format": { "enum": ["Raw", "SignedData"] },
"measurand": {
"enum": [
"Energy.Active.Export.Register",
"Energy.Active.Import.Register",
"Energy.Reactive.Export.Register",
"Energy.Reactive.Import.Register",
"Energy.Active.Export.Interval",
"Energy.Active.Import.Interval",
"Energy.Reactive.Export.Interval",
"Energy.Reactive.Import.Interval",
"Power.Active.Export",
"Power.Active.Import",
"Power.Offered",
"Power.Reactive.Export",
"Power.Reactive.Import",
"Power.Factor",
"Current.Import",
"Current.Export",
"Current.Offered",
"Voltage",
"Frequency",
"Temperature",
"SoC",
"RPM"
]
},
"phase": {
"enum": [
"L1", "L2", "L3", "N",
"L1-N", "L2-N", "L3-N",
"L1-L2", "L2-L3", "L3-L1"
]
},
"location": {
"enum": ["Cable", "EV", "Inlet", "Outlet", "Body"]
},
"unit": {
"enum": [
"Wh", "kWh", "varh", "kvarh",
"W", "kW", "VA", "kVA",
"var", "kvar", "A", "V",
"Celsius", "Fahrenheit", "K", "Percent"
]
}
}
// required: ["value"]3. Enumerations (A-F)
Reference7.3 AvailabilityStatus
Enumeration
Status returned in response to ChangeAvailability.req.
| Value | Description |
|---|---|
Accepted | Request has been accepted and will be executed. |
Rejected | Request has not been accepted and will not be executed. |
Scheduled | Request has been accepted and will be executed when transaction(s) in progress have finished. |
7.4 AvailabilityType
Enumeration
Requested availability change in ChangeAvailability.req.
| Value | Description |
|---|---|
Inoperative | Charge point is not available for charging. |
Operative | Charge point is available for charging. |
7.5 CancelReservationStatus
Enumeration
Status in CancelReservation.conf.
| Value | Description |
|---|---|
Accepted | Reservation for the identifier has been cancelled. |
Rejected | Reservation could not be cancelled, because there is no reservation active for the identifier. |
7.6 ChargePointErrorCode
Enumeration
Charge Point status reported in StatusNotification.req.
| Value | Description |
|---|---|
ConnectorLockFailure | Failure to lock or unlock connector. |
EVCommunicationError | Communication failure with the vehicle, might be Mode 3 or other communication protocol problem. This is not a real error in the sense that the Charge Point doesn't need to go to the faulted state. Instead, it should go to the SuspendedEVSE state. |
GroundFailure | Ground fault circuit interrupter has been activated. |
HighTemperature | Temperature inside Charge Point is too high. |
InternalError | Error in internal hard- or software component. |
LocalListConflict | The authorization information received from the Central System is in conflict with the LocalAuthorizationList. |
NoError | No error to report. |
OtherError | Other type of error. More information in vendorErrorCode. |
OverCurrentFailure | Over current protection device has tripped. |
OverVoltage | Voltage has risen above an acceptable level. |
PowerMeterFailure | Failure to read electrical/energy/power meter. |
PowerSwitchFailure | Failure to control power switch. |
ReaderFailure | Failure with idTag reader. |
ResetFailure | Unable to perform a reset. |
UnderVoltage | Voltage has dropped below an acceptable level. |
WeakSignal | Wireless communication device reports a weak signal. |
7.7 ChargePointStatus
Enumeration
Status reported in StatusNotification.req. A status can be reported for the Charge Point main controller
(connectorId = 0) or for a specific connector. Status for the Charge Point main controller is a subset of the
enumeration: Available, Unavailable or Faulted.
Operative vs Inoperative: States considered Operative are: Available, Preparing, Charging, SuspendedEVSE, SuspendedEV, Finishing, Reserved. States considered Inoperative are: Unavailable, Faulted.
| Status | Condition |
|---|---|
Available | When a Connector becomes available for a new user (Operative). |
Preparing | When a Connector becomes no longer available for a new user but there is no ongoing Transaction yet. Typically a Connector is in preparing state when a user presents a tag, inserts a cable or a vehicle occupies the parking bay (Operative). |
Charging | When the contactor of a Connector closes, allowing the vehicle to charge (Operative). |
SuspendedEVSE | When the EV is connected to the EVSE but the EVSE is not offering energy to the EV, e.g. due to a smart charging restriction, local supply power constraints, or as the result of StartTransaction.conf indicating that charging is not allowed etc. (Operative). |
SuspendedEV | When the EV is connected to the EVSE and the EVSE is offering energy but the EV is not taking any energy (Operative). |
Finishing | When a Transaction has stopped at a Connector, but the Connector is not yet available for a new user, e.g. the cable has not been removed or the vehicle has not left the parking bay (Operative). |
Reserved | When a Connector becomes reserved as a result of a Reserve Now command (Operative). |
Unavailable | When a Connector becomes unavailable as the result of a Change Availability command or an event upon which the Charge Point transitions to unavailable at its discretion (Inoperative). |
Faulted | When a Charge Point or connector has reported an error and is not available for energy delivery (Inoperative). |
7.9 ChargingProfileKindType
Enumeration
Kind of charging profile, as used in ChargingProfile.
| Value | Description |
|---|---|
Absolute | Schedule periods are relative to a fixed point in time defined in the schedule. |
Recurring | The schedule restarts periodically at the first schedule period. |
Relative | Schedule periods are relative to a situation-specific start point (such as the start of a Transaction) that is determined by the charge point. |
7.10 ChargingProfilePurposeType
Enumeration
Purpose of the charging profile, as used in ChargingProfile.
| Value | Description |
|---|---|
ChargePointMaxProfile | Configuration for the maximum power or current available for an entire Charge Point. |
TxDefaultProfile | Default profile that can be configured in the Charge Point. When a new transaction is started, this profile SHALL be used, unless it was a transaction that was started by a RemoteStartTransaction.req with a ChargeProfile that is accepted by the Charge Point. |
TxProfile | Profile with constraints to be imposed by the Charge Point on the current transaction, or on a new transaction when this is started via a RemoteStartTransaction.req with a ChargeProfile. A profile with this purpose SHALL cease to be valid when the transaction terminates. |
7.11 ChargingProfileStatus
Enumeration
Status returned in response to SetChargingProfile.req.
| Value | Description |
|---|---|
Accepted | Request has been accepted and will be executed. |
Rejected | Request has not been accepted and will not be executed. |
NotSupported | Charge Point indicates that the request is not supported. |
7.12 ChargingRateUnitType
Enumeration
Unit in which a charging schedule is defined, as used in GetCompositeSchedule.req and ChargingSchedule.
| Value | Description |
|---|---|
W | Watts (power). This is the TOTAL allowed charging power. If used for AC Charging, the phase current should be calculated via: Current per phase = Power / (Line Voltage * Number of Phases). The "Line Voltage" used in the calculation is not the measured voltage, but the set voltage for the area (hence, 230 of 110 volt). The "Number of Phases" is the numberPhases from the ChargingSchedulePeriod. It is usually more convenient to use this for DC charging. Note that if numberPhases in a ChargingSchedulePeriod is absent, 3 SHALL be assumed. |
A | Amperes (current). The amount of Ampere per phase, not the sum of all phases. It is usually more convenient to use this for AC charging. |
7.20 ClearCacheStatus
Enumeration
Status returned in response to ClearCache.req.
| Value | Description |
|---|---|
Accepted | Command has been executed. |
Rejected | Command has not been executed. |
7.21 ClearChargingProfileStatus
Enumeration
Status returned in response to ClearChargingProfile.req.
| Value | Description |
|---|---|
Accepted | Request has been accepted and will be executed. |
Unknown | No Charging Profile(s) were found matching the request. |
7.22 ConfigurationStatus
Enumeration
Status in ChangeConfiguration.conf.
| Value | Description |
|---|---|
Accepted | Configuration key is supported and setting has been changed. |
Rejected | Configuration key is supported, but setting could not be changed. |
RebootRequired | Configuration key is supported and setting has been changed, but change will be available after reboot (Charge Point will not reboot itself). |
NotSupported | Configuration key is not supported. |
7.23 DataTransferStatus
Enumeration
Status in DataTransfer.conf.
| Value | Description |
|---|---|
Accepted | Message has been accepted and the contained request is accepted. |
Rejected | Message has been accepted but the contained request is rejected. |
UnknownMessageId | Message could not be interpreted due to unknown messageId string. |
UnknownVendorId | Message could not be interpreted due to unknown vendorId string. |
7.24 DiagnosticsStatus
Enumeration
Status in DiagnosticsStatusNotification.req.
| Value | Description |
|---|---|
Idle | Charge Point is not performing diagnostics related tasks. Status Idle SHALL only be used as in a DiagnosticsStatusNotification.req that was triggered by a TriggerMessage.req. |
Uploaded | Diagnostics information has been uploaded. |
UploadFailed | Uploading of diagnostics failed. |
Uploading | File is being uploaded. |
7.25 FirmwareStatus
Enumeration
Status of a firmware download as reported in FirmwareStatusNotification.req.
| Value | Description |
|---|---|
Downloaded | New firmware has been downloaded by Charge Point. |
DownloadFailed | Charge point failed to download firmware. |
Downloading | Firmware is being downloaded. |
Idle | Charge Point is not performing firmware update related tasks. Status Idle SHALL only be used as in a FirmwareStatusNotification.req that was triggered by a TriggerMessage.req. |
InstallationFailed | Installation of new firmware has failed. |
Installing | Firmware is being installed. |
Installed | New firmware has successfully been installed in charge point. |
4. Enumerations (G-V)
Reference7.26 GetCompositeScheduleStatus
Status returned in response to GetCompositeSchedule.req.
| Value | Description |
|---|---|
Accepted | Request has been accepted and will be executed |
Rejected | Request has not been accepted and will not be executed |
7.30 Location
Allowable values of the optional "location" field of a value element in SampledValue.
| Value | Description |
|---|---|
Body | Measurement inside body of Charge Point (e.g. Temperature) |
Cable | Measurement taken from cable between EV and Charge Point |
EV | Measurement taken by EV |
Inlet | Measurement at network ("grid") inlet connection |
Outlet | Measurement at a Connector. Default value |
7.31 Measurand
Allowable values of the optional "measurand" field of a Value element, as used in MeterValues.req and StopTransaction.req messages. Default value of "measurand" is always "Energy.Active.Import.Register".
Note: Import is energy flow from the Grid to the Charge Point, EV or other load. Export is energy flow from the EV to the Charge Point and/or from the Charge Point to the Grid.
| Value | Description |
|---|---|
Current.Export | Instantaneous current flow from EV |
Current.Import | Instantaneous current flow to EV |
Current.Offered | Maximum current offered to EV |
Energy.Active.Export.Register | Numerical value read from the "active electrical energy" (Wh or kWh) register of the (most authoritative) electrical meter measuring energy exported (to the grid) |
Energy.Active.Import.Register | Numerical value read from the "active electrical energy" (Wh or kWh) register of the (most authoritative) electrical meter measuring energy imported (from the grid supply) |
Energy.Reactive.Export.Register | Numerical value read from the "reactive electrical energy" (VARh or kVARh) register of the (most authoritative) electrical meter measuring energy exported (to the grid) |
Energy.Reactive.Import.Register | Numerical value read from the "reactive electrical energy" (VARh or kVARh) register of the (most authoritative) electrical meter measuring energy imported (from the grid supply) |
Energy.Active.Export.Interval | Absolute amount of "active electrical energy" (Wh or kWh) exported (to the grid) during an associated time "interval" |
Energy.Active.Import.Interval | Absolute amount of "active electrical energy" (Wh or kWh) imported (from the grid supply) during an associated time "interval" |
Energy.Reactive.Export.Interval | Absolute amount of "reactive electrical energy" (VARh or kVARh) exported (to the grid) during an associated time "interval" |
Energy.Reactive.Import.Interval | Absolute amount of "reactive electrical energy" (VARh or kVARh) imported (from the grid supply) during an associated time "interval" |
Frequency | Instantaneous reading of powerline frequency |
Power.Active.Export | Instantaneous active power exported by EV. (W or kW) |
Power.Active.Import | Instantaneous active power imported by EV. (W or kW) |
Power.Factor | Instantaneous power factor of total energy flow |
Power.Offered | Maximum power offered to EV |
Power.Reactive.Export | Instantaneous reactive power exported by EV. (var or kvar) |
Power.Reactive.Import | Instantaneous reactive power imported by EV. (var or kvar) |
RPM | Fan speed in RPM |
SoC | State of charge of charging vehicle in percentage |
Temperature | Temperature reading inside Charge Point |
Voltage | Instantaneous AC RMS supply voltage |
Important: All "Register" values relating to a single charging transaction, or a non-transactional consumer MUST be monotonically increasing in time.
7.32 MessageTrigger
Type of request to be triggered in a TriggerMessage.req.
| Value | Description |
|---|---|
BootNotification | To trigger a BootNotification request |
DiagnosticsStatusNotification | To trigger a DiagnosticsStatusNotification request |
FirmwareStatusNotification | To trigger a FirmwareStatusNotification request |
Heartbeat | To trigger a Heartbeat request |
MeterValues | To trigger a MeterValues request |
StatusNotification | To trigger a StatusNotification request |
7.34 Phase
Phase as used in SampledValue. Phase specifies how a measured value is to be interpreted. Please note that not all values of Phase are applicable to all Measurands.
| Value | Description |
|---|---|
L1 | Measured on L1 |
L2 | Measured on L2 |
L3 | Measured on L3 |
N | Measured on Neutral |
L1-N | Measured on L1 with respect to Neutral conductor |
L2-N | Measured on L2 with respect to Neutral conductor |
L3-N | Measured on L3 with respect to Neutral conductor |
L1-L2 | Measured between L1 and L2 |
L2-L3 | Measured between L2 and L3 |
L3-L1 | Measured between L3 and L1 |
7.35 ReadingContext
Values of the context field of a value in SampledValue.
| Value | Description |
|---|---|
Interruption.Begin | Value taken at start of interruption |
Interruption.End | Value taken when resuming after interruption |
Other | Value for any other situations |
Sample.Clock | Value taken at clock aligned interval |
Sample.Periodic | Value taken as periodic sample relative to start time of transaction |
Transaction.Begin | Value taken at start of transaction |
Transaction.End | Value taken at end of transaction |
Trigger | Value taken in response to a TriggerMessage.req |
7.36 Reason
Reason for stopping a transaction in StopTransaction.req.
| Value | Description |
|---|---|
DeAuthorized | The transaction was stopped because of the authorization status in a StartTransaction.conf |
EmergencyStop | Emergency stop button was used |
EVDisconnected | Disconnecting of cable, vehicle moved away from inductive charge unit |
HardReset | A hard reset command was received |
Local | Stopped locally on request of the user at the Charge Point. This is a regular termination of a transaction. Examples: presenting an RFID tag, pressing a button to stop |
Other | Any other reason |
PowerLoss | Complete loss of power |
Reboot | A locally initiated reset/reboot occurred. (for instance watchdog kicked in) |
Remote | Stopped remotely on request of the user. This is a regular termination of a transaction. Examples: termination using a smartphone app, exceeding a (non local) prepaid credit |
SoftReset | A soft reset command was received |
UnlockCommand | Central System sent an Unlock Connector command |
7.37 RecurrencyKindType
Type of recurrence of a charging profile, as used in ChargingProfile.
| Value | Description |
|---|---|
Daily | The schedule restarts every 24 hours, at the same time as in the startSchedule |
Weekly | The schedule restarts every 7 days, at the same time and day-of-the-week as in the startSchedule |
7.38 RegistrationStatus
Result of registration in response to BootNotification.req.
| Value | Description |
|---|---|
Accepted | Charge point is accepted by Central System |
Pending | Central System is not yet ready to accept the Charge Point. Central System may send messages to retrieve information or prepare the Charge Point |
Rejected | Charge point is not accepted by Central System. This may happen when the Charge Point id is not known by Central System |
7.39 RemoteStartStopStatus
The result of a RemoteStartTransaction.req or RemoteStopTransaction.req request.
| Value | Description |
|---|---|
Accepted | Command will be executed |
Rejected | Command will not be executed |
7.40 ReservationStatus
Status in ReserveNow.conf.
| Value | Description |
|---|---|
Accepted | Reservation has been made |
Faulted | Reservation has not been made, because connectors or specified connector are in a faulted state |
Occupied | Reservation has not been made. All connectors or the specified connector are occupied |
Rejected | Reservation has not been made. Charge Point is not configured to accept reservations |
Unavailable | Reservation has not been made, because connectors or specified connector are in an unavailable state |
7.41 ResetStatus
Result of Reset.req.
| Value | Description |
|---|---|
Accepted | Command will be executed |
Rejected | Command will not be executed |
7.42 ResetType
Type of reset requested by Reset.req.
| Value | Description |
|---|---|
Hard | Restart (all) the hardware, the Charge Point is not required to gracefully stop ongoing transaction. If possible the Charge Point sends a StopTransaction.req for previously ongoing transactions after having restarted and having been accepted by the Central System via a BootNotification.conf. This is a last resort solution for a not correctly functioning Charge Point, by sending a "hard" reset, (queued) information might get lost |
Soft | Stop ongoing transactions gracefully and sending StopTransaction.req for every ongoing transaction. It should then restart the application software (if possible, otherwise restart the processor/controller) |
7.44 TriggerMessageStatus
Status in TriggerMessage.conf.
| Value | Description |
|---|---|
Accepted | Requested notification will be sent |
Rejected | Requested notification will not be sent |
NotImplemented | Requested notification cannot be sent because it is either not implemented or unknown |
7.46 UnlockStatus
Status in response to UnlockConnector.req.
| Value | Description |
|---|---|
Unlocked | Connector has successfully been unlocked |
UnlockFailed | Failed to unlock the connector: The Charge Point has tried to unlock the connector and has detected that the connector is still locked or the unlock mechanism failed |
NotSupported | Charge Point has no connector lock, or ConnectorId is unknown |
7.47 UpdateStatus
Status in SendLocalList.conf.
| Value | Description |
|---|---|
Accepted | Local Authorization List successfully updated |
Failed | Failed to update the Local Authorization List |
NotSupported | Update of Local Authorization List is not supported by Charge Point |
VersionMismatch | Version number in the request for a differential update is less or equal then version number of current list |
7.48 UpdateType
Type of update for a SendLocalList.req.
| Value | Description |
|---|---|
Differential | Indicates that the current Local Authorization List must be updated with the values in this message |
Full | Indicates that the current Local Authorization List must be replaced by the values in this message |
7.49 ValueFormat
Format that specifies how the value element in SampledValue is to be interpreted.
| Value | Description |
|---|---|
Raw | Data is to be interpreted as integer/decimal numeric data |
SignedData | Data is represented as a signed binary data block, encoded as hex data |
5. Primitive / String Types
Reference7.15 CiString20Type
Type Generic used case insensitive string of 20 characters.
| Field Type | Description |
|---|---|
CiString[20] | String is case insensitive. |
7.16 CiString25Type
Type Generic used case insensitive string of 25 characters.
| Field Type | Description |
|---|---|
CiString[25] | String is case insensitive. |
7.17 CiString50Type
Type Generic used case insensitive string of 50 characters.
| Field Type | Description |
|---|---|
CiString[50] | String is case insensitive. |
7.18 CiString255Type
Type Generic used case insensitive string of 255 characters.
| Field Type | Description |
|---|---|
CiString[255] | String is case insensitive. |
7.19 CiString500Type
Type Generic used case insensitive string of 500 characters.
| Field Type | Description |
|---|---|
CiString[500] | String is case insensitive. |
7.28 IdToken
Type Contains the identifier to use for authorization. It is a case insensitive string. In future releases this may become a complex type to support multiple forms of identifiers.
| Field Type | Description |
|---|---|
CiString20Type | IdToken is case insensitive. |
7.45 UnitOfMeasure
Enumeration Allowable values of the optional "unit" field of a Value element, as used in SampledValue. Default value of "unit" is always "Wh".
| Value | Description |
|---|---|
Wh | Watt-hours (energy). Default. |
kWh | kiloWatt-hours (energy). |
varh | Var-hours (reactive energy). |
kvarh | kilovar-hours (reactive energy). |
W | Watts (power). |
kW | kilowatts (power). |
VA | VoltAmpere (apparent power). |
kVA | kiloVolt Ampere (apparent power). |
var | Vars (reactive power). |
kvar | kilovars (reactive power). |
A | Amperes (current). |
V | Voltage (r.m.s. AC). |
Celsius | Degrees (temperature). |
Fahrenheit | Degrees (temperature). |
K | Degrees Kelvin (temperature). |
Percent | Percentage. |
6. Type Usage Cross-Reference
Quick ReferenceQuick reference showing which types are used in which messages.
| Type | Used In Messages |
|---|---|
AuthorizationData | SendLocalList.req |
AuthorizationStatus | Authorize.conf, StartTransaction.conf, StopTransaction.conf (via IdTagInfo) |
AvailabilityStatus | ChangeAvailability.conf |
AvailabilityType | ChangeAvailability.req |
CancelReservationStatus | CancelReservation.conf |
ChargePointErrorCode | StatusNotification.req |
ChargePointStatus | StatusNotification.req |
ChargingProfile | SetChargingProfile.req, RemoteStartTransaction.req, GetCompositeSchedule.conf |
ChargingProfileKindType | ChargingProfile |
ChargingProfilePurposeType | ChargingProfile, ClearChargingProfile.req |
ChargingProfileStatus | SetChargingProfile.conf |
ChargingRateUnitType | ChargingSchedule, GetCompositeSchedule.req |
ChargingSchedule | ChargingProfile, GetCompositeSchedule.conf |
ChargingSchedulePeriod | ChargingSchedule |
ClearCacheStatus | ClearCache.conf |
ClearChargingProfileStatus | ClearChargingProfile.conf |
ConfigurationStatus | ChangeConfiguration.conf |
DataTransferStatus | DataTransfer.conf |
DiagnosticsStatus | DiagnosticsStatusNotification.req |
FirmwareStatus | FirmwareStatusNotification.req |
GetCompositeScheduleStatus | GetCompositeSchedule.conf |
IdTagInfo | Authorize.conf, StartTransaction.conf, StopTransaction.conf |
KeyValue | GetConfiguration.conf |
Location | SampledValue |
Measurand | SampledValue |
MessageTrigger | TriggerMessage.req |
MeterValue | MeterValues.req, StopTransaction.req |
Phase | SampledValue |
ReadingContext | SampledValue |
Reason | StopTransaction.req |
RecurrencyKindType | ChargingProfile |
RegistrationStatus | BootNotification.conf |
RemoteStartStopStatus | RemoteStartTransaction.conf, RemoteStopTransaction.conf |
ReservationStatus | ReserveNow.conf |
ResetStatus | Reset.conf |
ResetType | Reset.req |
SampledValue | MeterValue |
TriggerMessageStatus | TriggerMessage.conf |
UnitOfMeasure | SampledValue |
UnlockStatus | UnlockConnector.conf |
UpdateStatus | SendLocalList.conf |
UpdateType | SendLocalList.req |
ValueFormat | SampledValue |