Extended Trigger Message
Source: OCPP 1.6 Security Whitepaper Edition 2 (2020-03-31) — Sections 5.5 / 5.6 (Messages), referenced from Use Cases A02, L01, N01
Overview
ExtendedTriggerMessage is the OCPP 2.0.1 TriggerMessage ported back into OCPP 1.6 security extension. It was renamed from TriggerMessage because the original name conflicts with the OCPP 1.6 message of the same name.
The Central System uses ExtendedTriggerMessage.req to ask the Charge Point to send a Charge Point-initiated message on demand. Compared to the legacy TriggerMessage, ExtendedTriggerMessage adds support for the new security messages introduced by this whitepaper:
LogStatusNotification— current upload status of a security/diagnostics log.FirmwareStatusNotification— current state of the secure firmware update (i.e.SignedFirmwareStatusNotification.req).SignChargePointCertificate— triggers the CP to send aSignCertificate.req(certificateType: ChargePointCertificate)(used in A02).
For all other values (BootNotification, Heartbeat, MeterValues, StatusNotification) the behaviour matches the OCPP 1.6 TriggerMessage.
The CP SHALL first send the ExtendedTriggerMessage.conf, then send the requested message if the status is Accepted. If the requested message is unknown or not implemented, the CP SHALL return NotImplemented.
Sequence Diagram
Central System ──── ExtendedTriggerMessage.req ────▶ Charge Point
(requestedMessage, connectorId?)
Central System ◀─── ExtendedTriggerMessage.conf ──── Charge Point
(status)
◀─── <triggered message>.req
Initiator
Central System → Charge Point
Fields
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| requestedMessage | MessageTriggerEnumType | 1..1 | Required. Type of the message to be triggered. |
| connectorId | integer (> 0) | 0..1 | Optional. Only filled in when request applies to a specific connector. |
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| status | TriggerMessageStatusEnumType | 1..1 | Required. Indicates whether the Charge Point will send the requested notification or not. |
MessageTriggerEnumType values
BootNotification— triggersBootNotification.req.LogStatusNotification— triggersLogStatusNotification.req.FirmwareStatusNotification— triggersSignedFirmwareStatusNotification.req(the secure firmware update flow introduced by this whitepaper).Heartbeat— triggersHeartbeat.req.MeterValues— triggersMeterValues.req.SignChargePointCertificate— triggersSignCertificate.reqwithcertificateType: ChargePointCertificate.StatusNotification— triggersStatusNotification.req.
TriggerMessageStatusEnumType values
Accepted— Requested message will be sent.Rejected— Requested message will not be sent.NotImplemented— Requested message cannot be sent because it is either not implemented or unknown.
Examples
{
"requestedMessage": "SignChargePointCertificate"
}{
"status": "Accepted"
}Schema
Source:
schemas/ExtendedTriggerMessage.json,schemas/ExtendedTriggerMessageResponse.json(OCPP 1.6 Security Whitepaper, JSON Schema draft-06)