Quellcode durchsuchen

Merge remote-tracking branch 'remotes/origin/locky' into test

Ansjer vor 1 Jahr
Ursprung
Commit
e0b880fa3c
1 geänderte Dateien mit 20 neuen und 17 gelöschten Zeilen
  1. 20 17
      Controller/SensorGateway/SmartSceneController.py

+ 20 - 17
Controller/SensorGateway/SmartSceneController.py

@@ -380,15 +380,17 @@ class SmartSceneView(View):
                 if scene_data:
                     smart_scene_qs.scene_data = json.dumps(scene_data)
                 smart_scene_qs.save()
-                # 发布MQTT消息通知网关设备
-                thing_name = serial_number
-                topic_name = SMART_SCENE_TOPIC.format(serial_number)
 
-                success = CommonService.req_publish_mqtt_msg(thing_name, topic_name, msg)
-                try:
-                    assert success
-                except AssertionError:
-                    return response.json(10044)
+                # 设备任务列表不为空,发布MQTT消息通知网关设备
+                if msg['task']:
+                    thing_name = serial_number
+                    topic_name = SMART_SCENE_TOPIC.format(serial_number)
+
+                    success = CommonService.req_publish_mqtt_msg(thing_name, topic_name, msg)
+                    try:
+                        assert success
+                    except AssertionError:
+                        return response.json(10044)
 
             return response.json(0)
         except Exception as e:
@@ -751,14 +753,15 @@ class SmartSceneView(View):
                     }
                 msg['time'] = time_dict
 
-            # 通过mqtt发送设备数据
-            thing_name = serial_number
-            topic_name = SMART_SCENE_TOPIC.format(serial_number)
-            success = CommonService.req_publish_mqtt_msg(thing_name, topic_name, msg)
-            try:
-                assert success
-            except AssertionError:
-                return response.json(10044)
+            # 设备任务列表不为空,发布MQTT消息通知网关设备
+            if msg['task']:
+                thing_name = serial_number
+                topic_name = SMART_SCENE_TOPIC.format(serial_number)
+                success = CommonService.req_publish_mqtt_msg(thing_name, topic_name, msg)
+                try:
+                    assert success
+                except AssertionError:
+                    return response.json(10044)
 
             res['effectiveTime'] = effective_time
             return response.json(0, res)
@@ -1175,7 +1178,7 @@ class SmartSceneView(View):
                 condition['time_dict'] = time_dict
         else:
             device_type = conditions_dict['sensor']['device_type']
-            event_type = conditions_dict['sensor']['eventValues']['event_type']
+            event_type = conditions_dict['sensor']['eventValues'][0]['event_type']
             condition['event_type'] = event_type
             # 温湿度传感器,取值
             if device_type == SENSOR_TYPE['tem_hum_sensor']: