สคีมาลักษณะการช่วยป้อนข้อมูลของสมาร์ทโฮม

action.devices.traits.Fill - ลักษณะนี้ใช้กับอุปกรณ์ที่รองรับการเติมน้ำ เช่น อ่างอาบน้ำ

แอตทริบิวต์อุปกรณ์

อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่การดำเนินการตาม Intent

Attributes ประเภท คำอธิบาย
availableFillLevels ออบเจ็กต์

อธิบายระดับต่างๆ ของการบรรจุอุปกรณ์

levels อาร์เรย์

ต้องระบุ

รายการชื่อระดับและคำพ้องความหมายเฉพาะภาษา

[item, ...] ออบเจ็กต์

ชื่อระดับและคำพ้องความหมายเฉพาะภาษา

level_name String

ต้องระบุ

ชื่อภายในของระดับ ซึ่งอาจไม่สะดวกสำหรับผู้ใช้และจะแชร์ในทุกภาษา

level_values อาร์เรย์

ต้องระบุ

คำพ้องความหมายของระดับในแต่ละภาษาที่รองรับ

[item, ...] ออบเจ็กต์

คำพ้องความหมายของระดับในภาษาหนึ่งๆ

level_synonym อาร์เรย์

ต้องระบุ

คำพ้องความหมายของระดับ ระบบจะใช้สตริงแรกในรายการนี้เป็นชื่อแคนอนิกของระดับในภาษานั้น

[item, ...] String

ชื่อคำพ้อง

lang String

ต้องระบุ

รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ

ordered บูลีน

ต้องระบุ

หากจริง อุปกรณ์จะจัดการไวยากรณ์เพิ่มเติมเพื่อเพิ่มหรือลดตรรกะ ตามที่แสดงโดยอาร์เรย์ levels (เช่น ครึ่งระดับ)

supportsFillPercent บูลีน

(ค่าเริ่มต้น: false)

หากเป็น "จริง" ระบบจะยอมรับคําสั่งสําหรับการปรับระดับเป็นเปอร์เซ็นต์

ตัวอย่าง

อุปกรณ์ที่มีคุณสมบัติการชาร์จหรือจ่ายไฟขั้นพื้นฐานที่ไม่รองรับระดับการชาร์จแบบไม่ต่อเนื่อง

{}

อุปกรณ์ที่รองรับระดับการเติมแบบไม่ต่อเนื่อง

{
  "availableFillLevels": {
    "levels": [
      {
        "level_name": "half_level",
        "level_values": [
          {
            "level_synonym": [
              "Half",
              "Half way",
              "One half"
            ],
            "lang": "en"
          }
        ]
      },
      {
        "level_name": "full_level",
        "level_values": [
          {
            "level_synonym": [
              "Full",
              "All the way",
              "Complete"
            ],
            "lang": "en"
          }
        ]
      }
    ],
    "ordered": true
  }
}

สถานะของอุปกรณ์

เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่การดำเนินการตาม Intent

รัฐ ประเภท คำอธิบาย
isFilled บูลีน

ต้องระบุ

เป็นจริงหากอุปกรณ์มีระดับแบตเตอรี่เต็ม เท็จหากแบตเตอรี่ของอุปกรณ์หมด

currentFillLevel String

ต้องระบุหากมีการตั้งค่าแอตทริบิวต์ availableFillLevels ระบุ level_name ปัจจุบันจากแอตทริบิวต์ availableFillLevels ที่กรอกข้อมูลอุปกรณ์

currentFillPercent Number

ต้องระบุหากมีการตั้งค่าแอตทริบิวต์ supportsFillPercent ระบุเปอร์เซ็นต์ระดับการส่งโฆษณาปัจจุบัน

ตัวอย่าง

อ่างอาบน้ำมีน้ำไหม

{
  "isFilled": true
}

อ่างอาบน้ำมีน้ำไหม (พร้อมระดับ)

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

คำสั่งของอุปกรณ์

อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้โดยเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent

action.devices.commands.Fill

เติมหรือระบายน้ำออกจากอุปกรณ์

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
fill บูลีน

ต้องระบุ

จริงเพื่อเติมน้ำ เท็จเพื่อระบายน้ำ

fillLevel String

ระบุ level_name จากแอตทริบิวต์ availableFillLevels ที่จะตั้งค่า หากไม่ระบุ ระบบจะกรอกข้อมูลจนถึงระดับเริ่มต้น

fillPercent Number

ระบุเปอร์เซ็นต์ของระดับที่ขอ

ตัวอย่าง

เปิดน้ำในอ่างอาบน้ำ

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true
  }
}

ระบายน้ำในอ่างอาบน้ำ

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": false
  }
}

เติมน้ำในอ่างอาบน้ำครึ่งหนึ่ง

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "half_level"
  }
}

เพิ่มระดับน้ำในอ่างอาบน้ำขึ้น 1 ระดับ (กำหนดให้แอตทริบิวต์ ordered เป็น true)

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "full_level"
  }
}

ข้อผิดพลาดของอุปกรณ์

ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด