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
toAF
(inclusive) are user actionable, and potentially result from user error. - Codes prefixed in the range
F0
toFF
(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
- The
info
field shall contain informative values, such as relevant sensor readings, recorded at the time of the event where available. - The
timestamp
field is required. This value must be in ISO8601 format. UTC is the only acceptable timezone. Example:2022-06-10T14:51:17Z
- The
vendorId
iscom.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 kΩ
.
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"
}
]