智慧型住宅模式特徵結構定義
action.devices.traits.Modes
:這個特徵涵蓋裝置的所有可用模式和模式專屬設定。
此特徵屬於任何具有任意數量「n-way」模式的裝置,其中的模式和各模式設定皆為任意值,且各裝置或裝置類型皆不相同。每個模式都有多種可能的設定,但每次只能選取一個模式;烘乾機無法同時處於「精緻」、「一般」和「重度」模式。只要能開啟或關閉的設定,就屬於 Toggles 特徵。
舉例來說,洗衣機可以設定水位和溫度。由於這兩者彼此獨立,因此都屬於模式,但每個模式一次只能處於一種狀態。使用者可以透過「Set the washer’s temperature to cold」這類指令,明確設定溫度等模式。
部分模式是「有順序的」,也可以透過上/下、增加/減少的字詞進行調整。舉例來說,負載大小 (小、中、大) 和溫度有明確的順序 (請注意,溫度並非實際的溫度控制器,不像其他裝置有數值目標),但負載類型 (精緻衣物、一般、羊毛等) 可能沒有。
這個特徵涵蓋使用者可設定的一或多個個別模式。一般來說,這些模式應用於與其他裝置行為無關的功能。連結行為 (例如開啟或關閉裝置本身) 應使用更明確的特徵 (例如特徵 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 意圖或回報狀態,請將這個屬性設為 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