| 
					
				 | 
			
			
				@@ -49,7 +49,8 @@ class Device(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				switch = 0
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for v in value['devices']:
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				self.switch(v, switch)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	# 处理开关
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 处理开关-向设备发送请求
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	def switch(self, device_id, switch=1):
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		model = Demeter.model('device_info')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		model.id = device_id
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,4 +76,10 @@ class Device(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					pub = Pub()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					key = 'update/' + type_info['key'] + '/' + gateway_info['hardware_id']  + '/' + info['hardware_id']
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					value = switch
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					pub.push(key, value, 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					pub.push(key, value, qos=2, callback=self.switchAction, param={'id':info['id'], 'switch':switch})
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 处理开关-响应
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	def switchAction(self, param, client, userdata, mid):
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		model = Demeter.model('device_info')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		model.id = param['id']
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		model.update(value=param['switch']) 
			 |