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

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

此特性屬於具有任意數量「N 向」模式的裝置,其中每種模式的模式和設定在每種裝置或裝置類型上都能任意且獨一無二。每種模式都有多種可能的設定,但一次只能選取一個;烘衣機無法同時處於「切割」、「正常」和「重度」模式。可開啟或關閉的設定屬於 Toggles 特性。

舉例來說,洗衣機可以有負載大小和溫度的設定。 這都是模式,因為兩者彼此獨立,但一次只能處於一個狀態。使用者可以透過「將洗衣機的溫度設為冷氣」這類指令明確設定溫度等模式。

部分模式會「已排序」,也可以根據向上/向下調整、增加/減少詳細程度進行調整。舉例來說,負載大小 (小、中、大) 和溫度會清楚排序 (請注意,溫度並非以數值目標為依據的實際溫度,與其他裝置一樣),但載入類型 (輕度、正常、羊毛等) 則可能不會。

這個特性涵蓋了使用者可設定的一或多個個別模式。一般而言,這些模式應用於與其他裝置行為取消連結的功能。連結的行為 (例如開啟或關閉裝置本身) 應使用更具體的特徵 (例如 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

裝置錯誤

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