Article Type: Node Reference
Audience: Developers, App Admins, IIoT Engineers
Module: Data Flows / Device Gateway
Applies to Versions: Platform 3.0+
Prerequisites: Understanding of Data Flow concepts, Device Gateway installed
1. Overview
What are IIoT Nodes?
The Fuuz platform goes beyond other solutions in providing you with an unparalleled ability to integrate with and interact with devices and other assets outside of software products. Things like industrial controllers, weigh scales, label printers, RFID portals and much more.
IIoT (Industrial Internet of Things) nodes enable Data Flows to communicate with physical devices through the Fuuz Gateway. The gateway acts as a bridge between the cloud platform and on-premise industrial equipment.
Key Architecture Concepts:
- Gateway: On-premise software that connects to physical devices and communicates with Fuuz
- Device Driver Type: A category of drivers sharing common functionality (e.g., PLC, Printer)
- Device Driver: A specific driver implementation for a device protocol (e.g., Ethernet/IP PLC, TCP Printer)
- Connection: A configured instance connecting to a specific physical device
- Subscription: A configuration for receiving events from a device
IIoT Node Types
| Node |
Purpose |
Use Case |
| Print File Node |
Print a Fuuz-stored file through the gateway |
Print labels, reports stored in platform |
| Print Data Node |
Print dynamically generated content (Base64) |
Print rendered PDFs, dynamic labels |
| Execute Device Function Node |
Execute any device function generically |
Read/write PLC tags, query device status |
| Subscription Node |
Subscribe to device events (Source node) |
React to PLC tag changes, file events |
2. Gateway Architecture
The Gateway is an on-premise application that bridges Fuuz with physical devices and other resources inside the DMZ. Understanding its architecture is essential for working with IIoT nodes.
Configuration Hierarchy
| Level |
Description |
| Gateway |
The installed gateway instance (hostname, IP, status) |
| Device Driver Type |
Category of drivers (PLC, Printer, Modbus, etc.) |
| Device Driver |
Specific protocol implementation (Ethernet/IP PLC, TCP Printer) |
| Connection |
Configured instance for a specific physical device, folder, or other resource |
| Subscription |
Event configuration for receiving data from a device or other publisher |
Available Device Driver Types
| Driver Type |
Available Drivers |
Use Cases |
| PLC |
Ethernet/IP PLC (Allen-Bradley) |
Read/write tags, browse tags, machine integration |
| PCCC PLC |
PCCC PLC Driver |
Legacy Allen-Bradley PLCs using PCCC protocol |
| Printer |
Native Printer, TCP Printer |
Label printing, document printing, Windows only |
| Modbus |
Modbus TCP |
Industrial automation, sensors, actuators |
| OPC-UA |
OPCUA Client |
Industrial interoperability, unified automation |
| MQTT |
MQTT Client, MQTT Broker |
IoT messaging, telemetry data, SparkplugB |
| File |
File Driver |
Folder monitoring, file operations |
| Server |
HTTP Server, TCP Server, MQTT Broker |
Receive inbound connections |
| HTTP |
HTTP Client |
REST API calls from gateway |
| TCP |
TCP Socket Driver |
Raw TCP communication |
| SQL |
Oracle DB, MySQL |
Direct database access from gateway |
3. Print File Node
A specialized node used to call the "Print File" device function. This can be used to print a Fuuz file (stored in the platform) through the Fuuz Device Gateway.
Configuration Parameters
| Parameter |
Description |
| Printer |
The printer device to send the file to. This is a transformable field. |
| File |
A file stored in Fuuz. This is a transformable field. |
| Function Timeout (optional) |
Time to wait before error. Default: 60 seconds. |
| Request ID Transform (optional) |
Unique ID to track the request. Default: auto-generated CUID. |
Tip: Use Print File when you have a static file already stored in Fuuz that needs to be printed. For dynamically generated content, use Print Data instead.
4. Print Data Node
A specialized node used to call the "Print Data File" device function. This can be used to print PDF files or other dynamically generated content through the Fuuz Device Gateway.
Configuration Parameters
| Parameter |
Description |
| Printer |
The printer device to send the file to. This is a transformable field. |
| Document Content Transform |
Transform that returns a Base64-encoded string representing the file to be printed. |
| File Name (optional) |
Name for the temporary file written to gateway disk. Default: random name. |
| Function Timeout (optional) |
Time to wait before error. Default: 60 seconds. |
| Request ID Transform (optional) |
Unique ID to track the request. Default: auto-generated CUID. |
Common Pattern: Combine with Render Document node to generate a PDF, then use Print Data to send the Base64-encoded PDF to a printer.
5. Execute Device Function Node
This node is a generic node used to call device functions. Once a device function is selected, more fields will be added to provide inputs for the parameters specific to that device function. The node will attempt to provide the simplest form input if able to enumerate a specific type; otherwise a JSONata transform input will be provided.
Configuration Parameters
| Parameter |
Description |
| Device |
Select the device to execute the function against |
| Function |
The device function to execute (varies by device type) |
| Request Parameters |
Function-specific parameters (dynamically added based on function) |
| Function Timeout (optional) |
Time to wait before error. Default varies by function. |
Common Device Functions by Type
| Driver Type |
Function |
Description |
| PLC |
Browse Tags |
Browse available tags on the PLC device |
| Read Tag |
Read a single tag value from the PLC |
| Write Tag |
Write a value to a single PLC tag |
| Write Tags |
Write values to multiple PLC tags |
| Printer |
Print |
Send a document (PDF) to the printer |
| Get Jobs |
Query the job queue of the printer |
| Status |
Check the printer status |
| Modbus |
Read Registers |
Read holding registers from Modbus device |
| Write Registers |
Write to holding registers on Modbus device |
| File |
List |
List files in a directory |
| Read |
Read file contents |
| Status |
Check the status of the root folder |
| TCP |
Status |
Check if the TCP socket is connected |
6. Device Subscription Node
A node used to subscribe to devices setup in Fuuz through the gateway. Any dropdowns left blank will act as a wildcard, allowing you to subscribe to multiple subscriptions with one node. This is a Source node that triggers flows when device events occur.
Configuration Parameters
| Parameter |
Description |
| Device Driver Type |
The base driver type (e.g., Printer, PLC). Blank = wildcard. |
| Device Driver |
The specific driver (e.g., Native Printer, TCP Printer). Blank = wildcard. |
| Device |
The specific device to listen for events on. Blank = wildcard. |
| Device Gateway |
The gateway to receive events from (if multiple gateways). Blank = wildcard. |
| Device Subscription Type |
The type of subscription event to listen for. |
| Device Subscription |
The specific subscription configuration. |
Device Subscription Types
| Subscription Type |
Description |
| File System Change |
Watch for file/folder changes (ADD, CHANGE, DELETE, ALL). Supports depth and polling options. |
| HTTP POST Endpoint |
Receive HTTP POST requests at a configured endpoint path. |
| Tag Values |
Subscribe to PLC tag value changes. Supports Store and Forward. |
| PCCC Tag Values |
Subscribe to PCCC PLC tag value changes. |
| OPC-UA Node Values |
Subscribe to OPC-UA node value changes. |
Important: Device subscriptions must be deployed before the flow will receive events. The subscription stream is not started until the flow is deployed.
7. PLC Tag Configuration
When working with PLCs, understanding tag configuration is essential for reading and writing values correctly.
Supported PLC Data Types
| Type |
Description |
| BOOL |
Boolean (true/false) |
| INT |
16-bit signed integer |
| SINT |
8-bit signed integer |
| DINT |
32-bit signed integer |
| LINT |
64-bit signed integer |
| UINT |
16-bit unsigned integer |
| REAL |
32-bit floating point |
| STRING |
ASCII string |
Tag Configuration Parameters
| Parameter |
Description |
| Tag |
The name or address of the tag on the PLC |
| Scope (optional) |
The program scope. If not provided, reads from Global scope. |
| Type |
The data type of the tag (required for writes) |
| Value |
The value to write (for write operations) |
Store and Forward
Tag subscriptions support Store and Forward mode for reliable data delivery:
- Enabled: Tag values are stored on disk until they can be successfully pushed to Fuuz
- Disabled: Tag values attempt to be sent immediately (may be lost if connection fails)
- Continuous Values: When enabled with Store and Forward, all tag value updates are pushed. Otherwise, only the latest value is pushed.
8. Printer Configuration
Native Printer Driver (Only for Windows Installations)
Uses the system print spooler to send documents and commands. The printer must be installed on the gateway machine.
| Parameter |
Description |
| Printer Name |
The name of the installed printer, including printer server prefix if applicable |
TCP Printer Driver
Uses a direct TCP network connection to send documents and commands. Common for label printers like Zebra. Functions with non-windows deployments, like Docker / Portainer installations.
| Parameter |
Description |
| Host |
Hostname or IP address of the printer |
| Port |
TCP port (default: 9100) |
| Status Command (optional) |
Printer command to query status. If not provided, a connection test is performed. |
| Status Response Parser (optional) |
JSONata transform to parse status response. Returns {ok, message, info}. |
9. Gateway Functions
The Device Gateway itself has administrative functions that can be called from Data Flows.
| Function |
Description |
| Get Gateway Status |
Returns hostname, IP, MAC address, application version, status, and uptime |
| Apply Gateway Updates |
Install available gateway and/or driver updates |
| Get Driver Devices |
List devices connected to the gateway for a specific driver |
| List Log Files |
List available log files on the gateway |
10. Troubleshooting
| Symptom |
Likely Cause |
Resolution |
| Device not showing in dropdown |
Gateway offline or device not configured |
Check gateway status; verify device configuration |
| Function timeout errors |
Device unreachable or slow response |
Increase function timeout; verify network connectivity |
| PLC tag read returns null |
Invalid tag name or scope |
Use Browse Tags to verify tag exists; check scope |
| Print job not printing |
Printer offline or queue blocked |
Check printer status function; clear print queue |
| Subscription events not triggering |
Flow not deployed |
Deploy the flow; verify subscription configuration |
| File System Change not detecting |
Network folder requires polling |
Enable Polling option for network folders |
- Source & Event Nodes Complete Guide - Device Subscription node details
- Fuuz Platform Nodes Complete Guide - Render Document for PDF generation
- Device Gateway Administration - Gateway setup and management
- Device Driver Configuration - Setting up drivers and devices
- Platform Website: fuuz.com
12. Revision History
| Version |
Date |
Author |
Description |
| 1.0 |
2025-01-01 |
Craig Scott |
Initial release - Comprehensive IIoT guide covering Print File, Print Data, Execute Device Function, Device Subscription nodes, and gateway architecture. |