Skip to main content

Sparkplug B Source Node

Quick Reference

Broker URL The MQTT broker to connect to. ex: tcp://broker:1883 or ssl://broker:8883

Group ID The Sparkplug group this source subscribes to. ex: plant1

Client ID (optional) MQTT client ID. A random client ID is generated if left blank.

Username / Password (optional) MQTT authentication credentials.

Enable TLS Use ssl:// for the broker connection. Default: off.

Advanced settings (queue capacity, rebirth cooldown, session expiry, offer timeout, shutdown grace, STATE pass-through, clean start) tune buffering and the MQTT/Sparkplug session — the defaults suit most deployments.

Overview

The Sparkplug B Source node consumes MQTT messages that follow the Eclipse Sparkplug B specification, commonly used for industrial IoT telemetry. It acts as the starting point of your workflow: it connects to an MQTT broker, subscribes to a single Sparkplug group, decodes the binary Sparkplug B payloads, and passes each message downstream as a structured record.

The node handles the Sparkplug session lifecycle for you — it caches the metric names, aliases, and datatypes announced when a node or device is born (NBIRTH/DBIRTH), resolves compact data messages (NDATA/DDATA) back to named, typed values, and automatically requests a rebirth when it detects a missed message so the device re-announces its metadata.

Configuration

FieldDescriptionRequiredDefault
Broker URLThe MQTT broker URL. Use tcp:// for plaintext or ssl:// for TLS (e.g. tcp://broker:1883, ssl://broker:8883).Yes
Group IDThe Sparkplug group ID this source subscribes to. Each node handles a single group.Yes
Client IDMQTT client ID. Leave blank to generate a random one.No
UsernameMQTT authentication username.No
PasswordMQTT authentication password.No
Enable TLSUse TLS (ssl://) for the broker connection.Nofalse
Queue CapacitySize of the bounded inbound buffer between the MQTT callback and the workflow loop.No10000
Rebirth Cooldown (ms)Per-node cooldown window that suppresses repeat rebirth requests.No5000
Session Expiry (seconds)MQTT session expiry interval. 0 expires the session on disconnect.No0
Offer Timeout (ms)Maximum time to wait offering a message to a full inbound queue before dropping it.No1000
Shutdown Grace (ms)On shutdown, how long to wait for the queue to drain before forcing exit.No5000
Pass-through STATE messagesEmit host-application online/offline STATE messages downstream.Notrue
Clean StartSet the MQTT clean-start flag on connect.Notrue