浏览代码

修复智能按钮更新紧急状态问题

locky 2 年之前
父节点
当前提交
8619fd1958
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      Controller/gatewayController.py

+ 6 - 4
Controller/gatewayController.py

@@ -71,12 +71,13 @@ class GatewayView(View):
         n_time = int(time.time())
 
         try:
-            nickname = serial_number
             # 查询子设备表id
             gateway_sub_device_qs = GatewaySubDevice.objects.filter(device__serial_number=serial_number,
                                                                     device_type=sensor_type, ieee_addr=ieee_addr,
                                                                     src_addr=src_addr).values('id', 'nickname')
-            if gateway_sub_device_qs.exists():
+            if not gateway_sub_device_qs.exists():
+                return response.json(173)
+            else:
                 gateway_sub_device_id = gateway_sub_device_qs[0]['id']
                 nickname = gateway_sub_device_qs[0]['nickname']
                 sensor_record_dict = {
@@ -98,7 +99,8 @@ class GatewayView(View):
 
                 # (门磁,烟雾,人体)传感器被拆动/拆动恢复,修改拆动状态
                 if sensor_status:
-                    gateway_sub_device_qs.update(is_tampered=1)
+                    if sensor_type != SENSOR_TYPE['smart_button']:  # 智能按钮不更新
+                        gateway_sub_device_qs.update(is_tampered=1)
                 elif sensor_type == SENSOR_TYPE['door_magnet'] or sensor_type == SENSOR_TYPE['smoke_sensor'] or \
                         sensor_type == SENSOR_TYPE['body_sensor']:
                     gateway_sub_device_qs.update(is_tampered=0)
@@ -205,7 +207,7 @@ class GatewayView(View):
         smart_scene_qs = SmartScene.objects.filter(id=scene_id).values('scene_name', 'conditions', 'tasks', 'device_id',
                                                                        'sub_device_id', 'user_id')
         if not smart_scene_qs.exists():
-            return response.json(174)
+            return response.json(173)
 
         nickname = ''
         scene_name = smart_scene_qs[0]['scene_name']