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