rabin 7 年之前
父节点
当前提交
aa9a2151d4
共有 3 个文件被更改,包括 17 次插入17 次删除
  1. 14 15
      service/record.py
  2. 2 1
      service/record_control.py
  3. 1 1
      service/record_status.py

+ 14 - 15
service/record.py

@@ -18,21 +18,20 @@ class Record(object):
 			return {'method':array[0], 'type':array[1], 'parent':array[2], 'child':array[2]}
 
 	def push(self, key, value):
-		if value and value != '0' and value != 0:
-			config = self.topic(key)
-			method = 'record_' + config['method']
-			cls = Demeter.getClass(method, 'service.')
-			state = False
-			if config['method'] != 'pic':
-				if '{' in value:
-					value = Demeter.isJson(value)
-					if value:
-						state = True
-						for k,v in value.items():
-							config['child'] = k
-							cls().handle(self, config, v)
-			if state == False:
-				cls().handle(self, config, value)
+		config = self.topic(key)
+		method = 'record_' + config['method']
+		cls = Demeter.getClass(method, 'service.')
+		state = False
+		if config['method'] != 'pic':
+			if '{' in value:
+				value = Demeter.isJson(value)
+				if value:
+					state = True
+					for k,v in value.items():
+						config['child'] = k
+						cls().handle(self, config, v)
+		if state == False:
+			cls().handle(self, config, value)
 
 	def save(self, config, value, name='', device_type=None):
 		model = Demeter.model('device_gateway')

+ 2 - 1
service/record_control.py

@@ -12,4 +12,5 @@ class Record_control(object):
 
 	def handle(self, record, config, value):
 		sensor = Record_sensor()
-		sensor.handle(record, config, value)
+		if value and value != '0' and value != 0:
+			sensor.handle(record, config, value)

+ 1 - 1
service/record_status.py

@@ -14,7 +14,7 @@ class Record_status(object):
 		model.hardware_id = config['child']
 		model.hardware_type = 3
 		device = model.select(type='fetchone')
-		if device:
+		if device and value and value != '0' and value != 0:
 			param = {}
 			param['info'] = device
 			Demeter.service('device').switchAction(param, False, False, False, msg=value)