====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... { "sequence": 293834, "content": { "dev": "Main Storage Unit", "sensors": { "temperature": 25.3, "humidity": 43 }, }, "dt": "2012-20-20 10:10:00" } 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**.