Skip to main content
Technical Preview

Overview

One client-mode connector, SepasoftMES, for Sepasoft MES modules (OEE Downtime, Track and Trace, Settings and Changeover) running on an Inductive Automation Ignition gateway. It moves MES data between your Unified Namespace and the gateway over HTTP. Sepasoft does not publish a fixed REST API. You author REST endpoints yourself in the Ignition Designer with the Sepasoft Web Services module (Web Services, then Providers, then RESTful Endpoints), each one a Python script for GET, POST, PUT or DELETE, and the gateway serves them under /system/ws/rest/<folder>/<resource>. So the connector has three groups of events:
  1. Gateway health, no credentials: /StatusPing and /system/gwinfo.
  2. Generic passthroughs for any Web Services RESTful endpoint or Ignition WebDev resource you already have.
  3. MES presets that call a small companion provider folder, coreflux/v1. Example scripts for it ship with the connector template (sepasoft-provider/), built on documented system.mes.* functions.
Topics follow mes/sepasoft/<object>/<verb>, and each reply arrives on <topic>/response.

Prerequisites

  • An Ignition gateway (8.x) with the Sepasoft MES modules you use and the Sepasoft Web Services module.
  • For the MES presets, the coreflux/v1 provider folder (see below). The generic events work with any endpoint you already have.
  • An Ignition user in the User Source picked on each endpoint, with a role allowed by the endpoint’s Required role(s).
  • Network reach from the broker to the gateway’s HTTPS port (8043 by default) or HTTP port (8088).

Authentication

Each RESTful endpoint can require HTTP Basic authentication against an Ignition User Source, optionally limited to some roles. Missing credentials return 401 with a WWW-Authenticate header and wrong credentials return 403. An HTTP method with no script returns 405, and a script syntax error returns 500. Store the full header value, Basic <base64 of user:password>, in a broker secret (suggested SEPASOFT_BASIC_AUTH) and map it into the authorization payload field with GET SECRET. The two gateway health events send no credentials.

Connector

The full template, SepasoftMesForIgnitionRestApi.lot, has all 15 events. Ignition 7.9 mounted providers under /main/system/ws/rest/...; on 7.9, change the endpoint prefix.

Payload fields

Companion provider coreflux/v1

In the Designer, create the folders coreflux and v1 under RESTful Endpoints and four endpoints named oee, trace, schedule and workorder. Set Data format to JSON, HTTP Authentication to Basic, choose the User Source and roles, tick Redirect to SSL, and paste the matching example script. The part of the URL after the resource name (for example /countinput) reaches the script as request['path'].
The scripts are starting points. Test each one on a development gateway with the Designer’s Copy RESTful Endpoint URL before you connect the broker. OeeCountInput, OeeEquipmentState and TraceMaterialMove change production records, so restrict who may publish on those topics with broker rules.

Examples

Check the gateway every minute:
Forward a line counter to OEE:
Record a material move in Track and Trace (publish to mes/sepasoft/trace-material-move/create):

Testing

  • Gateway health: GET /StatusPing and GET /system/gwinfo on Sepasoft’s public demo gateway (https://demo.sepasoft.com) returned 200 with {"state":"RUNNING"} and an Ignition 8.1.47 info string. That gateway blocks /system/ws/* at its proxy, so it cannot exercise the MES events.
  • Every event was rendered from a sample payload and sent to a local mock that follows the documented RESTful endpoint behavior (401 without credentials, 403 with wrong ones, 405 without a script).
  • Not yet run against a gateway with the Web Services module and real credentials.

Troubleshooting

Last modified on October 21, 2026