mqtt - Publish a message on an MQTT topic for the IoT

Synopsis

  • Publish a message on an MQTT topic.

Requirements (on host that executes module)

  • mosquitto

Options

parameter required default choices comments
ca_certs
(added in 2.3)
no None
The path to the Certificate Authority certificate files that are to be treated as trusted by this client. If this is the only option given then the client will operate in a similar manner to a web browser. That is to say it will require the broker to have a certificate signed by the Certificate Authorities in ca_certs and will communicate using TLS v1, but will not attempt any form of authentication. This provides basic network encryption but may not be sufficient depending on how the broker is configured.
certfile
(added in 2.3)
no None
The path pointing to the PEM encoded client certificate. If this is not None it will be used as client information for TLS based authentication. Support for this feature is broker dependent.
client_id
no hostname + pid
MQTT client identifier
keyfile
(added in 2.3)
no None
The path pointing to the PEM encoded client private key. If this is not None it will be used as client information for TLS based authentication. Support for this feature is broker dependent.
password
no
Password for username to authenticate against the broker.
payload
yes
Payload. The special string "None" may be used to send a NULL (i.e. empty) payload which is useful to simply notify with the topic or to clear previously retained messages.
port
no 1883
MQTT broker port number
qos
no
  • 0
  • 1
  • 2
QoS (Quality of Service)
retain
no
Setting this flag causes the broker to retain (i.e. keep) the message so that applications that subsequently subscribe to the topic can received the last retained message immediately.
server
no localhost
MQTT broker address/name
topic
yes
MQTT topic name
username
no
Username to authenticate against the broker.

Examples

- mqtt:
    topic: 'service/ansible/{{ ansible_hostname }}'
    payload: 'Hello at {{ ansible_date_time.iso8601 }}'
    qos: 0
    retain: False
    client_id: ans001
  delegate_to: localhost

Notes

Note

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/mqtt_module.html