About the MaintainX Ignition Module
| Platform: | WebMobile |
|---|---|
| Plan Type: | BasicEssentialPremiumEnterprise |
| User Type: | RequesterFull UserAdministrator |
MaintainX Ignition Module allows you to stream real-time tag data into MaintainX to powers condition-based maintenance, asset tracking, asset status changes, usage-based maintenance, insights, and alerts. The module maps Ignition tag data to meters in MaintainX, where you can set up thresholds and conditions to trigger work orders or notifications.

Requirements
-
Supported Ignition Version: We support Ignition versions greater than
8.1.3but within the8.1.xseries. -
Ignition Gateway: Access to your Ignition Gateway with a user who has an Administrator role with the following permissions:
- Gateway Config Permissions.
- Gateway Status Permissions.
-
Tags: configured in Ignition.
-
MaintainX Account: Integration Connectors permissions. Please contact your organization's Administrator to request access to the OT Data Connectors feature.
Limitations
- The module uses a self-signed certificate.
- The module only supports non-complex tag types.
- The module has a limit of 5000 tags.
Key Concepts
Monitoring Tag Paths and Folders
Select tags to monitor by adding tag paths or entire folders.
If you add tags to a folder that's already being monitored, they are automatically discovered and added to MaintainX. A rescan of the folder is automatically triggered every hour to ensure new tags are picked up.
If you want to force a rescan, you can do so by going to the MaintainX Module Settings page in the Ignition Gateway and clicking Save changes.
Tag Updates
To reduce bandwidth consumption and noise, the MaintainX Ignition Module module only sends data when a tag value changes. It also supports batching of multiple updates to reduce the number of messages sent. Once it has enough data to complete a batch, it sends the data without waiting for the next update.
Tag Filtering
To manage tag updates efficiently, the MaintainX Ignition Module applies a combination of Time-Based Hysteresis and Token Bucket filters. These filters help reduce noise so the system isn't overwhelmed with too many updates. When a tag update is filtered, it is not sent to MaintainX.
Time-Based Hysteresis
Time-Based Hysteresis filters out minor changes if the new value is within 1% of the last accepted value. It still allows an update if too much time has passed (1 second) since the last accepted value. This prevents jitter, while ensuring periodic updates.
Example:
| Time (ms) | New Value | Data Sent to MaintainX? |
|---|---|---|
| t = 0 | 100 | ✅ Yes |
| t = 100 | 100.5 | ❌ No, because this is a minor change (≤ 1%) that occurred within less than one second of the last accepted value. |
| t = 1000 | 100.5 | ✅ Yes, because one second or more has elapsed since the last accepted value. |
Token Bucket Filtering
Token Bucket Filtering allows short bursts of 5 updates, then enforces a steady rate of 1 update per second. This ensures that the system can handle spikes in data then smooths out the flow of updates.
Example:
| Time (ms) | Tokens Left | Bucket refill Triggered | Data Sent to MaintainX? |
|---|---|---|---|
| t = init | 5 | N/A | N/A |
| t = 0 | 4 | No | ✅ Yes |
| t = 100 | 3 | No | ✅ Yes |
| t = 200 | 2 | No | ✅ Yes |
| t = 300 | 1 | No | ✅ Yes |
| t = 400 | 0 | No | ✅ Yes |
| t = 500 | 0 | No | ❌ No (rate limited) |
| t = 1000 | 0 → 1 → 0 (refill to 1, then consume 1) | Yes (1 token) | ✅ Yes |
| t = 1100 | 0 | No | ❌ No (rate limited) |
| t = 5000 | 0 → 5 → 4 (refill to 5, then consume 1) | Yes (5 tokens) | ✅ Yes |
Supported Tag Types
The MaintainX Ignition Module supports the following tag types:
IntegerFloatStringTextDatetimeBoolean
It doesn't support complex tags such as UDTs or arrays. If you provide a folder path as input, invalid tags are ignored.
Meter Naming
MaintainX derives meter names from tag paths. For example, if the Ignition tag is:
default/Boiler1/Temperature
The MaintainX meter name will be:
Boiler1_Temperature
Learn More
To learn more about how to setupand use the MaintainX Ignition module, see the following: