Sfoglia il codice sorgente

场景下发全部任务数据

locky 2 anni fa
parent
commit
7b13123f6a
1 ha cambiato i file con 28 aggiunte e 28 eliminazioni
  1. 28 28
      Controller/SensorGateway/SmartSceneController.py

+ 28 - 28
Controller/SensorGateway/SmartSceneController.py

@@ -981,35 +981,35 @@ class SmartSceneView(View):
         @param tasks_list: app任务列表
         @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