Skip to content
Documentation Menu

Firmware Status Notification

Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.15 (Messages); Use Cases L01 — Secure Firmware Update, L02 — Non-Secure Firmware Update (Functional Block L. FirmwareManagement)

Overview

The Charging Station sends FirmwareStatusNotificationRequest to inform the CSMS about the progress of a firmware update started by UpdateFirmwareRequest (L01: signed firmware; L02: legacy non-signed firmware).

Every notification for a specific update SHALL carry the same requestId as the originating UpdateFirmwareRequest. requestId is mandatory unless the message was triggered by TriggerMessageRequest AND there is no firmware update ongoing — in which case the CS sends status = Idle without a requestId.

When entering certain failure states the CS also sends a SecurityEventNotification:

  • InvalidFirmwareSignature → security event InvalidFirmwareSignature.
  • Invalid signing certificate → security event InvalidFirmwareSigningCertificate.

Sequence Diagram

Charging Station  ──── FirmwareStatusNotificationRequest ────▶  CSMS
                       (status, requestId?)
Charging Station  ◀─── FirmwareStatusNotificationResponse ────  CSMS

(repeated for each state: Downloading → Downloaded → SignatureVerified
 → Installing → Installed)

Initiator

Charging Station → CSMS

Fields

Field NameField TypeCard.Description
statusFirmwareStatusEnumType1..1Required. Progress status of the firmware installation.
requestIdinteger0..1Optional. The requestId from the originating UpdateFirmwareRequest. Mandatory unless the message was triggered by TriggerMessage AND there is no firmware update ongoing.

FirmwareStatusEnumType values

Intermediate states: Downloaded, Downloading, DownloadScheduled, DownloadPaused, Installing, InstallRebooting, InstallScheduled, SignatureVerified.

End states: Installed (success), DownloadFailed, InstallationFailed, InstallVerificationFailed, InvalidSignature.

Other: Idle — only valid in response to a TriggerMessage when no update is in progress.

Examples

{
  "status": "Downloading",
  "requestId": 123
}

Schema

Source: schemas/FirmwareStatusNotificationRequest.json, schemas/FirmwareStatusNotificationResponse.json (OCPP 2.0.1 FINAL)

Request schema (JSON Schema)
Response schema (JSON Schema)