#!/usr/bin/python3
# ===================================================================
# From: www.steves-internet-guide.com/into-mqtt-python-client/
# ===================================================================
import paho.mqtt.client as mqtt
import time
broker = 'localhost'
instance = 'tom'
topic = 'sensors/#'
# -------------------------------------------------------------------
# ---- callback function
# ---- it prints the received messages
# -------------------------------------------------------------------
def on_message(client, userdata, message):
print('---------------------------------------------------')
print("message received = ", str(message.payload.decode("utf-8")))
print("message topic = ", message.topic)
print("message qos = ", message.qos)
print("message retain flag= " ,message.retain)
print('---------------------------------------------------')
# -------------------------------------------------------------------
# ---- main
# -------------------------------------------------------------------
print(f'creating new client instance {instance}')
client = mqtt.Client("tom")
print('attach function to callback')
client.on_message=on_message
print(f'connecting to broker {broker}')
client.connect(broker)
print('start loop')
client.loop_start()
print(f'subscribing to topic {topic}')
client.subscribe(topic,qos=0)
time.sleep(4)
client.loop_stop()