MatrixIQ Documentation
MatrixIQ Β· User Manual

Monitor, automate & report your energy β€” from one platform

MatrixIQ is an industrial SCADA & IoT platform for energy monitoring and reporting. Connect field devices over standard protocols, stream their data live, and build dashboards, alarms, automation and reports β€” all from the web, no coding needed for everyday use.

15+ device drivers 80+ widgets Realtime & historical Alarms & escalation Excel / PDF reports
πŸ› οΈ

Admins & integrators

Set up connections & devices, map tags, build dashboards, write scripts and manage users.

Start with Connections β†’
πŸ“Š

Operators

Open your assigned dashboards to monitor live data, acknowledge alarms and pull reports.

See the runtime β†’
🧭

New here?

Learn the core building blocks β€” connections, devices, tags, parameters and dashboards.

Key concepts β†’

MatrixIQ User Manual

MatrixIQ is an industrial SCADA & IoT platform for energy monitoring and reporting. It connects to field devices (PLCs, energy meters, sensors) over standard industrial protocols, collects their data in real time, stores it, and lets you build live dashboards, alarms, automation and reports β€” all configured from the web, with no coding required for everyday use.

Who this manual is for This guide covers both Operators (day-to-day monitoring) and Administrators / Integrators (configuration and setup). Sections are tagged so you can jump to what is relevant to you.

What you can do with MatrixIQ

Key Concepts

A few terms are used throughout MatrixIQ. Understanding this hierarchy makes everything else easier:

TermWhat it means
ConnectionA communication channel to a system or gateway (e.g. a Modbus TCP connection, an OPC-UA endpoint). Connections have a type (protocol) and a status (Online/Offline).
DeviceA physical or logical unit reachable through a connection (e.g. an energy meter). Devices belong to a connection.
PollA read instruction for a device β€” which register block to read, how often (polling time), function code, etc.
TagA single data point (a measured value) such as Voltage or kWh. Tags are read from devices/polls and carry a live value, timestamp and status.
Memory TagA virtual tag whose value is set internally (by scripts, manual entry or calculations) rather than read from a device.
Tag GroupA named collection of tags used together in reports, dashboards or rules.
Dashboard / ScreenA configurable canvas of widgets that visualize tags β€” in Realtime (live) or Historical (queried) mode.
ParameterA predefined logical measurement name (e.g. Voltage) that maps to the right tag on each device, so dashboards/templates work across devices.
How data flows Device β†’ Driver (reads & decodes the protocol) β†’ published live over MQTT and stored in the time-series database β†’ Dashboards show it live, and Reports query the history.

Getting Started

Signing in

Open MatrixIQ in your browser and go to the sign-in page.

MatrixIQ Sign-In page β€” Email/User ID, Password, and User Type (Admin / User)
The Sign-In page β€” enter your Email/User ID and Password, choose User Type (Admin or User), then Sign in. Update Licence applies a new licence key.
  1. Enter your Email / User ID and Password.
  2. Choose your User Type:
    • Admin β€” full access to configuration, devices, scripting, users and licensing.
    • User β€” access to the dashboards and features granted by an administrator. Users get 3 login attempts.
  3. Click Sign in.

From this page you can also use Forgot password?, Sign Up (request a new account) and Update Licence (apply or renew a licence key).

The main screen

After signing in you land on your home dashboard. The interface has three regions:

MatrixIQ main layout β€” left navigation sidebar, top bar, and content area showing Connection Management
The main interface β€” left sidebar (navigation, grouped by module), top bar (menu toggle, product name and your profile/greeting), and the content area (here showing Connection Management).

Navigation map

The sidebar groups every feature. This is the map for the rest of this manual:

MenuContains
System ConfigurationConnections, Devices, Tags, Tag Groups, Memory Tags, App Settings, OPC-UA Server
DashboardsConfigurable screens, KPI dashboards, publishing
Automation & LogicScripts (Value Change / Interval / Schedule / User Action), Scheduler, Parameters, Recipes
Alarms & NotificationsAlarms, Alarm Rules, Escalation, Email settings
Reporting & AnalysisReports, Downtime reporting, KPIs
Ticket ManagerTicket creation, resolution, user tickets
IntegrationsNode-RED, API access, OPC-UA server
User ManagementUsers, user groups, roles, security levels

Connections Admin

A Connection defines how MatrixIQ talks to a system β€” which protocol/driver it speaks and the transport settings (IP, serial port, broker URL, OPC-UA endpoint…). Everything else β€” devices, polls and tags β€” hangs off a connection, so this is almost always the first thing you set up.

Connection = one physical link / gateway Think of a connection as a single "door" into a network: one Modbus-TCP gateway, one serial bus, one MQTT broker or one OPC-UA server. Multiple devices can sit behind the same connection (e.g. several Modbus slaves on one RTU bus or TCP gateway).
Connection Management screen with the key areas numbered 1 2 3 4 5 6 7

The Connections screen

Open System Configuration β†’ Connections. The table lists each connection with:

ColumnMeaning
TypeThe protocol/driver (e.g. WT-400, Modbus TCP, Modbus RTU, OPC-UA…).
Connection NameThe name you gave it (stored in UPPERCASE).
Connection StatusActive / Deactive β€” whether MatrixIQ should try to keep this link up.
StatusOnline (green) / Offline (red) / None β€” the live link state, updated automatically.
Connection SettingsThe gear icon β€” opens the protocol-specific advanced settings (see below).

Row actions: the red bin deletes a connection, the blue pencil edits its name/status.

Which protocols are available?

The Select Connection Type list is driven by your license β€” only the drivers your installation is licensed for appear. MatrixIQ ships with a broad set of industrial drivers:

FamilyDriversTypical use
ModbusModbus TCP, Modbus RTU, Power ModbusPLCs, energy meters, I/O β€” over Ethernet or serial (RS-485/232).
MQTTGeneric MQTT, WT-400-MQTT, Robustel MQTTIoT edge gateways / data-loggers that publish to a broker.
OPC-UAOPC-UA (client)Modern PLCs / SCADA exposing an OPC-UA server.
PLC nativeS7-200 SMART, AB MicroLogixSiemens S7 and Allen-Bradley MicroLogix controllers.
Building / utilityBACnet/IP, DNP3, IEC-104, IEC-61850BMS, power utilities and substation automation.
Meter DBSchneider PME (SE-PME-DB)Pull historical data from a Power Monitoring Expert database.
Don't see your protocol? If a driver you need isn't in the list, it isn't covered by your current license β€” contact your MatrixIQ supplier to have it enabled.

Creating a connection

  1. Click Create Connection (top-right).
  2. Enter a Connection Name. It is forced to UPPERCASE and may not contain a hyphen (-); names must be unique.
  3. Pick the Connection Type from the licensed list (this cannot be changed later β€” only the name/status can be edited).
  4. Set Status to Active (link will be attempted) or Deactive.
  5. Save. The connection appears in the list; open its gear β†’ Connection Settings to enter the transport details.

Driver-wise setup β€” the 3-stop journey

Getting live data into MatrixIQ is always the same three-stop journey β€” only what you fill in at each stop changes with the driver:

  1. Connection β€” open the door to the network (the protocol + its transport settings).
  2. Device β€” name the unit sitting behind that door (its identity/address on the protocol).
  3. Tags β€” pick the individual values to read from that unit.
Two patterns for tags Some drivers want you to type an address (a Modbus register position, an S7/AB data address, an MQTT JSON path); others hand you ready-made tags to pick from (OPC-UA browse; WT-400 / Robustel / PME / IEC-61850 deliver pre-defined "Raw tags"). Each card below tells you which.

Below is one recipe card per driver showing exactly what's unique at each stop. They're also listed under Driver Reference in the navigation menu (click to expand). Common to every device: an optional Template to pre-load its polls/tags, and a Status option (a Status Tag + Check Time) that tracks whether the device is alive.

Modbus TCP & Power Modbus

StopWhat you set
β‘  ConnectionIP, Port (502), Timeout, Reconnect Time.
β‘‘ DeviceUnit Id β€” the Modbus slave/unit number of the meter. (Many devices can share one connection, each with its own Unit Id.)
β‘’ TagsCreate Polls (Function Code: HOLDING/INPUT REGISTER, COILS/INPUT STATUS + Starting Address + Quantity), then add tags by Position (offset inside the poll block) with a register data type (Int/UInt/DInt/Float Β± Swap). Power Modbus = same, tuned for energy meters.

Modbus RTU

StopWhat you set
β‘  ConnectionSerial Port (COM, auto-detected), Parity, Baudrate (4800–115200), Data Bit (8/7), Stop Bit (1/2) + Connection/Reconnect/Queue delays & Timeout β€” must match every slave on the bus.
β‘‘ DeviceUnit Id β€” the slave address on the serial line.
β‘’ TagsSame as Modbus TCP β€” Polls (function code/address/qty) then tags by Position.

DNP3

StopWhat you set
β‘  ConnectionIP, Port (20000), Timeout, Reconnect Time, Master Id.
β‘‘ DeviceOutstation Id β€” the DNP3 outstation address.
β‘’ TagsPolls use DNP3 object types (Binary Input/Output, Analog Input/Output, Double-bit Binary Input, Counter) + variation; tags by Position.

MQTT β€” Generic, WT-400-MQTT, Robustel MQTT

StopWhat you set
β‘  ConnectionBroker IP & Port, and UserName / Password if required. (The gateway publishes; MatrixIQ subscribes.)
β‘‘ DeviceGeneric MQTT: a Topic.   WT-400-MQTT / Robustel: Publish Topic, Subscribe Topic, Slave ID (WT-400-MQTT also a Group ID).
β‘’ TagsGeneric MQTT: each tag is a Path into the JSON payload β€” tick TimeStamp Exist to also map a Data Path + TimeStamp Path; a live Result Preview shows the parsed value (data type Number/String).   WT-400-MQTT / Robustel: tags arrive as ready-made Raw tags β€” just name and use them.

OPC-UA (client)

StopWhat you set
β‘  ConnectionEndpoint URL (opc.tcp://…) β†’ Search to fetch Security Policy β†’ pick a policy + auth type (Anonymous or Username/Password).
β‘‘ DeviceSelect Objects β€” browse the server's address space and choose the object(s) this device represents.
β‘’ TagsNo addresses to type β€” browse and tick the nodes you want in the OPC-UA tag selector; they become tags directly.

S7-200 SMART (Siemens)

StopWhat you set
β‘  ConnectionIP, Port (102), Timeout, Reconnect Time.
β‘‘ DevicePoll Time (ms) β€” how often this controller is read (no Modbus-style poll editor).
β‘’ TagsEach tag has a Data Address (S7 style, validated as you type) and an S7 data type β€” Binary, Byte, Word, DWord, DInt, Real.

AB MicroLogix (Allen-Bradley)

StopWhat you set
β‘  ConnectionIP, Port (44818), Timeout, Reconnect Time.
β‘‘ DevicePoll Time (ms).
β‘’ TagsEach tag has a Data Address (MicroLogix style, validated) and data type Number / String / Binary.

IEC-104

StopWhat you set
β‘  ConnectionIP, Port (2404), Timeout (s), Reconnect Delay (s) β€” in seconds for this driver.
β‘‘ DeviceAsdu Id + Poll Time (ms).
β‘’ TagsEach tag is identified by a Type Id and an IOA Id (chosen from dropdowns); data type Number / Binary.

IEC-61850

StopWhat you set
β‘  ConnectionIP, Port (102), Timeout, Reconnect Time.
β‘‘ DeviceSelect device (the IED's logical device) + Poll Time (ms).
β‘’ TagsTags come as pre-defined Raw tags from the selected logical device β€” pick and name them.

BACnet/IP

StopWhat you set
β‘  ConnectionIP, Port (47808), Timeout, Reconnect Time.
β‘‘ DeviceSelect Device (from the discovered BACnet devices) + Poll Time (ms).
β‘’ TagsMap tags to the device's BACnet objects by Position.

Schneider PME (SE PME DB)

StopWhat you set
β‘  ConnectionIP, Port (1433), UserName, Password, Database Name (e.g. ION_Data), Data Sync Time (min). Use Test to verify the SQL link. On the SQL Server: TCP/IP enabled + SQL Server Browser running.
β‘‘ DeviceSelect Device from the device list read out of the PME database.
β‘’ TagsTags arrive as Raw tags from PME β€” no addressing; MatrixIQ pulls their history on the sync interval rather than polling live.

WT-400 (WIMAN-400)

StopWhat you set
β‘  ConnectionNothing to configure β€” a built-in FDM data-logger driver; goes Online as soon as it is set Active.
β‘‘ DeviceIMEI Number + Group Id of the WT-400 logger.
β‘’ TagsTags come as ready-made Raw tags from the logger. (For the broker-publishing variant use WT-400-MQTT above.)
If a connection stays Offline Verify the endpoint is reachable (ping the IP, confirm the COM port / broker URL), the port and the device identity (Unit / Outstation / Asdu Id, Master Id) are correct, serial parameters match the device, and the connection is set to Active. The Status column updates on its own once the link succeeds.

Devices & Polls Admin

A Device is a single unit you read from, sitting under a connection (e.g. one energy meter on a Modbus bus). Polls are the read instructions β€” they tell MatrixIQ what registers to read from that device and how often.

Device Management screen with the key areas numbered 1 2 3 4 5 6 7 8

Adding a device

  1. Open System Configuration β†’ Devices and click Create / Add Device.
  2. Choose the parent connection, give the device a name, and (optionally) apply a template to pre-load its polls/tags.
  3. Save. Use the search box to filter devices and the column header to sort by name.
Templates save hours If you have many identical meters, build one device fully, save it as a template, then create the rest from that template β€” all polls, tags, scaling and parameters come across.

Configuring polls

Open a device β†’ Polls β†’ Create. A poll groups a contiguous block of registers read in one request:

FieldMeaning
Poll NameA label for this read block.
Polling Time (ms)How often to read β€” e.g. 1000 = once per second. Shorter = fresher data but more load on the device/bus.
Function CodeWhat kind of register to read. For Modbus: HOLDING REGISTER, INPUT REGISTER, COILS STATUS, INPUT STATUS. For DNP3: Binary Input/Output, Analog Input/Output, Double-bit Binary Input, Counter.
Starting AddressThe first register/address of the block.
QuantityHow many registers/points to read from the starting address.
Read efficiently Group registers that live next to each other into one poll with a sensible quantity instead of many tiny polls β€” fewer, wider reads are far easier on the device and the bus.

Tags Admin User

A Tag is one data point β€” one meaningful value such as Voltage L-N or Run Status. Every tag carries a live value, date/time, status (online/offline) and a data type. Most tags read from a device, but not all β€” a tag's value can also be set internally or computed by a script (see Tag types below).

Tag Management screen with the key areas numbered 1 2 3 4 5 6 7

Tag types

When you create a tag under a device, the first choice is its type β€” this decides where the value comes from. The tag editor shows different fields for each:

TypeWhere the value comes fromUse it for
Poll Tag
(a.k.a. external / device tag)
Read live from a device poll β€” you map it onto an address in the poll's register block and pick its data type.Any real measurement coming off a meter/PLC (voltage, current, status…).
Internal TagHeld inside MatrixIQ, not read from the device. You give it a starting value, or mirror another tag with TagMapping (pick a Source Tag).Manually-set values, flags, or a local copy/mirror of another tag.
Script Tag
(function tag)
Its value is computed by an embedded script β€” the tag editor includes a code editor with the same Insert Data picker and built-in functions as the Scripts module.Derived/calculated values β€” efficiency, totals, anything maths-based.
Two more tag kinds you'll meet
  • Memory Tag β€” a device-independent virtual tag (its own module). Like an internal tag but not tied to any device β€” see Memory Tags.
  • System Tag β€” built-in tags the platform provides automatically; they show up as options in scripts and report rules alongside your own tags.

Settings common to device tags

Tag data type & register format

Each tag is fundamentally a Number, String or Binary value. For register-based drivers (Modbus TCP/RTU, Power Modbus, WT-400-MQTT) you also choose how the raw registers are decoded β€” the word/byte order matters and must match the device:

Data typeMeaning
Int (A B) / IntSwap (B A)16-bit signed, normal or byte-swapped.
UInt (A B) / UIntSwap (B A)16-bit unsigned, normal or swapped.
DInt / DIntSwap, UDInt / UDIntSwap32-bit signed / unsigned across two registers, with word-swap variants (A B C D) vs (C D A B).
Float (A B C D) / FloatSwap (C D A B)32-bit IEEE float, normal or word-swapped.
BinaryA single on/off bit (used for coil/input-status tags).
Garbled numbers = wrong word order If a value looks huge, tiny or jumps wildly, the swap variant is usually wrong β€” try the matching …Swap type. The tag editor validates the live value against the chosen type and warns if it doesn't match.

Other drivers offer their own data-type lists in the tag editor, e.g. Generic MQTT β†’ Number/String; AB MicroLogix β†’ Number/String/Binary; S7-200 Smart β†’ Binary/Byte/Word/DWord/DInt/Real; DNP3 / IEC-104 β†’ Number/Binary. The editor only shows the types valid for that tag's connection.

Scaling, units & alarm thresholds

Inside the tag editor you can turn raw register values into engineering units and attach limits:

Tag alias / Parameter A Parameter is a logical name (e.g. VOLTAGE L-N AVG) that points at whatever physical tag carries that reading on a given device. Bind widgets and report columns to the parameter, and they automatically follow the correct tag on every device β€” the foundation of reusable templates. Many widgets also let you display a friendly alias instead of the raw tag name on shared screens.

Tag Groups Admin

A Tag Group bundles related tags under one name so you can reuse them as a set β€” in reports, dashboards and scheduled emails β€” instead of picking the same tags over and over. Open System Configuration β†’ Tag Groups, create a group, and add the tags you want (e.g. "Feeder-1 Electrical" = its V, A, kW, PF tags).

Tag Group Management screen with the key areas numbered 1 2 3 4 5

Memory Tags Admin

A Memory Tag is a virtual tag not tied to any device β€” its value is set internally rather than read from a poll. Use them for:

Create them under System Configuration β†’ Memory Tags; they then behave like any other tag in widgets, scripts and reports.

Memory Tags Management screen with the key areas numbered 1 2 3 4 5 6 7

App Settings Admin

Application-level configuration. The most important item here is the system MQTT broker β€” MatrixIQ publishes every live tag value to it on a tag_<id> topic, and that is exactly what realtime dashboards subscribe to in order to update instantly. Open System Configuration β†’ App Settings to view or configure the broker and related application tags.

Why it matters If realtime widgets aren't updating across the board, the broker settings here are the first place to check β€” historical/report data uses the database instead and is unaffected.
App Config Management screen with the key areas numbered 1 2 3 4 5 6 7

OPC-UA Server Admin

Besides reading from an OPC-UA server, MatrixIQ can also act as an OPC-UA Server β€” exposing its own tags so external OPC-UA clients (other SCADA, an MES, a historian) can subscribe to your data. Open System Configuration β†’ OPCUA Server:

  1. Create a server endpoint β€” set its port and security options.
  2. Choose which tags it publishes to clients.
  3. Save; external clients can then browse and subscribe to those tags.
OPCUA Server Management with the Create Server dialog, key areas numbered 1 2 3 4 5 6

Building Dashboards Both

Dashboards (also called Configurable Screens) are the heart of MatrixIQ. A dashboard is a free-form canvas onto which you drop widgets β€” gauges, charts, tables, buttons, images β€” and bind each one to your tags. Nothing is hard-coded: you design exactly the screen your operators need.

Roles Admins build and edit dashboards. Operators open the published dashboards to monitor and interact (the builder toolbar is hidden for non-admin users).

Creating a dashboard

  1. Open Dashboards (or System Configuration β†’ Screen Management) and click Create. Give the dashboard a name. Use Import to load a dashboard that was exported earlier.
  2. The new dashboard opens in the builder β€” an empty grid canvas with a toolbar.
Dashboard builder with the Widget Items palette open, key areas numbered 1 2 3 4 5 6

The builder at a glance

ControlWhat it does
Back (↩)Leave the builder. Always Save first or unsaved changes are lost.
Add Widgets (βŠ•)Opens the widget palette (the categorized library β€” see below).
Save (πŸ’Ύ)Persists the dashboard layout and every widget's configuration. (Ctrl + S also saves.)
Grid canvasWhere widgets live. Drag a widget to move it; drag its corner/edge to resize. Widgets snap to the grid.
Properties panelOpens when a widget is selected β€” its Data and Style settings (see Binding & configuring widgets).

Placing a widget

  1. Click Add Widgets to open the palette.
  2. Pick a category on the left (Gauge, Trends, Tools…) or type in the palette search box (e.g. β€œchart”, β€œgauge”, β€œrealtime”).
  3. Click a widget tile β€” it is added to the canvas.
  4. Move it by dragging; resize it from a corner/edge. Right-click a widget for actions such as duplicate and delete.
  5. Select the widget and set its Data (which tag) and Style in the properties panel.
  6. Click Save.
Reusing a design Right-click β†’ duplicate copies a fully-configured widget so you can place several similar gauges/charts quickly, then just change the bound tag on each.

Widget Library

MatrixIQ ships with 80+ widgets, organized into the categories you see down the left of the Add Widgets palette. The category list is built automatically, so any custom KPI widgets you create also appear here. Below is the full reference.

Gauge visual

Single-value indicators β€” show one tag as a dial, bar or specialised gauge.

WidgetUse it for
FullGauge, SemiGaugeClassic full / half circular gauges with thresholds.
BasicGauge, SpeedGauge, Speedometer, StageSpeedGaugeSpeedometer-style dials for rate/throughput values.
ProgressGauge, RingGauge, BarometerGaugeProgress / ring / barometer style single-value displays.
GradeGauge, MultiTitleGauge, TemperatureGaugeGraded bands, multi-titled, and temperature-styled gauges.
ClockAn analog clock face.
MapsGeographic map placement of devices/values.
PieCalendar, CustomCalendarCalendar-based value displays.

Trends β€” charts

Time-series and comparison charts (these support both Realtime and Historical data where applicable).

WidgetUse it for
RealtimeChartLive scrolling line chart. Streams values as they arrive; optional historical back-fill on first load (HistoryMinutes), a MaxPoints scrolling window, tag aliasing and a benchmark set-point line. Multi-tag.
LineChartHistorical trend line over a chosen time span / interval.
AreaChart, ColumnChart, StackChart, CombineChartArea, column, stacked and combined (line+column) trends.
ComparisonChartCompare a value across periods (e.g. today vs yesterday).
PieChart, DonutChartShare/proportion of values.
RaceChart, ERaceChartAnimated ranking (β€œbar race”) charts.
HeatMapMatrix heat-map of values.
TimeLineEvent/state timeline.
LargeScaleBarChart, NightTingleChartLarge-scale bar and rose/nightingale charts.

Tools β€” text, buttons, controls

The largest category β€” values as text, interactive controls and navigation.

WidgetUse it for
SimpleTagValue, SimpleText, DynamicText, TextLineShow a tag value or static/dynamic text labels.
SparkLine, Bar, RunTime, Shift, AssetsHealthMini trend, bar, run-time, shift and asset-health indicators.
StatusWidget, TagStatusOnline/offline or state indicators for a tag/device.
WriteDevice, MultiButton, ScriptButton, PrintButtonWrite a value to a device, multi-action buttons, run a script, print the screen.
GoToButton, TabGoToButton, ExternalLink, PopupButton, ChartPopupButtonNavigate to another screen/tab/URL, or open a value/chart popup.
DropdownTool, ListBox, DateTimePicker, QueryBinderInput controls and a query binder for dynamic time ranges.
RecipeSettings, RecipeSelector, TemplateSelectorRecipe and template selection controls.
Card, WebWindow, ViewReportPreview, WeatherWidget, Arrow, FlowCard container, embedded web page, report preview, weather, and flow/arrow annotations.

Table

WidgetUse it for
TagTableA live table of selected tags (value, time, status).
HistoricalTagGroupTabular history for a tag group over a time span.
ManualDataEntryOperator entry of values (writes to memory tags).

Status & Shapes

WidgetUse it for
ImageStatus, ShowImage, MultiImageSwap/show images based on a tag's state (e.g. valve open/closed).
Rectangle, Circle, Triangle, LineDrawing primitives to build mimics/diagrams. (Plus a library of SVG process icons.)

Alarm, Jobs, Analysis & AI

WidgetUse it for
AlarmStatus, AlarmSetPointShow alarm state / edit alarm set-points from the dashboard.
JobSettings, JobsTableConfigure and list production jobs.
TimePieChartTime-distribution analysis pie.
AIClockA self-contained realtime analog clock (AI Widgets category).
KPI widgets Composite dashboards you build yourself can be saved as reusable KPI widgets; they then appear under the KPIs category in the palette.

Binding & Configuring Widgets Both

Selecting a widget opens its properties, split into Data (what it shows) and Style (how it looks).

Widget properties panel (Data tab) with the live widget preview, key areas numbered 1 2 3 4 5 6 7

Realtime vs Historical

Most value widgets have a Type switch:

ModeHow data is fetchedTypical use
RealtimeThe widget subscribes to the tag's live MQTT feed and updates the instant a value changes.Live monitoring β€” gauges, status, the Realtime Chart.
HistoricalThe widget queries the time-series database over a chosen Time Span and Interval, applying a Function (Average, Min, Max, Total, Difference…).Trends and analysis over a period.

Binding a tag

  1. In Data, pick the Tag (on a device dashboard) or Parameter (on a template/screen, so it resolves per device).
  2. Optional β€” enable Tag Alias and type a friendly name to display instead of the raw tag name.
  3. For Historical widgets, also set Function, Time Span and Interval (or a From/To range).
  4. Set a Benchmark / set-point if the widget supports it β€” choose a constant value or a tag, and a line colour; a reference line is drawn on charts/gauges.

The configuration controls

The properties panel is generated automatically from each widget's definition, so the same control types appear everywhere:

ControlMeaning
Tag / Parameter selectorChoose the tag(s) or parameter(s) to bind (single or multiple).
Dropdown / ListPick from a fixed set of options (e.g. Function, Time Span).
Radio buttonsMutually-exclusive choice (e.g. Realtime / Historical).
Checkbox / ToggleOn/off options (e.g. Legend, Transparent Background, Tag Alias).
Colour pickerSeries colours, background, set-point line colour.
Number boxNumeric settings (line width, resolution/decimals, max points, history minutes…).
Text boxLabels, titles, alias names.
Example β€” a live trend Add a RealtimeChart, set Type = Realtime, bind one or more tags, optionally set HistoryMinutes (e.g. 10) to pre-load recent history and MaxPoints for the scrolling window, enable Tag Alias for friendly names, and turn on Benchmark for a set-point line. Save β€” the chart now streams live.

Templates & Screens Admin

When you have many similar devices, build the dashboard once as a Template and reuse it everywhere. Templates bind to Parameters (logical names) instead of specific tags, so the same screen automatically shows the right values on each device.

Templates

Applying a template

When adding or editing a Device, choose a template; the device instantly gains all of the template's screens, resolved to that device's tags. Update the template once and every device using it follows.

Template Management screen with the key areas numbered 1 2 3 4 5 6

Standard Screens Admin

Not every screen needs to be built from scratch. Standard Screens are a fixed catalogue of ready-made screens and reports whose look and functionality are pre-built β€” you don't drag widgets onto a canvas, you just fill in a short configuration form (a name, the devices/tags/parameters to show, and a heading) and the screen is instantly ready. They're the fastest way to stand up common views.

Standard Screen vs Configurable Dashboard
  • Configurable Dashboard β€” a blank canvas; you place and bind widgets freely. Maximum flexibility, more effort.
  • Standard Screen β€” a fixed layout/function; minimal configuration. Fast and consistent, but you can't rearrange it.

Adding a Standard Screen

Open Standard Screen Management β€” it lists every available standard screen with a Configuration (+) action. Click it, fill the short form (typically a Name, the devices / tags / parameters to show, and a Heading / SubHeading) and save. The finished screen is then linked to users just like any dashboard.

Standard Screen Management β€” the nine ready-made screens, key areas numbered 1 2 3

The available standard screens

ScreenWhat it showsKey configuration
RealTime TableA live table of current values for chosen devices/parameters.Name, Device(s) (+ Device Alias), Parameter, Heading and font sizes.
Performance HistoryA historical trend/graph of selected parameters over time.Name, Query, Device(s), Parameter(s), Graph Type, TimeSpan, Interval.
Monthly Reconciliation ReportEnergy balance/reconciliation (e.g. mains vs sub-meters) over the month.Name, Source Tags, Query, Hi/Low limits, Heading/SubHeading.
Query Reconciliation ReportThe same reconciliation, driven by a saved query.Name, Source Tags, Query, Hi/Low limits, headings.
Mains Energy Consumption ReportConsumption summary for a mains/incomer tag.Name, the mains Tag, Query, Heading/SubHeading.
Audit TrailA log of who changed what β€” write actions on the selected tags, by user.Name, Select Tags, Select Users, Heading/SubHeading.
Maintenance ReportA report built from your maintenance plans.Name, Select Maintenance plan(s), Heading/SubHeading.
Maintenance OverviewAn at-a-glance status of selected maintenance plans.Name, Select Maintenance plan(s).
Screen TabsCombines several screens into one tabbed view.Report Name, Theme, then a row per tab β€” each a Configurable or Template screen (with Template / Screen / Device) and a Tab Name.
Screen Tabs = an instant multi-screen workspace Use it to gather a feeder's realtime screen, its trend and its report under one tabbed page, so operators switch context with a single click.

Dashboards in Action User

These are real examples of finished dashboards β€” what an operator sees after signing in. Everything here is built from the widgets, templates and standard screens described above; the left menu is the user's runtime menu (Static headings with Dynamic screens beneath, assigned per user).

Inspiration, not a fixed layout Your screens will look however you design them β€” these are examples from real deployments across energy, electrical, solar, water and HVAC. (Branding/colours differ because each belongs to a different customer portal.)

Energy & electrical monitoring

Operator energy overview dashboard
Energy Overview β€” KPI cards (COβ‚‚, total/avg consumption, running & max load), a stacked Grid / Solar / DG daily bar with a benchmark line, and donut + rose breakdowns by area. Built from Stat, Bar, Donut and Rose widgets bound to realtime/historical tags.
Operator single-line diagram dashboard
Single Line Diagram (SLD) β€” Transformer / DG / Solar feeding HVAC, Factory, Admin and Utility with live values and Normal status bars. The tabs (AMP, VOLT, PF, KW, KVA, KVAR, Harmonics, Unbalance, Load %) switch the parameter shown across the whole diagram.
Operator per-feeder detail dashboard
Feeder dashboard (template) β€” meter, feeder details, live gauges (Voltage / Current / Power Factor) and an energy trend, with Energy / Power / Voltage / Current / PF / Harmonics / Diagnostic tabs. Built as a template bound to Parameters, so the same screen serves every feeder.
Energy distribution and ranking dashboard
Energy Distribution β€” source pie (Grid/Solar/DG) + area donut + a consumption ranking bar of the biggest loads. A typical Analysis screen for spotting where energy goes.
Real-time parameter table dashboard
Real-Time Table β€” all key parameters (V, I, PF, power, energy, THD, unbalance) for each source side by side, with live status ticks. A Standard Screen.
Consumption heatmap dashboard
Consumption Heat Map β€” every machine/feeder (rows) by hour (columns), colour-graded from low to high. Instantly reveals usage patterns and peaks.

Industry examples

Solar plant monitoring dashboard
Solar plant β€” panel details (irradiance, wind, temperature), electrical parameters, grid-export vs self-consumption, achieved-target energy and a KPI panel (yield, performance ratio, COβ‚‚, up/down time).
Water and flow monitoring dashboard
Water / flow monitoring β€” multiple flow meters with circular gauges and totalizers, plus consumption bars and flow-rate trends. The same platform handles water, gas and steam.
HVAC chiller plant process mimic dashboard
HVAC plant mimic β€” an animated chiller-plant one-line: cooling tower, chillers, pumps and valves with live temperatures, flow arrows, AUTO/RUN/OPEN status and ON/OFF command buttons. Full SCADA-style monitoring & control on a configurable screen (Overview / Chiller / AHU / Alarm-Event tabs).

More example dashboards will be added to this gallery.

Scripts Admin

Scripts let you add custom logic in JavaScript β€” read tags, do calculations, write results back to tags or memory tags, send emails/notifications, and more. MatrixIQ runs scripts in four different ways, each with its own page under the Scripts menu:

Script type (menu)Runs when…Typical use
Value Change (on-change)A watched tag's value changes.React instantly to an event β€” e.g. raise a flag when a level crosses a limit.
IntervalEvery fixed time interval (e.g. every N minutes).Periodic calculations β€” rolling averages, efficiency, totals.
ScheduleAt a scheduled time.Time-of-day logic β€” start-of-shift resets, nightly roll-ups.
User Action (on-click)An operator clicks a button widget on a dashboard.Manual actions β€” write a setpoint, trigger a sequence, acknowledge.

Each type has its own list page (e.g. Interval Script Management). Click Create Script to add one:

Interval Script Management list with the Create Script dialog, key areas numbered 1 2 3 4 5 6 7 8

Device vs. global scripts

When you create a script you choose whether it is tied to specific devices or runs globally. This changes what you can reference inside it:

The script editor

Open a script to get a full-screen code editor with four actions along the top:

ButtonWhat it does
Insert DataOpens a picker to drop a reference into the code at the cursor β€” a Tag/Parameter/Memory Tag, a Tag Group, a Device Name, a User Group, a Recipe, a Time Span, or a built-in Function. No need to memorise IDs.
Save ScriptSaves the current code.
Test ScriptRuns the script once and shows the output in the log panel at the bottom β€” add print(...) lines to see values while debugging.
BackReturns to the script list.
Script code editor with the key areas numbered 1 2 3 4 5 6
Built-in functions The Insert β†’ Function list includes ready-made helpers. If your licence enables them you also get await sendEmail(to/UserGroup, cc, subject, body, fileNameWithPath, attempt) and await sendAppNotification(messageType, UserGroup, title, body) for alerts straight from a script.
Test before relying on it Always use Test Script and read the log before enabling a script that writes tag values β€” a script that writes to a control tag affects the live process.

Built-in Script Functions

The Insert Data β†’ Function list gives you ready-made async helpers β€” there are a lot, so they're grouped below by what they do. Each is called with await (e.g. let v = await read('TagName')). The reference categories also appear under Script Functions in the navigation menu (click to expand).

Common parameters
  • tagName / tagNames β€” a single tag, or several tags, inserted from the picker (works with tags, memory tags and parameters).
  • timeSpan β€” the time window for historical functions: 1/5/10/15/30 min, 1/4/6/8/12 hour, 24 hour running, 24 hour completed, Today, Yesterday, Week, Month, Year.
  • timeReference / startTimes β€” anchor the window to a reference point / explicit start time instead of "now".
  • interval β€” for the …WithInterval functions, the bucket size the window is split into (returns a series, one value per bucket).

Reading & writing tags

FunctionWhat it does
await read(tagName)Returns the current value of a tag.
await write(tagName, value)Writes a value to a tag (device or memory tag).
await writeTagGroup(tagGroupName)Writes values across every tag in a tag group in one call.
await increase(tagName, value)Adds value to the tag's current value.
await decrease(tagName, value)Subtracts value from the tag's current value.
await bitMap(sourceTag, bitPosition, destinationTag)Reads the single bit at bitPosition of sourceTag and writes it to destinationTag.
await writeBitMap(tag, bitPosition, tag/value)Sets the bit at bitPosition of tag from another tag or a literal value.
await recipeSetter(recipeGroup, recipeName, device)Applies the named recipe's set-point values to a device.

Historical aggregations

Each reduces a tag's stored history over a timeSpan to a single number.

FunctionWhat it does
await getSum(tagName, timeSpan, timeReference, startTimes)Total (sum) of the values in the window.
await getLastValue(tagNames, timeSpan, timeReference, startTimes)The most recent value within the window.
await getMeanValue(tagNames, timeSpan, timeReference, startTimes)Average (mean) over the window.
await getMinValue(tagNames, timeSpan, timeReference, startTimes)Minimum value in the window.
await getMaxValue(tagNames, timeSpan, timeReference, startTimes)Maximum value in the window.
await getDeltaSum(tagNames, timeSpan, timeReference, startTimes)Sum of incremental increases β€” ideal for ever-rising counters (energy, pulses).
await getDiffvalue(tagNames, timeSpan, timeReference, startTimes)Net change = last βˆ’ first value across the window.
await getNegativeVectorSum(tagNames, timeSpan, timeReference, startTimes)Signed/vector sum that accounts for direction β€” for import/export-style signed values.

Interval aggregations

The same reductions, but the window is split into interval buckets and a series is returned (one result per bucket) β€” handy for building report rows or trend arrays.

FunctionWhat it does
await getMeanValueWithInterval(tagNames, timeSpan, interval, timeReference, startTimes)Average per interval bucket.
await getLastValueWithInterval(tagNames, timeSpan, interval, timeReference, startTimes)Last value per interval bucket.
await getSumValueWithInterval(tagNames, timeSpan, interval, timeReference, startTimes)Sum per interval bucket.
await getMinValueWithInterval(tagNames, timeSpan, interval, timeReference, startTimes)Minimum per interval bucket.
await getMaxValueWithInterval(tagNames, timeSpan, interval, timeReference, startTimes)Maximum per interval bucket.
await getDeltaSumWithInterval(tagNames, timeSpans, interval, timeReference, startTimes)Incremental-increase sum per interval bucket.
await getDiffValueWithInterval(tagNames, timeSpan, interval, timeReference, startTimes)Net change per interval bucket.
await getNegativeVectorSumWithInterval(tagNames, timeSpans, interval, timeReference, startTimes)Signed/vector sum per interval bucket.

Alarm set-points

Set a tag's alarm threshold values at run-time (e.g. from a recipe or shift schedule).

FunctionWhat it does
await setAlarmHiHi(tagName, value)Set the HIHI (critical-high) threshold.
await setAlarmHi(tagName, value)Set the Hi (warning-high) threshold.
await setAlarmLow(tagName, value)Set the Low (warning-low) threshold.
await setAlarmLowLow(tagName, value)Set the LOWLOW (critical-low) threshold.

Utilities & integration

FunctionWhat it does
await getOnlineStatus(tagName, timeInSeconds)Returns whether the tag has updated within the last timeInSeconds β€” a freshness/online check.
await publishMQTT(deviceName, topic, data)Publishes a custom message to the MQTT broker on the given topic.
await writetimeline(deviceName, event, description, color)Writes an event entry (with a colour) to a device's timeline/event log.
await asciiConverter(data)Converts data to/from its ASCII representation.
await ping(ip/url)Checks whether a host or URL is reachable.
await sleep(time ms)Pauses the script for the given number of milliseconds.
await print(value)Outputs a value to the Test Script log panel β€” your main debugging tool.

Email & notifications Licensed

These two appear in the Function list only when enabled in your licence.

FunctionWhat it does
await sendEmail(to/UserGroup, cc, subject, body, fileNameWithPath, attempt)Sends an email (optionally with an attachment by path) to an address or user group; attempt controls retries. Requires the Email feature.
await sendAppNotification(messageType, UserGroup, title, body)Pushes an in-app notification to a user group. Requires the Notification feature.
Always Test first Functions that write (write, increase, recipeSetter, the setAlarm… setters, publishMQTT) change the live system β€” use Test Script and read the log before enabling the script.

Schedulers Admin

A Scheduler automatically drives a Parameter value on chosen days within a daily time window β€” ideal for "on during working hours" style control (lighting, HVAC, pumps) without writing any code. Open Scheduler Management; each row shows Schedule Name, Parameter, Status, Days, Start Time, Stop Time.

Scheduler Management with the Create Schedule dialog, key areas numbered 1 2 3 4 5 6 7 8

Creating a schedule

  1. Click Create and give the schedule a name (stored UPPERCASE).
  2. Pick the Device(s) and the Parameter to drive.
  3. Select the Days of the week it should run.
  4. Set the Start Time and Stop Time for the daily window.
  5. Set Status to Active and save. MatrixIQ warns you if it overlaps an existing schedule on the same parameter/days/time.

Parameters & Recipes Admin

Parameters

A Parameter is a logical measurement name β€” e.g. VOLTAGE L-N AVG, REAL POWER TOTAL β€” that you map onto the physical tag carrying that reading on each device. Bind a widget, report column, scheduler or script to the parameter and it automatically follows the correct tag on every device. This is what makes templates and multi-device reports possible.

In practice Most parameters are simply created while you tag a device β€” you rarely need to visit the dedicated screen unless you want to pre-load or bulk-import a standard set.

Recipes

A Recipe Group is a named set of target/setpoint values for a product or batch. Operators select a recipe on a dashboard and the system applies/compares those targets. Recipes are surfaced through dashboard widgets:

Alarms & Rules Both

Alarms watch your tags and raise an event when a value crosses a limit. There are two levels:

Alarm rule list with the Create Rule dialog, key areas numbered 1 2 3 4 5 6 7 8

Creating an alarm rule

  1. From an alarm, click Add Rule and give the Rule Name.
  2. Bind it to Tag(s), or to a Device + Parameter (so the same rule works across devices).
  3. Set the threshold values you need β€” Hi, HIHI, Low, LOWLOW β€” each with an optional Alias (a friendly message such as "Warning" / "Critical").
  4. Optionally pick an Interlock Tag (parent condition) β€” the alarm only fires while that tag is in the active state, which suppresses nuisance alarms (e.g. only alarm on temperature while the machine is running).
  5. If licensed, choose a User Group to receive an email and/or an app notification when the rule trips.
  6. Save. Live alarms appear on the alarm screens/widgets where operators can acknowledge them.
Four severity bands HIHI > Hi for rising trips, and Low > LOWLOW for falling trips β€” use the two outer bands (HIHI/LOWLOW) for critical limits and the inner bands (Hi/Low) for early warnings.

Escalation & Notifications Admin

An Escalation makes sure an unacknowledged alarm reaches the right people in stages. Open Alarm Escalation and create a chain:

  1. Give the escalation a name and set Type = ALARM.
  2. Pick the Group / Alarm and the specific Rule it applies to.
  3. Add escalation levels β€” each level has a Delay Time (minutes) and a User Group. If the alarm is still unacknowledged after the delay, the next group is notified.

Email & notification setup

For alarm emails, scheduled reports and script emails to work, configure delivery once under Email Settings:

Scheduled emails

The Emails screen (Alarms & Notifications β†’ Emails) sends automated emails on a schedule β€” for example a Daily Report delivered every morning, or an alarm digest. Click Create Email and configure it:

Email Management with the Edit Email dialog, key areas numbered 1 2 3 4 5 6 7 8 9

App/push notifications are sent to User Groups and require the notification feature in your licence.

Reports Both

Reports turn historical tag data into Excel and PDF documents, generated on a schedule and optionally emailed out. Open Reports Management; each row shows the Report Name, its Start Time and a Report Config action.

Reports Management with the Edit Report dialog, key areas numbered 1 2 3 4 5 6 7 8 9

Creating a report

  1. Click Create Report, enter a Report Name and a Start Time (when the report is generated each cycle).
  2. Set the Default Interval β€” the data resolution: 1 / 5 / 10 / 15 / 30 min, Hour, Day, Week or Month.
  3. Tick the output format(s): Excel and/or PDF.
  4. Upload your Excel template (.xls / .xlsx) β€” this is the heart of a customised report (see below).
  5. If you ticked PDF, set the PDF Report Config (page numbering & header/footer β€” see below). Click Create.

Customised reports from an uploaded Excel template

Instead of a fixed layout, MatrixIQ builds each report into your own Excel workbook. You design the spreadsheet exactly how you want it β€” logo, headings, fixed text, formulas, merged cells, formatting β€” leaving empty cells where live data should land. MatrixIQ then fills those cells from your tags every time the report runs. The result always matches your house style.

Step 1 β€” Design & upload the template

Step 2 β€” Open Report Config and pick a sheet

From the report's Report Config action you reach the rule page. First use Select sheet to choose which sheet of your workbook you're mapping; the rule tools only appear once a sheet is selected. Each rule you add is listed with its Rule Name, Rule Type and Location.

Step 3 β€” Add rules that place data into cells

The Report Config menu offers four rule types β€” pick the one that matches the shape of the area you're filling:

Rule typeFills…You specify
Cell ConfigOne single cell.Cell Address (e.g. B5), the Tag, a TimeSpan, and the Rule (aggregation).
Row ConfigA row, filling across columns over time.Row No., Start Column, Tag, TimeSpan, Rule and a TimeInterval β€” each interval bucket lands in the next column across.
Column ConfigA column, filling down rows over time.Column, Start Cell, Tag, TimeSpan, Rule and a TimeInterval β€” each interval bucket lands in the next cell down.
Table ConfigA whole tabular block.Table Type (Device table, TagGroup, Timeline or Token), the table/source, a Start Cell and TimeSpan.

Here is a Cell Config rule being edited on the COST_ANALYSIS sheet β€” the rule list shows each rule's Location (the cell it fills):

Report rule list with the Update Cell Config dialog, key areas numbered 1 2 3 4 5 6 7 8 9
Same dialog for the others Row, Column and Table rules use the same form, just with their own position field (Row No. / Column / Start Cell) and a TimeInterval.

Step 4 β€” Choose what value lands and how it's calculated

For each rule:

Step 5 β€” (Optional) conditional formatting

Any rule can colour its cell based on a Setpoint + Condition (< > >= <= == !=): set a Font Color and Background Color that apply when the condition is met β€” e.g. turn a cell red when a value exceeds its limit. This makes exceptions jump out in the finished sheet.

PDF header/footer & page numbers

When PDF is enabled you can add up to 6 header/footer lines, each with a Label and a position (Top/Bottom Γ— Left/Center/Right). Labels support placeholders that are filled at generation time: $name (user name), $email, $date, $time. Page numbering can be Page, Page of or None, at a chosen position.

Reuse, test & deliver

Golden rule β€” bind to Parameters, not raw tags A report mapped to Parameters works for every device that carries those parameters, so one template + rule set covers your whole fleet.
Keep template & rules in sync The cell addresses in your rules must match the blank cells in the uploaded workbook. If you rearrange the spreadsheet, re-upload it and update any rule whose Cell Address / Start Cell / Row / Column moved.

Downtime & KPIs Both

The Downtime Reporting System (DTRS) captures why equipment stopped and turns it into KPI reports. Its management screen is organised into tabs:

TabPurpose
Cause ListsMaintain the master list of downtime causes/reasons operators can pick from.
RulesDefine what counts as downtime β€” the tag + set point that marks a stop, the cause list it uses, and its timing/ticket settings.
Acknowledge DashboardWhere operators tag each downtime event with a cause.
Reporting DashboardDate-wise / frequency downtime reports for analysis (Pareto of causes, totals).

Operators acknowledge stoppages on the Acknowledge Dashboard, assigning a cause to each event; the reporting dashboard then summarises downtime by cause and period.

Downtime Reporting System (Rules tab) with the Rule Management dialog, key areas numbered 1 2 3 4 5 6 7 8

KPIs

The KPI module builds dashboards that roll your tags up into key performance indicators (availability, consumption per unit, efficiency…), designed in the same builder as normal dashboards.

Ticket Manager Both

The ticketing modules turn problems into trackable maintenance jobs. There are a few co-operating pieces:

ModuleRole
Ticket CreatorThe rules/definitions that automatically raise tickets from breakdown conditions.
User Ticket UserWhere an operator manually raises a ticket β€” pick the Maintenance, the Device, the Breakdown Type (Full / Partial Breakdown) and the User Group to assign it to.

Together they cover the life-cycle: a fault is detected (automatically or reported by an operator) β†’ a ticket is created and assigned to a user group for action.

Integrations Admin

MatrixIQ connects outward in three ways:

Node-RED

NodeRed Management lets you build low-code automation flows alongside the platform (transform data, bridge to other systems, custom logic) without changing MatrixIQ itself. Requires the Node-RED feature in your licence.

API access

API Management shows your installation's API token with a one-click copy. Pass that token to external applications so they can read your data over the MatrixIQ API. Treat the token like a password β€” anyone holding it has API access. Requires the API feature in your licence.

Keep the token secret Don't paste the API token into shared chats, screenshots or public code. If it leaks, regenerate it so the old one stops working.

OPC-UA Server

As covered under System Configuration β†’ OPC-UA Server, MatrixIQ can publish its tags to external OPC-UA clients β€” the standard way to feed another SCADA, MES or historian.

User Management & Licensing Admin

The Admin account owns the system and builds everything; the Users the Admin creates are the people who actually run the plant day-to-day. The two login kinds are chosen on the sign-in page: the single Admin, and the Users.

What is the "runtime environment"? When a User logs in they do not see the configuration tools or the dashboard builder. They land in a runtime β€” a clean menu of just the dashboards the Admin assigned to them, which they open to monitor and interact with the live process. So the Admin can make many operators, each seeing exactly the screens relevant to their role/area and nothing else.
User Management with the Update User dialog and User Groups, key areas numbered 1 2 3 4 5 6 7 8 9

Creating a user

Open User Management β†’ Add User and fill in:

FieldMeaning
Email / PasswordThe login credentials (validated for strength).
Name, Mobile, Department, AddressContact / identification details.
Security LevelA number from 1–10 that ranks the user's privilege. Widgets, write actions and screens can require a minimum level, so higher numbers unlock more.
StatusActive / inactive β€” only active users can log in, and only active users count against the licence (see below).

Validity (Activation Type)

Each user has a validity set by the Activation Type:

Session timeout

Turn on Session to auto-log-out a user after an idle period β€” set the idle Time (min) (e.g. 1, 2, 5, 10, 15, 20, 25, 30). This protects an unattended operator station: after the timeout the runtime locks and the user must sign in again.

Login attempts On the sign-in page, accounts of kind User get 3 attempts before being blocked; the Admin then has to unblock them. (The Admin login isn't limited the same way.)

Creating the login is only half the job β€” you then decide which dashboards that user can open. From a user's row choose Link Dashboard and Assign New Dashboard. This builds the menu the operator sees in their runtime. Each assignment has a Dashboard Type:

TypeWhat it isYou provide
StaticA menu label / folder β€” a heading to group entries under. It isn't a screen itself; it organises the menu so a long list stays tidy.Just a name.
DynamicA real, clickable dashboard the user opens. If it's a template screen, you also bind it to a specific device so the same template serves the right data.Select Dashboard (and, for a template, Select Screen + Device Name), plus an optional Alias Name.

Aliasing the menu entry

The Alias Name is the friendly label the user sees in their menu instead of the dashboard's real name. So one master dashboard called FEEDER_TEMPLATE_V2 can appear to operators simply as β€œFeeder 1”, β€œFeeder 2”, etc. β€” each alias pointing at the same template bound to a different device. If you leave the alias blank, the real dashboard name is shown.

Build the menu like a tree Use a few Static entries as section headings (e.g. β€œElectrical”, β€œUtilities”) and assign the Dynamic dashboards beneath them with clear aliases. The operator gets a clean, self-explanatory navigation tailored to their area.
Link Dashboard β€” a user's menu tree with the Assign New Dashboard dialog, key areas numbered 1 2 3 4 5 6 7 8

User Groups

A User Group (give it a Group Name and add members) is how alarms, escalations, reports and script notifications address people β€” you send to a group, not to individuals, so membership changes don't break your alerts.

Licensing

What your installation can do is controlled by its licence (visible on the Admin profile). The licence defines:

Feature missing from your menu? If a module described in this manual isn't visible, it's almost certainly not enabled in your licence β€” contact your MatrixIQ supplier to upgrade it.

Admin & Backups Admin

The Profile Management screen (Admin profile) is the system's control panel β€” your details, look & feel, backups and software updates.

Profile Management β€” details, License Details and About Us, key areas numbered 1 2 3 4 5 6 7

Auto-Backup configuration

Open Profile β†’ Auto Backup to schedule automatic database backups so you never lose configuration or history:

SettingMeaning
Storage typeLocal (a directory on the server) or Cloud (FTP) (uploaded to an FTP server).
Backup FrequencyDaily or Monthly.
Execution Time / Start Date & TimeWhen the backup runs each cycle (a daily time, or a start date-time for monthly).
Storage Path / Directory(Local) where backup files are written. The path is validated before saving.
FTP Host / Port / User / Password(Cloud) the FTP destination credentials (default port 21).
Retention FilesHow many backup files to keep before the oldest is removed (default 3).
FDM Data Auto Backup configuration screen with the key areas numbered 1 2 3 4 5 6 7
Test your backups After configuring, confirm a backup file actually appears at the path / FTP destination. A backup you've never verified is not a backup. Keep at least a few days of retention so you can roll back to a known-good state.

Glossary

Key terms used throughout MatrixIQ and this manual:

TermMeaning
ConnectionA link to a system over a protocol (Modbus, OPC-UA, MQTT…). Devices live under it.
DeviceA unit you read from (a meter, PLC, sensor) under a connection.
PollA read instruction β€” what registers/addresses to read from a device and how often.
TagOne data point with a live value, time, status and data type.
Memory TagA virtual tag whose value is set internally (scripts, manual entry, calculations) rather than read from a device.
ParameterA logical measurement name (e.g. VOLTAGE L-N AVG) mapped to the physical tag carrying it on each device β€” the basis of templates and multi-device reports.
Tag GroupA reusable named set of tags.
Dashboard / ScreenA configurable canvas of widgets bound to tags.
WidgetA single dashboard element β€” gauge, chart, table, button, image.
TemplateA dashboard built against parameters so it can be reused across many devices.
Realtime vs HistoricalA widget either streams live values (via the MQTT broker) or queries stored history.
Benchmark / Set-pointA reference value/line a widget compares the live value against.
Alarm / RuleA watched condition (Hi/HIHI/Low/LOWLOW thresholds) that raises an event.
EscalationA staged notify chain for unacknowledged alarms.
RecipeA named set of target/setpoint values for a product or batch.
JobA tracked production run measured against a recipe and target.
Security LevelA 1–10 privilege rank on each user; actions/screens can require a minimum level.
SCADASupervisory Control And Data Acquisition β€” monitoring and control of industrial processes.
MQTTA lightweight publish/subscribe messaging protocol; MatrixIQ uses it to push live tag values to dashboards.
OPC-UAAn industrial interoperability standard; MatrixIQ can be both a client (reading) and a server (publishing).

Troubleshooting

Common issues and where to look first:

SymptomLikely cause & fix
A connection stays OfflineDevice/endpoint unreachable, wrong IP/port/COM/unit-ID, mismatched serial parameters, or the connection is set to Deactive. See Connections.
No live data on realtime widgetsCheck the widget's Type = Realtime and that it's bound to a tag; then check the system MQTT broker in App Settings (historical/report data uses the database and is unaffected).
Numbers look garbled (huge/tiny/jumpy)Wrong register word/byte order β€” try the matching …Swap data type; check scaling (min/max raw vs scale) and multiplier/offset.
Locked out / "3 attempts"User accounts are blocked after 3 failed sign-ins; the Admin unblocks them in User Management.
Can't activate a user ("limit exceeded")You've hit the licence's active-user count β€” deactivate another user or upgrade the licence.
A module is missing from the menuThat feature isn't enabled in your licence β€” contact your supplier.
Report / alarm email not arrivingCheck Email Settings (SMTP / SES) and that the recipient User Group is set on the report/rule. See Email & notification setup.
A widget won't save / persistMake sure you clicked Save (or Ctrl+S) in the builder; required config fields (e.g. a bound tag) must be filled.
Backup not appearingVerify the storage path / FTP credentials in Auto-Backup (the path is validated on save) and that the frequency/time has elapsed.