智慧型住宅 RunCycle 特性結構定義
action.devices.traits.RunCycle
- 此特性代表任何可持續運作且可進行查詢的裝置。
這類裝置會在作業開始時回報其週期總數,以及裝置目前正在執行的各個週期。可讓使用者查詢,例如:
- 我的烘乾機在哪個週期?
- 洗碗機還剩下幾個週期?
- 乾衣機現在怎麼做?
- 洗車時間是什麼時候?
某些裝置會以非週期性格式包括時間長度。只要裝置運作達一定時間,就能回報剩餘時間,而且沒有月經週期。這也可處理週期可能不一致的情況 (例如,洗碗機不一定每次都會使用所有週期)。例如,使用者可以問:「我的吸塵器要多長多久?」會傳回會傳回剩餘時間的單位所花費時間。這也適用於上述裝置;我的衣物乾燥需要多久?會傳回幾分鐘,
裝置可以傳回他們所知到的資訊,而 Google 助理 TTS 回應將會根據可用資料建立最佳答案 (例如洗碗機正在運行,約在 20 分鐘內完成)。
RunCycle 目前是唯讀特性,沒有指令,只有可查詢的狀態。日後,可能有重新執行週期或略過週期的機制 (適合灑水器,適合用洗衣機使用)。
裝置屬性
無。
裝置狀態:STATE
具有此特性的裝置可能會在 QUERY
作業中回報下列狀態。如要進一步瞭解如何處理 QUERY
意圖,請參閱意圖執行要求一文。
州 | 類型 | 說明 |
---|---|---|
currentRunCycle |
陣列 |
必填。 包含目前支援週期中各支援語言的同義詞。 |
[item, ...] |
物件 |
單車同義詞名稱。 |
currentCycle |
字串 |
必填。 正在執行目前的週期。 |
nextCycle |
字串 |
選用,要執行的下一個週期。 |
lang |
字串 |
必填。 指定週期名稱的語言代碼。請參閱支援的語言。 |
currentTotalRemainingTime |
整數 |
必填。 作業剩餘時間 (以秒為單位)。 |
currentCycleRemainingTime |
整數 |
必填。 目前週期的剩餘時間 (以秒為單位)。 |
範例
裝置會在 5 分鐘內再次清洗,並在 20 分鐘內完成。
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
裝置需先沖洗 5 分鐘,再開始轉動。
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
裝置指令
無。
裝置通知
具有此特性的裝置可能會隨著裝置狀態變更,傳回下列通知酬載。如要進一步瞭解如何實作通知,請參閱智慧型住宅動作通知。
欄位 | 類型 | 說明 |
---|---|---|
RunCycle |
必填。 通知酬載。 |
|
支援下列其中一種做法: | ||
0
|
物件 |
成功 |
priority |
整數 |
必填。 代表通知層級。目前支援的值為 0,表示系統應可大聲朗讀通知。 |
status |
字串 |
必填。 作業結果。 支援的值:
|
currentCycleRemainingTime |
整數 |
必填。 目前週期的剩餘時間 (以秒為單位)。 |
1
|
物件 |
失敗 |
priority |
整數 |
必填。 代表通知層級。目前支援的值為 0,表示系統應可大聲朗讀通知。 |
status |
字串 |
必填。 作業結果。 支援的值:
|
errorCode |
字串 |
必填。 這個值可以是此特性的任何錯誤代碼,例如 |
範例
裝置已停止執行。
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
完成目前的週期時發生錯誤。
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }