Data Output
Overview
Haltian ENTRYWAY produces measurement data that you can access through the Haltian IoT Platform — receive JSON measurements via MQTT Stream API or query via GraphQL Service API.
This page documents the measurement types, payload formats, and how to access the data.
If you operate your own gateways and decode raw mesh messages, see the CBOR Uplink Reference for the binary message specification.
Haltian IoT Measurements
The ENTRYWAY sensor produces the following measurement types:
| Measurement Type | Description |
|---|---|
entries | People who entered since last report |
exits | People who exited since last report |
batteryPercentage | Remaining battery level |
Entries & Exits
The primary measurement data. Reports directional people counts accumulated since the last report interval.
MQTT Topic:
haltian-iot/events/{integration-id}/{api-key-id}/measurements/peopleCounting/{device-uuid}
JSON Payload:
{
"measured_at": "2026-01-28T08:52:11Z",
"entries": 3,
"exits": 1
}
Fields:
| Field | Type | Description |
|---|---|---|
measured_at | ISO 8601 string | Timestamp of measurement |
entries | Integer (0+) | People who entered since last report |
exits | Integer (0+) | People who exited since last report |
The Haltian IoT API uses entries/exits. These map to the raw CBOR fields in/out in the Wirepas CBOR message.
Reporting behavior:
- Reports immediately on first movement detection
- Reports every measurement interval (default 30s) during continued activity
- Reports every idle reporting interval (default 1 hour) when no movement — values will be
0
GraphQL query example:
query {
measurementLastPeopleCounting(
where: {deviceId: {_eq: "6e5f8ac6-a099-44e5-bb28-25fd3d1f47a6"}}
) {
deviceId
measuredAt
entries
exits
}
}
6e5f8ac6-a099-44e5-bb28-25fd3d1f47a6— your device UUID
Related: Configuration — Measurement Interval | Operation — Data Transmission
batteryPercentage
Reports remaining battery level. Updated every 6 hours.
MQTT Topic:
haltian-iot/events/{integration-id}/{api-key-id}/measurements/batteryPercentage/{device-uuid}
JSON Payload:
{
"measured_at": "2026-01-28T12:00:00Z",
"batteryPercentage": 92
}
Fields:
| Field | Type | Description |
|---|---|---|
measured_at | ISO 8601 string | Timestamp of measurement |
batteryPercentage | Integer (0–100) | Remaining battery percentage |
Reporting behavior:
- Reported every 6 hours
- Battery life is up to 4 years with 2x AA batteries
GraphQL query example:
query {
measurementLastBatteryPercentage(
where: {deviceId: {_eq: "6e5f8ac6-a099-44e5-bb28-25fd3d1f47a6"}}
) {
deviceId
measuredAt
batteryPercentage
}
}
6e5f8ac6-a099-44e5-bb28-25fd3d1f47a6— your device UUID
Accessing Data
MQTT Stream API
Subscribe to real-time measurement events. See Stream API documentation for connection setup.
Service API (GraphQL)
Query historical and latest measurements. See Service API documentation for endpoint and authentication details.