智慧型住宅填入特徵結構定義

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

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