Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ardiextra:mqtt [2025/02/21 01:29] (current)
optrix created
Line 1: Line 1:
 +====MQTT Driver====
  
 +===Information===
 +
 +Loads live information from MQTT servers
 +
 +^Driver Info^Detail^
 +|Driver Type:|**Live**|
 +|Platforms:|**All**|
 +
 +===Driver Settings===
 +
 +^Option^Description^
 +|Server Name|The IP or DNS address of your MQTT server|
 +|Port|The TCP port to connect on|
 +|Client|The MQTT client name|
 +|Username|The username to authenticate with (optional)|
 +|Password|The password to authenticate with (optional)|
 +|Topic|The MQTT topic to subscribe to (# for wildcard)|
 +|Payload Type|Currently, only JSON is available|
 +|Device ID|[[JSON Path|JSON path]] to a unique ID for the origin device|
 +|Values Found Under|[[JSON Path|JSON path]] to where key/value pairs can be extracted|
 +|TLS/SSL|Enabled to use SSL/TLS encryption, otherwise Disabled|
 +
 +===Performance Note===
 +
 +MQTT is extremely powerful when used for slower data, but encoding and decoding MQTT payloads can become very inefficient when dealing with fast-update information.
 +
 +If you are sending out very large volumes of data, please consider alternatives such as **REDIS**, which may perform better at scale.
 +
 +===Point Settings===
 +
 +^Option^Description^
 +|Address|The name of the point to read|
 +
 +The point name is made up of both **Device ID** and **Value Key**.
 +
 +===Example===
 +
 +In this example, here's our MQTT payload...
 +
 +<code>
 +{
 +   "sequence": 293834,
 +   "content": {
 +       "dev": "Main Storage Unit",
 +       "sensors": {
 +             "temperature": 25.3,
 +             "humidity": 43
 +       },
 +    },
 +   "dt": "2012-20-20 10:10:00"
 +}
 +</code>
 +
 +In  your source settings, the //Device ID// property would be **content.dev** and the //Values Found Under// would be **content.sensors**.
 +
 +To link a point to temperature, you could use **Main Storage Unit.temperature**.