Skip to content

Telemetry

This resource allows you to get the telemetry data. Telemetry is a data from sensors on the beacons including Portal Beam.

Note

Make sure you enabled your beacons to send telemetry data in Kontakt Packet. In order to have telemetry data available on Kio Cloud you need to have Portal Light set up and in range of beacons.

Get telemetry

GET /v3/telemetry - retrieve telemetry information.

By Tracking ID

You can get telemetry data only for particular beacon or set of beacons by putting Tracking ID in a request.

Query parameters
Parameter Type Description
page Number The page you want to retrieve. The default value is 0.
size Number The size of the page you want to retrieve. The default value is 20.
sort Text How items should be sorted. Sorting for each property can be configured separately.
The possible values are: asc, desc. Default value is asc
Use the following format: property,sorting-order
Example: ?sort=lastname,desc.
startTime Number Filter by telemetry timestamp range start time
endTime Number Filter by telemetry timestamp range end time
trackingId Boolean Filter by comma separated list of tracking IDs.

Note

Tracking Id is a beacons MAC Address, check beacons MAC Address on Beacons General Settings.

Sample curl request
$ curl 'https://apps.cloud.us.kontakt.io/v3/telemetry?page=0&size=2&sort=trackingId&trackingId=<<<Beacon MAC Address>>>&startTime=2021-01-26T00:10:23.939078Z&endTime=2021-01-26T05:10:23.939052Z' -i -X GET \
    -H 'Api-Key: <<Your Api Key>>'
Sample HTTP request
GET /v3/telemetry?page=0&size=2&sort=trackingId&trackingId=<<<Beacon MAC Address>>>&startTime=2021-01-26T00:10:23.939078Z&endTime=2021-01-26T05:10:23.939052Z HTTP/1.1
Host: apps.cloud.us.kontakt.io
Api-Key: <<Your Api Key>>
Sample response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1525

{
  "links" : [ {
    "rel" : "self",
    "href" : "https://apps.cloud.us.kontakt.io/v3/telemetry?page=0&sort=trackingId&trackingId=<<<Beacon MAC Address>>>&endTime=2021-01-26T05:10:23.939052Z&startTime=2021-01-26T04:10:23.859Z&size=2"
  } ],
  "page" : {
    "startTime" : "2021-01-26T04:10:23.859Z",
    "endTime" : "2021-01-26T05:10:23.939052Z",
    "hasNext" : false,
    "size" : 2
  },
  "content" : [ {
    "trackingId" : "<<<Beacon MAC Address>>>",
    "timestamp" : "2021-01-26T04:10:23.859Z",
    "beaconTimestamp" : "2021-01-26T10:10:23.864Z",
    "gatewayTimestamp" : "2021-01-26T10:10:23.864Z",
    "cloudTimestamp" : "2021-01-26T10:10:23.864Z",
    "accelerometerSensitivity" : 3,
    "accelerometerX" : 5,
    "accelerometerY" : 6,
    "accelerometerZ" : 3,
    "batteryLevel" : 6,
    "channel" : 2,
    "clickCounter" : 1,
    "humidity" : 7,
    "lightIntensity" : 2,
    "movementCounter" : 3,
    "rssi" : 7,
    "sourceId" : "<<<Gateway Unique Id>>>>",
    "temperature" : 37.68574,
    "timeSinceDoubleClick" : 283,
    "timeSinceDoubleTap" : 2545,
    "timeSinceMovement" : 2132,
    "timeSinceTap" : 2711,
    "firmware" : "1.0",
    "model" : 3,
    "txPowerDbm" : 4,
    "uniqueId" : "RHSYCe",
    "calibratedRssi1m" : -77,
    "calibratedRssi0m" : -36,
    "eddystoneNamespace" : "d363dbe40dece700e200",
    "eddystoneInstanceId" : "5bdcdb438a45",
    "eddystoneEphemeralId" : "50b004040cea6002",
    "iBeaconProximity" : "4ed0470f-18f4-446b-a898-bbfc2a34a44c",
    "iBeaconMajor" : 61214,
    "iBeaconMinor" : 16779,
    "moving" : true
  } ]
}

By Source ID

You can get all telemetry data collected by particular gateway by putting Source ID in a request.

Query parameters
Parameter Type Description
page Number The page you want to retrieve. The default value is 0.
size Number The size of the page you want to retrieve. The default value is 20.
sort Text How items should be sorted. Sorting for each property can be configured separately.
The possible values are: asc, desc. Default value is asc
Use the following format: property,sorting-order
Example: ?sort=lastname,desc.
startTime Number Filter by telemetry timestamp range start time
endTime Number Filter by telemetry timestamp range end time
sourceId Boolean Filter by comma separated list of source IDs

Note

Source ID is a gateway Unique ID, check gateways Unique ID.

Sample curl request
$ curl 'https://apps.cloud.us.kontakt.io/v3/telemetry/latest?page=0&size=2&sort=sourceId&sourceId=<<<Gateway Unique ID>>>&startTime=2021-01-26T00:10:23.939078Z&endTime=2021-01-26T05:10:23.939052Z' -i -X GET \
    -H 'Api-Key: <<Your Api Key>>'
Sample HTTP request
GET /v3/telemetry?page=0&size=2&sort=sourceId&sourceId=<<<Beacon MAC Address>>>&startTime=2021-01-26T00:10:23.939078Z&endTime=2021-01-26T05:10:23.939052Z HTTP/1.1
Host: apps.cloud.us.kontakt.io
Api-Key: <<Your Api Key>>
Sample response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1416

{
  "links" : [ {
    "rel" : "self",
    "href" : "https://apps.cloud.us.kontakt.io/v3/telemetry/latest?page=0&size=2&sort=sourceId&sourceIds=<<<Gateway Unique ID>>>&startTime=2021-01-26T07:57:04.203426Z"
  } ],
  "content" : [ {
    "sourceId" : "<<<Gateway Unique ID>>>",
    "timestamp" : "2021-01-26T10:10:24.094Z",
    "trackingId" : "<<<Beacon MAC Address>>>",
    "beaconTimestamp" : "2021-01-26T10:10:24.105Z",
    "gatewayTimestamp" : "2021-01-26T10:10:24.105Z",
    "cloudTimestamp" : "2021-01-26T10:10:24.105Z",
    "rssi" : 2,
    "batteryLevel" : 1,
    "accelerometerSensitivity" : 8,
    "accelerometerX" : 6,
    "accelerometerY" : 2,
    "accelerometerZ" : 0,
    "timeSinceTap" : 1572,
    "timeSinceDoubleTap" : 293,
    "timeSinceMovement" : 1245,
    "movementCounter" : 9,
    "lightIntensity" : 9,
    "temperature" : 33.606575,
    "timeSinceDoubleClick" : 2602,
    "clickCounter" : 8,
    "humidity" : 2,
    "channel" : 6,
    "firmware" : "1.0",
    "model" : 2,
    "txPowerDbm" : 4,
    "uniqueId" : "AWBfkr",
    "calibratedRssi1m" : -36,
    "eddystoneNamespace" : "d06d3acdb346c47d913a",
    "eddystoneInstanceId" : "c209507a377a",
    "eddystoneEphemeralId" : "a5dd37786e9909ed",
    "iBeaconProximity" : "081da874-f56d-453e-9ddb-956ed8c8a496",
    "iBeaconMajor" : 63300,
    "iBeaconMinor" : 65271,
    "moving" : true
  } ],
  "page" : {
    "size" : 2,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Response fields

Path Type Description
links Array Resource links. Depends on pagination configuration, rel='self' will always be present. Can also contain rel’s: first, next, last
links[].rel String Link role.
links[].href String URL for rel resource.
links[] Array URL for rel resource.
content[] Array Page content.
content[].accelerometerSensitivity Number Accelerometer sensitivity
content[].trackingId String Tracking ID
content[].timestamp String Telemetry timestamp which is the most accurate from available timestamps. It is selected in order from beaconTimestamp if available or gatewayTimestamp otherwisecloudTimestamp.
content[].beaconTimestamp String Telemetry timestamp from beacon
content[].gatewayTimestamp String Telemetry timestamp from gateway
content[].cloudTimestamp String Timestamp when telemetry comes to Kontakt.io cloud.
content[].accelerometerX Number Accelerometer in X axis
content[].accelerometerY Number Accelerometer in Y axis
content[].accelerometerZ Number Accelerometer in Z axis
content[].batteryLevel Number Battery level
content[].channel Number Channel
content[].clickCounter Number Click counter
content[].humidity Number Humidity
content[].lightIntensity Number Light intensity
content[].movementCounter Number Movement counter
content[].rssi Number RSSI
content[].sourceId String Source ID
content[].temperature Number Source ID
content[].timeSinceClick Number Time since click
content[].timeSinceDoubleClick Number Time since double click
content[].timeSinceMovement Number Time since movement
content[].timeSinceTap Number Time since tap
content[].timeSinceDoubleTap Number Time since double tap
content[].firmware String Firmware version of scanned device
content[].model Number Scanned device version number
content[].txPowerDbm Number Transmission Power (in dBm) of a scanned device
content[].uniqueId String Unique identifier of a scanned device
content[].calibratedRssi1m Number Calibrated RSSI value at 1 meter from a scanned device
content[].calibratedRssi0m Number Calibrated RSSI value at 0 meters from a scanned device
content[].eddystoneNamespace String Namespace value from Eddystone UID frame
content[].eddystoneInstanceId String Instance ID value from Eddystone UID frame
content[].eddystoneEphemeralId String Ephemeral value from Eddystone EID frame
content[].iBeaconProximity String Proximity UUID value from iBeacon frame
content[].iBeaconMajor Number Major value from iBeacon frame
content[].iBeaconMinor Number Minor value from iBeacon frame
content[].moving Boolean Flag showing whether device is currently in motion
content[].secondsSincePirMotion Number Seconds since last PIR detection.
content[].secondButtonClickCounter Number Second button click counter.
content[].airQuality Number Air quality, 0 for good - 255 bad.
content[].roomNumber Number Detected room number via IR detector.
content[].numberOfPeopleDetected Number Detected number of people in the room.
content[].secondsSincePeopleDetection Number Time since last detection.
page Object Page metadata.
page.size Number Current page size.
page.totalElements Number Number of elements in current page.
page.totalPages Number Number of all pages.
page.number Number Current page number.