#!/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 = '/test/house/main_light' # ------------------------------------------------------------------- # ---- 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) print('publish message to topic') client.publish(topic,'ABC') time.sleep(4) client.loop_stop()