|
@@ -200,6 +200,8 @@ class SmartSceneView(View):
|
|
|
now_time = int(time.time())
|
|
|
conditions_dict = eval(conditions)
|
|
|
tasks_list = eval(tasks)
|
|
|
+ device_type = conditions_dict['sensor']['eventValues'][0]['event_type']
|
|
|
+
|
|
|
try:
|
|
|
# 判断是否已存在该场景名
|
|
|
smart_scene_qs = SmartScene.objects.filter(user_id=user_id, scene_name=scene_name)
|
|
@@ -232,6 +234,14 @@ class SmartSceneView(View):
|
|
|
else: # 子设备设置场景
|
|
|
if not sub_device_id:
|
|
|
return response.json(444, {'error param': 'subDeviceId'})
|
|
|
+
|
|
|
+ smart_scene_qs = SmartScene.objects.filter(sub_device_id=sub_device_id).values('conditions')
|
|
|
+ if smart_scene_qs.exists():
|
|
|
+ for item in smart_scene_qs:
|
|
|
+ conditions_temp = eval(item['conditions'])
|
|
|
+ if device_type == conditions_temp['sensor']['eventValues'][0]['event_type']:
|
|
|
+ return response.json(174)
|
|
|
+
|
|
|
smart_scene_dict['sub_device_id'] = sub_device_id
|
|
|
sub_device_qs = GatewaySubDevice.objects.filter(id=sub_device_id).values('device__serial_number',
|
|
|
'src_addr')
|
|
@@ -588,7 +598,8 @@ class SmartSceneView(View):
|
|
|
"""
|
|
|
查询场景日志
|
|
|
@param request_dict: 请求参数
|
|
|
- @request_dict gatewaySubId: 子设备id
|
|
|
+ @request_dict deviceId: 网关id
|
|
|
+ @request_dict subDeviceId: 子设备id
|
|
|
@request_dict page: 页数
|
|
|
@request_dict size: 条数
|
|
|
@request_dict startTime: 开始时间
|
|
@@ -604,7 +615,7 @@ class SmartSceneView(View):
|
|
|
end_time = request_dict.get('endTime', None)
|
|
|
|
|
|
if not any([device_id, sub_device_id]):
|
|
|
- return response.json(444, {'error param': 'deviceId or subDeviceId'})
|
|
|
+ return response.json(444, {'error param': 'deviceId and subDeviceId'})
|
|
|
if not all([page, size]):
|
|
|
return response.json(444, {'error param': 'page or size'})
|
|
|
|