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