智慧型住宅切換開關特徵架構

action.devices.traits.Toggles - 這項特徵適用於只能處於兩種狀態之一的裝置設定。

這些設定可以代表具有開啟/關閉或啟用/停用狀態的實體按鈕、HTML 中的核取方塊,或是任何其他特定啟用/停用元素。如果設定有兩種以上的狀態,或有未選取任何二進位選項的狀態,最好以 Modes 特徵表示,這相當於多狀態撥號、單選按鈕 (實體或 HTML),或非明確開啟/關閉的二進位狀態 (例如「AM/FM」或「熱/冷」)。

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

裝置屬性

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

屬性 類型 說明
availableToggles 陣列

必要。

可用的切換按鈕清單。

[item, ...] 物件

可用的切換按鈕。

name String

必要。

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

name_values 陣列

必要。

各支援語言中切換鈕的同義詞。

[item, ...] 物件

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

name_synonym 陣列

必要。

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

[item, ...] String

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

lang String

必要。

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

commandOnlyToggles 布林值

(預設值:false)

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

queryOnlyToggles 布林值

(預設值:false)

如果裝置支援僅查詢執行作業,則為必要選項。這個屬性表示裝置只能查詢狀態資訊,無法控制。

範例

有多個切換按鈕的裝置。

{
  "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 物件

必要。

鍵/值組合,其中裝置的切換開關 name 為鍵,目前狀態為值。

<string> 布林值

目前的切換按鈕狀態。

範例

是否已開啟消毒功能?

{
  "currentToggleSettings": {
    "sterilization_toggle": true,
    "energysaving_toggle": false
  }
}

裝置指令

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

action.devices.commands.SetToggles

設定指定的切換狀態。

參數

參數 類型 說明
updateToggleSettings 物件

必要。

鍵/值組合,其中裝置的切換開關 name 為鍵,新狀態為值。

<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 frysen

裝置錯誤

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