Send manufacturer-specific data
Reach the features a charger maker built beyond the standard set, such as display control or proprietary diagnostics, and read the answer.
On this page
Charger makers build features of their own: control of the display, proprietary diagnostics, their own configuration tools. You can reach them through Flowion by sending the message the manufacturer documents, and read the charger's answer, payload included.
200Response
| Field | Required | What to send |
|---|---|---|
vendorId | yes | The manufacturer's identifier, usually a reversed domain name |
messageId | no | Which of the manufacturer's messages |
data | no | The body, in whatever format the manufacturer specifies |
data is a string in both directions, whatever the format inside it: JSON, CSV or a bare number. Flowion passes it through as it is, without reading or checking it, and hands back the charger's own data exactly as it arrived.
The values for all three fields come from the manufacturer. Ask them for their integration documentation; most publish one, and it is often where a charger's most useful extras are written down.
Read the answer
The call waits for the charger, so the charger has to be online. A 200 means it answered; status says how:
status | Meaning | What to do |
|---|---|---|
Accepted | Understood and done | Read data if you expected a reply |
Rejected | Understood and refused | Check the payload against the manufacturer's documentation |
UnknownMessageId | The manufacturer is right, the message is not | This firmware does not have the message. Chargers of one model on different firmware often differ here |
UnknownVendorId | The charger does not recognise the manufacturer | Check vendorId, and that the charger is the model you think |
The failure codes are the same as for any call that waits on a charger: 409 when it is offline, 504 when it does not answer in about 35 seconds. See Sending commands.
Find what you sent
Every message you send is kept in the charger's command history, with the charger's answer:
Messages a charger sends on its own, including manufacturer-specific ones, appear in its inbound message log for seven days. Filter with action=DataTransfer. Flowion records these but does not act on them. Reading the log needs the ocpp.diagnostics.read permission.
Keep manufacturer code in one place
Everything you build on this is specific to one manufacturer, and sometimes to one firmware line:
A payload for one make means nothing to another, so a mixed fleet needs one code path per manufacturer.
Flowion does not check the payload, so a mistake shows up only as the charger's
status.Whatever the message changes on the charger does not show up in sessions, statuses or meter readings unless the charger reports it.
Use the standard features first: settings, restarts, availability. Keep manufacturer messages behind one interface in your own code, so the second manufacturer is an addition rather than a rewrite.