Skip to main content

Netcat for MQTT

Project description


Netcat for MQTT

  • Free software: BSD 2-Clause License


This needs Python 3.6. At the command line:

pip3 install mqttcat

If your system does not provide python 3.6, a more comfortable way is to use the mqtttool Docker container. Please see the Github repo.


Usage: mqttcat [OPTIONS] URL

  A MQTT Message filter inspired by netcat and other Unix tools.

  Publishes Messages from STDIN to a MQTT Topic


  Subscribes to MQTT Topic and writes messages to STDOUT

  URL - Examples:

      mqtt://hostname/topic     tcp://hostname:1883/topic

  Usage Examples:

      mqttcat --echo mqtt://localhost/%23 >/dev/null

      ... will subscribe to all topics ("%23" is urlencoded #), and echo
      them to STDERR for control

      echo "Heart ... beat" | mqttcat --echo --loop --wait=3.3

      ... will publish "Heart ... beat" every 3.3 seconds to the topic

      mqttcat mqtt://source/ticktock | rq 'filter (a) => { a.payload="tock"
      }' | mqttcat mqtt://destination/tock

      ... subscribe to ticktock topic on host source, filter out the
      messages whose payload is tock,     and forward those to the tock
      topic (using the rq tool

  --loglevel TEXT             Python loglevel, one of
  --echo / --no-echo          Echo MQTT Messages to STDERR
  --source TEXT               File to read MQTT messages to be published (use
                              '-' for STDIN)
  --wait FLOAT                Wait time between publishing messages read from
                              --source in seconds (can be float)
  --loop / --no-loop          Loop message publishing (starting at beginning
                              of file after the end is reached
  --follow / --no-follow      Wait for additional in file after reaching the
                              end (like Unix 'tail -f')
  --destination TEXT          Append JSON-encoded MQTT messages to this file
                              (use '-' for STDOUT)
  --snapshot / --no-snapshot  Keep only the last JSON-encoded message in the
                              file specified with --destination
  --help                      Show this message and exit.


This module is part of the Smart Orchestra Project, co-financed by the Federal Ministery of Economics and Technology.


0.1.0 (2018-03-20)

  • First release on PyPI.

0.1.1 (2018-04-13)

  • Flak8-compliant

0.1.2 (2018-04-14)

  • added –source and –destination options to the command line
  • source file can be followed (like ‘tail -f ‘) with –follow
  • destination file can contain only the last messaget (with –snapshot)
  • destinations abstracted in

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mqttcat, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size mqttcat-0.1.2.tar.gz (12.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page