Overview
Data points are the core building blocks of Mango by Radix IoT. Every value Mango collects, calculates, or receives is represented as a data point. Understanding data point types, properties, and logging options is essential before configuring any data source.
What Is a Data Point?
A data point represents a single time-series value. It belongs to a data source, which defines the connection to an external device or system. The data source handles communication; the data point defines what to read and how to store it.
Data Types
Every data point has a data type that determines what kind of values it can hold:
| Data Type | Description | Examples |
|---|---|---|
| Numeric | Decimal numbers (double precision) | Temperature: 72.5, Voltage: 120.3 |
| Binary | True/false (on/off) values | Pump running: true, Door open: false |
| Multistate | Integer values representing states | Mode: 0=Off, 1=Auto, 2=Manual |
| Alphanumeric | Text strings | Status message, device serial number |
The data type is usually determined by the protocol and register configuration. Modbus holding registers are typically numeric; coils are binary.
Key Point Properties
Name and XID
The name is the human-readable label shown in the UI. The Export ID, or XID, is a unique string used by the REST API, JSON import/export, and scripting. Choose meaningful XIDs — they're hard to change later.
Device Name
An optional label that groups points visually. Points sharing the same device name appear together in watch lists and filters. This is purely organizational — it does not affect data collection.
Tags
Key-value pairs that categorize points for filtering, tag-driven dashboards, and bulk edits. Example tags: site=Building-A, deviceType=RTU, unit=kW. Tags are the primary way to organize points at scale. Tags do not grant access — a point’s own permissions control that.
Unit
The engineering unit for numeric points (e.g., °F, PSI, kWh). Used for display and unit conversion. Set this correctly at configuration time — it's displayed on dashboards, reports, and watch lists.
Permissions
Every data point carries three separate permissions, each accepting one or more roles:
- View point & value — which roles can see the point and its values
- Edit point — which roles can change the point's configuration
- Set point value — which roles can write values, for settable points
Settable vs Read-Only Points
A settable point allows users or scripts to write values back to the device. Common examples: setpoint temperatures, on/off commands, mode changes. A read-only point only collects data from the device.
Whether a point is settable depends on the data source type and protocol configuration. Modbus holding registers can be settable; input registers are read-only.
Logging Strategies
Logging determines how and when point values are stored to the time-series database:
| Logging Type | Behavior | Best For |
|---|---|---|
| All data | Logs every poll result | Points that change infrequently or where every value matters |
| When point value changes | Logs only when the value changes | Binary/multistate points, status flags |
| Interval and point value changes | Logs on change, plus at fixed intervals even if unchanged | Balances storage with guaranteed periodic records |
| Interval | Logs at fixed time intervals regardless of change | Consistent time-series sampling |
| When point timestamp changes | Logs when the value arrives with a new timestamp, even if the value itself is unchanged | Sources that restate the same reading and where arrival time matters |
| Do not log | Never writes to database; runtime value only | Intermediate calculation points, high-frequency scratch values |
Tolerance (Deadband)
For numeric points logging on value change (either change-based logging type), the tolerance sets the minimum change required to trigger a log entry. The change is measured against the last logged value, and must exceed the tolerance, not merely equal it. If tolerance is 0.5 and the value changes from 72.0 to 72.3, no log entry is written. This prevents logging noise from sensor jitter.
Discard Extreme Values
Enable this to drop values outside a specified range. Useful for catching sensor malfunctions — a temperature reading of -999 or 9999 is clearly invalid and should not pollute your historical data.
Purge Settings
Each data point can have its own purge override that controls how long historical data is retained. If no point-level override is set, the data source purge setting applies. If no data source override exists, the system default applies. This creates a three-tier hierarchy:
- Point-level purge (highest priority)
- Data source purge
- System default purge (lowest priority)
Text Renderers
Text renderers control how raw values are displayed in the UI:
- Analog — formats numeric values with decimal places and suffix (e.g., "72.5 °F")
- Binary — maps true/false to custom labels (e.g., "Running" / "Stopped")
- Multistate — maps integer values to text labels (e.g., 0="Off", 1="Auto", 2="Manual")
- Plain — displays the raw value as-is
- Range — maps value ranges to labels (e.g., 0-30="Low", 31-70="Normal", 71-100="High")
- Time — formats a numeric value as a duration or timestamp
The list offered depends on the point's data type: Plain is available to every type, Analog, Range and Time to numeric points, Binary to binary points, and Multistate to multistate points.
Plot Type
Plot type controls how the point is drawn on time-series charts. Numeric points can be plotted as Line, Smooth, Step, or Bar. Non-numeric points — binary, multistate, and alphanumeric — are limited to Step, which is also the default.
Event Detectors on Points
Data points can have event detectors attached that monitor the point's value and raise events when conditions are met. Common detectors include high limit, low limit, state, point change, state change count, and no update. Events trigger event handlers (email, scripts, set-point actions).
Virtual Data Points
Some data source types create "virtual" data points that don't read from external devices:
- Meta points — calculate values from other points using scripts
- Virtual data source points — generate test data or hold manually set values
- HTTP receiver points — accept values pushed via HTTP
Summary
Data points are the fundamental unit of data in Mango. Each point has a data type, belongs to a data source, and has configurable logging, permissions, rendering, and purge settings. Choose the right logging strategy to balance data fidelity against storage costs. Use meaningful XIDs and tags from the start — they're the foundation of scalable deployments.