beremiz

MQTT: Fix warning when subscribing first topic from python.
py2compat
16 months ago, Edouard Tisserant
44890ce0ac93
Parents f6a4c9059ca8
Children 06cd935c5b65
MQTT: Fix warning when subscribing first topic from python.

Ensure that message callback is already set before subscribing a topic from python.
--- a/mqtt/library.py Thu Feb 20 12:00:17 2025 +0100
+++ b/mqtt/library.py Fri Feb 21 14:20:04 2025 +0100
@@ -65,9 +65,6 @@
def MQTT_subscribe(clientname, topic, cb, QoS = 1):
global MQTT_client_cbs, MQTT_subscribers_cbs
- MQTT_subscribers_cbs.setdefault(clientname, {})[topic] = (cb, QoS)
- res = _MQTT_subscribe(clientname, topic, QoS)
-
c_cbs = MQTT_client_cbs.get(clientname, None)
if c_cbs is None:
cb_onmsg, cb_resub = mqtt_per_client_cb_factory(clientname)
@@ -78,6 +75,9 @@
register_c_function.argtypes = [mqtt_c_cb_onmsg_type, mqtt_c_cb_resub_type]
register_c_function(*c_cbs)
+ MQTT_subscribers_cbs.setdefault(clientname, {})[topic] = (cb, QoS)
+ res = _MQTT_subscribe(clientname, topic, QoS)
+
return res
"""