MQTT Demo Stream
This demo connects to the Haltian IoT MQTT Stream and displays live sensor data as it arrives in real-time. Watch the actual MQTT topics and JSON payloads from sensors deployed in the Haltian Oulu office.
This demo showcases the Stream API — MQTT-based real-time data streaming. Each message shows the complete topic path and JSON payload structure. See the Real-Time Data Streaming Guide for implementation details.
This demo replays recorded sensor data from actual Haltian IoT devices deployed in the Oulu office. While the measurements are real and were originally captured via MQTT from the haltiansalesdemo broker, they are being replayed here to demonstrate what real-time MQTT data flow looks like. The topic structure and JSON payload format match the production Stream API exactly.
Live Sensor Demonstrations
The cards above update in real-time as the demo streams sensor data. Each card represents an actual device from the haltiansalesdemo organization deployed in the Haltian Oulu office. Values are color-coded based on industry-standard air quality and comfort level interpretations.
Understanding the Cards
🌡️ Thingsee AIR monitors complete indoor environmental quality with temperature, humidity, CO₂, TVOC, and barometric pressure. CO₂ levels are particularly useful for occupancy detection—levels rise above 600 ppm when people are present.
👥 Haltian PRESENCE provides radar-based occupancy detection with instant updates when someone enters or leaves a space. The binary status (occupied/vacant) is critical for meeting room booking systems and space utilization analytics.
🚪 Haltian ENTRYWAY counts directional foot traffic with separate entry and exit tracking. The occupant count shows real-time space utilization trends throughout the workday.
🚗 Haltian RADAR detects vehicle presence in individual parking slots with immediate status updates when cars arrive or depart.
MQTT Topic Structure
Each message is published to a topic following this pattern:
haltiansalesdemo/devices/{device_id}/measurements/{measurement_type}
For example:
haltiansalesdemo/devices/047a3542-d213-4e2b-9106-821b71739332/measurements/ambientTemperaturehaltiansalesdemo/devices/1d16687f-0ec6-45b0-8a63-cc752ff6cc72/measurements/occupancyStatus
JSON Payload Format
Each MQTT message contains a JSON payload with the measurement data:
{
"measured_at": "2026-04-08T10:50:34.980000+00:00",
"device_id": "047a3542-d213-4e2b-9106-821b71739332",
"measurement_type": "ambientTemperature",
"value": 22.6
}
The value field type varies by measurement:
- Numeric values: Temperature (°C), CO₂ (ppm), humidity (% RH), pressure (hPa)
- Binary states: Occupancy (0=vacant, 1=occupied), magnetic state (0=closed, 1=open)
- Counters: Entry/exit counts, movement counts
For connection details and authentication credentials, see the Stream API documentation
Related Documentation
- Stream API Reference - Complete MQTT API documentation and connection details
- Real-Time Data Streaming Guide - Implementation guide with code examples
- Haltian ENTRYWAY - People counter documentation
- Thingsee AIR - Indoor air quality sensor
- Haltian PRESENCE - Occupancy sensor