Architecture & Topology
This page explains the OCPP model an integrator sees, how an Enua charger maps onto it, and how the two supported OCPP versions are negotiated.
The OCPP model
OCPP defines three nested concepts for describing charging hardware:
| Term | OCPP definition | On an Enua charger |
|---|---|---|
| Charging Station | The physical system where EVs can be charged. Has one or more EVSEs. | The Enua Charge unit. |
| EVSE | An independently operated part of the Charging Station that can deliver energy to one EV at a time. | Exactly one per Charging Station. |
| Connector | An independently operated electrical outlet — a single physical connector. | Exactly one per EVSE. |
Each Enua Charge is therefore a Charging Station with a single EVSE and a single Connector.
flowchart LR
CSMS["Your CSMS"]
subgraph CS["Enua Charging Station"]
EVSE["EVSE 1"] --> CONN["Connector 1"]
end
EV["EV"]
CSMS <-->|"OCPP-J over WebSocket<br/>(ocpp1.6 / ocpp2.0.1)"| CS
CONN -.->|charges| EV
Note
Because there is only ever one EVSE and one Connector, the evseId and connectorId fields are always 1
when the Charging Station transmits, and are ignored when it receives. See
Deviations from the Standard.
Referencing an individual charger
From the perspective of the CSMS, each charger is an individual Charging Station. The unique identifier is
the serialNumber field carried in the BootNotification (under chargingStation in OCPP 2.0.1). This value
is guaranteed to be unique across all of Enua's products, so the combination of vendorName and serialNumber
is always unique.
The serialNumber used to identify a Charging Station is the serial number of the Enua Wallmount on which
the Enua Charge is mounted — not the charger unit itself. This is deliberate:
- An Enua Charge can be moved from one Wallmount to another, so a charger can be replaced without qualified personnel having to modify the installation setup in your system.
- CPOs can install unused Wallmounts up front, and end-users can expand later, without additional setup on your side.
Transport: OCPP-J over WebSocket
Enua implements OCPP-J — the J emphasizes JSON as the data-exchange format — for both version 2.0.1 and
1.6. Messages are exchanged over a secure WebSocket (wss://) connection using the standard OCPP-J frame:
[MessageTypeId, "uniqueId", "Action", { /* payload */ }]
MessageTypeId is 2 for a request (CALL), 3 for a response (CALLRESULT), and 4 for an error (CALLERROR).
Connection and authentication details are covered in Connecting as a CPO.
Version support and negotiation
Enua supports OCPP 2.0.1 and OCPP 1.6. The version is selected through the WebSocket subprotocol negotiated at connection time:
| Version | WebSocket subprotocol |
|---|---|
| OCPP 2.0.1 | ocpp2.0.1 |
| OCPP 1.6 | ocpp1.6 |
Enua chargers operate natively on OCPP 2.0.1. When your CSMS negotiates 1.6, Enua transparently translates between 2.0.1 and 1.6 on your behalf, so from your side the charger behaves as a standard 1.6 Charging Station. When your CSMS negotiates 2.0.1, messages are exchanged directly.
This translation is seamless for the common Core, Remote Control, Configuration, and Smart Charging flows, but a few 2.0.1 concepts have no 1.6 equivalent. Those cases are noted on the relevant pages and collected on the Deviations from the Standard page — most notably the transaction-model differences described in Transactions.
Supported functional areas
OCPP 2.0.1 groups messages into functional blocks; OCPP 1.6 groups them into feature profiles. The table below summarises what Enua supports and where it is documented.
| Functional area | Supported | Documented in |
|---|---|---|
| Provisioning / Core (boot, heartbeat, status, reset) | Yes | Provisioning |
| Authorization (Authorize, Auth Cache) | Yes | Authorization & Identity |
| Local Authorization List | Yes | Authorization & Identity |
| Transactions & Meter Values | Yes | Transactions |
| Remote Control (remote start/stop, unlock, availability, trigger) | Yes | Remote Control |
| Configuration (get/set variables, reporting) | Yes | Configuration |
| Smart Charging | Yes | Smart Charging |
| Reservation | No | Deviations |
| Firmware Management over OCPP | No | Deviations |
| Security Profile 3 / certificate management | No | Deviations |
| DataTransfer | Rejected | Deviations |
Note
Enua chargers are managed and kept up to date by Enua directly, which is why Firmware Management and certificate management are not exposed over OCPP. See Deviations from the Standard for the full list.