示例#1
0
    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