documented the mqtt.to function, resolves #362

pull/418/head
Scott Anderson 2019-08-28 09:42:43 -06:00
parent 1d382b625f
commit dcf34b5aed
2 changed files with 34 additions and 15 deletions

View File

@ -10,6 +10,7 @@ menu:
parent: Flux packages and functions
weight: 202
v2.0/tags: [functions, mqtt, package]
draft: true
---
MQTT Flux functions provide tools for working with Message Queuing Telemetry Transport (MQTT) protocol.

View File

@ -7,6 +7,7 @@ menu:
name: mqtt.to
parent: MQTT
weight: 202
draft: true
---
The `mqtt.to()` function outputs data to an MQTT broker using MQTT protocol.
@ -19,7 +20,7 @@ import "mqtt"
mqtt.to(
broker: "tcp://localhost:8883",
topic: "example-topic",
message: "",
message: "Example message",
qos: 0,
clientid: "flux-mqtt",
username: "username",
@ -45,13 +46,20 @@ The MQTT topic to send data to.
_**Data type: String**_
### message
placeholder
The message or payload to send to the MQTT broker.
The default payload is all output tables.
{{% note %}}
When you specify a message, the function sends only the message string to the MQTT broker.
It does not send any output tables.
{{% /note %}}
_**Data type: String**_
### qos
The [MQTT Quality of Service (QoS)](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901103) level.
Values range from `[0-2]`.
Default is `0`.
_**Data type: Integer**_
@ -61,50 +69,60 @@ The MQTT client ID.
_**Data type: String**_
### username
The username to send to the MQTT Broker.
The username to send to the MQTT broker.
This is only necessary when the MQTT broker requires authentication.
_**Data type: String**_
### password
The password to send to the MQTT Broker.
The password to send to the MQTT broker.
This is only necessary when the MQTT broker requires authentication.
_**Data type: String**_
### name
placeholder
The name for the MQTT message _(Optional)_.
_**Data type: String**_
### timeout
placeholder
Defaults to `1s`
The MQTT connection timeout.
Default is `1s`
_**Data type: Duration**_
### timeColumn
placeholder
Defaults to `"_time"`.
The column to use as time values in the output line protocol.
Default is `"_time"`.
_**Data type: String**_
### tagColumns
placeholder
Defaults to `[]`.
The columns to use as tag sets in the output line protocol.
Default is `[]`.
_**Data type: Array of strings**_
### valueColumns
placeholder
Defaults to `["_value"]`.
The columns to use as field values in the output line protocol.
Default is `["_value"]`.
_**Data type: Array of strings**_
## Examples
### Send data to an MQTT endpoint
```js
import "mqtt"
// ...
from(bucket: "example-bucket")
|> range(start: -5m)
|> filter(fn: (r) => r._measurement == "airSensor")
|> mqtt.to(
broker: "tcp://localhost:8883",
topic: "air-sensors",
clientid: "sensor-12a4",
tagColumns: ["sensorID"],
valueColumns: ["_value"]
)
```