3.1 KiB
title | description | menu | weight | flux/v0/tags | introduced | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mqtt.publish() function | `mqtt.publish()` sends data to an MQTT broker using MQTT protocol. |
|
201 |
|
0.133.0 |
mqtt.publish()
sends data to an MQTT broker using MQTT protocol.
Function type signature
(
broker: string,
message: string,
topic: string,
?clientid: string,
?password: string,
?qos: int,
?retain: bool,
?timeout: duration,
?username: string,
) => bool
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
broker
({{< req >}}) MQTT broker connection string.
topic
({{< req >}}) MQTT topic to send data to.
message
({{< req >}}) Message to send to the MQTT broker.
qos
MQTT Quality of Service (QoS) level. Values range from [0-2]
.
Default is 0
.
retain
MQTT retain flag. Default is false
.
clientid
MQTT client ID.
username
Username to send to the MQTT broker.
Username is only required if the broker requires authentication. If you provide a username, you must provide a password.
password
Password to send to the MQTT broker.
Password is only required if the broker requires authentication. If you provide a password, you must provide a username.
timeout
MQTT connection timeout. Default is 1s
.
Examples
Send a message to an MQTT endpoint
import "experimental/mqtt"
mqtt.publish(
broker: "tcp://localhost:8883",
topic: "alerts",
message: "wake up",
clientid: "alert-watcher",
retain: true,
)
Send a message to an MQTT endpoint using input data
import "experimental/mqtt"
import "sampledata"
sampledata.float()
|> map(
fn: (r) =>
({r with sent:
mqtt.publish(
broker: "tcp://localhost:8883",
topic: "sampledata/${r.id}",
message: string(v: r._value),
clientid: "sensor-12a4",
),
}),
)