智慧型住宅切換開關特徵架構
action.devices.traits.Toggles - 這項特徵適用於只能處於兩種狀態之一的裝置設定。
這些設定可以代表具有開啟/關閉或啟用/停用狀態的實體按鈕、HTML 中的核取方塊,或是任何其他特定啟用/停用元素。如果設定有兩種以上的狀態,或有未選取任何二進位選項的狀態,最好以 Modes 特徵表示,這相當於多狀態撥號、單選按鈕 (實體或 HTML),或非明確開啟/關閉的二進位狀態 (例如「AM/FM」或「熱/冷」)。
這項特徵涵蓋一或多個使用者可設定的個別切換鈕。一般來說,這些切換鈕應適用於與其他裝置行為無關的功能。如果連結的行為是開啟或關閉裝置本身,則應使用更具體的特徵 (例如特徵 TemperatureSetting 中的 thermostatMode)。
裝置屬性
具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。
| 屬性 | 類型 | 說明 | 
|---|---|---|
| availableToggles | 陣列 | 必要。 可用的切換按鈕清單。 | 
| [item, ...] | 物件 | 可用的切換按鈕。 | 
| name | String | 必要。 切換鈕的內部名稱,用於指令和狀態。這可能不適合使用者,而且會以所有語言分享。 | 
| name_values | 陣列 | 必要。 各支援語言中切換鈕的同義詞。 | 
| [item, ...] | 物件 | 特定語言的切換鈕同義詞。如要提供語言備用選項,至少須有一個項目的  | 
| name_synonym | 陣列 | 必要。 切換鈕的同義詞。清單中的第一個字串會做為該語言的標準層級名稱。 | 
| [item, ...] | String | 同義詞名稱。如要提供語言備用選項,至少須有一個項目的  | 
| lang | String | 必要。 語言代碼 (ISO 639-1)。請參閱支援的語言。 | 
| commandOnlyToggles | 布林值 | (預設值: 指出裝置是否支援單向 (true) 或雙向 (false) 通訊。如果裝置無法回應這項特徵的 QUERY 意圖或 Report State,請將這個屬性設為 true。 | 
| queryOnlyToggles | 布林值 | (預設值: 如果裝置支援僅查詢執行作業,則為必要選項。這個屬性表示裝置只能查詢狀態資訊,無法控制。 | 
範例
有多個切換按鈕的裝置。
{
  "availableToggles": [
    {
      "name": "sterilization_toggle",
      "name_values": [
        {
          "name_synonym": [
            "Clean",
            "Bio clean"
          ],
          "lang": "en"
        }
      ]
    },
    {
      "name": "energysaving_toggle",
      "name_values": [
        {
          "name_synonym": [
            "Energy saving",
            "Eco"
          ],
          "lang": "en"
        }
      ]
    }
  ]
}僅支援指令切換的裝置。
{
  "availableToggles": [
    {
      "name": "filter_toggle",
      "name_values": [
        {
          "name_synonym": [
            "Filtered",
            "Filter"
          ],
          "lang": "en"
        }
      ]
    }
  ],
  "commandOnlyToggles": true
}僅提供查詢切換選項的裝置。
{
  "availableToggles": [
    {
      "name": "filter_toggle",
      "name_values": [
        {
          "name_synonym": [
            "Filtered",
            "Filter"
          ],
          "lang": "en"
        }
      ]
    }
  ],
  "queryOnlyToggles": true
}裝置狀態
具有這項特徵的實體可能會回報下列狀態,做為 QUERY 作業的一部分。如要進一步瞭解如何處理 QUERY 意圖,請參閱「意圖執行要求」。
| 州 | 類型 | 說明 | 
|---|---|---|
| currentToggleSettings | 物件 | 必要。 鍵/值組合,其中裝置的切換開關  | 
| <string> | 布林值 | 目前的切換按鈕狀態。 | 
範例
是否已開啟消毒功能?
{
  "currentToggleSettings": {
    "sterilization_toggle": true,
    "energysaving_toggle": false
  }
}裝置指令
具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖執行要求」。
action.devices.commands.SetToggles
設定指定的切換狀態。
參數
| 參數 | 類型 | 說明 | 
|---|---|---|
| updateToggleSettings | 物件 | 必要。 鍵/值組合,其中裝置的切換開關  | 
| <string> | 布林值 | 新的切換狀態 | 
範例
開啟節能模式。
{
  "command": "action.devices.commands.SetToggles",
  "params": {
    "updateToggleSettings": {
      "energysaving_toggle": true
    }
  }
}關閉篩選器。
{
  "command": "action.devices.commands.SetToggles",
  "params": {
    "updateToggleSettings": {
      "filter_toggle": false
    }
  }
}語音指令範例
de-DE
- Bitte schalte Power Cool am Kühlschrank aus
- stelle den Kühlschrank auf Power Cool
en-US
- activate power freeze for the freezer
- cancel power cool for the kitchen fridge
es-ES
- pon el enfriamiento rápido en la nevera
- quita el enfriamiento rápido
fr-FR
- mets le mode power cool sur le réfrigérateur
- Éteins le mode power freeze du réfrigérateur .
hi-IN
- रेफ़्रिजरेटर का पावर कूल मोड बंद कर दो
- रेफ़्रिजरेटर में पावर कूल मोड चालू करो
it-IT
- disattiva il power freeze del freezer
- imposta la funzione power freeze del surgelatore
ja-JP
- 冷蔵庫 の 急速冷凍 つけて
- 冷蔵庫 の 急速冷凍 を切ってくれる
ko-KR
- 냉장고 급속 냉장 해제해
- 냉장고 모드 급속 냉장 으로 바꿔
nl-NL
- Zet de power cool uit op de koelkast
- zet de koelkast op superkoelen
pt-BR
- Ativa a função power freeze no congelador .
- Desativa o bloqueio infantil do forno .
- desligar o power cool da geladeira
- iniciar o modo power freeze do freezer
sv-SE
- Stäng av power cool i kylskåpet
- sätt på power freeze på frysen