Edge Gateway Home > MQTT Adapter
MQTT Adapter Workflow
Prerequisite
- MQTT broker should be installed in your setup and accessible to Datonis Edge.
MQTT Advanced Configuration
You can configure the details about the MQTT broker in the advanced configuration tab. You can set the following configurations in this tab:
Configuration
|
Type
|
Description
|
config-json*
|
JSON
|
Advanced configuration json to fine tune adapter.
|
MQTT Address*
|
String
|
The address the MQTT broker listens for incoming connections. Be sure to check if the firewall is configured correctly to allow access to this address. The default value is 0.0.0.0.
|
MQTT Port*
|
Number
|
The port of the MQTT broker. Be sure to check if the firewall is configured correctly to allow access to this port. The default value is 1883.
|
MQTT Secure Port*
|
Number
|
The secure transport port of the MQTT broker. Be sure to check if the firewall is configured correctly to allow access to this port. The default value is 8883.
|
User Name
|
String
|
This is an optional field. The user name is required to access the broker.
|
Password
|
String
|
This is an optional field. The password is required to connect. If the password is empty, no password will be required to connect.
|
Scheduled Thread Pool Size
|
Number
|
The server scheduled thread pool is used for most activities on the server-side that require running periodically or with delays. The default value is 3.
|
General Thread Pool Size
|
Number
|
This general purpose thread pool is used for most asynchronous actions on the server side. The default value is 10.
|
Use Integrated MQTT Broker*
|
Boolean
|
Switch to enable or disable the usage of the integrated MQTT broker, if disabled(i.e. false) external broker can be used. The default value is true. If it is set to true then we can use the integrated MQTT broker to connect to the other Datonis edge services.
|
Client Clean Session*
|
Boolean
|
If set to false, the client will continue with the old session and the broker may deliver older messages. The default value is true.
|
MQTT Protocol Connection
Configuration
|
Type
|
Description
|
Topic Type*
|
Enum
|
Topic Type of the connection, DATONIS_SCAN and DATONIS_EVENT can be used to consume data from other Edge Gateways, CUSTOM or CUSTOM_JSON can be used for data from any client.
|
Subscribe Topics CSV*
|
String
|
Topics to be subscribed to local MQTT broker for this connection. More than one topic can be put via comma separated values, also wild cards + and # are allowed e.g. 'plc/#, plc/vibration/#, plc/+/pressure/#'.
|
Message Parsing Script*
|
String
|
The default value is 'message_val' i.e. it will pass the message value as it is. All messages would be parsed using this script before passing to the tag script. Context var 'message_val' holds the message, Context var 'message_list' holds the empty list and can be used to return multiple messages for handling collection cases. The return value or non-empty 'message_list' of the script would be passed to all tags.
|
Batch Delay (Millis)
|
String
|
The default value is 100 milliseconds. Once a message arrives, the Adapter waits for this delay to wait for other messages to become available. All the messages accumulated in a batch would be passed to the tags in one go. If a message for the same topic arrives again then the older message would be ignored.
|
MQTT Read Tag
Configuration
|
Type
|
Description
|
Tag Id*
|
String
|
The unique Tag Id value within a Thing Config object. It is mainly used in metric mappings to map this tag to a thing metric. Only alphanumeric or underscore characters are allowed.
|
Match Topics CSV*
|
String
|
Topics to be matched for this tag. More than one topic can be put via comma separated values, also wild cards + and # are allowed e.g. 'plc/temperature, plc/+/vibration, plc/pressure/#'.
|
Message Parsing Script*
|
String
|
The default value is 'message_val' i.e. it will pass the value as it is. Tag messages would be parsed using this script. Context var 'message_val' holds the value returned from the connection message parsing script. The return value of the script would be passed as the tag value.
|