智慧型住宅模式特徵結構定義

action.devices.traits.Modes:這個特徵涵蓋裝置的所有可用模式和模式專屬設定。

此特徵屬於任何具有任意數量「n-way」模式的裝置,其中的模式和各模式設定皆為任意值,且各裝置或裝置類型皆不相同。每個模式都有多種可能的設定,但每次只能選取一個模式;烘乾機無法同時處於「精緻」、「一般」和「重度」模式。只要能開啟或關閉的設定,就屬於 Toggles 特徵。

舉例來說,洗衣機可以設定水位和溫度。由於這兩者彼此獨立,因此都屬於模式,但每個模式一次只能處於一種狀態。使用者可以透過「Set the washer’s temperature to cold」這類指令,明確設定溫度等模式。

部分模式是「有順序的」,也可以透過上/下、增加/減少的字詞進行調整。舉例來說,負載大小 (小、中、大) 和溫度有明確的順序 (請注意,溫度並非實際的溫度控制器,不像其他裝置有數值目標),但負載類型 (精緻衣物、一般、羊毛等) 可能沒有。

這個特徵涵蓋使用者可設定的一或多個個別模式。一般來說,這些模式應用於與其他裝置行為無關的功能。連結行為 (例如開啟或關閉裝置本身) 應使用更明確的特徵 (例如特徵 TemperatureSetting 中的 thermostatMode)。

裝置屬性

具備此特徵的裝置可能會在 SYNC 作業中回報下列屬性。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
availableModes 陣列

必填。

可用模式清單。

[item, ...] 物件

可用模式。

name String

必填。

模式的內部名稱,會用於指令和狀態。這可能會對使用者造成不便,且會在所有語言中共用。

name_values 陣列

必填。

模式在各支援語言中的同義字。

[item, ...] 物件

指定語言中模式的同義字。

name_synonym 陣列

必填。

模式的同義詞。清單中的第一個字串會做為該語言中層級的標準名稱。

[item, ...] String

同義字名稱。

lang String

必填。

語言代碼 (ISO 639-1)。請參閱支援的語言

settings 陣列

必填。

這個模式支援的設定。

[item, ...] 物件

支援的設定。

至少需要 2 個項目。

setting_name String

必填。

模式設定的內部名稱,會用於指令和狀態。這可能會對使用者造成不便,且會在所有語言中共用。

setting_values 陣列

必填。

在各支援語言中,設定的相應詞。

[item, ...] 物件

特定語言中設定的相似字詞。

setting_synonym 陣列

必填。

設定的同義詞。清單中的第一個字串會做為該語言中層級的標準名稱。

[item, ...] String

同義字名稱。

lang String

必填。

語言代碼 (ISO 639-1)。請參閱支援的語言

ordered 布林值

(預設值:false)

如果設為 true,系統會依設定陣列的順序 (遞增) 套用增加/減少邏輯的額外文法。

commandOnlyModes 布林值

(預設值:false)

指出裝置是否支援使用單向 (true) 或雙向 (false) 通訊。如果裝置無法回應此特徵的 QUERY 意圖或回報狀態,請將這個屬性設為 true。

queryOnlyModes 布林值

(預設值:false)

如果裝置支援僅執行查詢,則為必要屬性。這個屬性會指出裝置是否只能查詢狀態資訊,而無法控制裝置。

範例

裝置具有多種模式和設定。

{
  "availableModes": [
    {
      "name": "load_mode",
      "name_values": [
        {
          "name_synonym": [
            "Load",
            "Size",
            "Load size"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "small_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Small",
                "Half"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "medium_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Medium",
                "Normal"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "large_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Large",
                "Full"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": true
    },
    {
      "name": "temp_mode",
      "name_values": [
        {
          "name_synonym": [
            "Temperature",
            "Temp"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "hot_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Hot",
                "White"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "warm_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Warm",
                "Color"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "cold_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Cold",
                "Delicate"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ]
}

裝置僅有指令模式。

{
  "availableModes": [
    {
      "name": "light_mode",
      "name_values": [
        {
          "name_synonym": [
            "Light",
            "Lighting"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "day_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Day",
                "Bright"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "night_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Night",
                "Dark"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "reading_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Reading",
                "Ambiant"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ],
  "commandOnlyModes": true,
  "queryOnlyModes": false
}

裝置狀態

具有此特徵的實體可能會在 QUERY 作業中回報下列狀態。如要進一步瞭解如何處理 QUERY 意圖,請參閱「意圖執行要求」。

類型 說明
currentModeSettings 物件

必填。

鍵/值組合,其中裝置的模式 name 為鍵,而目前的 setting_name 為值。

<string> String

目前 setting_name

範例

裝置處於哪種模式?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

裝置指令

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

action.devices.commands.SetModes

更新模式設定。

參數

參數 類型 說明
updateModeSettings 物件

必填。

鍵/值組合,其中裝置的模式 name 做為鍵,新 setting_name 做為值。

<string> String

新的 setting_name

範例

設為大負載。

{
  "command": "action.devices.commands.SetModes",
  "params": {
    "updateModeSettings": {
      "load_mode": "large_load"
    }
  }
}

範例句子

de-DE

  • Stelle den Staubsauger auf Ruhemodus

en-US

  • set the vacuum to energy saver mode

es-ES

  • pon la lavadora en modo frío

fr-FR

  • mets l'aspirateur en silencieux

hi-IN

  • वैक्यूम पर कार्पेट मोड लगाएं

it-IT

  • imposta l'aspirapolvere su silenzioso

ja-JP

  • 掃除機 静音 モードに設定して

ko-KR

  • 세탁기 세탁량 많음 으로 설정해

pt-BR

  • acionar a função autolimpeza do aspirador
  • ligar o modo de aquecimento

裝置錯誤

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