|
@@ -1098,7 +1098,7 @@ class SmartSceneView(View):
|
|
task_list = []
|
|
task_list = []
|
|
scene_task_list = []
|
|
scene_task_list = []
|
|
total_delay_time = 0
|
|
total_delay_time = 0
|
|
- no_device_task = False
|
|
|
|
|
|
+ no_device_task = True
|
|
is_last_task = False
|
|
is_last_task = False
|
|
tasks_len = len(tasks_list)
|
|
tasks_len = len(tasks_list)
|
|
|
|
|
|
@@ -1115,7 +1115,6 @@ class SmartSceneView(View):
|
|
# 处理插座数据
|
|
# 处理插座数据
|
|
# 不用添加到设备的任务列表,添加到mqtt任务列表
|
|
# 不用添加到设备的任务列表,添加到mqtt任务列表
|
|
if sensor_type == DEVICE_TYPE['socket']:
|
|
if sensor_type == DEVICE_TYPE['socket']:
|
|
- no_device_task = True
|
|
|
|
serial_number = task['serial_number']
|
|
serial_number = task['serial_number']
|
|
event_type = int(task['event_type'])
|
|
event_type = int(task['event_type'])
|
|
delay_time = task['delay_time']
|
|
delay_time = task['delay_time']
|
|
@@ -1129,6 +1128,7 @@ class SmartSceneView(View):
|
|
# 如果条件为设置时间,创建定时任务
|
|
# 如果条件为设置时间,创建定时任务
|
|
if is_set_time:
|
|
if is_set_time:
|
|
smart_scene_id = 0
|
|
smart_scene_id = 0
|
|
|
|
+ # 无设备任务,且是最后一个任务,需要通过scene_id上报场景日志
|
|
if no_device_task and is_last_task:
|
|
if no_device_task and is_last_task:
|
|
smart_scene_id = scene_id
|
|
smart_scene_id = scene_id
|
|
task_temp['task_id'] = cls.create_aps_job(
|
|
task_temp['task_id'] = cls.create_aps_job(
|
|
@@ -1136,6 +1136,7 @@ class SmartSceneView(View):
|
|
smart_scene_id)
|
|
smart_scene_id)
|
|
scene_task_list.append(task_temp)
|
|
scene_task_list.append(task_temp)
|
|
else:
|
|
else:
|
|
|
|
+ no_device_task = False
|
|
task_temp = {
|
|
task_temp = {
|
|
'sensor_type': sensor_type,
|
|
'sensor_type': sensor_type,
|
|
'sensor_delay': 0
|
|
'sensor_delay': 0
|
|
@@ -1168,7 +1169,8 @@ class SmartSceneView(View):
|
|
if scene_task_list:
|
|
if scene_task_list:
|
|
scene_data = {
|
|
scene_data = {
|
|
'condition': condition,
|
|
'condition': condition,
|
|
- 'task_list': scene_task_list
|
|
|
|
|
|
+ 'task_list': scene_task_list,
|
|
|
|
+ 'no_device_task': no_device_task
|
|
}
|
|
}
|
|
|
|
|
|
return task_list, scene_data
|
|
return task_list, scene_data
|
|
@@ -1465,6 +1467,7 @@ class SmartSceneView(View):
|
|
else:
|
|
else:
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
time_stamp = scene_data_dict['condition']['time_dict']['time_stamp']
|
|
time_stamp = scene_data_dict['condition']['time_dict']['time_stamp']
|
|
|
|
+ # 恢复定时任务
|
|
if time_stamp > now_time:
|
|
if time_stamp > now_time:
|
|
for time_task in time_task_list:
|
|
for time_task in time_task_list:
|
|
task_id = time_task.get('task_id')
|
|
task_id = time_task.get('task_id')
|