dogmaster/mqtt.py
2025-09-11 12:57:12 +02:00

34 lines
1.3 KiB
Python

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/hallo')
client.subscribe('homeassistant/status')
# 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()