Minimum Required Error Codes

This document defines mandatory error codes necessary for responsible operation of EV charging infrastructure. Transport shall occur over OCPP 1.6J, and shall leverage fields defined within the StatusNotification.req.

The substance of the messages defined herein are critical, and the format is that suggested by EVgo. If all conditions, including transmitted data, of a defined code are present within a manufacturer's own error codes it is sufficient for a manufacturer to indicate which internal code maps to the corresponding MREC code.

Motivation

To reduce MTTR of customer-facing charging problems through the improvement, and unification, of EVSE error codes.

Change Log

2022-10-14 - v1.0.1

  • Fix sample connector ID in A004.

2022-09-23 - v1.0.0

  • Initial release of EVgo's Minimum Required Error Codes
  • Apache 2.0 licensed codes.

Code Format

Error codes defined within this specification are mapped to a 16-bit hexadecimal encoded string in network order:

The first byte (left pair) is the prefix:

  • Codes prefixed in the range A0 to AF (inclusive) are user actionable, and potentially result from user error.
  • Codes prefixed in the range F0 to FF (inclusive) are safety related, and are not actionable by the end user.

The second byte (right pair) is the code, occupying the range 00 to FF (inclusive).

Allocation of codes will begin with A000 and F000.

EVSE Display Requirements

Each code will define a generic requirement for what information shall be displayed to the customer. In cases where a CPO has custom screen flows, these will be provided by the CPO directly.

These requirements are waived for devices where no display is present.

Status Notification Conventions

  1. The info field shall contain informative values, such as relevant sensor readings, recorded at the time of the event where available.
  2. The timestamp field is required. This value must be in ISO8601 format. UTC is the only acceptable timezone. Example: 2022-06-10T14:51:17Z
  3. The vendorId is com.evgo.mrec

Compound Error Codes

Given the potential for concurrent, or complex, failure modes to exist the following shall govern the transmission of data in such an event. When concurrent error states exist, the details shall be sent such that individual values as required in the spec are sent as Comma Separated Values within the info and vendorErrorCode fields.

Mapping is such that the N-th value present in info is the instrumentation measurement corresponding to the N-th value present in vendorErrorCode. A reference example follows using codes F001 and F003:

Example:

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "1.11,5.00",
		"status": "Finishing",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F001,F003"
    }
]

Codes

The following are defined as Minimum Required Error Codes.

Safety

  • F000 - Proximity Voltage: High
  • F001 - Proximity Voltage: Low
  • F002 - Pilot Voltage: High
  • F003 - Pilot Voltage: Low
  • F004 - Broken Latch
  • F005 - Failed Cable Check
  • F006 - Chassis Resistance: Low
  • F007 - Chassis Capacitance: High
  • F008 - Connector Voltage: High
  • F009 - Cable Over Temperature
  • F010 - Cable Cut

User

  • A000 - Authorization Timeout
  • A001 - Partial Insertion
  • A002 - Failed Vehicle Lock
  • A003 - Invalid Vehicle Mode
  • A004 - Emergency Stop Pressed
  • A005 - Failed Charger Lock

Safety

The following codes represent unsafe conditions at the EVSE.

  • F000 - Proximity Voltage: High
  • F001 - Proximity Voltage: Low
  • F002 - Pilot Voltage: High
  • F003 - Pilot Voltage: Low
  • F004 - Broken Latch
  • F005 - Failed Cable Check
  • F006 - Chassis Resistance: Low
  • F007 - Chassis Capacitance: High
  • F008 - Connector Voltage: High
  • F009 - Cable Over Temperature
  • F010 - Cable Cut

Proximity Voltage: High - F000

Triggered and sent to the CPO in the event that the proximity signal is out of range on the high side. This occurs when the proximity signal is above 1.82VDC during active charging.

In the StatusNotification.req use the info field to provide the measured proximity value at the time of failure. The units shall be VDC.

EVSE Display Requirements

Prompt the user that an error has occured, and provide instruction to try again.

The instruction to try again should suggest confirming a properly seated connector.

If contacting Customer Service, reference error code: F000.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "2.00",
		"status": "Finishing",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F000"
    }
]

Proximity Voltage: Low - F001

Triggered and sent to the CPO in the event that the proximity signal is out of range on the low side. This occurs when the proximity signal is below 1.23VDC during active charging.

In the StatusNotification.req use the info field to provide the measured proximity value at the time of failure. The units shall be VDC.

EVSE Display Requirement

Prompt the user that an error has occured, and provide instruction to try again.

The instruction to try again should suggest confirming a properly seated connector.

If contacting Customer Service, reference error code: F001.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "1.11",
		"status": "Finishing",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F001"
    }
]

Pilot Voltage: High - F002

Triggered and sent to the CPO in the event that the pilot signal is out of range on the high side. This occurs when the pilot signal is above 6.53VDC during active charging.

In the StatusNotification.req use the info field to provide the measured proximity value at the time of failure. The units shall be VDC.

EVSE Display Requirements

Prompt the user that an error has occured, and provide instruction to try again.

The instruction to try again should suggest confirming a properly seated connector.

If contacting Customer Service, reference error code: F002.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "7.00",
		"status": "Finishing",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F002"
    }
]

Pilot Voltage: Low - F003

Triggered and sent to the CPO in the event that the pilot signal is out of range on the low side. This occurs when the pilot signal is below 5.47VDC during active charging.

In the StatusNotification.req use the info field to provide the measured proximity value at the time of failure. The units shall be VDC.

EVSE Display Requirements

Prompt the user that an error has occured, and provide instruction to try again.

The instruction to try again should suggest confirming a properly seated connector.

If contacting Customer Service, reference error code: F003.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "5.00",
		"status": "Finishing",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F003"
    }
]

Broken Latch - F004

Triggered and sent to the CPO in the event that the connector latch of the EVSE is broken as described in SAE J1772 6.5.9, and the impacted EVSE is capable of detecting the fault.

When the fault occurs, proximity voltage can be observed entering the range 1.23V to 1.82V without having first entered the 2.38V to 3.16V range prior to a charge starting.

EVSE Display Requirements

Warn the user the connector latch may be damaged, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F004.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F004"
    }
]

Failed Cable Check - F005

Triggered and sent to the CPO in the event that isolation failure occurs during the cable check phase.

This fault occurs between Authorization and Preparing.

EVSE Display Requirements

Display the general Error screen, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F005.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F005"
    }
]

Chassis Resistance: Low - F006

Triggered and sent to the CPO in the event an Isolation Monitoring Device trips due to low resistance to the chassis during active charging. This occurs when the measured resistance from V+ or V- to chassis is below 100Ω/V, where V is the output voltage.

In the StatusNotification.req use the info field to provide the measured resistance value to the chassis at the time of failure. The units shall be . Omit if no measurement is available.

EVSE Display Requirements

Display the general Error screen, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F006.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "20",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F006"
    }
]

Chassis Capacitance: High - F007

Triggered and sent to the CPO in the event an Isolation Monitoring Device trips due to high capacitance to the chassis during active charging. This occurs when the measured capacitance from V+ or V- to chassis is above 5μF.

In the StatusNotification.req use the info field to provide the measured capacitance value to the chassis at the time of failure. The units shall be μF. Omit if no measurement is available.

EVSE Display Requirements

Display the general Error screen, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F007.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "10",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F007"
    }
]

Connector Voltage: High - F008

Triggered and sent to the CPO in the event EVSE output voltage is detected above 60VDC before charging begins, or after charging ends.

In the StatusNotification.req use the info field to provide the measured output voltage on the connector at the time of failure. The units shall be VDC.

EVSE Display Requirements

Display the general Error screen, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F008.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "70",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F008"
    }
]

Cable Over Temperature - F009

Triggered and sent to the CPO in the event that any temperature sensor in the charging cable reads at or above the max temperature.

In the StatusNotification.req use the info field to provide the measured temperature value of the thermistor at the time of failure. The units shall be degrees C. Omit if no measurement is available.

EVSE Display Requirements

Display the general Error screen, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F009.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "96",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F009"
    }
]

Cable Cut - F010

Triggered and sent to the CPO in the event that both temperature sensors in the charging cable simultaneously read at their maximum value. This behavior is seen when the charging cable has been cut.

EVSE Display Requirements

Display the general Error screen, and note that the CPO has been notified.

If contacting Customer Service, reference error code: F010.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "F010"
    }
]

User

The following codes represent error states in which the User can execute remediating actions.

  • A000 - Authorization Timeout
  • A001 - Partial Insertion
  • A002 - Failed Vehicle Lock
  • A003 - Invalid Vehicle Mode
  • A004 - Emergency Stop Pressed
  • A005 - Failed Charger Lock

Authorization Timeout - A000

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

EVSE Display Requirements

The HMI shall inform the user that the delay between plug-in and authorization exceeded the timeout, and prompt the user to try again.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "A000"
    }
]

Partial Insertion - A001

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

EVSE Display Requirements

Prompt the user to unplug the connector, wait 10s, and reattach the connector. Further instruct the user that the cable connector must be seated fully to ensure the cable latch is completely closed.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "A001"
    }
]

Failed Vehicle Lock - A002

Triggered when the vehicle lock fails to engage due to excessive torque applied to the connector.

EVSE Display Requirements

Prompt the user to unplug the connector, wait 10s, and reattach the connector. Further instruct the user that the cable connector should be seated fully to ensure the vehicle lock engages successfully.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "A002"
    }
]

Invalid Vehicle Mode - A003

Triggered when the vehicle is in an invalid mode for charging, for example:

  • The shift selection is some value other than "Park"
  • The vehicle is "ON"
  • The vehicle is ready to drive

EVSE Display Requirements

The HMI shall inform the user that the vehicle must be OFF and in Park in order to charge.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "A003"
    }
]

Emergency Stop Pressed - A004

Triggered when the Emergency Stop button is pressed on the EVSE outside of an active charging session. While OCPP 1.6J defines pressing the Emergency Stop button as a Stop Reason, there is no fixed code to inform the CPO when the button is pressed outside of a charging session. Only required if the EVSE is equipped with an Emergency Stop button.

EVSE Display Requirements

Prompt the user to twist, or otherwise manipulate, the Emergency Stop button as required to disengage the button.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 0,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "A004"
    }
]

Failed Charger Lock - A005

Triggered when the charger connector lock fails to engage due to the CHAdeMO connector not being fully inserted into the socket, or the CHAdeMO connector lock is not operationl. Note this is only required to be supported for systems that include a CHAdeMO connector.

EVSE Display Requirements

Prompt the user to unplug the connector, wait 10s, and reattach the connector. Further instruct the user that the cable connector should be seated fully to ensure the charger lock engages successfully.

Sample Message

[
    2,
    "12345",
    "StatusNotification",
    {
		"connectorId": 1,
		"errorCode": "OtherError",
		"info": "",
		"status": "Faulted",
		"timestamp": "2022-06-10T14:51:17Z",
		"vendorId": "com.evgo.mrec",
		"vendorErrorCode": "A005"
    }
]