API Reference
This specification describes the REST API v1.0 provided by an ebee/Bender charge controller to be accessed by a web interface in a browser or a smart phone application.
The main use cases based on this API are:
- configurating the charge controller / charge point
- inquiring state information about the charge controller / charge point
- obtaining information about past charging transactions
- additional use cases
The API is based on the client-server principle. The charge controller acts as a server and the web interface or smart phone app acts as a client.
The API may be accessed via two alternative protocol stacks, one being HTTP(S) in TCP/IP networks such as Ethernet or WiFi, the other one being an NFC based protocol stack of an NFC equipped smart phone.
The request and response messages are encoded in JSON format. This specification provides examples of such messages.
The JSON UTF8 content is mapped to the two alternative protocol stacks. The actual request and response message content is identical for both protocol stacks. However the header information is transmitted slightly different in the HTTP(S) and in the NFC stack.
To access the API from an NFC equipped smart phone, the charge controller emulates an NFC Type 4 Tag based on the following standards:
- Transmission: ISO 14443 A
- Data Interchange: ISO 7816-4
- Data Container: NDEF – NFC Data Exchange Format – Text Record Type Messages
Activation
The RFID reader used can be operated in two modes:
- RFID only: only RFID cards can be read
- RFID/NFC hybrid: NFC communication is supported and RFID cards can be read
Since the basic functionality of a charger is reading RFID cards, the default mode of the reader is RFID only.
Switching the reader into the RFID/NFC hybrid mode has to be done via the charge point's web interface by logging in as operator. The parameter RFID Mode can be found in the AUTHORIZATION view in section RFID Settings and needs to be set accordingly.
In RFID/NFC hybrid mode, the reader checks for both RFID and NFC communication until one of them is detected, afterwards this one will automatically be used. In case of NFC this means emulating an NFC Type 4 Tag which will be used for the data interchange between smart phone and charge controller via read/write operations.
Once NFC communication is established, the user interface of the charge point will display the corresponding pattern of the HMI state "Reading card".
After one minute of inactivity, the RFID reader will switch back to RFID/NFC checking and the HMI will transition to the appropriate HMI state which is depending on the charger state.
Request/Response messaging
The NDEF text messages provide a transport for messages including transmitting their length. This protocol therefore does not need to transmit length information in the header like the HTTP protocol does.
However, some header information needs to be transmitted in this transport which is otherwise not provided by the NDEF infrastructure. This includes the URL endpoint path which defines the service type, the HTTP method, the authorization info for the running login session, and a message id.
To provide a replacement for the HTTP header information, in NDEF a separate JSON based header is transmitted for request messages. An example request header looks like this:
{
"path": "/settings",
"method" : "POST",
"authorization" : "cdc630cd-5e5f-4587-8a1a-a2e83ae990b5",
"messageID" : "msg-id-increment"
}
The protocol allows for only one outstanding request message. Pipelining multiple messages is not allowed. It is therefore unambiguously clear which response message belongs to which request message. The response header contains the message id and a status code to replicate functionality otherwise provided by the HTTP header. An example response header looks like this:
{
"messageID": "msg-id-increment",
"statusCode": 401
}
Both in request and response messages an optional content JSON document may follow the header. If such JSON document exists, it is separated from the header by a comma (ASCII character 0x2C). In request messages which are fully defined by the request header (e.g. using the GET method) no content document is needed. In response messages which do not provide any content as a response (such as the equivalent of an HTTP error message) no content JSON object is transmitted.
The status code returned from the server is equivalent to the HTTP response code that would be used according to REST principles.
The message id, which is defined by the client, is recommended to be a number which is incremented between consecutive messages (and not randomized) to ease detecting bugs when analyzing logs.
The logout endpoint path /logout is used last in order to terminate a login session after a user of the API was logged in.
Use the logout endpoint with the POST method to perform the logout operation. (Details are described below in section App User Authentication.)
The session id will become invalid after the logout operation is executed.
Authenticate the app user when accessing the charge controller via app, start or terminate a user session.
Get a (one-time) token to hash the login password
Get a login token which may be used once to hash the password for the actual login.
The token is valid only for one (the subsequent) login attempt. It becomes invalid when the login attempt is executed, or when the next token is requested.
Responses
Response samples
- 200
- 500
{- "token": ">2BGLs|@|TIYOi3@5kTvQRZg$xL<rh3V"
}
Perform the login on the charge controller
Perform the actual login and start a user session. Each login attempt will need a new login token.
Request Body schema: application/jsonrequired
Send login credentials (username and SHA-256 hash of password concatenated with the login token)
Important: A new token is required for each login attempt.
username required | string The plain username |
password required | string <SHA-256 hash> The SHA-256 hash calculated for the concatenation of the plain password and the login token received before, e.g. by means of the crypto-js function sha256(): sha256(plain_password + login_token).toString() |
Responses
Request samples
- Payload
{- "username": "operator",
- "password": "b8098f9af264d6e287cbe6ea5c3d16bc32277fdd43b50e1ed9b865"
}
Response samples
- 200
- 400
- 401
{- "logged_in": true,
- "session": {
- "id": "cdc630cd-5e5f-4587-8a1a-a2e83ae990b5"
}
}
Get all or specific settings parameters
Get all settings parameters of the charge controller, or specific settings parameters.
Optionally, specify the desired settings parameters by their key names in a 'params' URL query (recommended) or in a request body (deprecated, should no longer be used.) The response will only return each specified settings parameter and its value.
If no specific key names are given, the response will return all setting parameters. The response will also include meta info for each settings parameter like parameter type, read/write mode, short and long description, default value.
Authorizations:
query Parameters
params | string Example: params=Enabled_wlan,WebUIStyle_web,SysTime_mon A list of comma-separated key names to specify the desired settings parameters that shall be fetched The URL query may have a maximum size of 4000 characters including the commas. The URL query is recommended, preferred to a request body. (optional - omit the query to get all settings parameters) |
Request Body schema: application/jsonoptional
An array of key names to specify the desired settings parameters that shall be fetched
The request body should no longer be used, preferably use an URL query.
(optional - omit the request body to get all settings parameters)
params | Array of strings The parameter keys that shall be fetched |
Responses
Request samples
- Payload
{- "params": [
- "Enabled_wlan",
- "WebUIStyle_web",
- "SysTime_mon"
]
}
Response samples
- 200
- 400
- 404
- 500
{- "name": "settings",
- "result": {
- "reboot_required": false
}, - "groups": [
- {
- "role": "user+",
- "key": "network",
- "label": "Network",
- "sub_groups": [
- {
- "key": "gsm",
- "label": "GSM",
- "fields": [
- {
- "key": "WebUIEnabledGSM_modem",
- "value": {
- "value": 1,
- "label": "Show"
}, - "type": "enum",
- "mode": "rw",
- "default": {
- "value": 0,
- "label": "Hide"
}, - "label": "Show Modem Configuration",
- "description": "Show or hide the modem configuration."
}, - {
- "key": "APN_modem",
- "value": "Vodafone",
- "type": "string",
- "mode": "rw",
- "validation": {
- "length": [
- 0,
- 100
]
}, - "default": "",
- "label": "Access Point Name (APN)",
- "description": "Access Point Name of the mobile network to be used when establishing connections to the backend system via the built-in modem.",
- "parents": [
- {
- "name": "WebUIEnabledGSM_modem",
- "value": [
- 1
]
}
]
}, - "..."
]
}, - {
- "key": "lan",
- "label": "LAN",
- "fields": [
- "..."
]
}, - "..."
]
}, - {
- "key": "backend",
- "label": "Backend",
- "sub_groups": [
- {
- "role": "operator+",
- "key": "connection",
- "label": "Connection",
- "fields": [
- {
- "key": "Type_dl",
- "value": {
- "value": 1,
- "label": "GSM"
}, - "type": "enum",
- "mode": "rw",
- "default": {
- "value": 0,
- "label": "No Backend"
}, - "label": "Connection Type",
- "description": "The type of data connection used to connect to the backend system. Choose 'No Backend' to disable backend communication completely. While using GSM the wallbox can be connected to LAN/WLAN at the same time."
}, - "..."
]
}, - {
- "key": "ocpp",
- "label": "OCPP",
- "fields": [
- "..."
]
}, - "..."
]
}, - "..."
], - "ChargePointInfo": {
- "languages": [
- {
- "key": "gb",
- "value": 0,
- "lang": "en_GB",
- "label": "English",
- "active": true
}, - {
- "key": "de",
- "value": 1,
- "lang": "de_DE",
- "label": "Deutsch"
}, - "..."
], - "MultipleConnectors": false,
- "ControllerHemX2": false,
- "OCPPWLEnabled": true,
- "FLLEnabled": true
}
}
Set specific settings parameters
Set specific settings of the charge controller. Specify the desired settings parameters by their key names and their new values in the request body.
Authorizations:
Request Body schema: application/jsonrequired
The key names and new values of the settings parameters to be set
params required | Array of objects The parameter key names and their new values that shall be set |
Responses
Request samples
- Payload
{- "params": [
- {
- "key": "ForceStateAvail_ocpp",
- "value": 1
}, - {
- "key": "WebUIStyle_web",
- "value": 2
}
]
}
Response samples
- 200
- 400
{- "params": [
- {
- "key": "ForceStateAvail_ocpp",
- "success": true
}, - {
- "key": "WebUIStyle_web",
- "success": true
}
], - "reboot_required": true
}
Set specific settings parameters, including parameter validation
Set specific settings of the charge controller. Specify the desired settings parameters by their key names and their new values in the request body.
Additionally perform a validation process on each parameter key before any data is written. If one of the validation steps fails for at least one key, no data will be written.
Validation steps:
- check the JSON format of each key/value pair: {"key": "Param_key", "value": new_value}
- check if the app user currently logged in is allowed to change the parameter key
- check if the parameter key is found
- check if the value type is correct for the given parameter key
Authorizations:
Request Body schema: application/jsonrequired
The key names and new values of the settings parameters to be validated and set
params required | Array of objects The parameter key names and their new values that shall be set |
Responses
Request samples
- Payload
{- "params": [
- {
- "key": "ForceStateAvail_ocpp",
- "value": 1
}, - {
- "key": "WebUIStyle_web",
- "value": 2
}
]
}
Response samples
- 200
- 400
{- "params": [
- {
- "key": "ForceStateAvail_ocpp",
- "success": true
}, - {
- "key": "WebUIStyle_web",
- "success": true
}
], - "reboot_required": true
}
Get infos on completed charging transactions in detail
Get detailed infos on all completed transactions.
This will include only completed transactions. For incomplete transactions see the /transactions/active call or the /system_state call.
These infos may be fetched for all transactions in the database, or only for the transactions within a specified timespan via 'from' and 'to' URL queries. If the 'to' query is omitted, only the 'from' query will be evaluated and all results until now will be included.
Authorizations:
query Parameters
from | string <UTC date-time> Example: from=2019-11-23T19:35:43.511Z The beginning of a specified timespan |
to | string <UTC date-time> Example: to=2019-11-24T19:35:43.511Z The end of a specified timespan |
Responses
Response samples
- 200
- 400
[- {
- "transactionId": "4cd1855c-4492-67ea-898f-98uz8ce881qw",
- "backendTransactionId": "123456",
- "tagId": "0102b0a5fd",
- "userId": "c9228f30-daa2-4a24-b9c0-e38aa2dc3fes",
- "startTransaction": "2019-11-23T19:35:43.511Z",
- "endTransaction": "2019-11-24T19:35:43.511Z",
- "consumption": 2935,
- "maxPower": 11000
}, - "..."
]
Get a summary of completed transactions
Get a summary of all completed transactions.
This summary may be fetched for all transactions in the database, or only for the transactions within a specified timespan via 'from' and 'to' URL queries.
Authorizations:
query Parameters
from | string <UTC date-time> Example: from=2019-11-23T19:35:43.511Z The beginning of a specified timespan |
to | string <UTC date-time> Example: to=2019-11-24T19:35:43.511Z The end of a specified timespan |
Responses
Response samples
- 200
- 400
{- "transactionCount": 12,
- "totalDuration": 2375,
- "totalConsumption": 148
}
Identity of chargepoint users and cars (mappings between user names and unique user ids)
Get all users from the database
Get a list of all existing users from the database. Each list entry contains a user name associated with a unique user id in UUID format.
Authorizations:
Responses
Response samples
- 200
- 500
{- "users": [
- {
- "userId": "c9228f30-daa2-4a24-b9c0-e38aa2dc3fes",
- "userName": "Alex"
}, - {
- "userId": "45d3711a-2acd-5812-cb44-f23fa3b791c2",
- "userName": "Jenny"
}, - "..."
]
}
Add a new user to the database
Add one new user to the database. Specify a new user name, a new associated unique user id in UUID format will be returned.
Maximum user name length is 255 characters.
Authorizations:
Request Body schema: application/jsonrequired
userName | string The new user name |
Responses
Request samples
- Payload
{- "userName": "Jenny"
}
Response samples
- 201
- 400
{- "userId": "45d3711a-2acd-5812-cb44-f23fa3b791c2",
- "userName": "Jenny"
}
Get one existing chargepoint user from the database
Get one existing chargepoint user from the database specified by its user id.
Authorizations:
path Parameters
userId required | string <UUID> Example: c9228f30-daa2-4a24-b9c0-e38aa2dc3fes The user id of the chargepoint user that needs to be retrieved |
Responses
Response samples
- 200
- 400
- 404
{- "userId": "c9228f30-daa2-4a24-b9c0-e38aa2dc3fes",
- "userName": "Alex"
}
Modify one existing chargepoint user in the database
Modify the user name of an existing chargepoint user in the database specified by its user id.
Maximum user name length is 255 characters.
Authorizations:
path Parameters
userId required | string <UUID> Example: c9228f30-daa2-4a24-b9c0-e38aa2dc3fes The user id of the chargepoint user that needs to be modified |
Request Body schema: application/jsonrequired
userName | string The changed user name |
Responses
Request samples
- Payload
{- "userName": "Alex1"
}
Response samples
- 200
- 400
- 404
{- "success": true
}
Delete one existing chargepoint user from the database
Delete an existing chargepoint user from the database specified by its user id.
Authorizations:
path Parameters
userId required | string <UUID> Example: c9228f30-daa2-4a24-b9c0-e38aa2dc3fes The user id of the chargepoint user that needs to be deleted |
Responses
Response samples
- 400
- 404
{- "success": false,
- "cause": "invalid path"
}
Handle the (local) whitelist of chargepoint users and cars authorised for charging. Possible ids include RFID tags, EVCCIDs, and NFC.
Get all whitelist entries
Get all entries of the local whitelist.
Authorizations:
query Parameters
type required | string Example: type=local The whitelist type - only the 'local' whitelist is supported. |
Responses
Response samples
- 200
- 400
{- "success": true,
- "tags": [
- {
- "id": "abcdef12",
- "tagType": "RFID",
- "number": 12345,
- "name": "Alex",
- "userid": "c9228f30-daa2-4a24-b9c0-e38aa2dc3fes",
- "priority": "NORMAL"
}, - "..."
]
}
Add or edit specific whitelist entries, or clear all whitelist entries
Add new entries to the local whitelist, or edit existing entries of the local whitelist. One or multiple tag(s) may be added/edited within the same request.
Or clear all local whitelist entries.
Authorizations:
Request Body schema: application/jsonrequired
type required | string The whitelist type - only the 'local' whitelist is supported. | ||||||||||||
command required | string Enum: "add" "edit" "clear" | ||||||||||||
Array of objects (WhitelistEntry) The whitelist entries that shall be added or edited (not needed in case of command 'clear') | |||||||||||||
Array
|
Responses
Request samples
- Payload
{- "type": "local",
- "command": "add",
- "tags": [
- {
- "id": "abcdef12",
- "tagType": "RFID",
- "number": 12345,
- "name": "Alex",
- "userid": "c9228f30-daa2-4a24-b9c0-e38aa2dc3fes",
- "priority": "NORMAL"
}
]
}
Response samples
- 200
- 400
- 404
{- "success": true
}
Delete specific whitelist entries
Delete existing entries of the local whitelist. One or multiple tag(s) may be deleted within the same request.
Specify the desired whitelist entries by their tag id's in an URL query (recommended) or in a request body (deprecated, should no longer be used.)
Authorizations:
query Parameters
type | string Example: type=local The whitelist type - only the 'local' whitelist is supported. |
ids | string Example: ids=abcdef12,abcdef34,abcdef56 A list of comma-separated tag id's to specify the desired whitelist entries that shall be deleted The URL query may have a maximum size of 1000 characters including the commas. The URL query is recommended, preferred to a request body. |
Request Body schema: application/jsonoptional
Parameters to specify the desired whitelist entries that shall be deleted
The request body should no longer be used, preferably use an URL query.
type required | string The whitelist type - only the 'local' whitelist is supported. | ||
command required | string The command, always 'delete' | ||
required | Array of objects (WhitelistTag) The 'id' tag(s) that shall be deleted | ||
Array
|
Responses
Request samples
- Payload
{- "type": "local",
- "command": "delete",
- "tags": [
- {
- "id": "abcdef12"
}
]
}
Response samples
- 400
- 404
{- "success": false,
- "cause": "missing parameter 'tags'"
}
Enable the whitelist pairing mode
Enable the whitelist pairing mode.
In the whitelist pairing mode it is possible to read an RFID token with the RFID reader or to get the MAC address of an EV supporting autocharge and to store it temporarily without adding it to the local whitelist. The temporary tag will remain until the pairing mode will be enabled again. The list will be cleared on power fail.
The pairing mode may only be enabled if the controller is in idle mode.
The pairing mode is active for 60 seconds or until a token is read successfully. When a token is read there will also be an acoustic feedback.
When a token is read in the pairing mode, it will be checked against the local whitelist. If it is already in the list, the buzzer will beep two times. If the tag is not in the list, the buzzer will beep one time and the tag will be readable then via the endpoint /v1/whitelist/pairing.
It is only possible to read one RFID token at once.
Authorizations:
Responses
Response samples
- 200
- 500
{- "success": true
}
Read the last scanned whitelist token in pairing mode
Read the last scanned whitelist token in the whitelist pairing mode.
The supported tag types are RFID, EVCCID, and NFC.
If the id already exists, the response body will contain the known token data.
Authorizations:
Responses
Response samples
- 200
- 500
{- "id": "abcdef12",
- "tagType": "RFID"
}
Generic key-value store (mappings between arbitrary unique keys and arbitrary values.) Contents stored in this database are specified by the customer and do not have any influence on the charge controller functionality.
Get all key/value pairs from the database
Get all existing key/value pairs from the database.
The maximum number of key/value pairs in the database is limited to 1000.
Authorizations:
Responses
Response samples
- 200
- 500
{- "key_1": "value_1",
- "key_2": "value_2",
- "key_3": "value_3"
}
Add new key/value pair(s) to database
Add new key/value pair(s) to the database. One or multiple key/value pair(s) may be added within the same request.
The maximum number of key/value pairs in the database is limited to 1000. Maximum key length is 256 characters and maximum value length is 1000 characters.
The database operations are carried out with sql start transaction & commit/rollback so that either the entire transaction will succeed or fail. It will fail if at least one of the keys already exists or if the number of keys in the database has exceeded the limit.
Authorizations:
Request Body schema: application/jsonrequired
Multiple key/value pair(s) separated by commas
Responses
Request samples
- Payload
{- "key_1": "value_1",
- "key_2": "value_2",
- "key_3": "value_3"
}
Response samples
- 400
- 409
{- "success": false,
- "cause": "too many entries"
}
Modify existing key/value pair(s) in database
Modify the value(s) of existing key/value pair(s) in the database specified by their key(s). One or multiple key/value pair(s) may be modified within the same request.
Maximum value length is 1000 characters.
The database operations are carried out with sql start transaction & commit/rollback so that either the entire transaction will succeed or fail. It will fail if a key does not exist or if the new value length is too large.
Authorizations:
Request Body schema: application/jsonrequired
Multiple key/value pair(s) separated by commas
Responses
Request samples
- Payload
{- "key_1": "value_1",
- "key_2": "value_2",
- "key_3": "value_3"
}
Response samples
- 200
- 400
- 404
{- "success": true
}
Get one key/value pair from database
Get one existing key/value pair from the database specified by its key.
Authorizations:
path Parameters
key required | string Example: key_1 The key of the key/value pair that needs to be retrieved |
Responses
Response samples
- 200
- 404
{- "key_1": "value_1"
}
Delete one key/value pair from database
Delete one existing key/value pair from the database specified by its key.
Authorizations:
path Parameters
key required | string Example: key_1 The key of the key/value pair that needs to be deleted |
Responses
Response samples
- 404
{- "success": false,
- "cause": "key not found"
}
Get system state infos
Get infos on the current system state of the charger at any given point of time.
If the charger has an active transaction ongoing, the available information on the running transaction will also be included.
Authorizations:
Responses
Response samples
- 200
{- "systemState": "idle",
- "connectionState": "vehicle_charging_type2",
- "authState": "authorized_for_charging",
- "ocppState": "charging",
- "type2State": "c",
- "ambientTemp": 23.4,
- "transaction": {
- "transactionId": "2r41855c-6492-67ea-898f-98uz8ce45tzu",
- "backendTransactionId": "123456",
- "userId": "abc1855c-abc2-67ea-898f-98uz8ce45abc",
- "transactionStart": "2019-11-25T19:35:43.511Z",
- "transactionDuration": 300,
- "tagId": "0102b0a5fd",
- "consumption": 2345,
- "power": 12000,
- "maxPower": 14000,
- "OCPPMeterCurrent": {
- "L1": 11.5,
- "L2": 13.5,
- "L3": 8.5
}
}
}
Get error and warning messages
Get all current error and warning messages of the charge controller.
Errors prevent the chargepoint from charging, warnings are informative.
Authorizations:
Responses
Response samples
- 200
{- "messages": [
- {
- "severity": "ERROR",
- "errorCode": "powerMeterFailure",
- "message": "OCPP meter not communicating"
}, - {
- "severity": "WARNING",
- "errorCode": "otherError",
- "message": "Failed init - Metering, OCPP Logic, timezone",
- "correctiveActions": "An inspection and maintenance is required for the chargepoint, issue probably has to be escalated to be handled by a support engineer."
}
]
}
Get all settings parameters for the App
Get all settings parameters designated for the App.
Authorizations:
Responses
Response samples
- 200
- 400
- 500
{- "name": "settings",
- "result": {
- "reboot_required": false
}, - "groups": [
- {
- "role": "user+",
- "key": "network",
- "label": "Network",
- "sub_groups": [
- {
- "key": "gsm",
- "label": "GSM",
- "fields": [
- {
- "key": "WebUIEnabledGSM_modem",
- "value": {
- "value": 1,
- "label": "Show"
}, - "type": "enum",
- "mode": "rw",
- "default": {
- "value": 0,
- "label": "Hide"
}, - "label": "Show Modem Configuration",
- "description": "Show or hide the modem configuration."
}, - {
- "key": "APN_modem",
- "value": "Vodafone",
- "type": "string",
- "mode": "rw",
- "validation": {
- "length": [
- 0,
- 100
]
}, - "default": "",
- "label": "Access Point Name (APN)",
- "description": "Access Point Name of the mobile network to be used when establishing connections to the backend system via the built-in modem.",
- "parents": [
- {
- "name": "WebUIEnabledGSM_modem",
- "value": [
- 1
]
}
]
}, - "..."
]
}, - {
- "key": "lan",
- "label": "LAN",
- "fields": [
- "..."
]
}, - "..."
]
}, - {
- "key": "backend",
- "label": "Backend",
- "sub_groups": [
- {
- "role": "operator+",
- "key": "connection",
- "label": "Connection",
- "fields": [
- {
- "key": "Type_dl",
- "value": {
- "value": 1,
- "label": "GSM"
}, - "type": "enum",
- "mode": "rw",
- "default": {
- "value": 0,
- "label": "No Backend"
}, - "label": "Connection Type",
- "description": "The type of data connection used to connect to the backend system. Choose 'No Backend' to disable backend communication completely. While using GSM the wallbox can be connected to LAN/WLAN at the same time."
}, - "..."
]
}, - {
- "key": "ocpp",
- "label": "OCPP",
- "fields": [
- "..."
]
}, - "..."
]
}, - "..."
], - "ChargePointInfo": {
- "languages": [
- {
- "key": "gb",
- "value": 0,
- "lang": "en_GB",
- "label": "English",
- "active": true
}, - {
- "key": "de",
- "value": 1,
- "lang": "de_DE",
- "label": "Deutsch"
}, - "..."
], - "MultipleConnectors": false,
- "ControllerHemX2": false,
- "OCPPWLEnabled": true,
- "FLLEnabled": true
}
}
Get the dashboard parameters for the App
Get all dashboard parameters that are defined in app_layout.xml.
Authorizations:
query Parameters
descriptions | integer Example: descriptions=descriptions=0 Receive the description for parameters in the results. Defaults to 1 |
Responses
Response samples
- 200
- 400
- 500
{- "name": "dashboard",
- "ControllerTime_custom": "2023-05-18 08:51",
- "settings_changed": false,
- "groups": [
- {
- "key": "general",
- "label": "General",
- "fields": [
- {
- "value": 0,
- "type": "int",
- "unit": "sessions",
- "label": "Total Charging Sessions",
- "mode": "ro",
- "key": "TransactionsInDatabase_sql"
}, - {
- "value": "0.0",
- "type": "string",
- "unit": "minutes",
- "mode": "ro",
- "label": "Average duration per session",
- "key": "AverageTransactionDurationStr_sql"
}, - {
- "value": "0.00",
- "type": "string",
- "unit": "kWh",
- "mode": "ro",
- "label": "Average energy per session",
- "key": "AveragekWh_sql"
}
]
}, - {
- "key": "statistics",
- "label": "Last month",
- "fields": [
- {
- "value": 0,
- "type": "int",
- "unit": "sessions",
- "label": "This month's transaction count",
- "mode": "ro",
- "key": "TransactionsThisMonth_sql"
}, - {
- "value": 0,
- "type": "int",
- "unit": "kWh",
- "label": "This month's kWh consumption",
- "mode": "ro",
- "key": "TotalkWhThisMonth_sql"
}
]
}, - "..."
], - "GraphicDashboard": [
- {
- "key": "EnergyInWhour_meter",
- "value": "Total: 0 [Wh]",
- "type": "string",
- "mode": "ro",
- "label": "Energy",
- "isNotAuthorized": 1
}, - {
- "key": "EnergyInWhour_meter_2"
}, - {
- "key": "DashboardErrorState_custom",
- "value": 0,
- "type": "int",
- "label": "",
- "mode": "ro",
- "isNotAuthorized": 1
}, - "..."
]
}