|
@@ -981,35 +981,35 @@ class SmartSceneView(View):
|
|
@param tasks_list: app任务列表
|
|
@param tasks_list: app任务列表
|
|
@return: task_list
|
|
@return: task_list
|
|
"""
|
|
"""
|
|
- # 只下发最后一个任务
|
|
|
|
- last_task = tasks_list.pop()
|
|
|
|
- sensor_type = int(last_task['device_type'])
|
|
|
|
- task_temp = {
|
|
|
|
- 'sensor_type': sensor_type,
|
|
|
|
- 'sensor_delay': 0
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- # 延时
|
|
|
|
- if 'delay_time' in last_task and last_task['delay_time'] != 0:
|
|
|
|
- task_temp['sensor_delay'] = last_task['delay_time']
|
|
|
|
-
|
|
|
|
- if sensor_type != -1: # 不为-1时需要其他数据
|
|
|
|
- task_temp['sensor_action'] = int(last_task['event_type'])
|
|
|
|
|
|
+ task_list = []
|
|
|
|
+ for task in tasks_list:
|
|
|
|
+ sensor_type = int(task['device_type'])
|
|
|
|
+ task_temp = {
|
|
|
|
+ 'sensor_type': sensor_type,
|
|
|
|
+ 'sensor_delay': 0
|
|
|
|
+ }
|
|
|
|
|
|
- # 子设备返回长地址
|
|
|
|
- sub_device_id = last_task.get('subDeviceId', None)
|
|
|
|
- if sub_device_id:
|
|
|
|
- sub_device_qs = GatewaySubDevice.objects.filter(id=sub_device_id).values('ieee_addr').first()
|
|
|
|
- task_temp['sensor_ieee_addr'] = sub_device_qs['ieee_addr']
|
|
|
|
- # 网关添加报警类型数据
|
|
|
|
- else:
|
|
|
|
- task_temp['voice_type'] = last_task.get('voice_type')
|
|
|
|
- task_temp['voice_id'] = last_task.get('voice_id')
|
|
|
|
- task_temp['count'] = last_task.get('count')
|
|
|
|
- task_temp['delay_time'] = last_task.get('delay_time')
|
|
|
|
- task_temp['duration'] = last_task.get('duration')
|
|
|
|
- task_temp['value_type'] = last_task.get('value_type')
|
|
|
|
- task_list = [task_temp]
|
|
|
|
|
|
+ # 延时
|
|
|
|
+ if 'delay_time' in task and task['delay_time'] != 0:
|
|
|
|
+ task_temp['sensor_delay'] = task['delay_time']
|
|
|
|
+
|
|
|
|
+ # 不为-1时需要其他数据
|
|
|
|
+ if sensor_type != -1:
|
|
|
|
+ task_temp['sensor_action'] = int(task['event_type'])
|
|
|
|
+ # 子设备返回长地址
|
|
|
|
+ sub_device_id = task.get('subDeviceId', None)
|
|
|
|
+ if sub_device_id:
|
|
|
|
+ sub_device_qs = GatewaySubDevice.objects.filter(id=sub_device_id).values('ieee_addr').first()
|
|
|
|
+ task_temp['sensor_ieee_addr'] = sub_device_qs['ieee_addr']
|
|
|
|
+ # 网关添加报警类型数据
|
|
|
|
+ else:
|
|
|
|
+ task_temp['voice_type'] = task.get('voice_type')
|
|
|
|
+ task_temp['voice_id'] = task.get('voice_id')
|
|
|
|
+ task_temp['count'] = task.get('count')
|
|
|
|
+ task_temp['delay_time'] = task.get('delay_time')
|
|
|
|
+ task_temp['duration'] = task.get('duration')
|
|
|
|
+ task_temp['value_type'] = task.get('value_type')
|
|
|
|
+ task_list.append(task_temp)
|
|
return task_list
|
|
return task_list
|
|
|
|
|
|
|
|
|