智慧型住宅填入特徵結構定義
action.devices.traits.Fill
:這個特徵適用於可填充的裝置,例如浴缸。
裝置屬性
具備此特徵的裝置可能會在 SYNC
作業中回報下列屬性。如要進一步瞭解如何處理 SYNC
意圖,請參閱「意圖執行要求」。
屬性 | 類型 | 說明 |
---|---|---|
availableFillLevels |
物件 |
說明裝置的不同填充程度。 |
levels |
陣列 |
必要。 列出等級名稱和語言專屬同義字。 |
[item, ...] |
物件 |
等級名稱及其語言專屬同義字。 |
level_name |
String |
必要。 等級的內部名稱。這可能會對使用者造成不便,且會在所有語言中共用。 |
level_values |
陣列 |
必要。 各個支援語言中,等級的同義字。 |
[item, ...] |
物件 |
指定語言中關卡的同義字。 |
level_synonym |
陣列 |
必填。 等級的同義詞。這份清單中的第一個字串會做為該語言等級的標準名稱。 |
[item, ...] |
String |
同義字名稱。 |
lang |
String |
必填。 語言代碼 (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 } }
裝置狀態
具有此特徵的實體可能會在 QUERY
作業中回報下列狀態。如要進一步瞭解如何處理 QUERY
意圖,請參閱「意圖執行要求」。
州 | 類型 | 說明 |
---|---|---|
isFilled |
布林值 |
必填。 如果裝置已填滿任何等級,則為 True。如果裝置電力耗盡,則為 False。 |
currentFillLevel |
String |
如果已設定 |
currentFillPercent |
Number |
如果已設定 |
範例
浴缸是否已加滿水?
{ "isFilled": true }
浴缸是否已加滿水?(含層級)。
{ "isFilled": true, "currentFillLevel": "half_level" }
裝置指令
具備此特徵的裝置可能會在 EXECUTE
作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE
意圖,請參閱「意圖執行要求」。
action.devices.commands.Fill
裝滿或排空裝置中的水。
參數
參數 | 類型 | 說明 |
---|---|---|
fill |
布林值 |
必要。 設為 True 以填滿,設為 false 時可清空。 |
fillLevel |
String |
指出要設定的 |
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" } }