def __init__(self, client_id): client = Mosquitto(client_id, False, self) client.will_set(DAEMON_STATUS, OFF, qos=2, retain=True) def on_connect(client, self, rc): logging.info("MQTT Connected") client.publish(DAEMON_STATUS, ON, qos=2, retain=True) client.subscribe('home/#') def on_disconnect(client, self, rc): logging.info("MQTT Disconnected") def on_message(client, self, message): if self.onMessage is not None: self.onMessage(message.topic, message.payload) client.on_connect = on_connect client.on_disconnect = on_disconnect client.on_message = on_message self.client = client self.publish_queue = Queue() self.onMessage = None