def device_disconnect()

in leda_python/leda.py [0:0]


    def device_disconnect(self):
        with self.onofflineLock:
            if (None == self.deviceMbusHandle):
                return
    
            reply_cb = self._deviceDisconnect_reply_cb
            error_cb = self._deviceDisconnect_error_cb
    
            try:
                inparams = {'deviceCloudId': self.deviceCloudId}
                self.disConnectSync.clear()
                self.deviceMbusHandle.disconnect(json.dumps(inparams, ensure_ascii = False), reply_cb, error_cb)
                syncMsg = self.disConnectSync.wait(mbusConfig.MERHOD_SYNC_TIMEOUT)
                if ((None == syncMsg) or (False == syncMsg["state"])):
                    _logger.warning("device(%s) disconnected failed", self.cloud_id)
    
            except:
                _logger.warning("device(%s) disconnected failed", self.cloud_id)
                _logger.exception("Err")
    
            self.releaseMbusObject()
            _logger.info("Device(%s): is disconnected" % (self.cloud_id))