def device_report_property()

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))