0
Mainthread:variable globale est partagé entre le fil et MQTT recevoir python
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(Broker, 1883, 60)
client.on_log = on_log
client.loop_start()
global alarm
alarm = True
while True:
try:
if alarm == True:
...
et en fonction ont variable de changement:
def on_message(client, userdata, msg):
message = str(msg.payload)
if message.lower() == 'alarm off': alarm = False
elif message.lower() == 'alarm on': alarm = True
Il fonctionne comme variable séparée en fonction et Mainthread je ne peux pas trouvé pourquoi.
Une autre question est-il des autres options pour rendre la variable variable globale car cette façon que définie globale à chaque fois que l'on appelle cette fonction. Juste pour un meilleur code. Merci – Roman
Non, il indique simplement à l'exécution d'utiliser la version globale plutôt que de créer une nouvelle variable locale pour chaque invocation de la fonction 'on_message' – hardillb