def loadFromSession(self, session, deviceConfig, payloadDict):
self.deviceId = binascii.hexlify(session.deviceId)
self.protocol = session.protocol
self.lastContact = session.lastUpdateTime.strftime('%Y-%m-%d %H:%M:%S')
self.address = "{0}:{1}".format(session.clientAddr[0], session.clientAddr[1])
self.values = []
self.commands = []
self.images = []
self.isOnline = True
conf = deviceConfig.get(self.deviceId, None)
if conf:
self.name = conf.get("name", self.deviceId)
if payloadDict:
if "values" in payloadDict:
for attr, value in payloadDict["values"].items():
if conf:
varConf = conf.get("values", {}).get(attr, {})
self.values.append(SensorValue(attr, varConf.get("label", attr), value, varConf.get("unit")))
else:
self.values.append(SensorValue(attr, attr, value, ""))
return self
评论列表
文章目录