OCPP Internal Datapoint Types

Reference documentation for OCPP internal datapoint types and their structure.

Overview

The OCPP implementation uses internal datapoint types to manage charge point and connector data. These datapoints are automatically created when the OCPP JavaScript Manager starts.

Charge Point Datapoint

A datapoint of type _OCPP_1_6_ChargePoint should exist for each charge point which can connect via OCPP.

The datapoint is associated to the charge point using the Client ID, which is written to _OCPP_1_6_ChargePoint.ClientId after the datapoint is created and shall never be modified afterwards.

New datapoints are automatically created when new charge points connect in case autoCreateChargePoints = 1 is specified in the config file. If autoCreateChargePoints is set to 0 (default), the OCPP configuration panel can be used to create datapoints for new charge points.

The datapoint name is generated in the pattern _ChargePoint<number>, where the number is automatically incremented when a new datapoint is created and is written with 4 digits (e.g. _ChargePoint0001).

Table 1. Charge Point Datapoint Elements
DPE Description
ClientId Used to map the OCPP charge point client to the datapoint.
Common.ConnState Shows the current connection status.
State.Connected Shows if the charge point is connected, independent of the registration status.
State.DiagnosticsStatusNotification Last received diagnostics status for the charge point. Updates can be triggered using the GetDiagnostics command of the Firmware Management OCPP feature profile. The integer value is of enum type Ocpp16DiagnosticsStatus.
State.FirmwareStatusNotification Last received firmware status for the charge point. Updates are received when a firmware update is in progress. The integer value is of enum type Ocpp16FirmwareStatus.
Config.RegistrationStatus Specifies if the charge point is pending, accepted, or rejected. This information is sent to the charge point in response to the boot notification. After a charge point has been accepted, a later change of the registration status only takes effect after a new boot notification is sent (e.g. by restarting or resetting the charge point).
Config.Password Hash of the 20-byte key used as password for the charge point.
DeviceInfo.* Information about the charge point received in the boot notification request.
Requests.* Contains one element for each telegram sent by the charge point, which requires custom logic (to be implemented/adapted in CTRL) for generating the response. Each of the elements contains a Request and Response element, which use JSON strings to transfer the data.
Commands.* Contains one element for each telegram sent to the charge point (by the Central System). Each of the elements contains a Request and Response element, which use JSON strings to transfer the data.

Connector Datapoint

In addition to the charge point datapoint, datapoints for each connector of the charge point are created of type _OCPP_1_6_Connector.

The connector datapoints are automatically created as soon as the first telegram for the connector is received. Normally, this should happen immediately after the boot notification, as the charge point should send the availability for each connector using individual Status Notifications for each connector.

The connector datapoints are named using the pattern <chargepoint datapoint>-<connector id>, e.g. _ChargePoint0001-1.

Table 2. Connector Datapoint Elements
DPE Description
Status.* Data received for the connector in the last Status Notification telegram.
Transaction.CurrentTransactionId The currently running transaction ID, 0 if there is no transaction running.
Transaction.Start.* Data received by the last StartTransaction telegram.
Transaction.Stop.* Data received by the last StopTransaction telegram.
MeterValues Data received by the last MeterValues telegram. The data is written to the DPE as JSON string.

The transaction data of the connector is written by the base implementation of the StartTransaction and StopTransaction CTRL interface.