Skip to main content
Version: 2.0-dev

Ignition Ignition Integration Guide

Connect MaestroHub to Inductive Automation's Ignition Gateway for seamless tag browsing, reading, writing, and real-time subscriptions. This guide covers connection setup, function authoring, and pipeline integration.

Overview

The Ignition connector provides:

  • WebSocket-based communication with the Ignition Gateway via the MaestroHub Ignition Module
  • Interactive tag browsing to discover tags, folders, and UDT instances across all tag providers
  • Efficient read/write operations for single or multiple tags with quality and timestamp information
  • Real-time subscriptions that push tag value changes to your pipelines automatically
  • Parameter templating for dynamic write operations with runtime value binding
Prerequisites

The MaestroHub Ignition Module must be installed and running on your Ignition Gateway. The module provides the WebSocket endpoint and authentication required for MaestroHub connectivity.

Connection Configuration

Creating an Ignition Connection

Navigate to ConnectionsNew ConnectionIgnition and configure the gateway endpoint with the following fields.

Ignition Connection Creation Fields

1. Profile Information
FieldDefaultDescription
Connection Name-A unique, descriptive name for this connection (required, 1-100 characters)
Description-Optional description for this Ignition connection
2. Gateway Configuration
FieldDefaultDescription
Host-Hostname or IP address of the Ignition Gateway (required, minimum 1 character)
Port45280WebSocket port for the MaestroHub Ignition Module (1-65535)
API Token-Authentication token generated from the Ignition Gateway's MaestroHub Module configuration page (optional, stored securely)

Gateway URL Format

The full WebSocket URL is automatically constructed: ws://{host}:{port}
Example: ws://192.168.1.100:45280

3. Advanced Settings
FieldDefaultDescription
Default Tag ProviderdefaultDefault tag provider when paths don't include a provider prefix (e.g., [default])

Common Tag Providers

  • default - Default tag provider
  • System - System tag provider for gateway information
4. Timeout Configuration
FieldDefaultDescription
Connect Timeout (seconds)30Maximum time to wait when establishing the WebSocket connection (5-120 seconds)
Reconnect Interval (seconds)5Time to wait before attempting to reconnect after connection loss (1-60 seconds)
Request Timeout (seconds)30Maximum time to wait for browse, read, or write operations (1-120 seconds)
5. Connection Labels
FieldDefaultDescription
Labels-Key-value pairs to categorize and organize this Ignition connection (max 10 labels)

Example Labels

  • environment: production - Deployment environment
  • gateway: main - Gateway identifier
  • location: plant-1 - Physical location
  • system: scada - System type
Notes
  • MaestroHub Module Required: The MaestroHub Ignition Module must be installed on the Ignition Gateway before creating this connection.
  • Default Port: The standard MaestroHub module port is 45280.
  • API Token: Generate the API token from the Ignition Gateway's MaestroHub Module configuration page. Leave empty in edit mode to keep the existing token.
  • Default Provider: Used when tag paths don't specify a provider prefix (e.g., Motor1/Speed uses the default provider, while [System]Gateway/SystemName uses the System provider).
  • Timeout Recommendations: Use a 30-second connect timeout for reliable connections. Adjust request timeout based on the number of tags being read or written.
  • Security Note: API tokens are stored securely and used for authenticating WebSocket connections.

Function Builder

Creating Ignition Functions

Once the connection is saved:

  1. Go to FunctionsNew Function
  2. Choose Browse Tags, Read Tags, Write Tags, or Subscribe to Tags
  3. Select the Ignition connection profile
  4. Configure tag paths, values, and optional parameters
Ignition Function Creation

Author Ignition functions with tag browser, parameter templating, and validation

Browse Tags Function

Purpose: Browse the Ignition tag hierarchy to discover tags and folders. Navigate through providers, folders, UDT instances, and atomic tags.

Function Type ID: ignition.browse

Testable: Yes

Configuration Fields

FieldTypeRequiredDefaultDescription
Browse PathTextNo"" (empty)Tag path to browse. Leave empty to browse from root. Example: [default]Plant1/Line1
Result LimitNumberNo1000Maximum number of nodes to return (1-10,000)

Use Cases: Browse all tag providers, discover tags in a folder, find UDT instances, explore tag structure

UI Features

  • Use the integrated tag browser to select a path
  • Selecting a folder from the browser sets it as the starting browse path
  • Browse results show node types (Folder, AtomicTag, UdtInstance, UdtType) and data types

Read Tags Function

Purpose: Read current values from one or more Ignition tags. Returns the value, quality, and timestamp for each tag.

Function Type ID: ignition.read

Testable: Yes

Configuration Fields

FieldTypeRequiredDescription
Tag PathsArray of StringsYesArray of tag paths to read (minimum 1 tag, maximum 50 recommended). Example: [default]Motor1/Speed

Input Methods

  • Tag Browser: Select tags from the interactive browser
  • Drag and Drop: Drag tags into the chip list area
  • Manual Entry: Enter tag paths one per line in the textarea

Response Structure

Returns an array of tag values with:

  • path: Tag path
  • value: Current value
  • quality: Quality code (192 = Good, 0 = Bad, 64 = Uncertain)
  • qualityName: Human-readable quality name
  • timestamp: ISO 8601 timestamp

Quality Codes

CodeNameDescription
192GoodTag value is valid and reliable
0BadTag value is invalid or unreliable
64UncertainTag value may be questionable

Use Cases: Read motor speed, get sensor values, check equipment status, read multiple tags at once

Write Tags Function

Purpose: Write values to one or more Ignition tags. Values support templating with ((parameter)) syntax for dynamic values from pipeline input.

Function Type ID: ignition.write

Testable: Yes

Configuration Fields

FieldTypeRequiredDescription
Write OperationsArray of ObjectsYesArray of path/value pairs to write (minimum 1 operation)

Write Operation Object

FieldTypeRequiredDescription
Tag PathTextYesTag path to write to. Cannot be empty or provider-only. Example: [default]Motor1/Setpoint
ValueTextYesValue to write to the tag. Supports literal values (e.g., 1800), parameter templating (e.g., ((value))), or mixed (e.g., ((speed)) rpm)

Parameter Templating

Use ((parameter_name)) syntax for dynamic values:

  • Parameters are detected automatically from value fields
  • Configure parameter types, defaults, and descriptions
  • Parameters are filled in when testing or executing the function

Input Methods

  • Tag Browser: Select tags to add new write entries with pre-filled paths
  • Manual Entry: Add entries manually with the "Add Entry" button
  • Remove Entries: Delete unwanted entries (minimum 1 entry required)

Path Validation

  • Provider-only paths (e.g., [default]) are rejected
  • Full tag paths must be specified (e.g., [default]Motor1/Speed)

Use Cases: Set motor setpoint, update configuration values, write control commands, batch update multiple tags

Subscribe to Tags Function

Purpose: Creates subscriptions to Ignition tags. When tag values change, events are automatically pushed to connected pipelines. This function is event-driven and cannot be tested directly.

Function Type ID: ignition.subscribe

Testable: No (Event-driven)

Configuration Fields

FieldTypeRequiredDescription
Tag PathsArray of StringsYesArray of tag paths to subscribe to (minimum 1 tag, maximum 50 recommended). Example: [default]Motor1/Speed

Input Methods

  • Tag Browser: Select tags from the interactive browser
  • Drag and Drop: Drag tags into the chip list area
  • Manual Entry: Enter tag paths one per line in the textarea

Event Structure

When tag values change, subscription events are pushed with:

  • functionId: ID of the subscription function
  • connectionId: ID of the connection
  • timestamp: Event timestamp
  • payload.values: Array of changed tag values with path, value, quality, and timestamp

Use Cases: Monitor motor speed changes, track sensor value updates, detect status changes, real-time data streaming

Important Notes
  • Subscribe functions are event-driven and cannot be tested directly
  • Events trigger automatically when any subscribed tag value changes in the Ignition Gateway
  • The connection must be active for subscriptions to work

Tag Path Format

Standard Format

Tag paths in Ignition follow the format: [provider]path/to/tag

Examples:

  • [default]Motor1/Speed
  • [System]Gateway/SystemName
  • [default]Plant1/Line1/Sensor_Temperature

Provider Prefix

  • Optional in most cases (uses Default Tag Provider from connection settings)
  • Required when accessing tags from non-default providers
  • Format: [providerName]

Path Separators

  • Use forward slash / to separate path segments
  • UDT instances and folders use the same separator

Node Types

Node TypeDescription
FolderContainer for organizing tags
AtomicTagIndividual tag with a value
UdtInstanceInstance of a User Defined Type
UdtTypeDefinition of a User Defined Type

Data Types

Ignition supports the following data types:

  • Boolean
  • Int1 (8-bit integer)
  • Int2 (16-bit integer)
  • Int4 (32-bit integer)
  • Int8 (64-bit integer)
  • Float4 (32-bit float)
  • Float8 (64-bit float)
  • String
  • DateTime
  • DataSet
  • Document

UI Features

Tag Browser

  • Interactive Navigation: Browse the tag hierarchy in real-time
  • Search Functionality: Find tags quickly
  • Multi-Select: Select multiple tags at once (where applicable)
  • Visual Indicators: Icons show node types and data types
  • Drag and Drop: Drag tags from browser to configuration areas

Tag Chip List

  • Visual Tag Management: See all selected tags as chips
  • Remove Tags: Click the X on any chip to remove it
  • Drag and Drop: Drag tags into the chip list area
  • Validation: Real-time validation of tag paths

Parameter Configuration (Write Functions)

  • Auto-Detection: Parameters in ((name)) format are detected automatically
  • Type Configuration: Set parameter types (string, number, boolean, etc.)
  • Default Values: Specify default values for parameters
  • Descriptions: Add descriptions for each parameter
  • Usage Tracking: See where each parameter is used

Using Parameters

Enclose dynamic values within ((parameterName)) to expose them for validation and runtime binding.

ConfigurationDescriptionExample
TypeEnsure proper coercionnumber, boolean, string, datetime
RequiredMark critical parametersRequired / Optional
Default ValueProvide safe baseline values1800, false
DescriptionDocument usage for collaborators"Motor setpoint in RPM", "Enable production mode"
Ignition Function Parameters

Parameter validation, defaults, and helper text for Ignition write functions

Pipeline Integration

Use the Ignition connection functions you configure here as nodes inside the Pipeline Designer to coordinate tag reads, writes, and subscriptions with downstream logic. Drag in the read, write, or subscribe node, bind parameters to upstream outputs or constants, and fine-tune retries or operator guidance without leaving the canvas.

For orchestration blueprints that combine Ignition with analytics, SQL, or notification steps, review the Connector Nodes page to understand how these nodes fit into broader automation strategies.

Ignition node in pipeline designer

Ignition node with connection binding and parameter configuration

Common Use Cases

Production Data Collection

Poll tags for production counts, cycle times, and process variables, then push results to historians, databases, or analytics platforms.

Supervisory Control

Deliver validated setpoints or mode changes to the Ignition Gateway in response to business logic, alarms, or operator approvals.

Real-Time Monitoring

Subscribe to critical tags and trigger pipelines automatically when values change, enabling real-time alerting and event-driven automation.

Equipment Status Tracking

Read equipment status tags and forward the data to dashboards, MQTT topics, or REST APIs for centralized visibility across multiple systems.