Skip to main content
v5.33
operator
manufacturer
Last updated on

OCPP

The Charge Controller family implements the OCPP standard based on the official OCPP 1.6 standard defined by the Open Charge Alliance. Download relevant documents from the Open Charge Alliance website.

1. Setting up the connection and verifying it

  1. Basic Requirements

    • Valid ChargePointID (found under BACKEND > OCPP)
    • Working network connection (GSM, Ethernet, or WLAN)
    • OCPP backend URL (format: ws://backend:8080/OCPPJProxy/v16/)
  2. Connection Verification

    • Check BACKEND > Connection Status
    • Verify heartbeat messages are being sent/received
    • Confirm transaction messages are flowing

2. Troubleshooting guide

2.1. Common connection issues

  1. No Backend Connection

    • Check network connectivity (ping test)
    • Verify ChargePointID is correct
    • Confirm backend URL format
    • Check SSL certificates if using WSS
  2. Connection Drops

    • Check network stability
    • Verify heartbeat interval settings
    • Monitor system logs for timeout errors
  3. Authentication Failures

    • Verify basic auth credentials
    • Check authorization key format
    • Confirm OCPP version compatibility

2.2. Diagnostic Steps

  1. Check real-time logs:

    • DIAGNOSTICS > OCPP Status
    • DIAGNOSTICS > System Logs
  2. Verify network settings:

    • BACKEND > Connection Type
    • NETWORK > Configuration
  3. Test backend communication:

    • Initiate test transaction
    • Monitor message exchange
    • Check error responses

3. Supported feature profiles

Feature profileFeaturesComplianceInfo
The Charge Controller family provides mature support for the OCPP 1.6 protocol.
Some specifications leave room for propietary implementations. Where this is the case, details are outlined.
Feature profileFeaturesComplianceInfo
CorecompliantBasic Charge Station functionality comparable with OCPP 1.5 without support for firmware updates, local authorization list management and reservations.
Firmware ManagementcompliantSupport for firmware update management and diagnostic log file download
Local Auth List ManagementcompliantFeatures to manage the local authorization list in Charge Stations
ReservationcompliantSupport for reservation of a Charge Station
Smart ChargingcompliantSupport for basic Smart Charging, for instance using control pilot
Remote Triggercompliant (proprietary implementation)Support for remote triggering of Charge Station messages
Firmware ManagementcompliantSupport for firmware update management and diagnostic log file download
Local Auth List ManagementcompliantFeatures to manage the local authorization list in Charge Stations
ReservationcompliantSupport for reservation of a Charge Station
Smart ChargingcompliantSupport for basic Smart Charging, for instance using control pilot
Remote Triggercompliant (proprietary implementation)Support for remote triggering of Charge Station messages

4. Supported messages based on "Open Charge Point Protocol 1.6"

Message"Open Charge Point Protocol 1.6" (edition 2 FINAL, 2017-09-28) chapter numbers
AuthorizeCh. 6.1 — 6.2
BootNotificationCh. 6.3 — 6.4
CancelReservationCh. 6.5 — 6.6
ChangeAvailabilityCh. 6.7 — 6.8
ChangeConfigurationCh. 6.9 — 6.10
ClearCacheCh. 6.11 — 6.12
ClearChargingProfileCh. 6.13 — 6.14
DataTransferCh. 6.15 — 6.16
DiagnosticsStatusNotificationCh. 6.17 — 6.18
FirmwareStatusNotificationCh. 6.19 — 6.20
GetCompositeScheduleCh. 6.21 — 6.22
GetConfigurationCh. 6.23 — 6.24
GetDiagnosticsCh. 6.25 — 6.26
GetLocalListVersionCh. 6.27 — 6.28
HeartbeatCh. 6.29 — 6.30
MeterValuesCh. 6.31 — 6.32
RemoteStartTransactionCh. 6.33 — 6.34
RemoteStopTransactionCh. 6.35 — 6.36
ReserveNowCh. 6.37 — 6.38
ResetCh. 6.39 — 6.40
SendLocalListCh. 6.41 — 6.42
SetChargingProfileCh. 6.43 — 6.44
StartTransactionCh. 6.45 — 6.46
StatusNotificationCh. 6.47 — 6.48
StopTransactionCh. 6.49 — 6.50
TriggerMessageCh. 6.51 — 6.52
UnlockConnectorCh. 6.53 — 6.54
UpdateFirmwareCh. 6.55 — 6.56

5. Supported messages based on "Using ISO 15118 Plug & Charge with OCPP 1.6"

Request message"Using ISO 15118 Plug & Charge with OCPP 1.6" (v1.0, 2020-09-16) chapter numbers
AuthorizeCh. 6.1.1 — 6.1.2
CertificateSignedCh. 6.2.1 — 6.2.2
DeleteCertificateCh. 6.3.1 — 6.3.2
Get15118EVCertificateCh. 6.4.1 — 6.4.2
GetCertificateStatusCh. 6.5.1 — 6.5.2
GetInstalledCertificateIdsCh. 6.6.1 — 6.6.2
InstallCertificateCh. 6.7.1 — 6.7.2
SignCertificateCh. 6.8.1 — 6.8.2
TriggerMessageCh. 6.9.1 — 6.9.2

6. List of all configuration keys and equivalent Config UI labels

7. OCPP-relevant configuration parameters in Config UI

CategoryParameterPurposeCleaned-up Remarks
GeneralConnection TypePhysical connection method for OCPP Backend communicationDefines the preferred connection method. If both Ethernet and GSM are active, Ethernet is always used automatically. If no Backend is configured, no OCPP communication occurs.
OCPP ChargeBoxIdentity (ChargePointID)Unique identifier for the Charge ControllerRequired for proper communication with the OCPP backend.
OCPP ModeDefines the OCPP version and transport protocolAlways set this to OCPP-J 1.6.
WebSockets JSON OCPP URL of the BackendURL of the OCPP central system for WebSocketUse the format ws://backend:8080/OCPP/v16/. Do not include the ChargePointID in the URL, even if some backends suggest it.
Websockets proxyProxy server for WebSocket connectionsWebSocket proxy in the format HOST:PORT. If no port is given, 80 is used by default.
WebSockets keep-alive intervalInterval for WebSocket ping messagesValue in seconds (0–10000). Use 60 seconds to help maintain connection stability. Use this if the backend connection drops unexpectedly.
Security & EncryptionOCPP connection strictnessSecurity level for OCPP connectionsSets minimum encryption standard. Use only-secure-cyphers when possible. Set to all-cyphers if the backend doesn't support modern encryption.
HTTP Basic Authentication passwordPassword for OCPP authenticationUsed if required by the backend. Username is automatically set to theChargePointID.
Connection BehaviorForce Heartbeat request messagesWhether to force sending heartbeat messagesSome backends need this to maintain a stable connection. Enable if you witness frequent disconnects.
TCP Watchdog TimeoutTimeout for TCP connection monitoringIf the TCP Watchdog Timeout is reached and the Backend cannot be reached, a reboot on the Charge Controller is triggered.
Display backend disconnect as errorWhether to show disconnection as an error on the HMIError is shown on the HMI in case a Backend is configured but connection fails.
StatusNotificationSend informative StatusNotificationsWhether to send informational status updatesSends additional status info, helpful for debugging or to enhance backend insights.
Send error StatusNotificationsWhether to send error status updatesEnables more detailed error reporting to the backend.
Send USB error StatusNotificationsWhether to send USB-specific error updatesControls if USB-related errors are reported to the backend.
State 'unavailable' at FW update beginSet status to unavailable when firmware is being downloaded
Maintenance & UI EventsForce OCPP connector stateOverride connector availability stateOverrides the connector availability state regardless of Backend-side state.
Send status for webui login eventSend notification when web UI is accessedSends an info-level status message to the backend when someone logs into the web UI.
Compatibility & LegacyStrategy for StatusNotificationWhen to change connector status to OccupiedDeprecated. Legacy setting from OCPP 1.5. Can be ignored.
Allow long get configuration keysExtends the max. length of configuration key values to 500+ charactersAllows more than the OCPP standard for the value length of GetConfiguration requests. Needed for proprietary certificate exchange.
Integer values for boolean config keysUse integers instead of booleans in responses(Deprecated) Scoped to standard OCPP configuration key values. Behavior to output those values as integer is deprecated.
Retry & Timeout SettingsBackend connection timeoutTimeout for OCPP connection attempts(OCPP standard: BackendConnectionTimeout). Default: 60s. Range: 3-300s.
Number of transaction message attemptsRetries for transaction messages
Eichrecht transaction message attemptsRetries for Eichrecht-specific messages
Disallow charging if OCPP queue fullBlock charging when message queue is full
SSL Strictness as clientSSL/TLS security level
Metering & ReportingDataTransfer for Tariff And Total UsageSend tariff and usage data via DataTransfer
Meter values sampled data (OCPP)Meter values to be sent based on sampling interval
Meter Value Sample Interval (OCPP)Time between meter value samples
Meter values aligned data (OCPP)Meter values to be sent at regular intervals
Clock aligned data interval (OCPP)Interval for clock-aligned meter values
Retransmit MeterValuesWhether to retry sending meter values

->

8. Connectivity keep-alive troubleshooting

  • Ask Backend vendor if websocket or heartbeat is relevant to keep connection alive

send status for webui ... -> move to Security backend connection timeout -> test and check in with Marek on exact behavior Number of transaction message attempts Eichrecht transaction message attempts Disallow charging if OCPP queue full -> move to connection behav. + test on your own + ask marek for details if needed. IMportant feature. How long can the queue get (how long have we set the max length?) --> see CANNED response on this if existing

SSL strictness -> needs to be set to Skip host check if DNS server fails and you use ip addresses in place of domain names