智慧型住宅模式特徵結構定義
action.devices.traits.Modes
- 這項特徵涵蓋裝置的所有可用模式和模式專屬設定。
這項特徵屬於任意數量的「n 向」模式裝置,其中每個模式的模式和設定都是任意的,且每個裝置或裝置類型都不盡相同。每種模式都有多種設定,但一次只能選取一種;烘乾機無法同時處於「精緻」、「一般」和「耐用」模式。如果設定只能開啟或關閉,請使用 Toggles 特徵。
舉例來說,洗衣機可以設定衣物量和水溫。這兩者都是模式,因為彼此獨立,但一次只能處於一種狀態。使用者可以透過「將洗衣機溫度設為低溫」等指令,明確設定溫度等模式。
部分模式為「排序」模式,也可以使用「向上/向下」、「增加/減少」等字詞調整。舉例來說,洗衣量 (小、中、大) 和溫度會依序顯示 (請注意,溫度並非其他裝置上的實際恆溫器,不會顯示目標溫度),但洗衣類型 (精緻衣物、一般、羊毛等) 可能不會。
這項特徵涵蓋使用者可設定的一或多個個別模式。一般而言,這些模式應適用於與其他裝置行為無關的功能。連結的行為 (例如開啟或關閉裝置本身) 應使用更具體的特徵 (例如特徵 TemperatureSetting 中的 thermostatMode
)。
裝置屬性
具有這項特徵的裝置可能會回報下列屬性,做為 SYNC
作業的一部分。如要進一步瞭解如何處理 SYNC
意圖,請參閱「意圖執行要求」。
屬性 | 類型 | 說明 |
---|---|---|
availableModes |
陣列 |
必要。 可用模式清單。 |
[item, ...] |
物件 |
可用模式。 |
name |
String |
必要。 模式的內部名稱,用於指令和狀態。這可能不適合使用者,而且會以所有語言分享。 |
name_values |
陣列 |
必要。 各支援語言的模式同義詞。 |
[item, ...] |
物件 |
指定語言的模式同義詞。如要提供語言備用選項,至少須有一個項目的 |
name_synonym |
陣列 |
必要。 模式的同義詞。清單中的第一個字串會做為該語言的標準層級名稱。 |
[item, ...] |
String |
同義詞名稱。如要提供語言備用選項,至少須有一個項目的 |
lang |
String |
必要。 語言代碼 (ISO 639-1)。請參閱支援的語言。 |
settings |
陣列 |
必要。 這個模式支援的設定。 |
[item, ...] |
物件 |
支援的設定。 至少需要 2 個項目。 |
setting_name |
String |
必要。 模式設定的內部名稱,將用於指令和狀態。這可能不適合使用者,而且會以所有語言分享。 |
setting_values |
陣列 |
必要。 各支援語言的設定同義詞。 |
[item, ...] |
物件 |
特定語言的設定同義詞。 |
setting_synonym |
陣列 |
必要。 設定的同義詞。清單中的第一個字串會做為該語言的標準層級名稱。 |
[item, ...] |
String |
同義詞名稱。 |
lang |
String |
必要。 語言代碼 (ISO 639-1)。請參閱支援的語言。 |
ordered |
布林值 |
(預設值: 如果設為 true,系統會依設定陣列的順序 (遞增) 套用增加/減少邏輯的其他文法。 |
commandOnlyModes |
布林值 |
(預設值: 指出裝置是否支援單向 (true) 或雙向 (false) 通訊。如果裝置無法回應這項特徵的 QUERY 意圖或 Report State,請將這個屬性設為 true。 |
queryOnlyModes |
布林值 |
(預設值: 如果裝置支援僅查詢執行作業,則為必要選項。這個屬性表示裝置只能查詢狀態資訊,無法控制。 |
範例
裝置有多種模式和設定。
{ "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 |
物件 |
必要。 鍵/值組合,其中裝置的模式 |
<string> |
String |
目前 |
範例
裝置處於哪種模式?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
裝置指令
具有這項特徵的裝置可能會在 EXECUTE
作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE
意圖,請參閱「意圖執行要求」。
action.devices.commands.SetModes
更新模式設定。
參數
參數 | 類型 | 說明 |
---|---|---|
updateModeSettings |
物件 |
必要。 鍵/值組合,其中裝置的模式 |
<string> |
String |
新功能 |
範例
設為大件衣物。
{ "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