MQTT Demo Stream

Real-time sensor data streaming via MQTT from live Haltian IoT devices

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.

Connecting...
Messages: 0
⏳ Waiting for messages...

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/ambientTemperature
  • haltiansalesdemo/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