- Node-RED: A flow-based, low-code programming tool for wiring together hardware, APIs, and online services, ideal for rapid IIoT prototyping.
https://nodered.org/docs/getting-started/local - Ignition by Inductive Automation is an industrial application platform for building SCADA, HMI, and IIoT solutions with unlimited clients and a web-based deployment model.
https://inductiveautomation.com/downloads/ignition
Video Tutorial
What You Will Learn in This Video
In this hands-on demo, you will learn:- How to connect IND360 with Node-RED and Ignition SCADA using MQTT
- How to read weight & status data in real time
- How to send commands such as:
- Zero scale
- Tare scale
- Preset tare
- Clear tare
- How to log the feedback in the database
Prerequisites
- MQTT Broker Setup
Before connecting the IND360, you need a running MQTT broker. For initial testing, we use Shiftr, an MQTT broker with a visual connection map.
Download and install the Shiftr desktop app
https://www.shiftr.io/desktop and install the broker locally.MQTT Broker parameters
Verify port 1883 is open
- Enabling MQTT on IND360
In this step, we need to enable the MQTT service on the IND360 device.
Open the IND360 web interface
https://192.168.0.8 (replace with your IND360 IP) and login using 002.Navigate to MQTT settings
Configure MQTT parameters
ind360/devices/C249346600/scales/_/measurementsClick SET, then CONNECT
- Testing with Shiftr
Use Shiftr’s visual broker map to confirm the IND360 is publishing data before integrating with Node-RED or Ignition.
Open the Shiftr dashboard to visualize the data flowing from the IND360 device
Use Case 1: Node-RED Integration
Use Node-RED as a lightweight MQTT client to read live weight data and send commands to the IND360 via the Shiftr broker.Reading Weight Data
Subscribe to the measurements topic to receive live weight data as a JSON array.- ind360/devices/C249346600
- ind360/devices/C249346600/alarms
- ind360/devices/C249346600/scales/_
- ind360/devices/C249346600/scales/_/measurements

Sending Commands
Each command follows the same pattern — an Inject node triggers a Function node that builds the payload, which is then published via an MQTT Out node.| Command | Description | Topic |
|---|---|---|
| tare | Sets net weight to zero using current gross as tare offset | Invoke:
Result: |
| tare-clear | Removes the tare offset, gross equals net again | Invoke:
Result: |
| zero | Sets current gross weight as the new zero reference point | Invoke:
Result: |
| tare-preset | Applies a manually entered known tare value | Invoke:
Result: |

Dashboard
You can use the dashboard 2.0 to visualize your value as shown below. Feel free to use the NodeRed flow for a ready-to-use dashboard.
node-red_flow.json
Use Case 2: Ignition Integration
Ignition acts as both the MQTT broker (via MQTT Distributor) and the subscriber (via MQTT Engine). No external broker needed.Install Ignition
Install MQTT Modules
https://inductiveautomation.com/downloads/third-party-modules/8.3.4 — Match the version to your Ignition installation.Install via Gateway → Platform → Modules| Module | Role | Port |
|---|---|---|
| MQTT Distributor | Acts as the MQTT broker inside Ignition | 1883 |
| MQTT Engine | Subscribes and converts MQTT data to Ignition tags | — |
Configure MQTT Distributor
1883.Create broker usersGo to Users and create two accounts:Configure MQTT Engine
Create Custom Namespace
Dashboard & Commands

Useful scripts
Below are the scripts that are used for publishing the data to the MQTT broker via buttonsTare Button Script- Take an input field and rename that to ‘presetTare’
- Add the script below to the Preset Tare button.
Feedback Logging to Database
[MQTT Engine]IND360_folder/ind360/devices/C249346600/commands/tare/result/_timestamp[MQTT Engine]IND360_folder/ind360/devices/C249346600/commands/clear/result/_timestamp[MQTT Engine]IND360_folder/ind360/devices/C249346600/commands/zero/result/_timestamp[MQTT Engine]IND360_folder/ind360/devices/C249346600/commands/tare-preset/result/_timestampTopic Structure Reference
Command Payload Reference
| Command | content field | Notes |
|---|---|---|
tare | null | No content needed |
tare-clear | null | No content needed |
zero | null | No content needed |
tare-preset | {“value”: “2.0”, “unit”: “Kg”} | Value and unit required |