Skip to main content
Version: 2.1

Data Explorer

Data Explorer is where real-time and historical UNS data come together in a single workspace. Subscribe to any topic in the hierarchy, watch values flow in on a live chart, then switch to a historical view to analyse trends over hours or days — all without leaving the page.

tip

Why Data Explorer? Real-time data only creates value when it is observed. This screen listens to UNS topics, charts their behaviour, and preserves history so teams can act on facts instead of assumptions.

Workspace Overview

When you open Data Explorer you see the Topic Explorer tree on the left and a detail panel on the right. Select a topic to subscribe and the detail panel populates with Field Statistics, a Live Data tab, and a Historical tab.

Topic Explorer

The Topic Explorer presents the UNS hierarchy as a searchable tree. Expand from enterprise level down through site, area, line, and asset nodes to find the exact tag you need. Clicking a topic subscribes to it immediately and opens its data in the detail panel.

Topic explorer showing enterprise, site, area, line, asset and tag nodes

Searchable UNS hierarchy with plant, line, and asset levels.

Topic Settings

Right-click any node in the Topic Explorer to open a context menu with the following actions:

Topic context menu showing Add Child, Rename, Edit Schema, and Delete options

Right-click a topic to access management actions.

  • Add Child — create a new child node under the selected topic by entering a name.
  • Rename — change the name of the selected topic node.
  • Edit Schema — define the expected data structure for this topic (see below).
  • Delete — permanently remove the topic and its children from the hierarchy.
Add Child Node dialog with a name input field

Add a new child node under the selected topic.

Edit Schema

The Edit Schema dialog lets you attach a data contract to a topic — describing what type of data is expected, its unit, acceptable range, and alert thresholds. This schema is purely informational: it documents the topic's purpose and structure but does not validate or reject incoming data at runtime.

Edit Schema dialog showing auto-detect, Primitive Value and Complex JSON tabs

Define the expected data structure for a topic.

Auto-detect from data — the dialog shows the last value received on the topic. Click Apply detected schema and the system will automatically fill in the schema fields based on that value. If the value is a simple type (number, boolean, string) it switches to Primitive Value mode; if it is a JSON object it switches to Complex JSON mode and populates the field table.

Primitive Value — use this tab when the topic carries a single value such as a temperature reading, a counter, or a boolean flag.

FieldDescriptionExample
Value TypeData type of the valueFloat, Integer, Boolean, String
UnitEngineering unitcelsius, rpm, bar, psi
DescriptionHuman-readable explanation"Line 1 temperature sensor"
Min / MaxExpected value range (numeric types only)Min: 0, Max: 200
AlertingWarning and critical thresholds with deadband (numeric types only)Warning: 80–150, Critical: 0–200, Deadband: 0.5
Custom MetadataFree-form key-value pairslocation: Block A, sensor_id: S001

Complex JSON — use this tab when the topic carries a JSON object with multiple fields (e.g. {"temperature": 42.5, "pressure": 3.2}). Add a row for each field and specify its path, type, and unit. Expand a row to set per-field description, required flag, min/max range, and alert thresholds.

Field PathTypeUnit
temperatureFloatcelsius
pressureFloatbar
motor.rpmIntegerrpm

Save Schema persists the definition to the backend and publishes it as a retained MQTT message on the topic's $schema/ path. Clear Schema removes the definition entirely.

How Schema Storage Works

When you click Save Schema, the following happens behind the scenes:

  1. The backend validates the schema (e.g. checks that value types are valid and min is not greater than max) and stores it as JSON in the topics database.

  2. The schema is then published as a retained MQTT message to a dedicated schema topic. For example, if the data topic is:

    mHv1.0/Enterprise/Site/Area/Line/Asset/temperature

    the schema is published to:

    $schema/mHv1.0/Enterprise/Site/Area/Line/Asset/temperature

What does retained mean? A normal MQTT message is delivered to clients that are subscribed at that moment and then disappears. A retained message is stored by the broker — when a new client subscribes to that topic later, the broker immediately delivers the last retained message. The client does not need to be online when the schema was saved.

This means any MQTT client can subscribe to $schema/# at any time and instantly discover the data contracts for all topics that have a schema defined. There is no need to query an API or be connected at the exact moment a schema is updated.

When you click Clear Schema, the backend publishes an empty payload as a retained message. In MQTT, an empty retained payload tells the broker to delete the stored message for that topic. After clearing, new subscribers will no longer receive any schema for that topic.

info

Schema is for documentation and discovery — it tells teams what data a topic is expected to carry, but the system does not enforce it. If a topic's schema says Boolean and the publisher sends a number, the message is still accepted.

Subscription Bar

Every active topic appears as a tag at the top of the detail panel, showing the full topic path and connection state. You can subscribe to multiple topics and switch between them quickly.

Topic Configuration

Click the configuration icon on a subscribed topic to open the Topic Configuration panel. Here you can control how the broker stores data for this topic.

The key setting is Retain Latest Value. When enabled, the broker persists the most recent value published to the topic, even after retention cleanup runs. This means any client that subscribes later will immediately receive the last known value — there is no need to wait for the next publish. This is especially useful for topics that update infrequently, such as configuration parameters or set-points, where the current state should always be available regardless of when someone connects.

Topic configuration panel with Retain Latest Value toggle

Enable Retain Latest Value to persist the most recent message on a topic.

Live Data

The Live Data tab is the default view when you subscribe to a topic. It provides two components that work together: a real-time trend chart and a live messages table.

Line Trend

A continuously updating line chart plots every incoming value as it arrives. The chart makes it easy to spot spikes, drops, or gradual drifts at a glance.

  • Time-period selector — adjust the visible time window to focus on the last few minutes or a wider range.
  • Pause — freeze the chart at the current moment so you can examine a value without the display scrolling away.

Live Messages

Below the chart, a Live Messages table logs every incoming message with columns for Time, Timestamp, Value, and Source. This gives you the raw data behind the chart so you can verify exact values, check sources, and correlate events down to the millisecond.

Live Data tab showing line trend chart and live messages table

Real-time line trend and live messages table for the selected topic.

Historical

Switch to the Historical tab to analyse past data for the same topic. This tab shares a similar layout — a trend chart on top and a data table below — but focused on a configurable time range instead of a live stream.

Historical Trend

The Historical Trend chart renders all recorded values within the selected time range. Use it to identify patterns across shifts, compare days, or trace the timeline of an incident after the fact.

Time Range Selection

Choose a preset window or pick a custom range:

  • 1H / 6H / 24H / 7D — quick presets that cover the most common analysis windows.
  • Calendar picker — click the calendar icon to open a date picker and define an exact start and end date for your query.
Time range presets and calendar date picker for historical data

Select a preset time window or use the calendar to define a custom range.

Data Records

Below the chart, the Data Records table lists every historical message with the same columns as the live view: Time, Timestamp, Value, and Source. A record count is shown so you know exactly how many data points fall within your selected range.

Export

Click the Export button in the top-right corner of the Data Records section to download the visible records as a JSON file. This is useful for sharing evidence with other teams, attaching data to root-cause reports, or feeding records into external analysis tools.

Export button for downloading historical data as JSON

Export historical records as JSON for offline analysis or reporting.

Historical tab showing historical trend chart and data records table

Historical trend chart and data records table with time range selection and export.

Use Cases

Rapid Alarm Review

When an unexpected downtime alert appears, subscribe to the relevant topic and watch the Live Data chart to confirm whether the anomaly repeats. Then switch to Historical to see when it first started.

Quality Deviation Tracking

Quality teams can monitor tolerance thresholds on the Live Data chart. The moment a deviation occurs, the Historical tab reveals whether it is an isolated event or part of a recurring pattern.

Maintenance Verification

After preventative maintenance, subscribe to the sensor topic and check the Live Data chart to confirm accurate readings. Use the Historical tab to compare post-maintenance values against pre-maintenance baselines.

Shift Handover

Outgoing operators can export the last shift's historical data and attach it to the handover report, giving the incoming team a clear picture of what happened.


Data Explorer brings real-time observation and historical analysis into a single workspace. Whether you are tracking a live anomaly or investigating a past event, every team works from the same source of truth.