liuxiulin 5 小時之前
父節點
當前提交
61560fe1eb
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      services/scene-service/internal/service/manager/device_status.go

+ 6 - 4
services/scene-service/internal/service/manager/device_status.go

@@ -126,11 +126,13 @@ func (d *DeviceSceneService) monitorTask(config DeviceSceneConfig) {
 			if err != nil {
 				server.Log.Errorf("compare weather condition error :%s", err.Error())
 			}
-			taskExecutor := NewTaskExecutor(config.Actions)
-			if err = taskExecutor.Do(config.SceneId); err != nil {
-				server.Log.Errorf("device_status do taskid :%s error:%s", config.SceneId, err.Error())
+			if result.Result {
+				taskExecutor := NewTaskExecutor(config.Actions)
+				if err = taskExecutor.Do(config.SceneId); err != nil {
+					server.Log.Errorf("device_status do taskid :%s error:%s", config.SceneId, err.Error())
+				}
+				_ = taskExecutor.saveHis(config.SceneId, result.ConditionId)
 			}
-			_ = taskExecutor.saveHis(config.SceneId, result.ConditionId)
 
 		case <-config.stopChan: // 收到停止信号
 			config.ticker.Stop()