智慧型住宅填補結構定義

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,裝置會處理額外的文法以增加或減少邏輯,如 levels 陣列所示 (例如半層)。

supportsFillPercent 布林

(預設值:false)

如果是 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

如果已設定 availableFillLevels 屬性,則為必填屬性。從裝置填入裝置的 availableFillLevels 屬性指出目前 level_name

currentFillPercent Number

如果已設定 supportsFillPercent 屬性,則為必填屬性。表示目前的填滿層級百分比。

範例

浴缸內是否有填寫?

{
  "isFilled": true
}

浴缸是否被填滿?(等級)。

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

裝置指令

具有此特性的裝置可能會回應 EXECUTE 作業中的下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱意圖執行要求

action.devices.commands.Fill

將裝置填滿或清空。

參數

參數 類型 說明
fill 布林

必要。

為 True,設為 False 來清空。

fillLevel String

代表設定的 availableFillLevels 屬性中的 level_name。如果未指定,請填入預設層級。

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"
  }
}

裝置 ERRORS

請參閱錯誤和例外狀況的完整清單。