import paho.mqtt.client as mqtt import paho.mqtt.publish as publish # The callback for when the client receives a CONNACK response from the server. def on_connect(client, userdata, flags, reason_code, properties): print(f"Connected with result code {reason_code}") # Subscribing in on_connect() means that if we lose the connection and # reconnect then subscriptions will be renewed. #client.subscribe("$SYS/#") client.subscribe('test/topic') client.subscribe('homeassistant/status') publish.single('test/topic', 'Hello, MQTT!', hostname='192.168.188.30', auth={'username': 'mqtt', 'password': 'mqtt'}) # The callback for when a PUBLISH message is received from the server. def on_message(client, userdata, msg): print(msg.topic + " " + str(msg.payload)) mqttc = mqtt.Client(protocol=mqtt.MQTTv5) mqttc.username_pw_set('mqtt', 'mqtt') mqttc.on_connect = on_connect mqttc.on_message = on_message mqttc.connect("192.168.188.30", 1883, 60) publish.single('test/topic', 'Hello, MQTT!', hostname='192.168.188.30', auth={'username': 'mqtt', 'password': 'mqtt'}) publish.single('test/topic/temp', '2', hostname='192.168.188.30', auth={'username': 'mqtt', 'password': 'mqtt'}) # Blocking call that processes network traffic, dispatches callbacks and # handles reconnecting. # Other loop*() functions are available that give a threaded interface and a # manual interface. mqttc.loop_forever()