智慧型住宅切換鈕特徵結構定義

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 布林值

(預設值:false)

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

裝置錯誤

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