智慧型住宅百葉窗指南
action.devices.types.BLINDS
- 百葉窗可開及關上,而且支援多種百葉窗,例如維尼亞人 (方向朝方向開啟)、面板或垂直 (可能向左或向右) 和由下而下 (可能會打開或向下)。部分百葉窗可能有可以旋轉的閂鎖。
這個類型表示裝置會取得「百葉窗」圖示和一些相關的同義詞和別名。
裝置功能
請參閱對應的特徵說明文件,瞭解實作詳情,例如瞭解服務支援的屬性和狀態,以及如何建構 EXECUTE 和 QUERY 回應。
必要特徵
您需要這些 traits 和指令 (如果裝置適用的話)。如果您的裝置不支援這些特徵,請在 QUERY 或 EXECUTE 回應中輸入 functionNotSupported
的錯誤代碼。詳情請參閱「錯誤與例外狀況」一節。
推薦 traits
建議使用這些 traits (適用於您的裝置)。不過,您可以自由混用所有可用特徵,以最符合現有產品功能的需求。
品質規定
- 延遲時間:必須小於或等於 2500 毫秒。
- 可靠性:必須大於或等於 97%。
裝置範例:簡易百葉窗
本節包含代表上述裝置類型和特徵的意圖酬載範例,如果您在實作中新增或移除特徵,請根據變更來修改回應。
在由上往下的百葉窗中,UP
方向會提高盲人的底部部分,而 DOWN
方向則則降低盲人的上半部。圖 1 顯示由上而下盲的遮蔽範例,其中 UP
方向會將盲人底部部分向上提高 50%,而 DOWN
方向則將失明的上半部降低 30%。
SYNC 回應範例
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.BLINDS", "traits": [ "action.devices.traits.OpenClose" ], "name": { "name": "Simple blinds" }, "willReportState": true, "attributes": { "openDirection": [ "UP", "DOWN" ] }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
QUERY 回應範例
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "openState": [ { "openPercent": 30, "openDirection": "DOWN" }, { "openPercent": 50, "openDirection": "UP" } ] } } } }
EXECUTE 指令範例
OpenClose
如要進一步瞭解指令參數,請參閱
action.devices.traits.OpenClose
參考資料。
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OpenClose", "params": { "openPercent": 10, "openDirection": "DOWN" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "openState": [ { "openPercent": 10, "openDirection": "DOWN" }, { "openPercent": 50, "openDirection": "UP" } ] } } ] } }