智慧型住宅填入特徵結構定義
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" } }