歡迎來到 Google Home 開發人員中心,你可以在這裡學習如何學習智慧型住宅動作。注意事項:您將在 Actions 主控台建構動作。

智慧住宅模式交易結構定義

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

這個特性會用於擁有任意數量「雙向」模式的裝置,其中每種模式的模式和設定均為任意值,且每個裝置或裝置類型都不會重複。每種模式都有多個可能的設定,但一次只能選取一個設定。烘乾器不可處於「精緻」、「一般」和「嚴重任務」模式。可開啟或關閉的設定屬於「Toggles」特性。

舉例來說,洗衣機可以設定負載大小和溫度。兩者都是不同的模式,因為兩者各自獨立,但一次只能進入一個狀態。使用者可以透過類似「設定感溫的溫度」之類的指令,設定一種溫度模式,例如溫度。

某些模式為「已排序」,但也可以向上/向下移動來調整加/減速。舉例來說,載入大小 (小、中、大) 和溫度應已明確排序 (請注意,溫度與其他數字相比,並非以數值目標為最嚴重的項目),但載入類型 (密度、正常、羊等) 可能不見。

這個特徵涵蓋一或多個使用者可以設定的個別模式。一般來說,這些模式應用於針對與其他裝置行為取消連結的功能。連結的行為 (例如開啟或關閉裝置本身) 應使用更具體的特性 (例如,TemperatureSetting 中的 thermostatMode)。

裝置屬性

具此特性的裝置可能會在 SYNC 作業中回報下列屬性。如要進一步瞭解如何處理 SYNC 意圖,請參閱意圖執行要求

屬性 類型 說明
availableModes 陣列

必要。

可用模式清單。

[item, ...] 物件

可用的模式。

name 字串

必要。

模式的內部名稱,將做為指令和狀態使用。這項機制不容易使用,而且會由所有語言共用。

name_values 陣列

必要。

模式支援的各個同義詞,

[item, ...] 物件

模式的指定同義詞。

name_synonym 陣列

必要。

模式的同義詞。在這個清單中,第一個字串會做為該語言層級的標準名稱。

[item, ...] 字串

同義詞名稱。

lang 字串

必要。

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

settings 陣列

必要。

這個模式支援的設定。

[item, ...] 物件

支援的設定。

至少要有 2 個項目。

setting_name 字串

必要。

模式設定的內部名稱,將做為指令和狀態使用。這項機制不容易使用,而且會由所有語言共用。

setting_values 陣列

必要。

各種支援的語言的同義詞。

[item, ...] 物件

特定語言的設定同義詞。

setting_synonym 陣列

必要。

設定的同義詞。在這個清單中,第一個字串會做為該語言層級的標準名稱。

[item, ...] 字串

同義詞名稱。

lang 字串

必要。

語言代碼 (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> 字串

目前 setting_name

範例

裝置處於哪種模式?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

裝置指令

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

action.devices.commands.SetModes

更新模式設定。

參數

參數 類型 說明
updateModeSettings 物件

必要。

鍵/值組合與裝置的模式 name 和新 setting_name 做為值。

<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

裝置 ERRORS

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