MQTT - v5 Generic
Overview
The MQTT - v5 Generic integration enables Belden Horizon Data Operations to connect to an MQTT v5 broker via TCP or SSL.
Supported versions
Compatible with MQTT Protocol version 3.1.0, 3.1.1, 5.0.0
Supported communication
- Outbound (Publish data from Edge to MQTT Broker) - Yes
- Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
Field | Details | Required |
|---|---|---|
Name | Name of the connector instance. | Yes |
Connection Type | Choose tcp for an unencrypted connection or ssl for a TLS-encrypted connection to the MQTT broker. | Yes |
Hostname | DNS name of MQTT host. | Yes |
Port | Port of MQTT host. | Yes |
CA Certificate | CA certificate used to verify the server, in PEM format. Can also be installed in the system-wide certificate store. | No |
Certificate | Client certificate for mutual TLS authentication with the MQTT broker. Paste the PEM-encoded certificate here. | No |
Private key | Private key corresponding to the client certificate. Must match the Certificate field above. | No |
Insecure Skip Verify | InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name. | No |
Client ID | Client ID is required by MQTT server. If left empty, the system uses InstanceUUID. | No |
Username | Username for authenticating with the MQTT broker. | No |
Password | Password for authenticating with the MQTT broker. | No |
QoS | Quality of Service delivery guarantee: 0 = at most once, 1 = at least once, 2 = exactly once. | No |
Integration Topic | MQTT topic path where data is published. | Yes |
User Properties | Custom key-value metadata attached to outgoing MQTT v5 packets. Passed through to the broker and available to subscribers. | No |
Throttling limit | Set a limit on the number of outbound messages per second. If sending data to a server that has restrictions on the rate of incoming messages, this ensures that no messages are lost. | No |
Advanced configurations
Field | Details | Required |
|---|---|---|
Parallel Publish Count | Number of messages published in parallel. Higher values increase throughput and resource usage. | No |
Response Topic | MQTT v5 topic the receiver should publish its response to. Used in request-response messaging patterns. | No |
Payload Format Indicator | Allowing the server to understand packet without having to operate on the actual data. | No |
Content type | MIME type describing the format of the message payload. Informational - passed to subscribers. | No |
Topic Alias Maximum | Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer. | No |
LWT topic | MQTT topic the broker publishes the Last Will message to if this client disconnects unexpectedly. | No |
LWT payload | Message content published to the LWT topic on unexpected disconnection. Typically a status or alert string. | No |
LWT payload type | Encoding of the LWT payload: string for plain text, base64 for binary data. | No |
LWT QoS | QoS level for the Last Will message: 0 = at most once, 1 = at least once, 2 = exactly once. | No |
LWT retained | When enabled, the broker retains the Last Will message and immediately delivers it to any new subscriber on that topic. | No |
Will Delay Interval | Add the ability to specify a delay between the end of the connection and sending the will message. | No |
Session Expiry Interval (seconds) | The number that specifies how long a broker keeps a client's session information. | No |
Message Expiry Interval | Allow an expiry interval to be set when a message is published. | No |
Request Response Info | Request the broker to return response information in the CONNACK packet. | No |
Request Problem Info | Request the broker to include human-readable reason strings and user properties in error packets. | No |
Keep Alive | Ensure that client remains connected to the broker and maintains an active session. | No |
Connection Timeout | How long to wait for the connection process to complete in seconds. | No |
Persistent storage configurations
Field | Details | Required |
|---|---|---|
Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages are retained and eventually sent when the connection is restored. | No |
Persistent storage size limit | Set the size limit for storing persisted data in GB. | No |
Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) sends the earliest message first. Selecting LIFO (Last In First Out) sends the latest message first. | No |
Format directives
Symbol | Definition | Context |
|---|---|---|
$ | Special character indicates a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
$S | Additional Alias definition | from Connector Settings |
$D | Device Name | from DeviceHub Tag |
$N | Tag Name | from DeviceHub Tag |
$R | Raw Tag Type | from DeviceHub Tag |
$P | Tag Description | from DeviceHub Tag |
$H | Hostname | from OS |
% | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
%L | Lowercase() | apply to next variable |
%U | Uppercase() | apply to next variable |
Format directives notes
To use a special character in its literal form, enter symbol twice ($$ -> $, %% -> %) Example "$$$D.%%$N" -> "$deviceABC.%tagXYZ"