MQTT Publish service


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 that will be rendered to generate the payload.

{
  "topic": "home-assistant/light/1/command",
  "payload": "on"
}
{
  "topic": "home-assistant/light/1/state",
  "payload_template": "{{ states('device_tracker.paulus') }}"
}

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\"}"
}