The vocabulary
Charge Point, EVSE, Connector, IdToken, Transaction: what each OCPP term means, which ones people confuse, and the words Flowion uses instead.
On this page
OCPP has gone through three major versions in fifteen years, and each one renamed things. The same object can have two or three names depending on which document you read. This page sorts them out, which helps most when you are reading a charger's manual, its configuration screen or its logs.
You do not need any of it to use Flowion: the API and the rest of these docs use plain product words, listed at the end.
The thing on the wall
| OCPP 1.6 | OCPP 2.x | Flowion |
|---|---|---|
| Charge Point | Charging Station | Charger |
| Central System | CSMS | Flowion |
"Charge Point" is 1.6's term and survives in field names you still see on the wire: chargePointVendor, chargePointModel, and the charge point id at the end of a charger's connection URL. 2.x renamed it "Charging Station". The server is a Central System in 1.6 and a CSMS (Charging Station Management System) in 2.x. Same role.
EVSE and Connector
This is the most common early misunderstanding. OCPP 2.x describes charging hardware as three nested tiers:
Charging Station the physical unit
└─ EVSE can charge one vehicle at a time
└─ Connector one socket or tethered cable
An EVSE (Electric Vehicle Supply Equipment) is the part of a station that can charge one vehicle at a time. It answers "can someone charge here right now".
A Connector is one physical socket or attached cable.
One EVSE can have several connectors, but only one is in use at a time. A post with a CCS cable and a CHAdeMO cable sharing one power module is one EVSE with two connectors. Count EVSEs to know how many cars can charge at once; count connectors to know which plugs are on offer.
Numbering
EVSEs are numbered from 1, with no gaps.
Connectors are numbered from 1 within each EVSE, so every EVSE has a connector 1.
"Connector 1" on its own is ambiguous: you need the EVSE too.
Zero means the whole station
Both tiers reserve 0 for the station itself:
In 2.x,
evseId0 addresses the whole charging station.In 1.6,
connectorId0 does the same. AStatusNotificationon connector 0 is the station's own status, separate from its connectors; aMeterValueson connector 0 is the station's main meter, not a session.
1.6 has no EVSEs
OCPP 1.6 is flat: a charge point has connectors numbered from 1, and that is all. Flowion gives every charger the same three-tier shape regardless of version. On a 1.6 charger, each connector becomes its own EVSE with the same number, holding one connector, so your code walks one hierarchy for the whole fleet. See How Flowion maps onto OCPP.
Identifiers
| OCPP 1.6 | OCPP 2.x | Flowion | Meaning |
|---|---|---|---|
idTag | IdToken | Card, id token | What a driver presents to start a charge |
An idTag in 1.6 is a bare string of at most 20 characters, usually the UID read off an RFID card. 2.x replaces it with IdToken, which carries the value and its type: an ISO 14443 RFID card, a key code, a MAC address, a token the CSMS issued, and so on.
An id token identifies a credential, not a person. OCPP has no idea who holds a card. Flowion adds that: a card can belong to a person, and permission to charge is given to people, never to cards. Lose a card, block it, and the person's other cards keep working. See Let drivers charge with RFID cards.
A parentIdToken (1.6: parentIdTag) groups tokens, so that any card in a household can, for example, stop a session another one started.
Transaction and session
Transaction is OCPP's word for one charge: from the moment charging is authorized and begins to the moment it stops. One car, one EVSE, one visit. Flowion's docs call this a session; the API resource that holds them is transactions.
The two versions report a transaction very differently:
1.6 sends three separate messages:
StartTransaction, any number ofMeterValues, thenStopTransaction. The CSMS assigns an integer transaction id, which the station echoes on everything after.2.x sends one message type,
TransactionEvent, witheventTypeStarted,UpdatedorEnded. The station picks the transaction id, a string, present from the first event.
The id changed sides between versions. Flowion keeps both forms distinct and gives every session its own UUID on top, the same for every charger.
Status words that sound alike
Connector status answers "what is this outlet doing?". 1.6 defines nine values:
| Status | Means |
|---|---|
Available | Free for a new user |
Preparing | Taken, no transaction yet: card shown or cable in |
Charging | Contactor closed, energy flowing |
SuspendedEV | Energy offered, but the car is not taking it |
SuspendedEVSE | Plugged in, but the station is not offering energy |
Finishing | Transaction over, cable still in |
Reserved | Held by a reservation |
Unavailable | Taken out of service |
Faulted | Broken |
Two are worth a second look:
SuspendedEVandSuspendedEVSEare opposites and easy to swap. EV suspended means the car stopped drawing. EVSE suspended means the station stopped supplying, which is what load management looks like from outside.PreparingandFinishingare why an outlet is not free the instant a session ends: a cable left plugged in keeps it occupied.
OCPP 2.x splits this one concept in two: a connector status for availability, and a transaction's charging state for whether energy is moving. Flowion stores it the 2.x way for every charger.
Registration status
The answer to a station's BootNotification:
| Status | Means |
|---|---|
Accepted | Recognised. Start operating. |
Pending | Stay connected; the CSMS wants to configure you first. |
Rejected | Not accepted. Try again later. |
Each puts the station into a different mode with different rules about what it may send. Flowion drives this for you; see How a charger registers.
Acronyms
| Term | Meaning |
|---|---|
| OCPP | Open Charge Point Protocol: CSMS to station |
| OCPP-J | OCPP over WebSocket with JSON, what every current charger speaks |
| CSMS | Charging Station Management System: the server |
| CSO | Charging Station Operator: the business running the fleet |
| CPO | Charge Point Operator: the same role, more commonly said |
| eMSP | e-Mobility Service Provider: sells charging to drivers |
| OCPI | The protocol between operators and service providers |
| DSO | Distribution System Operator: the grid company |
| OCA | Open Charge Alliance: publishes OCPP |
Flowion's own words
These sit above the protocol, and OCPP has no equivalent:
| Term | Meaning |
|---|---|
| Organization | Your account. Billing and membership live here. |
| Project | An independent set of chargers, sites and data within an organization. |
| Site | A physical location with chargers. The API calls it a location. |
| Circuit | The electrical wiring a site's chargers hang off, as a tree. |
| Energy monitor | A meter that reports a circuit's live load. |
Core concepts explains how they fit together.