สคีมาลักษณะการเติมข้อมูลสมาร์ทโฮม
action.devices.traits.Fill - ลักษณะนี้ใช้กับอุปกรณ์ที่รองรับการเติม เช่น อ่างอาบน้ำ
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
  เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการSYNCเจตนาได้ที่การดำเนินการตามเจตนา
| Attributes | ประเภท | คำอธิบาย | 
|---|---|---|
availableFillLevels | 
    ออบเจ็กต์ | 
       อธิบายระดับการเติมอุปกรณ์ต่างๆ  | 
  
levels | 
    อาร์เรย์ | 
       ต้องระบุ รายการชื่อระดับและคำพ้องความหมายเฉพาะภาษา  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       ชื่อระดับและคำพ้องความหมายเฉพาะภาษา  | 
  
level_name | 
    String | 
       ต้องระบุ ชื่อภายในของระดับ ซึ่งอาจไม่เป็นมิตรต่อผู้ใช้ และจะแชร์ในทุกภาษา  | 
  
level_values | 
    อาร์เรย์ | 
       ต้องระบุ คำพ้องความหมายของระดับในแต่ละภาษาที่รองรับ  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       คำพ้องความหมายของระดับในภาษาที่ระบุ ต้องระบุอย่างน้อย 1 รายการที่มีค่า   | 
  
level_synonym | 
    อาร์เรย์ | 
       ต้องระบุ คำพ้องความหมายของระดับ ระบบจะใช้สตริงแรกในรายการนี้เป็นชื่อ Canonical ของระดับในภาษานั้น  | 
  
[item, ...] | 
    String | 
       ชื่อคำพ้องความหมาย ต้องระบุอย่างน้อย 1 รายการที่มีค่า   | 
  
lang | 
    String | 
       ต้องระบุ รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ  | 
  
ordered | 
    บูลีน | 
       ต้องระบุ หากเป็นจริง อุปกรณ์จะจัดการไวยากรณ์เพิ่มเติมสำหรับตรรกะการเพิ่มหรือลดตามที่แสดงโดยอาร์เรย์   | 
  
supportsFillPercent | 
    บูลีน | 
       (ค่าเริ่มต้น:  หากเป็นจริง ให้ยอมรับคำสั่งสำหรับการปรับระดับเป็นเปอร์เซ็นต์  | 
  
ตัวอย่าง
อุปกรณ์ที่มีความสามารถในการเติมหรือระบายขั้นพื้นฐานที่ไม่รองรับระดับการเติมที่แยกกัน
{}อุปกรณ์ที่รองรับระดับการเติมที่แยกกัน
{
  "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 | 
       ต้องระบุหากตั้งค่าแอตทริบิวต์   | 
  
currentFillPercent | 
    Number | 
       ต้องระบุหากตั้งค่าแอตทริบิวต์   | 
  
ตัวอย่าง
อ่างอาบน้ำมีน้ำไหม
{
  "isFilled": true
}อ่างอาบน้ำมีน้ำไหม (พร้อมระดับ)
{
  "isFilled": true,
  "currentFillLevel": "half_level"
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้
  ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการEXECUTEเจตนาได้ที่การดำเนินการตามเจตนา
action.devices.commands.Fill
เติมหรือระบายน้ำออกจากอุปกรณ์
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
fill | 
    บูลีน | 
       ต้องระบุ จริงเพื่อเติม เท็จเพื่อระบาย  | 
  
fillLevel | 
    String | 
       ระบุ   | 
  
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"
  }
}