Measurement Mapping
This page provides a complete mapping between Thingsee IoT message profiles (tsmId + field) and the corresponding Haltian IoT measurement types. Use this as a reference when migrating your data parsing, integrations, or analytics from Thingsee to Haltian IoT.
How to Read This Table
| Column | Description |
|---|---|
| Thingsee tsmId | The Thingsee message profile ID |
| Thingsee Field | The JSON field name in the Thingsee message payload |
| Thingsee Devices | Device models that send this message |
| HIoT Measurement Type | The Haltian IoT measurement type name (used in GraphQL API) |
| HIoT Query Field | The field name used in GraphQL queries |
| Unit | Unit of measurement |
Key Differences
In Thingsee IoT, a single message (e.g. tsmId 12100) can contain multiple sensor readings bundled together (temp, humd, airp, lght). Your application must parse the message type and extract relevant fields.
In Haltian IoT, each sensor value is a separate measurement type with its own name, timestamp, and GraphQL query. You subscribe to or query specific measurements directly — no message parsing needed.
Example — Thingsee:
[{
"tsmId": 12100,
"tsmTs": 1492603998,
"tsmTuid": "TSEN01ABC",
"temp": 22.5,
"humd": 67.2,
"airp": 102092,
"lght": 270
}]
Example — Haltian IoT (four separate measurements):
query AmbientTemperature { measurementAmbientTemperature { deviceId, measuredAt, ambientTemperature } }
query Humidity { measurementHumidity { deviceId, measuredAt, humidity } }
query BarometricPressure { measurementBarometricPressure { deviceId, measuredAt, barometricPressure } }
query AmbientLight { measurementAmbientLight { deviceId, measuredAt, ambientLight } }
Environment Measurements
| Thingsee tsmId | Thingsee Field | Thingsee Devices | HIoT Measurement Type | HIoT Query Field | Unit |
|---|---|---|---|---|---|
| 12100 | temp | TSEN01, TSPD04, TSRU01, TSRU02, TSAR01, TSAR02, TSLK01, TSLK02 | ambientTemperature | ambientTemperature | °C |
| 12100 | humd | TSEN01, TSPD04, TSRU01, TSRU02, TSAR01, TSAR02, TSLK01, TSLK02 | humidity | humidity | % |
| 12100 | airp | TSEN01, TSPD04, TSRU01, TSRU02, TSAR01, TSAR02, TSLK01, TSLK02 | barometricPressure | barometricPressure | hPa |
| 12100 | lght | TSEN01, TSPD04, TSRU01, TSRU02, TSAR01, TSAR02, TSLK01, TSLK02 | ambientLight | ambientLight | lux |
| 12101 | hall | TSEN01, TSPD04, TSRU01, TSRU02, TSLK01, TSLK02 | magneticState | isOpen | Boolean |
| 12101 | hallCount | TSEN01, TSPD04, TSRU01, TSRU02, TSLK01, TSLK02 | magneticStateChanges | magneticStateChanges | count |
| 12102 | resistance | TSLK01, TSLK02 | electricalResistance | electricalResistance | Ω |
| 24100 | carbonDioxide | TSAR01, TSAR02 | co2 | co2 | ppm |
| 24101 | tvoc | TSAR01, TSAR02 | tvoc | tvoc | ppb |
| 17210 | temp | TSTF04 | ambientTemperature | ambientTemperature | °C |
Occupancy & Presence Measurements
| Thingsee tsmId | Thingsee Field | Thingsee Devices | HIoT Measurement Type | HIoT Query Field | Unit |
|---|---|---|---|---|---|
| 2100 | state | TSPR04 | occupancyStatus | isOccupied | Boolean |
| 13100 | moveCount | TSPR04 | movementDetections | movementDetections | count |
| 13103 | in | TSAP01 | directionalMovement | entries | count |
| 13103 | out | TSAP01 | directionalMovement | exits | count |
| 13103 | totalIn | TSAP01 | — | — | — |
| 13103 | totalOut | TSAP01 | — | — | — |
| 13103 | historicalIn | TSAP01 | — | — | — |
| 13103 | historicalOut | TSAP01 | — | — | — |
| 13103 | amountIn | TSAP01 | — | — | — |
| 28009 | state | TSRA01 | occupancyStatus | isOccupied | Boolean |
Thingsee totalIn, totalOut, historicalIn, historicalOut, and amountIn fields (24-hour cumulative counters) are not mapped to Haltian IoT. Use the Haltian IoT Data API to calculate cumulative values from the event-based directionalMovement measurements.
Distance & Radar Measurements
| Thingsee tsmId | Thingsee Field | Thingsee Devices | HIoT Measurement Type | HIoT Query Field | Unit |
|---|---|---|---|---|---|
| 17200 | dist | TSTF04 | distance | distance | mm |
| 17200 | status | TSTF04 | — | — | — |
| 28009 | dist | TSRA01 | distance | distance | mm |
| 28009 | echo | TSRA01 | echo | echo | — |
Vibration & Movement Measurements
| Thingsee tsmId | Thingsee Field | Thingsee Devices | HIoT Measurement Type | HIoT Query Field | Unit |
|---|---|---|---|---|---|
| 16100 | activityLevel | TSEN01, TSPD04, TSRU01, TSRU02, TSLK01, TSLK02 | vibration | level | % |
| 16100 | energyLevel | TSEN01, TSPD04, TSRU01, TSRU02, TSLK01, TSLK02 | vibration | total | — |
| 1111 | accx, accy, accz | ENV family | deviceOrientation | accx, accy, accz | g |
The Thingsee activityLevel field maps to Haltian IoT vibration.level (not movementLevel). Similarly, energyLevel maps to vibration.total.
Thingsee devices report acceleration in milli-G (mG), but Haltian IoT stores and returns values in g. The platform handles the mG → g conversion (divide by 1000) during ingestion.
Power & Battery Measurements
| Thingsee tsmId | Thingsee Field | Thingsee Devices | HIoT Measurement Type | HIoT Query Field | Unit |
|---|---|---|---|---|---|
| 1110 | batl | All devices | batteryPercentage | batteryPercentage | % |
Not Mapped to Haltian IoT
The following Thingsee messages have no direct measurement type equivalent in the Haltian IoT GraphQL API:
Sensor data without HIoT measurement type
| Thingsee tsmId | Thingsee Field | Thingsee Devices | Reason |
|---|---|---|---|
| 12100 | lightint | — | No ambientLightIntensity type in HIoT schema; use ambientLight instead |
| 24100 | status | TSAR01, TSAR02 | CO₂ sensor calibration status; not exposed as a measurement in HIoT |
| 16100 | histogram0–histogram9 | TSEN01, TSPD04, TSRU01, TSRU02, TSLK01, TSLK02 | Movement histogram not available as a measurement type in HIoT |
| 1100 | swVersion | All devices | Device metadata; available via Service API, not as a measurement |
| 1202 | rssi | All devices | HIoT derives RSS from Wirepas endpoint 238 natively (dBm) |
| 1312 | binaryVersion | All devices | Firmware metadata; not a measurement type in HIoT |
| 1312 | binaryType | All devices | Firmware metadata; not a measurement type in HIoT |
Configuration/downlink messages
These are handled through the Service API device configuration:
| Thingsee tsmId | Purpose | Haltian IoT Equivalent |
|---|---|---|
| 12200 | Environment sensor configuration | Service API device configuration |
| 12210 | Weather sensor configuration | Service API device configuration |
| 12211 | Hall sensor configuration | Service API device configuration |
| 12212 | Leakage sensor configuration | Service API device configuration |
HIoT-Only Measurements
These measurement types exist in Haltian IoT but have no Thingsee tsmId equivalent:
| HIoT Measurement Type | Query Field | Unit | Description |
|---|---|---|---|
occupancySeconds | occupancySeconds | seconds | Duration of occupancy (ODE output) |
occupantsCount | occupantsCount | count | Current number of occupants in a zone |
positionZone | zoneId | UUID | Which zone a device is in |
positionConfidence | positionConfidence | % | Confidence score for position |
position | positionGlobal, positionLocal | coordinates | Device geographic position |
batteryVoltage | batteryVoltage | V | Battery voltage |
batteryCurrent | batteryCurrent | A | Battery current draw |
solarPanelVoltage | solarPanelVoltage | V | Solar panel output voltage |
harvesterStorageVoltage | harvesterStorageVoltage | V | Energy harvester storage voltage |
usbVoltage | usbVoltage | V | USB supply voltage |
rss | rss | dBm | Received signal strength (from Wirepas network) |
bootCount | bootCount, bootReason | count | Device reboot tracking |
systemTemperature | systemTemperature | °C | Internal device temperature |
deviceRole | deviceRole | — | Device role in the network |
diagnosticsInterval | diagnosticsInterval | seconds | Diagnostic reporting interval |