สคีมาลักษณะเฉพาะของโหมดสมาร์ทโฮม
action.devices.traits.Modes
- คุณสมบัตินี้ครอบคลุมโหมดและการตั้งค่าเฉพาะโหมดที่ใช้ได้ทั้งหมดสำหรับอุปกรณ์
ลักษณะนี้เป็นของอุปกรณ์ใดๆ ที่มี "n-way" เป็นจำนวนที่กำหนดเอง โหมดที่ โหมดและการตั้งค่าสำหรับแต่ละโหมดสามารถกำหนดเองและไม่ซ้ำกันสำหรับแต่ละอุปกรณ์หรืออุปกรณ์แต่ละประเภท แต่ละโหมดมีการตั้งค่าที่เป็นไปได้หลายรายการ แต่จะเลือกได้ครั้งละ 1 รายการเท่านั้น เครื่องอบผ้าทำไม่ได้ อยู่ใน "ละเอียดอ่อน" "ปกติ" และ "ทำงานหนัก" พร้อมกัน การตั้งค่าที่ จะเปิดหรือปิดเป็นของลักษณะ Toggles ก็ได้
เช่น เครื่องซักผ้ามีการตั้งค่าสำหรับน้ำหนักและอุณหภูมิของเครื่องซักผ้าได้ ทั้งสองรูปแบบจะเป็นโหมด เพราะทั้งสองโหมดเป็นอิสระจากกัน สามารถมีสถานะได้ทีละหนึ่งสถานะเท่านั้น ผู้ใช้สามารถตั้งค่าโหมด เช่น อุณหภูมิอย่างชัดแจ้งด้วยคำสั่งเช่น ตั้งอุณหภูมิของเครื่องซักผ้าเป็น เย็นชา
บางโหมดเป็นแบบ "เรียงลำดับ" และยังปรับได้ด้วยไอคอนขึ้น/ลง เพิ่ม/ลดการใช้ภาษา เช่น ขนาดการโหลด (เล็ก กลาง ใหญ่) และ เรียงลำดับอุณหภูมิไว้อย่างชัดเจน (โปรดทราบว่าอุณหภูมิไม่ใช่ค่าตามจริง) ตัวควบคุมอุณหภูมิที่มีเป้าหมายเป็นตัวเลขเช่นเดียวกับในอุปกรณ์อื่นๆ) แต่ประเภทโหลด (ที่ละเอียดอ่อน ปกติ ขนสัตว์ ฯลฯ) ไม่สามารถใช้ได้
ซึ่งคุณสมบัตินี้ครอบคลุมโหมดต่างๆ ที่ผู้ใช้ตั้งค่าได้อย่างน้อย 1 โหมด โดยทั่วไปแล้ว
โหมดเหล่านี้ควรใช้สำหรับฟังก์ชันที่ยกเลิกการลิงก์กับอุปกรณ์เครื่องอื่น
พฤติกรรมของคุณ ลักษณะการทำงานที่ลิงก์ เช่น การเปิดหรือปิดอุปกรณ์
ใช้ลักษณะที่เจาะจงมากขึ้น (ตัวอย่างเช่น thermostatMode
ใน
ลักษณะ TemperatureSetting)
แอตทริบิวต์ของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานสิ่งต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ SYNC
เพื่อเรียนรู้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC
ได้ที่
การจำหน่าย Intent
Attributes | ประเภท | คำอธิบาย |
---|---|---|
availableModes |
อาร์เรย์ |
ต้องระบุ รายการโหมดที่ใช้ได้ |
[item, ...] |
ออบเจ็กต์ |
โหมดที่พร้อมใช้งาน |
name |
String |
ต้องระบุ ชื่อภายในของโหมด ซึ่งจะใช้ในคำสั่งและสถานะ ข้อมูลนี้อาจไม่เหมาะกับผู้ใช้ และจะแชร์ในทุกภาษา |
name_values |
อาร์เรย์ |
ต้องระบุ คำพ้องความหมายของโหมดในแต่ละภาษาที่รองรับ |
[item, ...] |
ออบเจ็กต์ |
คำพ้องความหมายของโหมดในภาษาหนึ่งๆ |
name_synonym |
อาร์เรย์ |
ต้องระบุ คำพ้องความหมายของโหมด สตริงแรกในรายการนี้จะใช้เป็นชื่อ Canonical ของระดับในภาษานั้น |
[item, ...] |
String |
ชื่อคำพ้องความหมาย |
lang |
String |
ต้องระบุ รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ |
settings |
อาร์เรย์ |
ต้องระบุ การตั้งค่าที่รองรับสําหรับโหมดนี้ |
[item, ...] |
ออบเจ็กต์ |
การตั้งค่าที่รองรับ ต้องมีอย่างน้อย 2 รายการ |
setting_name |
String |
ต้องระบุ ชื่อภายในของการตั้งค่าโหมด ซึ่งจะใช้ในคำสั่งและสถานะ ข้อมูลนี้อาจไม่เหมาะกับผู้ใช้ และจะแชร์ในทุกภาษา |
setting_values |
อาร์เรย์ |
ต้องระบุ คำพ้องความหมายของการตั้งค่าในแต่ละภาษาที่รองรับ |
[item, ...] |
ออบเจ็กต์ |
คำพ้องความหมายของการตั้งค่าในภาษาหนึ่งๆ |
setting_synonym |
อาร์เรย์ |
ต้องระบุ คำพ้องความหมายของการตั้งค่า สตริงแรกในรายการนี้จะใช้เป็นชื่อ Canonical ของระดับในภาษานั้น |
[item, ...] |
String |
ชื่อคำพ้องความหมาย |
lang |
String |
ต้องระบุ รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ |
ordered |
บูลีน |
(ค่าเริ่มต้น: หากตั้งค่านโยบายนี้เป็น "จริง" จะมีการใช้ไวยากรณ์เพิ่มเติมสำหรับตรรกะการเพิ่ม/ลด ตามลำดับ (เพิ่มขึ้น) ของอาร์เรย์การตั้งค่า |
commandOnlyModes |
บูลีน |
(ค่าเริ่มต้น: ระบุว่าอุปกรณ์รองรับการสื่อสารแบบทางเดียว (จริง) หรือ 2 ทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ตอบสนองต่อ Intent ของ QUERY หรือสถานะรายงานสำหรับลักษณะนี้ไม่ได้ |
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
เพื่อเรียนรู้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY
ได้ที่
การจำหน่าย Intent
รัฐ | ประเภท | คำอธิบาย |
---|---|---|
currentModeSettings |
ออบเจ็กต์ |
ต้องระบุ คู่คีย์/ค่าที่มีโหมด |
<string> |
String |
ปัจจุบัน |
ตัวอย่าง
อุปกรณ์อยู่ในโหมดใด
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
คำสั่งอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อสิ่งต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ EXECUTE
เพื่อเรียนรู้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE
ได้ที่
การจำหน่าย Intent
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