Message Profiles

Thingsee Message Protocol specifications for device communication

The Thingsee Message Protocol defines how devices communicate with the cloud platform. Messages are organized into profiles based on functionality, with each profile assigned a specific ID range.

Protocol Reference

Message Structure

Every Thingsee message contains a standard header with the following fields:

FieldTypeDescription
tsmIdNumberMessage identifier (defines the message type)
tsmEvNumberEvent type code
tsmTsNumberUnix timestamp when the message was created
tsmTuidStringThing Unique ID (device identifier)
tsmGwStringGateway TUID that relayed the message
tsmDstTuidStringDestination TUID (for commands)

Event Types (tsmEv)

Common event type codes used across all profiles:

CodeDescription
0Event data not applicable or unknown
10Standard sensor data event
19Assistance requested
20Assistance response
23Reset request
25Firmware update requested
27Diagnostics requested
28Diagnostics response
29Error diagnostics
30Configuration request
31Configuration response
32Firmware information request
33Firmware information response
35Command request
36Command response
100Network diagnostic data
101Battery data event

Profile ID Ranges

RangeProfileDescription
1000-1999Common ProfileSystem info, configuration, firmware, diagnostics
2000-2999Analytics ProfileOccupancy and jam detection
3000-3999Edge ProfileEdge computing and core state
11000-11999Gateway ProfileGateway heartbeat, Wirepas, MQTT
12000-12999Environment ProfileWeather, temperature, humidity, hall sensor
13000-13999Presence ProfilePIR motion, presence, occupancy detection
16000-16999Machine Usage ProfileVibration monitoring, accelerometer
17000-17999Distance ProfileToF distance measurement
18000-18999Angle ProfileAngular position measurement
24000-24999Air Quality ProfileCO2, TVOC measurement

Data Format

Messages are transmitted as JSON (for APIs) or CBOR (optimized binary format for device communication). The content is identical between formats.

Example Message:

[{
    "tsmId": 1110,
    "tsmEv": 101,
    "tsmTs": 1492603998,
    "tsmTuid": "TSPOD6789",
    "tsmGw": "TSGW1234",
    "batl": 34.6,
    "chrg": 2
}]

Working with Messages

Receiving Messages

Sensor data messages are delivered through your configured integration:

  • MQTT: Subscribe to device topics
  • Azure IoT Hub: Use Event Hub consumer
  • AWS IoT: Use IoT Rules or direct consumption

Sending Commands

Configuration and command messages are sent via the Open Service API:

curl -X POST \
  "https://{api-url}/v1/things/{tuid}/commands" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '[{
    "tsmId": 1500,
    "tsmEv": 30,
    "measurementInterval": 60,
    "reportInterval": 300
  }]'

The device will respond with tsmEv: 31 containing the applied configuration.

In This Section

Individual profile specifications with message IDs, payload formats, and examples.


Message Header

Thingsee Message header structure and common fields

Message Commands

Sending commands and configuration to Thingsee devices

Common Profile (1000-1999)

System information, configuration, firmware updates, and diagnostic messages used by all Thingsee devices.

Analytics Profile (2000-2999)

Computed analytics messages including occupancy state and jam detection.

Edge Profile (3000-3999)

Edge computing core state and synchronization messages.

Gateway Profile (11000-11999)

Gateway heartbeat monitoring, Wirepas mesh management, and MQTT configuration.

Environment Profile (12000-12999)

Environmental sensor messages for weather conditions, temperature, humidity, and hall sensors.

Presence Profile (13000-13999)

Presence detection, occupancy monitoring, and PIR sensor configuration.

Machine Usage Profile (16000-16999)

Vibration monitoring and accelerometer-based machine activity tracking.

Distance Profile (17000-17999)

Time-of-flight distance measurement sensors.

Angle Profile (18000-18999)

Angular position and tilt measurement sensors.

Air Quality Profile (24000-24999)

Carbon dioxide (CO2) and volatile organic compound (TVOC) measurement.