Reference · built on requestConnectorEnergy, EV & distributed resources

Open Charge Point Protocol (OCPP)

Open protocol between charging stations and their management systems: OCPP 1.6, 2.0.1 (IEC 63584), and 2.1 from the Open Charge Alliance.

About

OCPP is the Open Charge Alliance's protocol between a charging station and a charging station management system (CSMS). OCPP 1.6 (2015) runs over SOAP or JSON over WebSocket and added smart charging. OCPP 2.0.1 (2020) is JSON over WebSocket only, is not compatible with 1.6, and its third edition was approved as IEC 63584 in 2024; it introduced a device model, a single TransactionEvent message, and three security profiles. OCPP 2.1 (2025) keeps 2.0.1 application logic and adds ISO 15118-20, bidirectional charging, distributed energy resource integration, and ad hoc payment. The specification is free to download; OCA provides no software libraries.

Through Fibric, a station's messages are read as they reach the management system, and remote commands are proposed for your approval.

This is a reference listing. It documents what Fibric would read from Open Charge Point Protocol (OCPP) and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • BootNotification, Heartbeat, and StatusNotification with status Available, Preparing, Charging, SuspendedEVSE, SuspendedEV, Finishing, Reserved, Unavailable, or Faulted in 1.6
  • The 1.6 errorCode on a StatusNotification, such as ConnectorLockFailure, GroundFailure, HighTemperature, OverCurrentFailure, PowerMeterFailure, or ReaderFailure
  • In 2.0.1, connectorStatus Available, Occupied, Reserved, Unavailable, or Faulted, and NotifyEvent messages tied to a device model component and variable
  • StartTransaction, StopTransaction, and MeterValues in 1.6; in 2.0.1 a TransactionEvent with a station-generated transaction ID and sequence numbers
  • Device model inventory and variable monitoring in 2.0.1, for example a threshold on the Temperature variable of an EVSE's AcDcConverter
  • Security events from the 2.0.1 security event log, and firmware status under Firmware Management

Proposed actions

  • Target capability: propose RemoteStartTransaction or RemoteStopTransaction in 1.6, or the Remote Control block's remote transaction control in 2.0.1
  • Target capability: propose a charging profile under the Smart Charging block to limit the current or power a station offers an EV
  • Target capability: propose ChangeAvailability, Reset, or UnlockConnector for a faulted or stuck connector
  • Target capability: propose TriggerMessage requesting a StatusNotification when a station reconnects without reporting
  • Target capability: propose a ReserveNow reservation or a SendLocalList update to the local authorization list

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Catch the station that went dark

    Watch Heartbeat gaps, Faulted connector status, and NotifyEvent thresholds such as AcDcConverter temperature. Propose the reset, the availability change, or the service visit, with the message trail attached.

    With Predictive Maintenance, Sensor Health

  • Hold the site under its connection limit

    Read MeterValues and TransactionEvent power per EVSE and propose charging profiles that share the available current, tightened when a demand-response event arrives.

    With Charge Balancing, Event Response

  • Ready the fleet for the morning

    Read transactions in progress and connector status per bay. Propose remote starts, stops, and profile changes so vehicles with early departures charge first.

    With Depot Charging

  • Prove the session for billing

    Take start and stop meter readings from StartTransaction and StopTransaction, or from TransactionEvent, and propose the per-driver or per-tenant charge for review.

    With Utility Chargeback

Requirements

  • Charging stations and a CSMS on the same OCPP version; 1.6 and 2.0.1 are not compatible
  • A WebSocket path from each station to the management system; 2.0.1 and 2.1 use JSON over WebSocket only
  • The OCPP specification parts from OCA, downloadable with or without a free account
  • Optional profiles implemented on both sides where needed: Smart Charging, Advanced Security, and ISO 15118 are outside the Core profile, as is TriggerMessage
Authentication
Defined by the specification's security profiles: OCPP 2.0.1 sets three levels of charging station and CSMS authentication, with TLS and client-side certificates at the higher levels, and OCA's 1.6 Security Whitepaper back-ports them to 1.6-J.

Limits

  • OCPP defines messages, not behaviour: OCA notes the protocol is not itself responsible for downtime and offers no software libraries
  • A 1.6 StatusNotification carries one errorCode at a time, so concurrent faults are hard to track; 2.0.1 moves errors to NotifyEvent
  • Heartbeat intervals are usually 15 minutes to 24 hours, so liveness relies on WebSocketPingInterval, suggested at 50 to 600 seconds
  • Stations implement subsets: one may answer UnlockConnector with NotSupported or leave out SetChargingProfile

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Open Charge Point Protocol (OCPP) ↗

Questions and answers

Which OCPP version should the connector speak?
The one your stations and CSMS implement. OCPP 1.6 (2015) supports SOAP and JSON; 2.0.1 (2020) is JSON over WebSocket only and is not compatible with 1.6; 2.1 (2025) keeps 2.0.1 application logic. OCA states that 2.0.1 ed3 was approved as IEC 63584 in 2024.
How does 2.0.1 report faults differently from 1.6?
In 1.6 a StatusNotification carries a status and an errorCode such as PowerMeterFailure. In 2.0.1 the errorCode is gone: StatusNotification reports only connectorStatus (Available, Occupied, Reserved, Unavailable, Faulted), and errors arrive as NotifyEvent messages for a device model component and variable.
Is the specification free?
Yes. OCA states that OCPP is freely available for everyone to download, with or without a free account, and that an account does not make you an OCA member. Product certification is a separate program run through OCA's testing laboratories; this listing does not take part in it.
Ask about Open Charge Point Protocol (OCPP)

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.