Skip to main content

Sensors

Sensors represent individual data points that a device collects. Each sensor has a unique identifier (slug) that's used when devices send telemetry data.

Understanding Sensors

A Sensor is a specific measurement channel on a device:

  • GPS Tracker: Might have sensors for "latitude", "longitude", "speed", "battery"
  • Weather Station: Might have sensors for "temperature", "humidity", "pressure", "rainfall"

Each sensor is associated with a Sensor Type, which defines the unit of measurement and how the data should be visualized.

Sensor Types

Sensor Types are global templates that define how sensor data should be interpreted and displayed.

Creating a Sensor Type

  1. Navigate to Management > Sensors (or Management > All Sensors >> Sensor Types)
  2. Click + Create Sensor Type
  3. Fill in:
    • Name: Descriptive name (e.g., "Temperature (Celsius)")
    • Slug: Short identifier (e.g., temperature_c)
    • Unit: Measurement unit (e.g., °C, %, V, km/h)
    • Icon: (Optional) Select an icon for visual representation
    • Data Type: numeric, string, boolean, json
  4. Click Save

Default Sensor Types

The platform comes with commonly used sensor types:

  • Temperature (Celsius/Fahrenheit)
  • Humidity (%)
  • Battery Voltage (V)
  • GPS Latitude/Longitude
  • Pressure (hPa, PSI)
  • Speed (km/h, mph)

Adding Sensors to Devices

Sensors are configured per-device:

  1. Go to Device Details for the target device
  2. Navigate to the Sensors tab
  3. Click + Add Sensor
  4. Fill in:
    • Sensor Name: Display name (e.g., "Engine Temperature")
    • Sensor Slug: Identifier used in payloads (e.g., temp_engine)
      • Important: This slug must match the key in your device's JSON payload
    • Sensor Type: Select from existing types
    • Description: (Optional) Additional details
  5. Click Save

How Sensor Slugs Work

When a device sends data, the sensor slug maps the payload to the correct sensor.

Example:

Your device has these sensors configured:

  • Slug: temp → Sensor Type: "Temperature (Celsius)"
  • Slug: hum → Sensor Type: "Humidity (%)"

Your device sends:

{
"temp": 24.5,
"hum": 60.2
}

The platform automatically:

  1. Stores 24.5 as a temperature reading in °C
  2. Stores 60.2 as a humidity reading in %
  3. Displays them on the appropriate charts with correct units

Sensor Profiles

Each sensor can have a Profile with additional metadata:

  1. Go to Device Details > Sensors
  2. Click on a sensor name
  3. Navigate to Profile tab
  4. Add key-value pairs:
    • min_range: Minimum expected value
    • max_range: Maximum expected value
    • calibration_offset: Adjustment factor
    • Custom attributes specific to your use case

This metadata can be used in Rule Chains for advanced processing.

Multi-Device Standardization

The separation of Sensor Slug (device-specific) and Sensor Type (global) allows flexibility:

Scenario: You have multiple brands of temperature sensors:

  • Device A uses slug t in its payload
  • Device B uses slug temp in its payload
  • Device C uses slug temperature in its payload

All three can be mapped to the same Sensor Type ("Temperature (Celsius)"), allowing you to:

  • View all temperatures on a unified dashboard
  • Apply the same Rule Chains
  • Generate cross-device reports

Best Practices

1. Use Descriptive Sensor Names

Good: "Engine Coolant Temperature" Bad: "Sensor 1"

2. Keep Slugs Short

Slugs are used in every telemetry message, so shorter = less bandwidth. Good: temp_engine Bad: engine_coolant_temperature_celsius

3. Standardize Sensor Types

Create reusable Sensor Types rather than custom types for every device.

4. Document Custom Attributes

If using custom sensor profile attributes, document their meaning for future reference.

  • Devices - Learn how to create and configure devices
  • Rule Chains - Use sensor data to trigger automated actions
  • MQTT API - Send sensor data via MQTT
  • HTTP API - Send sensor data via HTTP