mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-08-15 12:19:40 +00:00
.devcontainer
.github
.theia
.vscode
plugins
sass
source
.well-known
_addons
_cookbook
_data
_docs
authentication
automation
autostart
backend
configuration
ecosystem
frontend
installation
mqtt
birth_will.markdown
broker.markdown
certificate.markdown
discovery.markdown
logging.markdown
processing_json.markdown
service.markdown
testing.markdown
scene
scripts
security
tools
z-wave
asterisk_mbox.markdown
authentication.markdown
automation.markdown
autostart.markdown
backend.markdown
configuration.markdown
ecosystem.markdown
frontend.markdown
glossary.markdown
installation.markdown
mqtt.markdown
quality_scale.markdown
scene.markdown
scripts.markdown
security.markdown
tools.markdown
z-wave.markdown
_faq
_includes
_integrations
_layouts
_lovelace
_posts
addons
android
assets
blog
cloud
code_of_conduct
cookbook
demo
developers
docs
faq
font
getting-started
hassio
help
images
integrations
ios
javascripts
join-chat
latest-release-notes
lovelace
privacy
security
static
stylesheets
tos
CNAME
_headers
_redirects
atom.xml
favicon.png
googlef4f3693c209fe788.html
index.html
robots.txt
service_worker.js
version.json
.editorconfig
.gitattributes
.gitignore
.gitpod.yml
.markdownlint.json
.nvmrc
.powrc
.remarkignore
.remarkrc.js
.ruby-version
.slugignore
CLA.md
CODE_OF_CONDUCT.md
Gemfile
Gemfile.lock
LICENSE.md
README.md
Rakefile
_config.yml
config.rb
config.ru
package-lock.json
package.json

* Update service.markdown notation changed to yaml * Update source/_docs/mqtt/service.markdown Co-Authored-By: Franck Nijhof <frenck@frenck.nl> * Update source/_docs/mqtt/service.markdown Co-Authored-By: Franck Nijhof <frenck@frenck.nl>
1.5 KiB
1.5 KiB
title, description, logo
title | description | logo |
---|---|---|
MQTT Publish service | Instructions on how to setup the MQTT Publish service within Home Assistant. | 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 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) |
You need to include either payload or payload_template, but not both.
topic: home-assistant/light/1/command
payload: on
{% raw %}
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:
topic: home-assistant/light/1/state
payload: "{\"Status\":\"off\", \"Data\":\"something\"}"
Example of how to use qos
and retain
:
topic: home-assistant/light/1/command
payload: on
qos: 2
retain: true