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

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

這項特徵屬於任意數量的「n 向」模式裝置,其中每個模式的模式和設定都是任意的,且每個裝置或裝置類型都不盡相同。每種模式都有多種設定,但一次只能選取一種;烘乾機無法同時處於「精緻」、「一般」和「耐用」模式。如果設定只能開啟或關閉,請使用 Toggles 特徵。

舉例來說,洗衣機可以設定衣物量和水溫。這兩者都是模式,因為彼此獨立,但一次只能處於一種狀態。使用者可以透過「將洗衣機溫度設為低溫」等指令,明確設定溫度等模式。

部分模式為「排序」模式,也可以使用「向上/向下」、「增加/減少」等字詞調整。舉例來說,洗衣量 (小、中、大) 和溫度會依序顯示 (請注意,溫度並非其他裝置上的實際恆溫器,不會顯示目標溫度),但洗衣類型 (精緻衣物、一般、羊毛等) 可能不會。

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

裝置屬性

具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
availableModes 陣列

必要。

可用模式清單。

[item, ...] 物件

可用模式。

name String

必要。

模式的內部名稱,用於指令和狀態。這可能不適合使用者,而且會以所有語言分享。

name_values 陣列

必要。

各支援語言的模式同義詞。

[item, ...] 物件

指定語言的模式同義詞。如要提供語言備用選項,至少須有一個項目的 lang 值為 en

name_synonym 陣列

必要。

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

[item, ...] String

同義詞名稱。如要提供語言備用選項,至少須有一個項目的 lang 值為 en

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 意圖或 Report State,請將這個屬性設為 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

裝置錯誤

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