Publish Firmware Status Notification
Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.42 (Messages); Use Cases L03 — Publish Firmware file on Local Controller, L04 — Unpublish Firmware file on Local Controller (Functional Block L. FirmwareManagement)
Overview
When a Local Controller has been asked to publish a firmware file (via PublishFirmwareRequest, used in setups with a Local Controller acting as firmware mirror for downstream Charging Stations), it reports progress to the CSMS using PublishFirmwareStatusNotificationRequest.
When status = Published, the message also returns one or more location URIs (e.g. HTTP, HTTPS, FTP) where downstream Charging Stations can retrieve the firmware.
requestId SHALL match the PublishFirmwareRequest that triggered this action.
Sequence Diagram
Local Controller (CS) ──── PublishFirmwareStatusNotificationRequest ────▶ CSMS
(status, location[]?, requestId?)
Local Controller (CS) ◀─── PublishFirmwareStatusNotificationResponse ──── CSMS
(repeated for each state: Idle → DownloadScheduled → Downloading → Downloaded
→ Publishing → Published; or a failure state)
Initiator
Charging Station (in the Local Controller role) → CSMS
Fields
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| status | PublishFirmwareStatusEnumType | 1..1 | Required. Progress status of the publish-firmware operation. |
| location | string [0..512] | 0..* | Optional. Required when status = Published. URI(s) where the firmware can be retrieved. |
| requestId | integer | 0..1 | Optional. The requestId of the originating PublishFirmwareRequest. |
No fields are defined.
PublishFirmwareStatusEnumType values
Idle, DownloadScheduled, Downloading, Downloaded, Published, DownloadFailed, DownloadPaused, InvalidChecksum, ChecksumVerified, PublishFailed.
Examples
{
"status": "Published",
"location": [
"https://lc.local/firmware/cp-2.1.0.bin",
"ftp://lc.local/firmware/cp-2.1.0.bin"
],
"requestId": 55
}{
"status": "Downloading",
"requestId": 55
}{}Schema
Source:
schemas/PublishFirmwareStatusNotificationRequest.json,schemas/PublishFirmwareStatusNotificationResponse.json(OCPP 2.0.1 FINAL)