สคีมาลักษณะการเติมข้อมูลสมาร์ทโฮม
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"
  }
}