Skip to main content
Version: Next

Glossary

The terms the rest of the documentation uses, each in a sentence or two. Where the API uses another word for the same thing, the entry says so.

A​

Acknowledged An alarm state: the condition still holds and someone has acknowledged it. An acknowledged alarm whose condition ends goes straight to normal.

Alarm A condition on one tag (greater, less, equal, notEqual against a setpoint, with a deadband and an on-delay) that the gateway evaluates against every value it accepts for that tag. Alarms can also be defined once on a tag type's member, for every instance. See Alarms.

Alarm states normal (condition false, nothing outstanding), active (true, not acknowledged), acknowledged (true, acknowledged) and cleared (false, awaiting acknowledgement). An outstanding alarm is also marked stale when its tag's value cannot be trusted.

API key A secret created by an admin under Gateway > Security > API keys, with a role up to engineer and an optional expiry, used as Authorization: Bearer scx_... on the REST API. The secret is shown once and stored hashed. Keys do not open /sync. See API keys.

B​

Binding The opaque JSON document that tells a driver where a tag's value comes from: an OPC UA node id, an MQTT topic and payload format. The gateway stores it and never interprets it; a tag's external ownership is the tuple (module, connection, binding).

C​

Checkpoint Every hour on the hour (EventBackbone__CheckpointInterval) the gateway publishes each tag's last value to its own JetStream stream, so a replay can start from a known state rather than from the last change. Kept for the value retention plus two hours.

Cleared An alarm state: the condition ended but nobody has acknowledged the alarm, so it stays outstanding until someone does.

Connection A configured device or broker that a driver module talks to: an OPC UA server or an MQTT broker, with its address, credentials and security settings. Stored as module state, encrypted. Database connections (Postgres, SQL Server, MySQL) are a separate kind under Connections > Databases.

Cron job A job in the io.scadex.cron module: a five-field cron schedule in its own time zone that either runs a script in the gateway's sandbox or writes one fixed value to one tag. Every run is kept with its log, writes and outcome. See Cron.

D​

Dashboard The gateway's web UI, a React single-page app served by the gateway itself from the same origin as the API. Everything the dashboard does goes through the REST API and /sync.

Derived tag A tag kind that follows another tag, optionally one property of a structured value or one bit of a status word, carrying the source's quality and timestamp.

Driver A module that connects to a device or broker and publishes tag values: OPC UA and MQTT today. A driver declares its connection fields in a descriptor, and the gateway maps the same connect, test, browse, select and create-tags workflow for every driver.

E​

Engineer The role that configures tags, tag types, screens, start screens and driver connections. See Role.

Event backbone NATS JetStream, the internal event timeline for tag values and metadata. A value is accepted only after JetStream has persisted it. The appliance bundles its own NATS server; it is a hard runtime dependency, not an option.

Event stream An outbound feed configured under Automation > Event streams: tag paths (or Folder.*) batched by age or count and sent to a webhook, with refused batches kept in memory and resent. See Event streams.

Expression tag A tag kind whose value is a JavaScript function body over tag(path) and tags[path], run in the script sandbox. Its quality is the worst of its inputs. See Expression tags.

G​

Gateway The server: the .NET tag runtime that owns tag identity, state, events, durability, replay, security and the public APIs, and hosts the modules. One gateway is one container.

@gateway tags Diagnostic tags the gateway makes about itself: @gateway.version, @gateway.uptime, @gateway.module.*, @gateway.time (the clock) and @gateway.tz live only in memory and are read-only; @gateway.performance.* are real tags with history. Names starting with @ are reserved for Scadex.

H​

Historian The io.scadex.historian module, which keeps every accepted value of every tag in its own SQLite file for 90 days by default, far beyond what the event backbone retains, and answers history reads while it runs. See Historian.

I​

Identity provider An OpenID Connect provider configured under Gateway > Security > Sign-in providers, shown on the sign-in page as Sign in with .... A first sign-in gets an admin-chosen role, never admin. See Identity providers.

Instance A tag created from a tag type: a group of member tags that follow the type's definition, with the type's parameters filled in. An instance can also carry tags its type has no member for.

J​

JetStream The persistence layer of NATS that the event backbone is built on. Values, metadata and checkpoints each have a stream with its own retention.

M​

Member One entry of a tag type: the definition of the tag each instance gets at that path, with its kind, binding, scaling and alarms. A member can be a nested type, which puts that type's members under a prefix.

Memory tag A tag kind whose value the gateway keeps itself, with no device behind it. Its scope is gateway (shared), user (per user) or session (one /sync connection).

Mode A named gateway state under Gateway > System > Modes, one of which is active, set by an admin. Nothing in the gateway reacts to the active mode yet. See Modes.

Module An optional component loaded by the gateway from a folder with a module.json: drivers, the historian, cron jobs. Each has its own version and licence, loads in its own collectible context, and can be installed, started, stopped and removed while the gateway runs. See Modules.

O​

Operator The role that may write to tags. See Role.

P​

Parameter A named value of a tag type, set per instance, that is substituted into members' bindings, servers, source tags, expressions and alarm names as {Name}. Built-ins such as {InstanceName} and {TagName} are filled the same way.

Pipeline An alarm pipeline, configured under Alarms > Pipelines: an admin-set rule that sends a JSON webhook when an alarm goes active, is acknowledged or clears, above a minimum severity and after an optional wait. See Alarm pipelines.

Popup A screen opened over another one by a widget's action (openPopup), used for faceplates and commands. See Templates and popups.

Q​

Quality How far a value can be trusted: Good, Uncertain or Bad, with a qualityDetail saying why. A module that stops marks its tags Bad; an expression error gives Bad; alarms only raise and clear on quality they can trust.

R​

Replay Playing the recorded past back to one /sync socket: tag values, the gateway clock and alarms, at recorded pace. It is private to that socket and never touches live state. In the dashboard it is a mode of the whole browser, started from the clock in the top bar. See History and replay.

Role What a user may do: viewer (read, subscribe, replay), operator (also write to tags), engineer (also configure), admin (also manage users, read the audit log, install modules). Each role includes the one before it. See Users and roles.

S​

Screen A drawn page of widgets bound to tags, made in the designer and run in the dashboard. The API calls screens views. See Screens.

Start screen A named entry that opens one screen, optionally limited to chosen roles, listed in the Screens area of the rail. There are no projects: one shared set of screens and any number of start screens. See Start screens.

/sync The gateway's authenticated WebSocket, carrying {event, data} JSON frames: tag subscriptions and writes, alarm frames, replay, screen events. Its upgrade must come from a trusted origin. See Sync.

T​

Tag A named value with a stable public id, a kind, a quality and a timestamp, organized in a dotted path (Line1.Motor.Speed). Every value the gateway holds is a tag. See Tags.

Tag kinds Memory (kept by the gateway), driver-bound (read from a connection through a binding), derived (follows another tag or one bit of it), expression (computed by a script) and system (the gateway's own, such as @gateway.performance.*).

Tag type (UDT) A reusable definition of a group of tags with parameters, members and alarm templates; the API calls it a UDT. Instances are made from it, a type can extend another, and some types ship with Scadex under @types.built-in. See Tag types.

Template A screen with parameters that other screens place as a part, so one drawing serves many devices. See Templates and popups.

V​

View The API's name for a screen.

Viewer The role that reads everything, subscribes and replays, and changes its own preferences. See Role.

W​

Widget One component on a screen: a value, a symbol, a trend, a button, a field. Each has properties bound to tags or expressions and events that can run screen scripts. See Widgets.