MQTT - v5 Generic over SSL
Overview
The MQTT SSL integration enables Edge System to connect to the MQTT v5 broker over SSL.
Supported Versions
Compatible with MQTT Protocol version 3.1.0, 3.1.1, and 5.0.0.
Supported Communication
- Outbound (Publish data from Edge to MQTT Broker) - Yes
- Inbound (Subscribe data from MQTT Broker to Edge) - Yes
Configurations
Variable | Detail | Required |
|---|---|---|
Name | Connector name | Yes |
Hostname | IP Address or Server FQDN of MQTT broker (Must be reachable from Edge system) | Yes |
Port | MQTT broker port | Yes |
CA certificate | It is a digital certificate issued by a trusted Certificate Authority and is used to authenticate the identity of servers or entities in an SSL/TLS connection. | No |
Certificate | SSL certificate | No |
Private key | SSL certificate private key | No |
Client id | Unique client identity | Yes |
Username | User name | No |
Password | User password | No |
QoS | The Quality of Service (QoS) level represents an understanding between the message sender and receiver, outlining the assurance of message delivery for a particular message. Simultaneously publishing multiple messages can enhance throughput, but opting for higher values may increase the risk of message loss, even when QoS is set to 1. Please note that the actual QoS options available may vary based on the server configuration. | Yes |
Parallel publish count | It refers to the number of messages that can be simultaneously published or sent in parallel. It is a measure of how many messages can be transmitted at the same time. As an example, in Mosquitto, you have the following settings: - max_queued_messages (default 100) - max_queued_bytes (default 0) As per the Mosquitto documentation, when this limit is reached, any additional messages are silently discarded. You have the option to either adjust the server configuration or specify this value based on the server settings. | Yes |
Integration topic | Default topic for Publishing (Support Dynamic Topic publishing, please refer to Format Directive section below). | No |
Response Topic | Response Topic for Request/Response messages in MQTT v5. | No |
Payload Format Indicator | Payload Format Indicator to indicate the format of the payload for CONNECT and PUBLISH MQTT packets. Allowing the server to understand packet without having to operate on the actual data | Yes |
Content Type | Content Type is a UTF-8 encoded string that describes the content of the application message, which helps the receiver understand how to parse the application message payload. | No |
Topic Alias Maximum | Maximum number of Topic Alias allowed. Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer. | Yes |
LWT topic | It refers to the specific topic where the last will message will be published. | No |
LWT payload | It is the information or message that will be sent to the specified topic when the client disconnects unexpectedly or goes offline without sending a proper "goodbye" message. | No |
LWT payload type | A payload type (raw string or base64 encoded bytes) for Last Will and Testament feature of MQTT | No |
LWT QoS | A QoS value for Last Will and Testament feature of MQTT | No |
LWT retained | If enabled, the broker will store the LWT message, and any new subscribers to the LWT topic will immediately receive this retained LWT message. | 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 | 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 |
User Properties | User-defined properties that allow users to add their metadata to MQTT messages and transmit additional user-defined information | No |
Request Response Info | Enable to receive Response Info on Request Topic | No |
Request Problem Info | Enable to receive Problem Info on Request Topic | 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 |
Persistent storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Queue mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Persistent Storage size Limit | Set the size limit for storing persisted data in MB | No |
Keep Alive | Enter the keep alive duration in seconds. It is a mechanism to ensure that an Litmus Edge MQTT Integration and MQTT broker connection remain active even if no data is transmitted. MQTT 5.0 protocol, for clients with Keep Alive enabled, if the server does not receive an MQTT Control Packet from the client within 1.5 times the Keep Alive duration, it must close the network connection with the client. | No |
Connection Timeout | Enter the duration to wait for a connection timeout in seconds | No |
Note: When defining outbound subscriptions for this connector, a Retain option is available. When enabled, the broker retains the last published message on that topic so new subscribers receive it immediately upon connecting. See Add Topics to Connectors for details.
Format Directives
Symbol | Definition | Context |
|---|---|---|
$ | Special character indicate 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
Compatibility Validation
This information is just for reference. More products and versions may be supported provided they are compatible with the supported version as mentioned above: Product, Version, Date