diff --git a/source/_docs/mqtt/service.markdown b/source/_docs/mqtt/service.markdown index d4a7aad206d..223d554d3f9 100644 --- a/source/_docs/mqtt/service.markdown +++ b/source/_docs/mqtt/service.markdown @@ -12,6 +12,20 @@ logo: mqtt.png The MQTT component will register the service `mqtt.publish` which allows publishing messages to MQTT topics. There are two ways of specifying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload. +### {% linkable_title Service `mqtt.publish` %} + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `topic` | no | Topic to publish payload to. +| `payload` | yes | Payload to publish. +| `payload_template` | yes | Template to render as payload value. Ignored if payload given. +| `qos` | yes | Quality of Service to use. +| `retain` | yes | If message should have the retain flag set. (default: false) + +
+You need to include either payload or payload_template, but not both. +
+ ```json { "topic": "home-assistant/light/1/command", @@ -36,3 +50,14 @@ The MQTT component will register the service `mqtt.publish` which allows publish "payload":"{\"Status\":\"off\", \"Data\":\"something\"}" } ``` + +Example of how to use `qos` and `retain`: + +```json +{ + "topic": "home-assistant/light/1/command", + "payload": "on", + "qos": 2, + "retain": true +} +```