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 to a unique ID for the origin device |
| Values Found Under | 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.