Devices

Each charging station consists of several devices. A simple charging station may consist of a single charging unit. A complex station may consist of multiple charging units, a console and other hardware.

Device objects

id
The device’s unique identifier.
deviceType
The device type: CHARGING_UNIT, CONSOLE or UTILITY_BOX.
chargingStationId
Identifies the charging station to which this device belongs.
serialNumber
The device’s serial number.
modelNumber, modelVersion, firmwareVersion
The device’s model number, model revision and firmware version. These properties are be updated when the device connects to the server.
networked
Boolean, true if the device has a network connection. If false, the device cannot accept commands and the heartbeat-related properties are meaningless.
lastHeartbeat
The timestamp of the device’s most recent heartbeat.
activeSince
The timestamp of the device’s first heartbeat.
heartbeatInterval:
The number of seconds between heartbeat requests from the device to the server.
primaryLanguage:
The device’s default language (for devices that present a user interface). Currently unused.
sockets:
The sockets attached to this device (ChargingUnit devices only).

Services

GET /abs/frontend/device

Request a list of devices. Without query parameters, all charging stations are returned. With query parameters, only matching devices are returned.

Query Parameters:
 
  • chargingStationId? – Only return the devices of this charging station.
Status Codes:
  • 204 – Unknown charging station.

Example response

{ "statusCode": "100",
  "devices": [ ...list of device objects... ] }
GET /abs/frontend/device/own

Same, but only return devices associated with the user’s account.

GET /abs/frontend/device/(id)

Return the device with the given id.

Status Codes:
  • 216 – Unknown device.

Example response

{ "statusCode": "100", "device": { ... } }
GET /abs/frontend/device/serial/(serialNumber)

Return the device with the given serial number.

Status Codes:
  • 216 – Unknown device.
GET /abs/frontend/device/chargingStation/(chargingStationId)

Return the devices that form the given charging station.

Status Codes:
  • 204 – Unknown charging station.

Example response

{ "statusCode": "100",
  "devices": [ ...list of device objects... ] }
POST /abs/frontend/device

Register a new device.

Role:

admin

Query Parameters:
 
  • deviceType – The device type (see above).
  • serialNumber – The device’s serial number.
  • chargingStationId – The charging station to which the device belongs.
  • heartbeatInterval? – The desired heartbeat interval.
  • primaryLanguage? – The desired primary language of the device’s user interface.
Status Codes:
  • 204 – Unknown charging station.
  • 325 – A device with that serial number already exists.
PUT /abs/frontend/device/(id)

Update a device’s properties.

Role:

hostAdmin

Query Parameters:
 
  • serialNumber? – The device’s serial number.
  • chargingStationId? – The charging station to which the device belongs.
  • heartbeatInterval? – The desired heartbeat interval.
  • primaryLanguage? – The desired primary language of the device’s user interface.
Status Codes:
  • 204 – Unknown charging station.
  • 216 – Unknown device.
  • 325 – A device with that serial number already exists.
DELETE /abs/frontend/device/(id)

Delete a device. All data and all sockets associated with the device will be deleted as well.

Role:

admin

Status Codes:
  • 216 – Unknown device.

Commands

POST /abs/frontend/device/(id)/command

Send a command to a device. The list of possible commands is below. Note that the execution of a command is not immediate, depending on the device the command might only be executed after the next heartbeat.

Role:

admin

Query Parameters:
 
  • command – The name of the command to send.
  • parameters – The parameters for the command, represented as a JSON object.
Status Codes:
  • 216 – Unknown device.

The following commands are available.

Rebooting a device
Devices
All
Command name

reset

Note that this command only works if the device still has network connectivity. In other words, if the device is not sending heartbeats, remote reboot is not possible.

Parameters
type

The type of reboot to perform.

"hard"
Perform a full reboot (recommended).
"soft"
Perform a software re-initialization.
Starting a charging session
Devices
ChargingUnit
Command name
remotestarttransaction
Parameters
connectorid
The socket number, as a string ("1" or "2").
idtag
The token string from the EV driver’s token. The token must be known to the system: it must be assigned and enabled.
language
The language to use on the console ("nl", "fr" or "en").
Note
See POST /abs/frontend/socketActivation for a more convenient API.
Stopping a charging session
Devices
ChargingUnit
Command name
remotestoptransaction
Parameters
transactionid
The id of the charging session to terminate, as a string.
Note
See DELETE /abs/frontend/socketActivation for a more convenient API.

User messages

The messages displayed on the devices’ screens can be customized.

Each message is represented as an object with the following properties:

id
The message’s unique identifier.
tag
The identifier used by the firmware.
language
The message’s language.
originalText
The firmware default message.
userText
The message as modified by the user, or null.

For example:

{ "id": 3462,
  "tag": "STR_OTHERCAR",
  "language": "en",
  "originalText": "Other car",
  "userText": null }
GET /abs/frontend/device/translation/languages

Retrieves the list of supported languages.

Role:hostAdmin

Example response

{ "statusCode": "100", "languages": ["nl", "fr", "de", "en"] }
GET /abs/frontend/device/translation/(language)

Retrieves the messages for a language.

Role:hostAdmin

Example response

{ "statusCode": "100", "translation": [ ... ] }
PUT /abs/frontend/device/translation

Update the messages. The modified messages should be sent as a JSON object in the body of the HTTP request. The keys of the object should contain the message id, the values the new text (or null if the default text should be used).

Role:

hostAdmin

Status Codes:
  • 220 – Unknown device message.

Example request body

This request changes the text of message #3462 and restores the default text of message #3463.

{ "3462": "Other vehicle",
  "3463": null }
POST /abs/frontend/device/translation/(language)/reset

Reset the messages for the given language to the firmware default.

Role:hostAdmin