in leda_python/deviceMbus.py [0:0]
def device_report_property(self, report_info):
'''
:param report_info: report_info 上报信息,其格式为key-value形式的json串,如上报属性:
{
"property1": {
"value" : "xxx",
"time" : 1524448722000
},
"property1": {
"value" : "yyy",
"time" : 1524448722000
}
...
}
:return:
'''
if (None == self.deviceMbusHandle):
_logger.warning("device(%s) can't report property unless online ", self.cloud_id)
raise exception.LedaReportPropertyException(
"device(%s) can't report property unless online" % (self.cloud_id))
if (False == isinstance(report_info, str)):
raise exception.LedaReportPropertyException(
"device(%s):device_report_property,params type is invalid: %s" % (self.cloud_id, type(report_info)))
srcWKN = self.deviceMbusHandle.getName()
srcInterface = srcWKN
srcObjectPath = "/" + srcInterface.replace(".", "/")
self.deviceMbusHandle.unicastSignal(srcObjectPath, srcInterface, mbusConfig.DMP_SUB_WKN, 's',
"propertiesChanged", report_info)
_logger.info("Device(%s): report properties: %s" % (self.cloud_id, report_info))