場景是指通過SA實現裝置聯動。例如,自動檢測今天的天氣情況,今天無雨,定時智慧音箱播放澆花提醒,並且播報今天的天氣情況。 根據自身需求,把多種控制併發的事情編輯成一個場景,並命名,可以通過場景控制很多裝置,實現一鍵操作的功能。

場景的相關操作

1.建立場景

建立智慧場景前請確保您的家庭已新增裝置,且使用者是否擁有建立場景的許可權。

  • 場景名稱

場景名稱在該家庭下需要確保唯一性。

  • 觸發條件

通過配置觸發條件,達到條件後能執行對應的任務,並且可以設定觸發條件的生效時段。觸發條件分為三種

  1. 手動執行,點選即可執行

  2. 定時執行,如每天8點

  3. 裝置狀態變化時,如開燈時,感應到人時

當觸發條件為手動觸發時只能新增一種觸發條件。而選擇其他兩種可以新增多種,同時需要確定條件關係。條件關係可以選擇

  1. 滿足所有條件

  2. 滿足任一條件

  • 技術實現

系統中啟動一個服務,作為訊息佇列(以下簡稱smq)的消費者,消費者不斷去輪訓訊息佇列,看看有沒有新的資料,如果有就消費。 檢視下面為虛擬碼:

當設定為手動執行的場景時,會新增一條任務資料,執行時間為當前時間,加進smq,等待消費者消費。

 

而設定為自動執行的場景時,會計算任務今天的下次執行時間,並新增任務資料,加進smq,等待消費者消費。

 

如果自動執行場景的生效時段為重複性,那麼會在每天 23: 55:00 進行第二天任務編排

 

2.執行任務

當滿足觸發條件後,可以自動執行配置好的執行任務。執行任務認為兩種

  1. 智慧裝置,如開燈,播放音樂

  2. 控制場景,如開啟夏季晚會場景

  • 技術實現

任務執行,通過消費者消費smq中的任務,去執行run方法去執行對應的任務。

 

3.檢視場景

場景分成 “手動” 和 “自動” 兩個執行型別,頁面載入時判斷使用者是否擁有控制場景的許可權,在頁面展示中 “手動”場景排在“自動”場景的上方;

  1. 手動類場景為“執行”按鍵,可直接點選觸發執行任務

  2. 自動類場景為“開關”按鍵,設定開啟或者關閉狀態

4.注意事項

  • 場景的修改和控制不僅僅取決於使用者是否擁有修改和控制場景的許可權,還包括該使用者是否有對場景中的裝置操作項的控制權限。

    • eg:如果您擁有控制場景A的許可權,但是您沒有場景A裡面裝置B的開關控制權限,則您同樣沒有控制該場景A的許可權。修改場景也是如此。