import json import paho.mqtt.client as mqtt import sys def on_connect(client, userdata, flags, rc): client.subscribe("#") # Subscribe to all topics sys.stderr.write("Connected with result code {}\n".format(rc)) sys.stderr.flush() def on_message(client, userdata, msg): msg_as_str = msg.payload.decode('utf-8') try: print("{}\t{}\t{}".format(msg.timestamp, msg.topic, json.loads(msg_as_str))) sys.stdout.flush() except Exception as e: sys.stderr.write("Cannot parse message: '{}'\n".format(msg_as_str)) sys.stderr.flush() if __name__ == "__main__": client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect("localhost", 1883, 60) client.loop_forever()