สคีมาลักษณะโหมดสมาร์ทโฮม
action.devices.traits.Modes - ลักษณะนี้ครอบคลุมโหมดที่มีทั้งหมดและการตั้งค่าเฉพาะโหมดสำหรับอุปกรณ์
ลักษณะนี้เป็นของอุปกรณ์ที่มีโหมด "n-way" จำนวนเท่าใดก็ได้ ซึ่งโหมดและการตั้งค่าสำหรับแต่ละโหมดจะกำหนดเองและไม่ซ้ำกันสำหรับอุปกรณ์แต่ละเครื่องหรืออุปกรณ์แต่ละประเภท แต่ละโหมดมีการตั้งค่าที่เป็นไปได้หลายแบบ แต่เลือกได้ครั้งละ 1 แบบเท่านั้น เครื่องอบผ้าไม่สามารถอยู่ในโหมด "ถนอมผ้า" "ปกติ" และ "งานหนัก" พร้อมกันได้ การตั้งค่าที่เปิดหรือปิดได้ง่ายๆ จะอยู่ในTogglesลักษณะ
เช่น เครื่องซักผ้าอาจมีการตั้งค่าสำหรับปริมาณผ้าและอุณหภูมิ ทั้ง 2 อย่างนี้จะเป็นโหมดเนื่องจากไม่ได้เชื่อมโยงกัน แต่แต่ละอย่าง จะอยู่ในสถานะได้เพียงสถานะเดียวในแต่ละครั้ง ผู้ใช้สามารถตั้งค่าโหมด เช่น อุณหภูมิ อย่างชัดเจนด้วยคำสั่งอย่างเช่น ตั้งอุณหภูมิของเครื่องซักผ้าเป็น เย็น
บางโหมดเป็น "เรียงตามลำดับ" และยังปรับได้ด้วยคำว่าขึ้น/ลง เพิ่ม/ลด เช่น ขนาดการซัก (เล็ก กลาง ใหญ่) และอุณหภูมิจะเรียงตามลำดับอย่างชัดเจน (โปรดทราบว่าอุณหภูมิไม่ใช่ตัวควบคุมอุณหภูมิจริงที่มีเป้าหมายเป็นตัวเลขเหมือนในอุปกรณ์อื่นๆ) แต่อาจไม่ได้เรียงตามลำดับสำหรับประเภทการซัก (ถนอมผ้า ปกติ ขนสัตว์ ฯลฯ)
ลักษณะนี้ครอบคลุมโหมดแต่ละโหมดอย่างน้อย 1 โหมดที่ผู้ใช้ตั้งค่าได้ โดยทั่วไป
ควรใช้โหมดเหล่านี้สำหรับฟังก์ชันการทำงานที่ไม่ได้ลิงก์กับลักษณะการทำงานของอุปกรณ์อื่นๆ
 ลักษณะการทำงานที่ลิงก์ไว้ เช่น การเปิดหรือปิดอุปกรณ์ ควรใช้ลักษณะที่เจาะจงมากขึ้น (เช่น thermostatMode ในลักษณะ TemperatureSetting)
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
  เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการSYNCเจตนาได้ที่การดำเนินการตามเจตนา
| Attributes | ประเภท | คำอธิบาย | 
|---|---|---|
availableModes | 
    อาร์เรย์ | 
       ต้องระบุ รายการโหมดที่พร้อมใช้งาน  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       โหมดที่ใช้ได้  | 
  
name | 
    String | 
       ต้องระบุ ชื่อภายในของโหมด ซึ่งจะใช้ในคำสั่งและสถานะ ซึ่งอาจไม่เป็นมิตรต่อผู้ใช้ และจะแชร์ในทุกภาษา  | 
  
name_values | 
    อาร์เรย์ | 
       ต้องระบุ คำพ้องความหมายของโหมดในแต่ละภาษาที่รองรับ  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       คำพ้องความหมายของโหมดในภาษาที่ระบุ ต้องระบุอย่างน้อย 1 รายการที่มีค่า   | 
  
name_synonym | 
    อาร์เรย์ | 
       ต้องระบุ คำพ้องความหมายของโหมด ระบบจะใช้สตริงแรกในรายการนี้เป็นชื่อ Canonical ของระดับในภาษานั้น  | 
  
[item, ...] | 
    String | 
       ชื่อคำพ้องความหมาย ต้องระบุอย่างน้อย 1 รายการที่มีค่า   | 
  
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 | 
    บูลีน | 
       (ค่าเริ่มต้น:  ระบุว่าอุปกรณ์รองรับการสื่อสารทางเดียว (จริง) หรือสองทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ตอบกลับ 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 ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ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