Illumience API

GET /v2/devices/{device_id}/telemetry

Returns telemetry data for a specific device. Results are sorted by device time ascending. Supports cursor-based pagination.

Request

curl -k "https://api.illumience.com:11443/v2/devices/{device_id}/telemetry?from=1709251200&to=1709337600&limit=100" \
  -H "Authorization: Bearer <api_key>"

Path Parameters

ParameterTypeDescription
device_idintegerdevice identifier, can be found by calling /v2/devices

Query Parameters

ParameterRequiredTypeDefaultDescription
fromYesintegerStart time as Unix timestamp (seconds)
toYesintegerEnd time as Unix timestamp (seconds)
limitNointeger1000Maximum number of records (1 - 10,000)
next_cursorNointegerPagination cursor from a previous response

Validation Rules

  • from and to are required
  • to must be greater than from
  • Maximum time range is 1 day (86,400 seconds)
  • limit is clamped to the range 1 - 10,000

Response 200 OK

{
  "total": 100,
  "has_more": true,
  "next_cursor": 1709308801.0,
  "pings": [
    {
      "device_id": 4521,
      "cloud_unixtime": 1709251260.0,
      "device_unixtime": 1709251260.0,
      "device_date": "2024-03-01",
      "device_time": "00:01:00",
      "device_datetime_tz": "2024-03-01T02:01:00+02:00",
      "data": {
        "bv": 52.1,
        "bc": 3.2,
        "bt": 25.0,
        "p1v": 38.5,
        "p1c": 8.1,
        "l1v": 230.0,
        "l1c": 2.5
      },
      "statuses": {
        "l1": { "en": true, "lvd": false },
        "batt": { "en": true, "batt_charging_en": true }
      }
    }
  ]
}

Response Fields

FieldTypeDescription
totalintegerNumber of pings in this page
has_morebooleantrue if more records exist beyond this page
next_cursorinteger or nullPass this value as next_cursor in the next request to fetch the next page. null when there are no more results.
pingsarrayList of telemetry ping objects

Ping Object:

FieldTypeDescription
device_idintegerNumeric device identifier
cloud_unixtimefloatTimestamp when the cloud received the ping
device_unixtimefloatTimestamp from the device's internal clock
device_datestringDate string from device (YYYY-MM-DD)
device_timestringTime string from device (HH:MM:SS)
device_datetime_tzstringISO 8601 datetime with timezone offset
dataobjectTelemetry readings (see Data Fields below)
statusesobjectDevice status flags (dynamic structure)

Pagination

The API uses cursor-based pagination anchored on device_unixtime:

  1. Make the initial request with from and to.
  2. If has_more is true, take the next_cursor value from the response.
  3. Pass it as the next_cursor query parameter in the next request (keep the same from, to, and limit).
  4. Repeat until has_more is false.

Errors

CodeCause
400Missing from/to, invalid range, invalid ObjectId
404Device not found or not owned by customer