智慧型住宅填充特性結構定義
action.devices.traits.Fill
- 此屬性適用於支援填滿裝置 (例如浴缸)。
裝置屬性
具有此特性的裝置可能會在 SYNC
作業中回報下列屬性。如要進一步瞭解如何處理 SYNC
意圖,請參閱意圖執行要求一文。
屬性 | 類型 | 說明 |
---|---|---|
availableFillLevels |
物件 |
說明不同的裝置填充程度。 |
levels |
陣列 |
必填。 層級名稱和語言專屬同義詞清單。 |
[item, ...] |
物件 |
層級名稱及其語言專屬同義詞。 |
level_name |
字串 |
必填。 等級的內部名稱。這項功能不容易理解,並且會提供給所有語言。 |
level_values |
陣列 |
必填。 各個支援語言的同義詞。 |
[item, ...] |
物件 |
特定語言的同義詞。 |
level_synonym |
陣列 |
必填。 層級的同義詞。系統會將這個清單的第一個字串用做該語言的層級標準名稱。 |
[item, ...] |
字串 |
同義詞名稱。 |
lang |
字串 |
必填。 語言代碼 (ISO 639-1)。詳情請參閱支援的語言。 |
ordered |
布林 |
必填。 設為 true 時,裝置會處理額外的文法,用於增加或減少邏輯,如 |
supportsFillPercent |
布林 |
(預設: 如為 true,則接受將等級調整成百分比的指令。 |
範例
具有基本填滿或排水功能且不支援離散填滿程度的裝置。
{}
支援離散填充等級的裝置。
{ "availableFillLevels": { "levels": [ { "level_name": "half_level", "level_values": [ { "level_synonym": [ "Half", "Half way", "One half" ], "lang": "en" } ] }, { "level_name": "full_level", "level_values": [ { "level_synonym": [ "Full", "All the way", "Complete" ], "lang": "en" } ] } ], "ordered": true } }
裝置狀態:STATE
具有此特性的實體可能會在 QUERY
作業中回報下列狀態。如要進一步瞭解如何處理 QUERY
意圖,請參閱意圖執行要求一文。
州 | 類型 | 說明 |
---|---|---|
isFilled |
布林 |
必填。 如果裝置填充任何關卡,則傳回 True。如果裝置完全耗盡,會傳回 False。 |
currentFillLevel |
字串 |
如有設定 |
currentFillPercent |
Number |
如有設定 |
範例
浴缸的水已填滿嗎?
{ "isFilled": true }
浴缸的水已裝滿嗎?(含等級)。
{ "isFilled": true, "currentFillLevel": "half_level" }
裝置指令
具有此特性的裝置可能會在 EXECUTE
作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE
意圖,請參閱意圖執行要求一文。
action.devices.commands.Fill
將裝置填滿或清空。
參數
參數 | 類型 | 說明 |
---|---|---|
fill |
布林 |
必填。 傳回 True,設為 False 可排除。 |
fillLevel |
字串 |
用於指定要設定的 |
fillPercent |
Number |
表示要求的等級百分比。 |
範例
加裝浴缸
{ "command": "action.devices.commands.Fill", "params": { "fill": true } }
為浴缸排水
{ "command": "action.devices.commands.Fill", "params": { "fill": false } }
在浴缸的水槽上加油
{ "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "half_level" } }
將浴缸的供應量加一 (必須將 ordered
屬性設為 true
)。
{ "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "full_level" } }