0% found this document useful (0 votes)
238 views20 pages

Terra AC OCPP 1.6 Implementation Overview - v1.5 - External

…..

Uploaded by

Henrik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
238 views20 pages

Terra AC OCPP 1.6 Implementation Overview - v1.5 - External

…..

Uploaded by

Henrik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

OCPP 1.6
Implementation Overview

11.10.21 1
OCPP 1 .6

Notice

This document contains information about one or more ABB products and may include a description of or
a reference to one or more standards that may be generally relevant to the ABB products. The presence of
any such description of a standard or reference to a standard is not a representation that all of the ABB
products referenced in this document support all of the features of the described or referenced standard.
In order to determine the specific features supported by a particular ABB product, the reader should
consult the product specifications for the particular ABB product.

ABB may have one or more patents or pending patent applications protecting the intellectual property in
the ABB products described in this document.

The information in this document is subject to change without notice and should not be construed as a
commitment by ABB. ABB assumes no responsibility for any errors that may appear in this document.
In no event shall ABB be liable for direct, indirect, special, incidental or consequential damages of any
nature or kind arising from the use of this document, nor shall ABB be liable for incidental or consequential
damages arising from use of any software or hardware described in this document.
This document is originally written in English. Other language versions are a translation of the original
document and ABB cannot be held liable for errors in the translation.
This document and parts thereof must not be reproduced or copied without written permission from ABB,
and the contents therefore must not be imparted to a third party nor used for any unauthorized purpose.

Copyrights

All rights to copyrights, registered trademarks, and trademarks reside with their respective owners.
Copyright © 2020 ABB.
All rights reserved.

11.10.21 2
OCPP 1 .6

Table of Contents
Table of Contents ................................................................................................................................................. 3

Revisions................................................................................................................................................................ 4

Overview ................................................................................................................................................................ 5

OCPP server configuration .................................................................................................................................. 6

WebSocket communication ................................................................................................................................. 7

Supported functionality....................................................................................................................................... 9

Configuration keys ............................................................................................................................................. 12


Supported configuration keys ......................................................................................................................................... 12
To be Supported configuration keys ..............................................................................................................................16
Not supported configuration keys ..................................................................................................................................18

Security ................................................................................................................................................................ 20
Encryption ............................................................................................................................................................................ 20
Authentication .................................................................................................................................................................... 20

Reference documentation ................................................................................................................................. 20

11.10.21 3
OCPP 1 .6

Revisions
Revision Description Date Author
A First issue 28 Jul 2020 Sarah Sun
V1.1 Add few details 11 Dec 2020 Sarah Sun
V1.2 Clean up & fixes 31 Mar 2021 Loredana Negriu
V1.3 Update some latest 17 Jun 2021 Sarah Sun
info
V1.4 Update some latest 30 Jun 2021 Loredana Negriu
info
V1.5 Update some latest 2 Sep 2021 Sarah Sun
Info

11.10.21 4
OCPP 1 .6

Overview
ABB Terra AC chargers support OCPP 1.6 J. This document describes OCPP 1.6 functionality supported by
ABB Terra AC chargers according to OCPP protocol specification.

ABB has implemented OCPP 1.6-J version, which means using JSON over Websockets. The charger is either
connected to an OCPP Server directly or is connected to the ChargerSync server by default. The
connection to the ChargerSync portal allows for efficient remote support and enables additional features
next to OCPP. This concept is referred to as below.

Link to the ABB ChargerSync server

Link to a 3rd party OCPP backend server

11.10.21 5
OCPP 1 .6

OCPP server configuration

Contact your local ABB sales representative to arrange access to TerraConfig App account and facilitate
company creation and new OCPP configuration via the ChargerSync Portal.

TerraConfig App: configuring the charger (repeated for every charger commissioning that needs
connection to a 3rd party OCPP backend).

1. Download TerraConfig app and use the credentials sent in the email, generated by the creation of
the account.
2. Pair the TerraConfig app with the charger and check firmware version
If required, update FW to v1.4.2 or higher (via TerraConfig app)
3. Make sure the Terra AC is connected to the internet (over WiFi, LAN or 4G)
4. Enable external OCPP server and choose the correct backend URL which has been preconfigured
in the portal according to the steps above. Then press configure and afterwards OK
5. Check via Device info that the URL is the correct one and that connection has been established.
Via OCPP logs (of the 3rd party backend) validate that BootNotification is successfully sent
6. Run some remote commands to confirm good communication between charger and backend

11.10.21 6
OCPP 1 .6

WebSocket communication
For the connection between a Charge Point and a Central System using OCPP-J, the Central System acts
as a WebSocket server and the Charge Point acts as a WebSocket client.

Client Request:

The following is an example of an opening HTTP request of an OCPP-J connection handshake:

GET http://some.server.com:33033/webServices/ocpp/CP3211 HTTP/1.1

Host: some.server.com:33033

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==

Authorization: Basic BASE64(ChargerboxID + password*)

Sec-WebSocket-Protocol: ocpp1.6, ocpp1.5

Sec-WebSocket-Version: 13

The bold parts are found as such in every WebSocket handshake request, the other parts are specific to
this example. In this example, the Central System’s OCPP-J endpoint URL is
"ws://some.server.com:33033/webServices/ocpp". The Charge Point’s unique identifier is "CP3211", so
the path to request becomes "webServices/ocpp/CP3211".

Remark:

The FW before 1.3.x We will still send full URL address instead of the one after path

*The Password was configured in TerraConfig portal and send to TerraAC charger via Bluetooth with
TerraConfig APP

Server Response:

Upon receiving the Charge Point’s request, the Central System has to finish the handshake with a
response as described in [RFC6455].

So, if the Central System accepts the above example request and agrees to using OCPP 1.6J with the
Charge Point, the Central System’s response will look as follows:

HTTP/1.1 101 Switching Protocols

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Sec-WebSocket-Protocol: ocpp1.6

The bold parts are found as such in every WebSocket handshake response, the other parts are specific to
this example.

Remark:

For the FW before 1.3.x a different response required that is the sever should response with HTTP/1.1 101
Switch Protocols, other than this one, the charger point will reject

For the FW after 1.3.x , the server could response with HTTP/1.1 101 and anything different from Switch

11.10.21 7
OCPP 1 .6

protocol could also be accepted by charger point.

WebSocket Ping in relation to OCPP Heartbeat

The WebsSocket specification defines Ping and Pong frames that are used to check if the remote
endpoint is still responsive. In practice this mechanism is also used to prevent the network operator
from quietly closing the underlying network connection after a certain period of inactivity. This
websocket feature can be used as a substitute for most of the OCPP Heartbeat messages but cannot
replace all of its functionality.

Remark:

ABB Chargersync Platform does not use this PING PONG mechanism, and our charger will not send a
PING request.

ABB TerraAC Charger will only respond with PONG to the PING request from the server.

Before FW 1.3.x the charger will not respond to the PING request from the server if the message has an
empty body.

11.10.21 8
OCPP 1 .6

Supported functionality
The implementation is following OCPP 1.6 specification of Open Charge Alliance. According to OCPP
1.6 specification all of features and associated messages are grouped into Feature Profiles.

OCPP 1.6 specified following Feature profiles:


Profile name Description Mandatory
Core Basic Charge Point functionality comparable with OCPP Yes
1.5 without support for firmware updates, local author-
ization list management and reservations.
Firmware Support for firmware update management and diag- No
Management nostic log file download.
Local Auth List Features to manage the local authorization list in No
Management Charge Points.
Reservation Support for reservation of a Charge Point No
Smart Charging Support for basic Smart Charging No

Remote Trigger Support for remote triggering of Charge Point initiated No


messages

For more about Feature Profiles please see [1] “3.3 Feature Profiles” in fill in link to OCPP 1.6 official

Please see below which ABB Charging products support which OCPP 1.6 Feature profiles from which
software version:

Profile Core Firmware* Local Auth List Reservation Smart Remote


Management Management Charging Trigger
Model
Terra AC 0.4.x 0.4.x* 0.5.x To be 1.x.x To be
Chargers supported** supported**

* ABB provides a URL link to download the bin file package in zip format for each firmware release. The
customer then uploads the zip file to their own OCPP back server and generates an URL address for it.
The URL address is dropped in the location of firmware update while the charger connects to the customer
server. During the update procedure, the charger will link to the URL address to download the firmware
package and install it. After finishing this procedure, the charger will reboot and reconnect to the customer
server.>>add on same FW folder cross ref doc

** Reservation and Remote Trigger profiles are not yet implemented in current version of software for
the chargers. ABB intends to provide this functionality in the future software versions.

11.10.21 9
OCPP 1 .6

Please see below which messages are supported per OCPP feature profile.
Message Supported Comment
(Y/N)
Core profile
Authorize Y
BootNotification Y
ChangeAvailability Y
ChangeConfiguration Y
ClearCache Y The cache is empty, while the charger received the
command, it will response accept but do nothing
DataTransfer Y While the charger connects to customer’s own
back end, customer could use this message for
log transfer

NOTE: Please see document for data transfer


GetConfiguration Y Before FW 1.3 the charger will only response with
support keys. After FW1.3 charger will response
with all keys, in case the key not supported, the
charger will response “unknown”
See section xx for Support key
HeartBeat Y
MeterValues Y ABB supports following Measurand types for AC:

1. Energy.Active.Import.Register
2. current import,
3. voltage,
4. power active import
5. Current.Offer
RemoteStartTransaction Y
RemoteStopTransaction Y
Reset Y AC chargers only support hard reset

Hard reset fully reboot charger. The resets


gracefully stops charging session if one is in
progress before resetting.

StartTransaction Y

StatusNotification Y
StopTransaction Y
UnlockConnector Y Message is supported only to socket variants,
upon receiving this message, socket variants
charger will release the E-lock of socket. If send
the message to cable variants, the message will
be rejected.

Smart Charging
SetChargingProfile Y 1.x.x only support
Max stack =0
ChargingScheduleAllowedChargingRateUnit = A
ChargingScheduleMaxPeriods = 3

ClearChargingProfile Y Before FW 1.3 the charger will not response with

11.10.21 10
OCPP 1 .6

the message if the body is empty


GetCompositeSchedule N

FirmwareManagement profile*
GetDiagnostics N ABB AC charger implement the diagnostic in the
self-defined data transfer message, detail info will
be shared in the data transfer document.
DiagnosticsStatusNotification N
FirmwareStatusNotification Y ABB TerraAC Charger will response the status:
Downloading
Installed
DownloadFailed
InstallationFailed
UpdateFirmware Y

Local Authorization List Management


GetLocalListVersion Y
SendLocalList Y Each list is limited to 8 ID tag, each ID tag with max
20 characters; The charger has a total limit of 16 ID
tags

11.10.21 11
Configuration keys

Supported configuration keys


Please see below which configuration keys are supported per OCPP feature profile.
Key Name Required/ Description Type Accessibility Default Value
Optional

Core profile
GetConfigurationMaxKeys required The number of configuration keys requested in a int R 14
single PDU may be limited by the Charge Point.
This maximum can be retrieved by reading this
configuration key.
HeartbeatInterval required Interval of inactivity (no OCPP exchanges) with int RW 120
central system after which the Charge Point
should send a Heartbeat.req PDU.
If the interval less than 10, the AC charger will
accept but execute 10
MeterValuesSampleInterval required Interval between sampling of metering (or other) int RW 30
data, intended to be transmitted by "MeterValues"
PDUs.
The range of this value:0, 4 - 65534
If the interval less than 4, the AC charger will accept
but execute 4
LocalAuthorizeOffline required Controls whether a Charge Point will authorize a Boolean RW TRUE
user when offline using the Authorization Cache
and/or the Local Authorization List.
LocalPreAuthorize required Controls whether a Charge Point will use the Boolean RW FALSE
Authorization Cache and/or the Local
Authorization List to start a transaction without
waiting for an authorization response from the
Central System.

11.10.21 12
NumberOfConnectors required The number of physical charging connectors of int R 1
this Charge Point.

SupportedFeatureProfiles required A list of supported Feature Profiles. Possible pro- CSL R Core,Firmware,Local Authication
file identifiers: Core, FirmwareManagement, Lo- List,smart charging
calAuthListManagement, Reservation,
SmartCharging and RemoteTrigger.

AllowOfflineTxForUnknownId optional When offline, a Charge Point may allow automatic Boolean RW False
authorization of any "unknown" identifiers that
cannot be explicitly authorized by Local Authoriza-
tion List or Authorization Cache entries. Identifiers
with status other than "Accepted" (Invalid,
Blocked, Expired) must be rejected.
Now the charger will not allow any ID except in
local authentication list while it is offline
AuthorizeRemoteTxRequests required Whether a remote request to start a transaction in Boolean RW False
the form of a RemoteStartTransaction.req mes-
sage should be authorized beforehand like a local
action to start a transaction.
Now the charger will not send the authorize.req

11.10.21 13
OCPP 1 .6

Local Authorization List Management


LocalAuthListEnabled required Whether the Local Authorization List is enabled Boolean RW TRUE
LocalAuthListMaxLength required Maximum number of identifications that can be int R 16
stored in the Local Authorization List

SendLocalListMaxLength required Maximum number of identifications that can be int R 8


send in a single SendLocalList.req

11.10.21 14
OCPP 1 .6

Smart charging profile

ChargeProfileMaxStackLevel required Max StackLevel of a Charging. The number defined int R 0


also indicates the max allowed number of installed
charging schedules per Charging Purposes.
ChargingScheduleAllowedCharg- required A list of supported quantities for use in a Charg- CSL R Current
ingRateUnit ingSchedule. Allowed values: 'Current' and 'Power'.

ChargingScheduleMaxPeriods required Maximum number of periods that may be defined int R 3


per ChargingSchedule.

MaxChargingProfileInstalled required Maximum number of Charging installed at a int R 1


time.

11.10.21 15
OCPP 1 .6

To be Supported configuration keys


Key Name Required/ Description Type Accessibility Default Value
Optional

Core profile
ClockAlignedDataInterval required Size (in seconds) of the clock-aligned data int RW Unknown
interval. This is the size (in seconds) of the set of
evenly spaced aggregation intervals per day,
starting at 00:00:00 (midnight). For example, a
value of 900 (15 minutes) indicates that every day
should be broken into 96 15-minute intervals.
ConnectionTimeOut required Interval (from successful authorization) until incip- int RW Unknown
ient charging session is automatically canceled
due to failure of EV user to (correctly) insert the
charging cable connector(s) into the appropriate
connector(s).
Now The timeout is 120
ConnectorPhaseRotation required For individual connector phase rotation infor- CSL RW Unknown
mation, the Central System may query the Con-
nectorPhaseRotation configuration key on the
Charging Point via GetConfiguration. The Charge
Point shall report the phase rotation in respect to
the grid connection.

MeterValuesAlignedData required Clock-aligned measurand(s) to be included in a CSL RW Unknown


MeterValues.req PDU, every ClockAlignedDa-
taInterval seconds

MetetrValuesSampledData required Sampled measurands to be included in a MeterVal- CSL RW Unknown


ues.req PDU, every MeterValueSampleInterval sec-
onds. Now the value is
Energy.Active.Import.Register,current
import,voltage,power active import, current.
Offered

11.10.21 16
OCPP 1 .6

ResetRetries required Number of times to retry an unsuccessful reset of int RW Unknown


the Charge Point.
Now the value is 0

StopTransactionOnInvalidId required Whether the Charge Point will stop an ongoing Boolean RW Unknown
transaction when it receives a non- Accepted au-
thorization status in a StartTransaction.conf for
this transaction.
Now the default value is true.
StopTxnAlignedData required Clock-aligned periodic measurand(s) to be in- CSL RW Unknown
cluded in the TransactionData element of Stop-
Transaction.req MeterValues.req PDU for every
ClockAlignedDataInterval of the charging session.

StopTxnSampledData required Sampled measurands to be included in the Trans- CSL RW Unknown


actionData element of StopTransaction.req PDU,
every MeterValueSampleInterval seconds from the
start of the charging session

TransactionMessageAttempts required How often the Charge Point should try to submit a int RW Unknown
transaction-related message when the Central
System fails to process it.
Now the transaction data will always attempt to
send to central system until it response

TransactionMessageRetryInterval required How long the Charge Point should wait before re- int RW Unknown
submitting a transaction related message that the
Central System failed to process.

11.10.21 17
OCPP 1 .6

Not supported configuration keys


Following configuration keys are NOT SUPPORTED:
Key Name Required/ Description Type
Optional

Core profile
AuthorizationCacheEnabled optional A Charge Point may implement an Authorization Cache that autonomously maintains a Boolean
record of
previously presented identifiers that have been successfully authorized by the Central
System.
MinimumStatusDuration optional The minimum duration that a Charge Point or Connector status is stable before a int
StatusNotification.req PDU is sent to the Central System.
WebSocketPingInterval optional Only relevant for websocket implementations. 0 int
disables client side websocket Ping/Pong. In this case there is either no ping/pong or the
server ini- tiates the ping and client responds with Pong.
Positive values are interpreted as number of sec- onds between pings. Negative values
are not al- lowed. ChangeConfiguration is expected to return a REJECTED result.
NOTE: A value of 0 disables client side websocket Ping / Pong. In this case there is
either no ping / pong or the server initiates the ping and client re- sponds with Pong.
Positive values are interpreted
as number of seconds between pings
BlinkRepeat optional Number of times to blink Charge Point lighting when signaling int
ConnectorPhaseRotationMaxLength optional Maximum number of items in a ConnectorPhaseRotation Configuration Key int
LightIntensity optional Percentage of maximum intensity at which to illuminate Charge Point lighting int
MaxEnergyOnInvalidId optional Maximum energy in Wh delivered when an identifier is invalidated by the Central System int
after start of a transaction.
StopTxnAlignedDataMaxLength optional Maximum number of items in a StopTxnAlignedData Configuration Key. int
StopTransactionOnEVSideDisconnect required When set to true, the Charge Point shall administratively stop the transaction when the Boolean
cable is unplugged from the EV.

NOTE: this parameter is not being used, Transaction will always stop on EV disconnect or
even before.

11.10.21 18
OCPP 1 .6

UnlockConnectorOnEVSideDisconnect required When set to true, the Charge Point shall unlock the cable on Charge Point side when the Boolean
cable is unplugged at the EV.

NOTE: not applicable for ABB TerraAC chargers, not implemented


SupportedFeaturesMaxLength optional Maximum number of items in a SupportedFeatures Configuration Key. int
ConnectorSwitch3to1PhaseSupported optional If defined and true, this Charge Point support switching from 3 to 1 phase during a Boolean
charging session.
Reservation profile
ReserveConnectorZeroSupported optional If this configuration key is present and set to true: Charge Point support reservations on Boolean
connector 0.

11.10.21 19
Security

Encryption
In addition to network level security ABB OCPP 1.6 implementation supports OCPP-J over
TLS security. TLS 1.2 is supported. It is up to Central System operator to decide if TLS with
Websocket (WSS) is used or not. No additional configuration changes are required to
enable it. For more information on encryption with OCPP 1.6-J please see chapter “6.2.1
Encryption” of [2].

Authentication
ABB OCPP 1.6 implementation supports basic HTTP authentication. Username equals
charge point ID and password/authorization keys can optionally be set during installation.

Setting authorization key over OCPP after installation is not supported.


For more information on OCPP 1.6-J authentication please see chapter “6.2.2 Authentication”
of [2]

Reference documentation
[1] Open Charge Point Protocol 1.6

[2] Open Charge Point Protocol JSON 1.6, OCPP 1.6-J Specification

11.10.21 20

You might also like