SetDisplayMessage
Puts a message on the station's screen — pricing, a notice, or text for one driver.
- Version
- OCPP 2.0.1
- Direction
- CSMS → Charge Point
- Functional block
- Display Message
New in 2.0.1. In 1.6 the only way to control a station's display was a vendor-specific DataTransfer, which meant a different implementation per manufacturer.
A message can be scheduled, tied to a transaction, and given a priority that decides whether it interrupts what is on screen.
Request
| Field | Type | Required | Description |
|---|---|---|---|
message | MessageInfoType | Required | id, priority, message content, and optionally state, startDateTime, endDateTime, transactionId and display. |
[2, "19223201", "SetDisplayMessage", {
"message": {
"id": 42,
"priority": "NormalCycle",
"state": "Idle",
"message": { "format": "UTF8", "language": "en", "content": "Charging from 0.32/kWh" }
}
}]Response
| Field | Type | Required | Description |
|---|---|---|---|
status | DisplayMessageStatusEnumType | Required | Result. |
statusInfo | StatusInfoType | Optional | Reason code. |
[3, "19223201", {
"status": "Accepted"
}]Values
MessagePriorityEnumType
| Value | Meaning |
|---|---|
AlwaysFront | Always shown, ahead of everything else. |
InFront | Shown in front of normal messages. |
NormalCycle | Included in the normal rotation of messages. |
DisplayMessageStatusEnumType
| Value | Meaning |
|---|---|
Accepted | The message will be displayed. |
NotSupportedMessageFormat | The station cannot render that format. |
Rejected | Refused. |
NotSupportedPriority | That priority is not supported. |
NotSupportedState | That state is not supported. |
UnknownTransaction | The referenced transaction does not exist. |
Implementation notes
Check the supported formats before sending. format may be ASCII, HTML, URI or UTF8, and a station that cannot render your choice answers NotSupportedMessageFormat. The DisplayMessageCtrlr component lists what it supports.
`AlwaysFront` on a permanent message monopolises the screen. Use startDateTime and endDateTime so notices expire on their own.
A message tied to a transactionId disappears when that transaction ends.