SetDisplayMessage
Sent by the CSMS to display a message on the Charging Station's screen, either immediately or at a scheduled time.
Quick Reference
Required Fields
message MessageInfoType Message to display, including ID, priority, and content
message.id integer Unique ID for this message
message.priority MessagePriorityEnumType AlwaysFront, InFront, or NormalCycle
message.message MessageContentType Message content with format and text
message.message.format MessageFormatEnumType ASCII, HTML, URI, or UTF8
message.message.content string(512) The message text to display
Optional Fields
message.state MessageStateEnumType When to show: Charging, Faulted, Idle, or Unavailable
message.startDateTime string (date-time) Start time for message display
message.endDateTime string (date-time) End time for message display
message.transactionId string(36) Show message only during this transaction
message.message.language string(8) Language code (e.g., en, de, fr)
Example Payload
{
"message": {
"id": 1,
"priority": "NormalCycle",
"state": "Idle",
"message": {
"format": "UTF8",
"language": "en",
"content": "Welcome! Charge for free on weekends."
}
}
} Example Full Frame
[
2,
"msg-001",
"SetDisplayMessage",
{
"message": {
"id": 1,
"priority": "NormalCycle",
"state": "Idle",
"message": {
"format": "UTF8",
"language": "en",
"content": "Welcome! Charge for free on weekends."
}
}
}
]
Format: [MessageType, MessageId, Action, Payload]
Overview
SetDisplayMessage lets the CSMS push custom messages to the Charging Station’s display screen. Messages can be scheduled, state-dependent (show only when charging), or transaction-specific.
When to Send
- To display promotional messages during idle time
- To show maintenance notifications
- To display transaction-specific information during charging
Expected Response
status:Accepted,NotSupportedMessageFormat,Rejected, orNotSupportedPriority
Usage Notes
AlwaysFrontoverrides all other messages — use sparinglystatecan limit display to specific Charging Station states (only show during charging, etc.)- Multiple messages can coexist with different priorities and states
Testing Tips
- Set an
Idlestate message and verify it shows when no session is active - Test
Chargingstate message during an active transaction - Test message with
startDateTimein the future and verify it appears at the right time
Common Errors
TypeConstraintViolation
Cause: priority uses an unsupported value
Solution: Use AlwaysFront, InFront, or NormalCycle
PropertyConstraintViolation
Cause: message content exceeds 512 characters
Solution: Keep the display message under 512 characters