in leda_python/deviceMbus.py [0:0]
def _getDeviceList(self, interface):
@dbus.service.method(interface, in_signature='s', out_signature='s')
def getDeviceList(self, deviceState):
devNum = 0
devList = []
with self.deviceServiceDictLock:
try:
if (deviceState == ""):
for pk_dn in self.device_service_dict:
devNum += 1
devList.append(self.device_service_dict[pk_dn][0]) # cloud_id
elif (deviceState == "online"):
for pk_dn in self.device_service_dict:
if (None != self.device_service_dict[pk_dn][1].deviceMbusHandle):
devNum += 1
devList.append(self.device_service_dict[pk_dn][0]) # cloud_id
elif (deviceState == "offline"):
for pk_dn in self.device_service_dict:
if (None == self.device_service_dict[pk_dn][1].deviceMbusHandle):
devNum += 1
devList.append(self.device_service_dict[pk_dn][0]) # cloud_id
else:
_logger.warning("method: getDeviceList inparams is invalid")
except:
_logger.exception("Err")
outMsg = {
"params": {
"devNum": devNum,
"devList": devList
}
}
return json.dumps(outMsg, ensure_ascii = False)
return getDeviceList