Skip to main content
The OASIS Message Queuing Telemetry Transport (MQTT) connector supports publishing MQTT messages and subscribing to MQTT topics.

Key Capabilities

  • Bidirectional IoT message queuing with multiple QoS levels
  • TLS encryption and client certificate authentication with configurable keep-alive intervals
  • Topic-based filtering with wildcard support and Last Will message handling

Overview

Sending data through an MQTT connector publishes the data to the configured topic, and messages that are received on any of the topics that the connector is subscribed to are placed in the Transactions tab.

Connector Configuration

This section contains all of the configurable connector properties.

Settings Tab

Host Configuration

Settings related to the remote MQTT server connection.
SettingDescription
Connector IdThe static, unique identifier for the connector.
Connector TypeDisplays the connector name and a description of what it does.
Connector DescriptionAn optional field to provide a free-form description of the connector and its role in the flow.
Remote HostThe hostname or IP address of the remote MQTT server.
Remote PortThe port on which to connect to the remote MQTT server.

Client Authentication

Settings related to authenticating against the remote MQTT server.
SettingDescription
UsernameThe username credential with which to authenticate.
PasswordThe password for the specified username.

TLS Settings

Settings related to establishing a secure connection via TLS.
SettingDescription
Use TLSWhether the connector should negotiate TLS when connecting to the remote server.
TLS Server CertificateThe public certificate used to verify the identity of the remote server when establishing a TLS connection. Set this to Any Certificate to implicitly trust the target server.

Publish

Settings related to publishing MQTT messages.
SettingDescription
TopicThe topic for the message to publish.
QoSThe service level for message delivery. Options are: at most once, at least once, or exactly once. See Publishing for more information.

Subscribe

Settings related to subscribing to MQTT messages.
SettingDescription
Enable MQTT ReceiverWhether the connector should receive MQTT messages.
Topic FiltersA comma-separated list of topics for the connector to subscribe to.
QoSThe service level for message delivery. Options are: at most once, at least once, or exactly once. See Publishing for more information.

Advanced Tab

TLS Client Authentication

Advanced Settings

Settings not included in the previous categories.
SettingDescription
Keep Alive IntervalThe maximum period of inactivity the connector allows before sending a keep-alive packet.
Last Will MessageThe message that the server should publish in the event of an ungraceful disconnection.
Last Will TopicThe topic of the Last Will Message.
Republish IntervalThe number of seconds that the connector waits before republishing unacknowledged messages.
TimeoutThe length of time (in seconds) the connector waits for a connection response before throwing a timeout error.
Local File SchemeA scheme for assigning filenames to messages that are output by the connector. You can use macros in your filenames dynamically to include information such as identifiers and timestamps. For more information, see Macros.

Message

Logging

Miscellaneous

Automation Tab

Automation Settings

Settings related to the automatic processing of files by the connector.
SettingDescription
SendWhether files arriving at the connector are automatically sent as messages to the MQTT server.
Retry IntervalThe number of minutes before a failed send is retried.
Max AttemptsThe maximum number of times the connector processes the file. Success is measured based on a successful server acknowledgement. If you set this to 0, the connector retries the file indefinitely.

Performance

Alerts Tab

SLAs Tab

Establishing a Connection

At a minimum, set Remote Host on the Settings tab to the domain name or IP address of the MQTT server. If you are using a non-standard port, set Remote Port. If authentication is required, set Username and Password. If you require a secure connection, check Use TLS, and optionally set the TLS Server Certificate to the server’s public certificate, or choose Any Certificate to accept any certificate presented by the server. If this field is used improperly, it creates a security risk. Use extreme caution when setting this field.

Publishing

To publish data, set Topic in the Publish section to the topic where the connector should publish messages. QoS values range from 0 to 2 and have the following meanings:
  • 0 — At most once. The published message is sent once, and if it does not arrive it is lost.
  • 1 — At least once. Guarantees that the published message arrives, but there might be duplicates.
  • 2 — Exactly once. Guarantees that the published message arrives and that there are no duplicates.
In the Advanced Settings portion of the Advanced tab, you can set Republish Interval to the number of seconds that you want the connector to wait for acknowledgements to messages that require them. If this time elapses without receiving an acknowledgement, the connector republishes the message. Republished messages reuse the packet Id from the original message, and automatically set the Duplicate flag on the message. Specifying a value of 0 for Republish Interval prevents the connector from automatically republishing messages.

Subscribing

In the Subscribe section of the settings page, you can check Enable MQTT Receiver to indicate that the connector should also receive data. When checked, the connector subscribes to the topics you specify in Topic Filters, and incoming messages are automatically placed on the Transactions tab, named based on the value specified in Local File Scheme in the Advanced Settings portion of the Advanced tab. By default, the connector names files with the topic and packet Id of the message, using %topic%_%packetid%.data as the Local File Scheme value. You can supply a comma-separated list of topic filters that the connector should subscribe to in Topic Filters. The following characters have special meanings in a topic filter:
  • / — The topic level separator
  • # — The multi-level wildcard (zero or more levels)
  • + — The single-level wildcard (exactly one level)
  • Leading $ — Denotes a “system topic”
You can use Last Will Message and Last Will Topic on the Advanced tab to specify the message that the server should publish, and the topic it should publish that message to, in the event of an ungraceful disconnection.

Macros

Examples