PublishFirmware
Sent by the CSMS to a Local Controller to instruct it to download and make available a firmware file for local distribution to Charging Stations on its local network.
Quick Reference
Required Fields
location string(512) URI where the firmware can be downloaded from
checksum string(32) MD5 checksum of the firmware file
requestId integer Request ID to correlate PublishFirmwareStatusNotification messages
Optional Fields
retries integer Number of download retries
retryInterval integer Seconds between retries
Example Payload
{
"location": "https://firmware.example.com/v2.1.0.bin",
"checksum": "d41d8cd98f00b204e9800998ecf8427e",
"requestId": 1,
"retries": 3
} Example Full Frame
[
2,
"msg-001",
"PublishFirmware",
{
"location": "https://firmware.example.com/v2.1.0.bin",
"checksum": "d41d8cd98f00b204e9800998ecf8427e",
"requestId": 1,
"retries": 3
}
]
Format: [MessageType, MessageId, Action, Payload]
Overview
PublishFirmware is used in local network topologies where a Local Controller distributes firmware to Charging Stations without direct internet access. The CSMS sends this to the Local Controller, which then serves the firmware locally.
Expected Response
status:Accepted,Rejected, orInvalidChecksum
Progress is reported via PublishFirmwareStatusNotification.
Usage Notes
- This message targets a Local Controller, not a standard Charging Station
- After publishing, use
UpdateFirmwarepointing to the Local Controller’s address checksumis MD5 of the firmware binary
Testing Tips
- Test the full local distribution chain: PublishFirmware → Local Controller serves → UpdateFirmware to stations
- Test
InvalidChecksumby sending an incorrect MD5
Common Errors
PropertyConstraintViolation
Cause: checksum exceeds 32 characters
Solution: Checksum must be an MD5 hash (32 hex characters)