A socket's status in the dashboard looks suspicious: is it really charging, or was a message lost? Instead of waiting for the next reading, you can ask the charger for the information right now. In OCPP this is called TriggerMessage. In OCPP 1.6J it is part of the "Remote Trigger" profile.
How does it work?
The CSMS tells the charger which message it wants to trigger. The charger first replies to TriggerMessage and then sends the requested message as a normal request.
[2, "11001", "TriggerMessage", {"requestedMessage": "StatusNotification", "connectorId": 1}] [3, "11001", {"status": "Accepted"}]
Then the charger sends:
[2, "c-551", "StatusNotification", {"connectorId": 1, "status": "Charging", "errorCode": "NoError"}]
Which messages can be triggered?
In OCPP 1.6J, requestedMessage can take these values:
- BootNotification: Resends the charger information (model, firmware).
- Heartbeat: Liveness check and clock synchronisation.
- StatusNotification: The status of one or all connectors.
- MeterValues: Instant meter readings.
- DiagnosticsStatusNotification: The status of a diagnostics file upload.
- FirmwareStatusNotification: The status of a firmware update.
If connectorId is not given, the message is sent for all connectors or for the charger as a whole. In OCPP 2.0.1 and 2.1 the list is extended; for example, TransactionEvent, LogStatusNotification and a certificate signing request can also be triggered.
Possible replies
- Accepted: The message will be sent.
- Rejected: The charger will not send this message right now.
- NotImplemented: The requested message cannot be triggered.
Practical use cases
Verifying the status on the map
When a driver reports "the app shows it as free but the socket is occupied", triggering a StatusNotification gives you the real status immediately. This is very useful when the information in the dashboard is stale because of a lost message.
Refreshing live charging information
Customer support can trigger MeterValues to see whether charging is really continuing. If instant power shows zero, the issue may be on the vehicle side.
Firmware inventory
Triggering BootNotification from all chargers is a practical way to update which charger runs which firmware version. Avoid doing this to a large number of chargers at the same time, though.
Connection test
Triggering a Heartbeat quickly shows whether the charger responds to commands and whether its clock is correct.
Tracking updates
If you suspect a firmware update is stuck, you can trigger FirmwareStatusNotification to get the latest status. See firmware updates with OCPP.
Things to keep in mind
- TriggerMessage support is optional. Some older chargers return NotImplemented.
- The triggered message may not arrive right after the reply; it may wait in the charger's message queue.
- Overuse creates unnecessary data usage, especially on mobile lines. Prefer correct Heartbeat and meter intervals over periodic triggering.
- A triggered BootNotification does not restart some chargers, but some software may interpret it as a restart; distinguish them in your reports.
Automated use cases
TriggerMessage is as useful in automation as it is manually. For example, if a charger has not sent a StatusNotification for a certain time, the system can trigger a status request automatically and check for a reply; if no reply arrives, it can raise an offline alert. Likewise, if the MeterValues flow stops during a long session, triggering an instant reading is a quick way to find out whether the session is still running. When setting up these automations, limiting the trigger frequency and defining a cooldown for each charger prevents unnecessary traffic.
Another useful scenario is resynchronising the status of the whole network after an outage on the CSMS side. If the server was unreachable for a few minutes, triggering StatusNotification for all connectors once the chargers reconnect guarantees that the information in the dashboard is correct. Queuing this a few seconds apart per charger does not overload the server or the mobile lines.
Conclusion
TriggerMessage is how you get direct confirmation from a charger whenever you doubt how current the information in the dashboard is. It is a fast diagnostic tool for status, readings and charger information. Üreticy's OCPP software records all OCPP communication; you can easily follow triggered messages and their replies in the logs. To understand the message envelope, also see our article on OCPP message structure.
