Lassen Sie Publish() nicht im Thread „paho.mqtt.client.on_connect“ funktionierenPython

Python-Programme
Anonymous
 Lassen Sie Publish() nicht im Thread „paho.mqtt.client.on_connect“ funktionieren

Post by Anonymous »

Ich habe Schwierigkeiten, die Veröffentlichung im on_connect-Thread zum Laufen zu bringen. Die im Hauptteil aufgerufene Veröffentlichung erreicht den Broker, nicht jedoch die in der Funktion on_connect.
Beim Ausführen des folgenden Codes wird nur „129“ an den Broker gesendet, nicht „5555“. Kann sehen, dass on_connect() mit dem Grund „OK“ eingegeben wurde.

Code: Select all

import paho.mqtt.client as mqtt
import time

def on_connect(client, userdata, flags, reason_code, prop):
print("On connect")
print(client)

if (reason_code == 0):
print("OK")

while True:
time.sleep(1)
client.publish("CO2Meter/CO2",  5555)
print("client.publish 5555")

def main():
mqttclient = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)

mqttclient.on_connect = on_connect
mqttclient.connect("localhost")

mqttclient.publish("CO2Meter/CO2", 129)
print(mqttclient)

mqttclient.loop_forever()

if __name__ == "__main__":
main()
Versuchen Sie, sich ein Beispiel dafür anzusehen und das Gleiche zu tun, aber es funktioniert nicht. Kann mir jemand sagen, was ich übersehe?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post