in leda_python/deviceMbus.py [0:0]
def _releaseMbusObject(self):
if (self.driverMbusHandle):
with self.deviceServiceDictLock:
for pk_dn in self.device_service_dict:
self.device_service_dict[pk_dn][0] = None # clean cloud_id
self.device_service_dict[pk_dn][1].device_disconnect()
self.device_service_dict = {}
try:
bus = self.driverMbusHandle.getBus()
except:
_logger.exception('Err')
return
wellKnownName = mbusConfig.CMP_DRIVER_WKN_PREFIX + self.driver_id
objectPath = '/' + wellKnownName.replace('.', '/')
if (None != self.driverMbusObject):
self.driverMbusObject.remove_from_connection(bus, objectPath)
self.driverMbusObject = None
self.driverMbusHandle.releaseName()