mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-06-26 12:06:50 +00:00

* 🔥 Removes octopress.js * 🔥 Removes use of root_url var * 🔥 Removes Octopress generator reference from feed * 🔥 Removes delicious support * 🔥 Removes support for Pinboard * 🔥 Removes support for Disqus * 🔥 Removes support for Google Plus * ↩️ Migrate custom after_footer to default template * ↩️ Migrate custom footer to default template * ↩️ Migrate custom header to default template * 🔥 Removes unused template files * 🚀 Places time to read directly in post template * 🚀 Removes unneeded capture from archive_post.html template * 🔥 🚀 Removes unused, but heaving sorting call in component page * 🚀 Merged javascripts into a single file * 🔥 Removes more uses of root_url * 🚀 Removal of unneeded captures from head * 🔥 🚀 Removal of expensive liquid HTML compressor * 🔥 Removes unneeded templates * 🚀 Replaces kramdown with GitHub's CommonMark 🚀 * 💄 Adds Prism code syntax highlighting * ✨ Adds support for redirect in Netlify * ↩️ 🔥 Let Netlify handle all developer doc redirects * ✏️ Fixes typo in redirects file: Netify -> Netlify * 🔥 Removes unused .themes folder * 🔥 Removes unused aside.html template * 🔥 Removes Disqus config leftover * 🔥 Removes rouge highlighter config * 🔥 Removes Octopress 🎉 * 💄 Adjust code block font size and adds soft wraps * 💄 Adds styling for inline code blocks * 💄 Improve styling of note/warning/info boxes + div support * 🔨 Rewrites all note/warning/info boxes
58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
---
|
|
title: "MQTT Publish service"
|
|
description: "Instructions on how to setup the MQTT Publish service within Home Assistant."
|
|
logo: mqtt.png
|
|
---
|
|
|
|
The MQTT integration 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.
|
|
|
|
### 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)
|
|
|
|
<div class='note'>
|
|
You need to include either payload or payload_template, but not both.
|
|
</div>
|
|
|
|
```json
|
|
{
|
|
"topic": "home-assistant/light/1/command",
|
|
"payload": "on"
|
|
}
|
|
```
|
|
|
|
{% raw %}
|
|
```json
|
|
{
|
|
"topic": "home-assistant/light/1/state",
|
|
"payload_template": "{{ states('device_tracker.paulus') }}"
|
|
}
|
|
```
|
|
{% endraw %}
|
|
|
|
`payload` must be a string. If you want to send JSON then you need to format/escape it properly. Like:
|
|
|
|
```json
|
|
{
|
|
"topic": "home-assistant/light/1/state",
|
|
"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
|
|
}
|
|
```
|