สคีมาลักษณะการเติมข้อมูลสมาร์ทโฮม

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

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

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

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

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

levels อาร์เรย์

ต้องระบุ

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

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

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

level_name String

ต้องระบุ

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

level_values อาร์เรย์

ต้องระบุ

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

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

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

level_synonym อาร์เรย์

ต้องระบุ

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

[item, ...] String

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

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 ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการQUERYเจตนาได้ที่การดำเนินการตามเจตนา

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

ต้องระบุ

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

currentFillLevel String

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

currentFillPercent Number

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

ตัวอย่าง

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

{
  "isFilled": true
}

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

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

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

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

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

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

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