The vocabulary

Charge Point, EVSE, Connector, IdToken, Transaction: what each OCPP term means, which ones people confuse, and the words Flowion uses instead.

4 min readEdit this page
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.6OCPP 2.xFlowion
Charge PointCharging StationCharger
Central SystemCSMSFlowion

"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, evseId 0 addresses the whole charging station.

  • In 1.6, connectorId 0 does the same. A StatusNotification on connector 0 is the station's own status, separate from its connectors; a MeterValues on 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.6OCPP 2.xFlowionMeaning
idTagIdTokenCard, id tokenWhat 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 of MeterValues, then StopTransaction. The CSMS assigns an integer transaction id, which the station echoes on everything after.

  • 2.x sends one message type, TransactionEvent, with eventType Started, Updated or Ended. 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:

StatusMeans
AvailableFree for a new user
PreparingTaken, no transaction yet: card shown or cable in
ChargingContactor closed, energy flowing
SuspendedEVEnergy offered, but the car is not taking it
SuspendedEVSEPlugged in, but the station is not offering energy
FinishingTransaction over, cable still in
ReservedHeld by a reservation
UnavailableTaken out of service
FaultedBroken

Two are worth a second look:

  • SuspendedEV and SuspendedEVSE are 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.

  • Preparing and Finishing are 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:

StatusMeans
AcceptedRecognised. Start operating.
PendingStay connected; the CSMS wants to configure you first.
RejectedNot 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

TermMeaning
OCPPOpen Charge Point Protocol: CSMS to station
OCPP-JOCPP over WebSocket with JSON, what every current charger speaks
CSMSCharging Station Management System: the server
CSOCharging Station Operator: the business running the fleet
CPOCharge Point Operator: the same role, more commonly said
eMSPe-Mobility Service Provider: sells charging to drivers
OCPIThe protocol between operators and service providers
DSODistribution System Operator: the grid company
OCAOpen Charge Alliance: publishes OCPP

Flowion's own words

These sit above the protocol, and OCPP has no equivalent:

TermMeaning
OrganizationYour account. Billing and membership live here.
ProjectAn independent set of chargers, sites and data within an organization.
SiteA physical location with chargers. The API calls it a location.
CircuitThe electrical wiring a site's chargers hang off, as a tree.
Energy monitorA meter that reports a circuit's live load.

Core concepts explains how they fit together.