智慧型住宅切換器結構定義

action.devices.traits.Toggles:這個特徵屬於任何只能存在於以下兩種狀態的裝置。

這些設定代表具有開啟/關閉或啟用/停用狀態的實體按鈕、HTML 中的核取方塊,或任何其他種類的明確啟用/停用元素。如果設定具有超過兩個狀態,或是沒有選取任何二元選項的狀態,建議表示為 Modes 特徵,即多狀態方言、圓形按鈕 (實體或 HTML) 或未明確開啟/關閉的二元狀態 (例如「AM/FM」或「熱/冷」)。

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

裝置錯誤

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