Schema ลักษณะของฟีเจอร์การเติมอุปกรณ์สมาร์ทโฮม

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

ATTRIBUTES ของอุปกรณ์

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

Attributes ประเภท คำอธิบาย
availableFillLevels Object

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

levels Array

ต้องระบุ

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

[item, ...] Object

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

level_name String

ต้องระบุ

ชื่อภายในของระดับ ชื่อนี้อาจไม่เป็นมิตรกับผู้ใช้และจะแชร์ในทุกภาษา

level_values Array

ต้องระบุ

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

[item, ...] Object

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

level_synonym Array

ต้องระบุ

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

[item, ...] String

ชื่อคำพ้องความหมาย ต้องมีรายการที่มีค่า lang เป็น en อย่างน้อย 1 รายการเพื่อใช้เป็นภาษาสำรอง

lang String

ต้องระบุ

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

ordered Boolean

ต้องระบุ

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

supportsFillPercent Boolean

(ค่าเริ่มต้น: 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
  }
}

STATES ของอุปกรณ์

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

States ประเภท คำอธิบาย
isFilled Boolean

ต้องระบุ

เป็นจริงหากอุปกรณ์มีการเติมในระดับใดก็ตาม เป็นเท็จหากอุปกรณ์ระบายน้ำออกจนหมด

currentFillLevel String

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

currentFillPercent Number

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

ค่าต้องอยู่ระหว่าง 0 ถึง 100

ตัวอย่าง

อ่างอาบน้ำมีการเติมน้ำอยู่ไหม

{
  "isFilled": true
}

อ่างอาบน้ำมีการเติมน้ำอยู่ไหม (พร้อมระดับ)

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

COMMANDS ของอุปกรณ์

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

action.devices.commands.Fill

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
fill Boolean

ต้องระบุ

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

fillLevel String

ระบุ level_name จากแอตทริบิวต์ availableFillLevels ที่จะตั้งค่า หากไม่ได้ระบุ ให้เติมไปยังระดับเริ่มต้น

fillPercent Number

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

ค่าต้องอยู่ระหว่าง 0 ถึง 100

ตัวอย่าง

เติมน้ำในอ่างอาบน้ำ

{
  "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"
  }
}

ERRORS ของอุปกรณ์

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