StatusNotification
Sent by the Charge Point to notify the Central System of a status change on a connector.
Quick Reference
Required Fields
connectorId integer Connector ID (0 for Charge Point, >0 for connectors)
errorCode string Error code (NoError if no error)
status string Current status of the connector
Optional Fields
info string(50) Additional free-format info about error
timestamp dateTime Time of status change
vendorId string(255) Vendor-specific identifier
vendorErrorCode string(50) Vendor-specific error code
Example Payload
{
"connectorId": 1,
"errorCode": "NoError",
"status": "Available",
"timestamp": "2024-01-15T10:00:00Z"
} Example Full Frame
[
2,
"msg-001",
"StatusNotification",
{
"connectorId": 1,
"errorCode": "NoError",
"status": "Available",
"timestamp": "2024-01-15T10:00:00Z"
}
]
Format: [MessageType, MessageId, Action, Payload]
Overview
The StatusNotification message informs the Central System about the current status of a connector or the Charge Point itself. This is crucial for real-time monitoring and user-facing availability displays.
When to Send
- After BootNotification (send initial status for all connectors)
- When connector status changes (cable connected/disconnected, charging starts/stops)
- When an error occurs or clears
- Periodically as a heartbeat for connector status (optional)
Connector Status Values
Available: Ready for use, no vehicle connectedPreparing: Cable connected, waiting for authorization or vehicle readyCharging: Active charging sessionSuspendedEV: Charging suspended by vehicle (e.g., battery management)SuspendedEVSE: Charging suspended by Charge PointFinishing: Charging finished, waiting for cable disconnectReserved: Connector reserved for specific userUnavailable: Connector out of serviceFaulted: Connector error state
Error Code Values
NoError: No errorConnectorLockFailure: Cable lock malfunctionEVCommunicationError: Communication with vehicle failedGroundFailure: Ground fault detectedHighTemperature: Over-temperature conditionInternalError: Internal component errorLocalListConflict: Authorization list issueOverCurrentFailure: Over-current detectedPowerMeterFailure: Energy meter malfunctionPowerSwitchFailure: Contactor/relay failureReaderFailure: RFID reader malfunctionUnderVoltage: Under-voltage conditionOverVoltage: Over-voltage conditionWeakSignal: Poor network signal
Usage Notes
- ConnectorId 0 refers to the Charge Point itself
- Always send status after BootNotification for all connectors
- Status transitions should follow logical flow (Available → Preparing → Charging → Finishing → Available)
- When errorCode is not “NoError”, status is typically “Faulted”
Best Practices
- Initial status - Send StatusNotification for all connectors after boot
- Accurate timestamps - Include timestamp for precise event tracking
- Error details - Use info field to provide human-readable error description
- Vendor codes - Include vendorErrorCode for manufacturer-specific diagnostics
- Status consistency - Ensure status transitions are logical and consistent
Testing Tips
- Test all status values (Available, Preparing, Charging, etc.)
- Test error conditions with various errorCode values
- Test connectorId 0 for Charge Point-level status
- Test status transitions during typical charging session
- Test with and without optional timestamp field
Common Errors
PropertyConstraintViolation
Cause: Invalid status or errorCode value
Solution: Use only standard OCPP status and error code values
TypeConstraintViolation
Cause: connectorId is negative
Solution: Use 0 for Charge Point, positive integers for connectors