

PackML MQTT Simulator is an open-source manufacturing line simulator for teams that need realistic PackML telemetry without connecting to a physical machine. It emulates PackML state transitions, unit modes, counters, machine speed, and command handling over MQTT, with optional Sparkplug B payload support for testing dashboards, brokers, UNS pipelines, and SCADA connectors.
The simulator models a virtual production line that starts in clearing and stopped states, then responds to PackML commands such as reset, start, stop, hold, unhold, complete, and abort. It publishes status and admin data on MQTT topics, including current state, unit mode, speed setpoints, produced and defective counts, and parameter echoes. For Sparkplug B setups, it can publish and receive device and node command messages using the Sparkplug namespace.
PackML MQTT Simulator can run as a Docker container, a Node.js process, or as part of a larger Docker Compose setup that simulates multiple production lines. Configuration is done through environment variables such as SITE, AREA, LINE, MQTT_URL, MQTT_PORT, CLIENT_TYPE, and Sparkplug identifiers, which lets teams map the simulator into ISA-95-style topic structures and test both simple MQTT and Sparkplug B flows.
This tool fits best in simulation and test environments rather than in production control stacks. It is useful when validating MQTT topic design, PackML state handling, UNS ingestion, historian pipelines, or SCADA projects before field deployment. The UMH Classic documentation also describes it as a community-contributed microservice enabled by default, and the project README includes a Sparkplug B example for Ignition.
PackML MQTT SimulatorThe project README includes a Sparkplug B example showing PackML MQTT Simulator publishing into Ignition with Cirrus Link MQTT modules.
PackML MQTT SimulatorPackML MQTT Simulator is documented by UMH Classic as a community-contributed microservice enabled by default for testing PackML-over-MQTT data flows inside the United Manufacturing Hub stack.