Skip to content

Sensor values ​

An asset carries the current value of each of its virtual sensors in sensors.values, under the sensor's name. Each entry holds the value, the time it was measured in valueTime, and in source the device and the device sensor type it came from:

json
{
  "temperature": {
    "name": "temperature",
    "source": {"nodeName": "30SE50010005332", "sensorType": ["TEMP"]},
    "value": 21.7,
    "valueTime": "2026-10-05T19:01:11.000Z",
    "updateTime": "2026-10-05T19:01:11.000Z"
  }
}

Which sensors an asset has depends on the devices commissioned onto it. This page lists every virtual sensor in use on the platform, with the form of its value.

The descriptions are illustrative: sensor values are not governed by a formal schema. A sensor can therefore appear in more than one form, depending on the device or integration that supplies it, and units are not carried with the value.

In the examples, <deviceId> stands for a device identifier, such as BLE-C95E26ACC78C.

Movement and position ​

Movement ​

Virtual sensor name: movement

Example value:

json
true

Whether the asset is in motion.

Location ​

Virtual sensor name: location

Example value:

json
{"latitude": 50.8659, "longitude": 7.1427, "accuracy": 12}

The position as the device reported it, with its horizontal accuracy in metres. The asset's resolved location, with floor, source and the geofences it matches, is held in the asset's location; see Location.

Inclination ​

Virtual sensor name: inclination

Example value:

json
{"angleX": 12, "angleY": 87, "angleZ": 3}

The inclination of the device on the asset, as the angle of each axis to gravity in degrees, from 0 to 360. Some devices add a state as text, or idle as true or false. Used to detect status, tipping or use.

Usage ​

Virtual sensor name: usage

Example value:

json
true

Whether the asset is in use.

Activity ​

Virtual sensor name: activity

Example value:

json
"2026-10-05T19:04:15.000Z"

The time of the latest activity: it is updated whenever any other sensor of the asset is updated. For gateways the value is an object instead, with the gateway's status, the time it was last seen in lifecycle.lastSeen, and reception statistics in stats: rxCount, rxBytes, uniqueMACs and the start of the counting period in since.

Idle ​

Virtual sensor name: idle

Example value:

json
false

Whether the asset is idle.

Device status ​

Node Battery ​

Virtual sensor name: nodeBattery

Example value:

json
"GOOD"

The battery state of the device. Most devices report it as one of these values; older devices may report it in lower case:

ValueMeaning
GOODThe battery is in good condition
FAIRThe battery is still sufficient but declining
REPLACEThe battery or device needs replacement
DEADThe device no longer reports
UNKNOWNNo battery state is known yet

Detailed form:

json
{"status": "GOOD", "soc": 87, "voltage": 3.02}

Devices that report more detail send an object: the status as above, the state of charge in percent in soc and the battery voltage in volts. Some also send the device's mode.

Health ​

Virtual sensor name: health

Example value:

json
{
  "status": "warning",
  "devices": {
    "<deviceId>": {
      "status": "warning",
      "action": "Monitor closely",
      "statusCodes": [101],
      "statusText": ["BatteryHealth: Battery voltage is too low."]
    }
  }
}

The overall health of the asset's devices. status summarises it; devices holds the state of each commissioned device, with an action to take, numeric statusCodes and readable statusText. Some assets also carry an installation entry in the same form.

Battery ​

Virtual sensor name: battery

Example value:

json
"2816 mV"

The battery voltage of the device, with its unit, as a text.

Battery monitor status ​

Virtual sensor name: batteryMonitorStatus

Example value:

json
{"batteryLevel": 74, "nodeTime": "2026-10-05T18:12:40.000Z"}

The charge level of a monitored vehicle battery in percent, with the time the monitor measured it.

Battery monitor charge report ​

Virtual sensor name: batteryMonitorChargeReport

Example value:

json
{
  "startTime": "2026-10-05T06:00:00.000Z",
  "endTime": "2026-10-05T09:30:00.000Z",
  "soc": {"start": 18, "end": 96},
  "nodeTime": "2026-10-05T09:30:02.000Z"
}

A completed charging session of a monitored vehicle battery: when it started and ended, and the state of charge in percent at both moments.

Cell information ​

Virtual sensor name: cellInformation

Example value:

json
{
  "type": "LTE-M",
  "network": {"mmc": 262, "mnc": 1},
  "cell": {"cellId": 12345678, "tac": 4321, "band": 20, "rsrp": -98, "rsrq": -11, "rssi": -70, "snr": 7},
  "neighbours": []
}

Diagnostic information about the mobile network a cellular device is connected to: the network, the serving cell with its signal quality, and neighbouring cells.

Environment ​

Temperature ​

Virtual sensor name: temperature

Example value:

json
21.7

The temperature in degrees Celsius.

Temperature logger form:

json
{
  "temperatureAtLogTime": 4.5,
  "timeFirstReading": "2026-10-05T06:00:00.000Z",
  "minutesBetweenReadings": 15,
  "tempReadings": [
    {"time": "2026-10-05T06:00:00.000Z", "temperature": 4.2},
    {"time": "2026-10-05T06:15:00.000Z", "temperature": 4.4}
  ],
  "reason": {"code": 1, "hexCode": "0x01", "value": "Scheduled"}
}

Temperature loggers send a series instead: the readings since the first one, the interval between readings, the temperature at the time of logging, and why the log was sent.

Humidity ​

Virtual sensor name: humidity

Example value:

json
45.5

The relative humidity in percent. Some devices send it as an object, {"humidity": 45.5}.

Contact ​

Virtual sensor name: contact

Example value:

json
{"contact": true}

Whether a contact, such as a door or lid, is closed. Older devices send the text "open" instead.

Condition ​

Virtual sensor name: condition

Example value:

json
"OPEN"

The condition of the asset, as one of OPEN, CLOSED or PICKUP.

Door ​

Virtual sensor name: door

Example value:

json
false

Whether a door of the asset is open, as set by an application.

Load ​

Loaded ​

Virtual sensor name: loaded

Example value:

json
{
  "loaded": 100,
  "sensors": {
    "<deviceId>": {
      "loaded": true,
      "confidence": 0.99,
      "index": 1,
      "timestamp": "2026-10-05T14:31:35.000Z",
      "values": [{"distance": 200, "amplitude": 1020}]
    }
  }
}

How loaded the asset is. loaded is the overall load in percent; sensors holds each load sensor's own verdict, with its confidence from 0 to 1, its index, the time of the measurement, and the radar readings it is based on. A few devices report a plain true or false instead.

Vehicle ​

Ignition ​

Virtual sensor name: ignition

Example value:

json
"on"

Whether the vehicle's ignition is on or off.

Odometer ​

Virtual sensor name: odo

Example value:

json
125430

The vehicle's total distance driven, as its tracker reports it. The unit depends on the tracker integration.

Running time ​

Virtual sensor name: runningTime

Example value:

json
4211

The vehicle's total engine running time, as its tracker reports it. The unit depends on the tracker integration.

Body ​

Virtual sensor name: body

Example value:

json
"up"

The position of the vehicle's body: up or down.

Belt ​

Virtual sensor name: belt

Example value:

json
"idle"

The state of the vehicle's belt, for example idle.

Energy ​

Energy, live ​

Virtual sensor name: energyLive

Example value:

json
{
  "a": {
    "voltage": {"value": 231.4, "unit": "V"},
    "current": {"value": 4.2, "unit": "A"},
    "frequency": {"value": 50.0, "unit": "Hz"},
    "power": {
      "active": {"value": 951, "unit": "W"},
      "apparent": {"value": 972, "unit": "VA"},
      "powerFactor": {"value": 0.98, "unit": ""}
    }
  },
  "b": {},
  "c": {},
  "total": {
    "current": {"value": 12.1, "unit": "A"},
    "power": {"active": {"value": 2730, "unit": "W"}, "apparent": {"value": 2790, "unit": "VA"}}
  }
}

Live readings of an energy meter, per phase a, b and c and in total: voltage, current, frequency, and active and apparent power with the power factor. Every reading carries its unit. errors lists any errors the meter reports. Phases b and c are shortened in the example.

Energy, total ​

Virtual sensor name: energyTotal

Example value:

json
{
  "a": {"energy": {"active": {"value": 1520.4, "unit": "kWh"}, "activeReturned": {"value": 0, "unit": "kWh"}}},
  "b": {},
  "c": {},
  "total": {"energy": {"active": {"value": 4480.9, "unit": "kWh"}, "activeReturned": {"value": 0, "unit": "kWh"}}}
}

The cumulative energy of an energy meter, per phase and in total: the active energy drawn, and the active energy returned. errors lists any errors the meter reports.

Application states ​

These sensors are set by applications rather than by device measurements.

Maintenance ​

Virtual sensor name: maintenance

Example value:

json
{"isFlipConfirmed": true, "isFlipLocked": false}

The maintenance state of the asset. Some applications set a plain true or false; others an object with application-specific flags.

Journey state ​

Virtual sensor name: markovState

Example value:

json
"CRUISING"

The phase of a journey, as set by an application, for example TAXIING_INBOUND, CRUISING, LANDING, CATERER_OPS, CATERER_WASHING or UNKNOWN.

User event ​

Virtual sensor name: userEvent

Example value:

json
{"userEventType": "<type>", "dataType": "<type>", "eventData": "<data>"}

The latest event a user recorded for the asset in an application: its type, the type of its data, and the data itself.