home-page-1
Minimum Required Error Codes

Introduction

A set of standardized Minimum Required Error Codes (MRECS) is proposed to address the challenges associated with custom error codes in the North American Electric Vehicle (EV) charging ecosystem. The proposed MRECs can be effectively used to address the challenges of custom error codes.

The ChargeX consortium recommends that the industry implement MRECs uniformly to streamline error reporting and improve diagnostics. This report is based on independent analysis of custom error codes by ChargeX, and it assigns one or more entities responsible for the resolution of each MREC. It also provides a functional classifications for each error code to describe its nature.

Motivation

To simplify troubleshooting and increase charging reliability, the ChargeX Consortium proposes a unified methodology to define and classify a minimum required set of error codes (MRECs). All MREC messages are critical and must be supported by manufacturers. If a manufacturer’s error code matches all of the conditions of an MREC, the manufacturer can simply indicate which internal code maps to the corresponding MREC code and transmit it using the given their respective fault codes.

Scope

The scope of this work is limited to Open Charge Point Protocol (OCPP) versions 1.61 and above.

Minimum Required Error Codes

The following tables list the ChargeX proposed Minimum Required Error Codes (MRECs), their descriptions and their functional and responsibility classifications.

Number Error Code Fault Code Description
1. ConnectorLockFailure CX001 Failure to lock or unlock connector on the vehicle side.
2. GroundFailure CX002 Ground fault circuit interrupter has been activated.
3. HighTemperature CX003 High temperature inside the EVSE is derating power delivery.
4. OverCurrentFailure CX004 Over current protection device has tripped.
5. OverVoltage CX005 Input voltage to the vehicle has risen above an acceptable level.
6. UnderVoltage CX006 Input voltage to the vehicle has dropped below an acceptable level.
7. WeakSignal CX007 Wireless communication device reported a weak signal.
8. EmergencyStop CX008 Emergency stop is pressed by the user (required if equipped).
9. AuthorizationTimeout CX009 The user plugs in but fails to authorize a charging session prior to the connection timeout between the vehicle and EVSE.
10. InvalidVehicleMode CX010 The vehicle is in an invalid mode for charging.
11. CableCheckFailure CX011 Failure during the cable check phase. Includes isolation failure
12. PreChargeFailure CX012 The EVSE did not reach the correct pre-charge voltage.
13. NoInternet CX013 The EVSE has no internet connectivity.
14. PilotFault CX014 The control pilot voltage is out of range.
15. PowerLoss CX015 The EVSE is unable to supply any power due to mains failure.
16. EVContactorFault CX016 Contactors fail to open or close on the vehicle side. May also include welding related errors.
17. EVSEContactorFault CX017 Contactors fail to open or close on EVSE’s side. May also include welding related errors.
18. CableOverTempDerate CX018 Temperature of charging cable or connector assembly is too high, resulting in reduced power operation.
19. CableOverTempStop CX019 Temperature of charging cable or connector assembly is too high, resulting in a stopped charging session.
20. PartialInsertion CX020 Cable latch is raised due to incomplete insertion into the vehicle charging port.
21. CapacitanceFault CX021 An Isolation Monitoring Device tripped due to high capacitance during active charging.
22. ResistanceFault CX022 An Isolation Monitoring Device tripped due to low resistance to the chassis during active charging.
23. ProximityFault CX023 The proximity voltage is out of range.
24. ConnectorVoltageHigh CX024 The output voltage of EVSE is high before charging starts or after charging ends.
25. BrokenLatch CX025 The latch on the connector is broken.
26. CutCable CX026 The output cable has been severed from the EVSE.
This work proposes a new responsibility classification to address the ambiguity surrounding the source of errors and their resolution responsibility within the EV charging ecosystem. Each MREC is therefore split into four categories- 1. EV user, 2. CSO, 3. EVSE, and 4. EV.
Number Error Code Responsibility Classification
EV User CSO EVSE EV
1. ConnectorLockFailure
2. GroundFailure
3. HighTemperature
4. OverCurrentFailure
5. OverVoltage
6. UnderVoltage
7. WeakSignal
8. EmergencyStop
9. AuthorizationTimeout
10. InvalidVehicleMode
11. CableCheckFailure
12. PreChargeFailure
13. NoInternet
14. PilotFault
15. PowerLoss
16. EVContactorFault
17. EVSEContactorFault
18. CableOverTempDerate
19. CableOverTempStop
20. PartialInsertion
21. CapacitanceFault
22. ResistanceFault
23. ProximityFault
24. ConnectorVoltageHigh
25. BrokenLatch
26. CutCable

This work also proposes functional classifications for segregating the errors based on the functions or operations they disrupt or compromise in the charging process, such as safety, security, maintenance, financial, and authorization.

NumberError CodeFunctional Classifications
SafetySecurityMaintenanceFinancialAuthorization
1.ConnectorLockFailure
2.GroundFailure
3.HighTemperature
4.OverCurrentFailure
5.OverVoltage
6.UnderVoltage
7.WeakSignal
8.EmergencyStop
9.AuthorizationTimeout
10.InvalidVehicleMode
11.CableCheckFailure
12.PreChargeFailure
13.NoInternet
14.PilotFault
15.PowerLoss
16.EVContactorFault
17.EVSEContactorFault
18.CableOverTempDerate
19.CableOverTempStop
20.PartialInsertion
21.CapacitanceFault
22.ResistanceFault
23.ProximityFault
24.ConnectorVoltageHigh
25.BrokenLatch
26.CutCable

Documents

Minimum Required Error Codes

for Electric Vehicle Charging Infrastructure

Implementation Guide

for Minimum Required Error Codes in Electric Vehicle Charging Infrastructure

About ChargeX

The National Charging Experience Consortium, or ChargeX Consortium, is a collaborative effort between Argonne National Laboratory, Idaho National Laboratory, National Renewable Energy Laboratory, electric vehicle (EV) charging industry experts, consumer advocates, and other stakeholders.

Webpage: https://inl.gov/chargex/

Revision Log

2023-09-29 – v1.0.1

2023-09-11 – v1.0.0

Code Format

Fault Codes

This work recommends the use of specific fault codes for the transmission of each MREC. Uniquely, each fault code mentioned in this report begins with ‘CX,’ signifying its association to the set of MRECs proposed by the ChargeX consortium. The subsequent three digits uniquely identify each error code. As an illustration, the fault code ‘CX001’ is designated for the first error code (ConnectorLockFailure) within the set of MRECs proposed by the ChargeX consortium.

Conventions for OCPP 1.6J

It is recommended to transmit MRECs using the vendorErrorCode field in the StatusNotification.req message housed within OCPP 1.6J. The table below outlines all the data fields housed within the StatusNotification.req message that need to be modified to transmit MRECs using OCPP 1.6J.
Data Field Suggested Data Description
errorCode ChargePointErrorCode If available, suitable ChargePointErrorCode in OCPP 1.6 should be reported here. If not available, ‘OtherError’ should be used.
info Actual Value This includes additional information related to the error. The actual or observed value is recommended to be reported here and can be left blank if no information is available. More details of the error can be included in this field separated by the “;” delimiter.
vendorId {vendor specific information}; https://chargex.inl.gov This identifies the vendor-specific implementation. It is highly recommended to use https://chargex.inl.gov to help provide the end-user easier access to the details of the reported MREC, including its description and responsibility and functional classifications using the “;” delimiter.
vendorErrorCode Fault code Fault code for a specified MREC as given in table above.

(i) OCPP’s Certification Process and ChargeX MRECs

To allow stakeholders to use ChargeX’s MRECs without interfering with OCPP’s certification process we recommend populating the vendorErrorCode with ‘CXxxx’ along with the vendorId set to ‘https://chargex.inl.gov.’ This should re-direct the end user to the ChargeX documentation to identify and interpret the error. All MRECs that are cross listed in OCPP 1.6 should be reported in this way.

Example

				
					{	
"connectorId": 1,
"errorCode": "HighTemperature", 
"info": "50",
"status": "Finishing",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX003"
}

				
			

(ii) Multiple Simultaneous Faults with Custom Errors

When reporting multiple simultaneous faults, it is recommended that the info data field and the vendorErrorCode data field report multiple values in the same sequence separated by the “;” delimiter. It is also possible to add and report custom errors along with ChargeX MRECs in the same way but with additional vendor information in the vendorId field.

Example

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "50;105",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "www.vendor.com;https://chargex.inl.gov",
"vendorErrorCode": "CustomError;CX019"
}

				
			
Note that the value 50 units in the info data field corresponds to vendorErrorCode CustomError and 105 units corresponds to CX019.

Conventions for OCPP 2.0.1

It is recommended to transmit MRECs using the techCode data field in the NotifyEventRequest message of OCPP 2.0.1 for transmitting the MRECs. The table below highlights the data fields within the NotifyEventRequest message that need to be modified for transmitting MRECs using OCPP 2.0.1.
Data Field Suggested Data Description
techCode Fault code Fault code for a specified MREC as given in table above.

(i) ChargeX MRECs and Device Model

We do not mandate any specific device model or component-variable-monitor combination in this work. The examples provided draw from a conceptual device and information model and are intended to provide illustrations of component-variable-monitor pairings.

(ii) ChargeX MRECs and Component-Variable-Monitor Pairings

It is important to note that while some of these sample messages mention monitors, a majority of the MRECs can be reported without configuring monitors.

Example fault without a monitor

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
      {
            "eventId": 1,
            "timestamp": "2023-09-06T00-08-09Z",
            "trigger": "Delta",
            "actualValue": "true",
            "cause": "",
            "techCode": "CX001",
            "techInfo": "Additional information",
            "cleared": false,
            "transactionId": "12345",
            "variableMonitoringId": "",
            "eventNotificationType": "HardWiredNotification",
            "component": {
                    "name": "EVRetentionLock",
                    "instance": "Main",
                    "evse": {
                          "id": 1,
                          "connectorId": 1}
         },
            "variable": {
            "name": "Problem",
            "instance": "Main"}
    }
  ]
}

				
			

Example fault with a monitor

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "50",
      "cause": "",
      "techCode": "CX003",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "TemperatureSensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Temperature",
        "instance": "Main"
      }
    }
  ]
}

				
			

(iii) Multiple Simultaneous Faults with Custom Errors

The NotifyEventRequest message within OCPP 2.0.1 is well-equipped to simultaneously handle multiple error codes. Below is an example NotifyEventRequest message with multiple faults:
				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 100,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX026",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "CableBreakawaySensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Tripped",
        "instance": "Main"
      }
    },
    {
      "eventId": 101,
      "timestamp": "2023-09-06T00-08-10Z",
      "trigger": "Delta",
      "actualValue": "120",
      "cause": 100,
      "techCode": "CX019",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 2,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "CableTemperatureSensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Active",
        "instance": "Main"
      }
    }
  ]
}

				
			

MRECS

This section dives deeper into the MRECs and shows some sample JSON packets, demonstrating how MRECs can be transmitted in illustrative scenarios.

We do not mandate any specific device model or component-variable-monitor combination in this work. The examples provided below draw from a conceptual device and information model and are intended to provide example component-variable-monitor pairings. It is important to note that while some of these sample messages mention monitors (for illustrative purposes), a majority of the 26 MRECs can be reported without configuring monitors, which expedites their way into real-world implementations of OCPP 2.0.1.

Description

  • Triggered when the connector fails to lock or unlock on the vehicle side.

Responsibility Classification

  • EV User
  • EV

Functional Classifications

  • Safety
  • Security

Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "ConnectorLockFailure",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX001"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX001",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "EVRetentionLock",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the Ground fault circuit interrupter is activated.
Responsibility Classification
  • EVSE
  • EV
Functional Classification
  • Safety
  • Maintenance

Example in OCPP 1.6J
				
					{
"connectorId": 1,
"errorCode": "GroundFailure",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX002"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX002",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "RCD",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Tripped",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when high temperature inside the EVSE is derating power delivery.
Responsibility Classification
  • EVSE
Functional Classification
  • Safety

Example in OCPP 1.6J
				
					{
"connectorId": 1,
"errorCode": "HighTemperature",
"info": "50",
"status": "Finishing",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX003"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "50",
      "cause": "",
      "techCode": "CX003",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "TemperatureSensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Temperature",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when overcurrent protection device has been tripped.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OverCurrentFailure",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX004"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "",
      "cause": "",
      "techCode": "CX004",
      "techInfo": "",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId":"",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "OverCurrentProtection",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Active",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the input voltage to the vehicle has risen above an acceptable level.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OverVoltage",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX005"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "",
      "cause": "",
      "techCode": "CX005",
      "techInfo": "Additional information"
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "EVSE",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "DCVoltage",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the input voltage to the vehicle dropped below an acceptable level.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "UnderVoltage",
"info": "0",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX006"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "0",
      "cause": "",
      "techCode": "CX006",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "EVSE",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "DCVoltage",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the wireless communication device reports a weak signal.

Responsibility Classification

  • CSO
  • EVSE

Functional Classification

  • Authorization


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "WeakSignal",
"info": "0",
"status": "Finishing",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX007"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "0",
      "cause": "",
      "techCode": "CX007",
      "techInfo": "",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "DataLink",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "SignalStrength",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the emergency stopped is pressed by the user. This is only required if the charging station is configured with an emergency stop button.

Responsibility Classification

  • EV User
  • EVSE

Functional Classification

  • Safety


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX008"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX008",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "EmergencyStopSensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Active",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the user plugs in but fails to authorize a charging session prior to the connection timeout between the vehicle and the EVSE.

Responsibility Classification

  • EV User
  • CSO
  • EVSE
  • EV

Functional Classification

  • Security
  • Authorization


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX009"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "",
      "cause": "",
      "techCode": "CX009",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "TxCtrlr",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Timeout",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the vehicle is in an invalid mode for charging.

Responsibility Classification

  • EV User
  • EV

Functional Classification

  • Safety


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX010"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "",
      "cause": "",
      "techCode": "CX010",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "ConnectedEV",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "VehicleShiftPosition",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when there is a failure during the cable check phase.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety
  • Maintenance


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX011"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "",
      "cause": "",
      "techCode": "CX011",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "Connector",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered if the EVSE did not reach the correct pre-charge voltage.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX012"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "",
      "cause": "",
      "techCode": "CX012",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "EVSE",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered if the EVSE has internet connectivity.

Responsibility Classification

  • CSO
  • EVSE

Functional Classification

  • Authorization


Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "",
"status": "Faulted",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX013"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX013",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "DataLink",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the control pilot voltage is out of range.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Maintenance

Example in OCPP 1.6J

				
					{
"connectorId": 1,
"errorCode": "OtherError",
"info": "5",
"status": "Finishing",
"timestamp": "2023-09-06T00-08-09Z",
"vendorId": "https://chargex.inl.gov",
"vendorErrorCode": "CX014"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "5",
      "cause": "",
      "techCode": "CX014",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "CPPWMController",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "DCVoltage",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the EVSE is unable to supply any power due to mains failure.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety
  • Maintenance

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "0",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX015"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Alerting",
      "actualValue": "0",
      "cause": "",
      "techCode": "CX015",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": " ElectricalFeed",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Power",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when the contactors fail to open or close on the vehicle side. May also include welding related errors.

Responsibility Classification

  • EV

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX016"
}

				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX016",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "PowerContactor",
        "instance": "EV",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the contactors fail to open or close on the EVSE side. May also include welding related errors.

Responsibility Classification

  • EVSE

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "",
"status": "Finishing",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX017"
}

				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX017",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "PowerContactor",
        "instance": "EVSE",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the temperature of charging cable or connector assembly is too high, resulting in a reduced power operation.

Responsibility Classification

  • EVSE

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX018"
}

				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX018",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "CustomMonitor",
      "component": {
        "name": "Connector",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}

				
			

Description

  • Triggered when the temperature of charging cable or connector assembly is too high, resulting in a stopped charging session.

Responsibility Classification

  • EVSE

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "105",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX019"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Alerting",
      "actualValue": "105",
      "cause": "",
      "techCode": "CX019",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 2,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "CableTemperatureSensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Active",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when the cable latch is raised due to incomplete insertion into the vehicle charging port.

Responsibility Classification

  • EV User
  • EVSE
  • EV

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX020"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX020",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "TiltSensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Active",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when an isolation monitoring device tripped due to high capacitance during active charging.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "10",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX021"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Alerting",
      "actualValue": "10",
      "cause": "",
      "techCode": "CX021",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": " IsolationProtection",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Capacitance",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when an isolation monitoring device tripped due to low resistance during active charging.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "20",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX022"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Alerting",
      "actualValue": "20",
      "cause": "",
      "techCode": "CX022",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": 1,
      "eventNotificationType": "HardWiredMonitor",
      "component": {
        "name": "IsolationProtection",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Resistance",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when the proximity voltage is out of range.

Responsibility Classification

  • EVSE
  • EV

Functional Classification

  • Safety

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "1.0",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX023"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Alerting",
      "actualValue": "1.0",
      "cause": "",
      "techCode": "CX023",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "EVSE",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "PrxVoltage",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when the output voltage of EVSE is high before charging starts or after charging ends.

Responsibility Classification

  • EVSE

Functional Classification

  • Safety
  • Security

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "70",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX024"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Alerting",
      "actualValue": "70",
      "cause": "",
      "techCode": "CX024",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "Connector",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when latch on the connector is broken.

Responsibility Classification

  • CSO
  • EVSE

Functional Classification

  • Safety
  • Security

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX025"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX025",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "ConnectorPlugRetentionLock",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Problem",
        "instance": "Main"
      }
    }
  ]
}
				
			

Description

  • Triggered when the output cable is severed from the EVSE.

Responsibility Classification

  • CSO
  • EVSE

Functional Classification

  • Safety
  • Maintenance

Example in OCPP 1.6J

				
					{	
"connectorId": 1,
"errorCode": "OtherError",     	
"info": "",
"status": "Faulted",    
"timestamp": "2023-09-06T00-08-09Z",   
"vendorId": "https://chargex.inl.gov",   
"vendorErrorCode": "CX026"
}
				
			

Example in OCPP 2.0.1

				
					{
  "generatedAt": "2023-09-06T00-08-09Z",
  "tbc": false,
  "seqNo": 0,
  "eventData": [
    {
      "eventId": 1,
      "timestamp": "2023-09-06T00-08-09Z",   
      "trigger": "Delta",
      "actualValue": "true",
      "cause": "",
      "techCode": "CX026",
      "techInfo": "Additional information",
      "cleared": false,
      "transactionId": "12345",
      "variableMonitoringId": "",
      "eventNotificationType": "HardWiredNotification",
      "component": {
        "name": "CableBreakAwaySensor",
        "instance": "Main",
        "evse": {
          "id": 1,
          "connectorId": 1
        }
      },
      "variable": {
        "name": "Tripped",
        "instance": "Main"
      }
    }
  ]
}
				
			

Idaho National Laboratory