สคีมาลักษณะของ Smart Home EnergyStorage
action.devices.traits.EnergyStorage - ลักษณะนี้ใช้กับอุปกรณ์ที่สามารถเก็บพลังงานไว้ในแบตเตอรี่และอาจชาร์จซ้ำได้ หรืออุปกรณ์ที่ชาร์จอุปกรณ์อื่นได้
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย | 
|---|---|---|
| queryOnlyEnergyStorage | บูลีน | ต้องระบุ จริงหากอุปกรณ์นี้รองรับเฉพาะการค้นหาเกี่ยวกับระดับพลังงานที่เก็บไว้และสถานะการชาร์จที่ทำงานอยู่ (ไม่บังคับ) (ขึ้นอยู่กับแอตทริบิวต์  | 
| energyStorageDistanceUnitForUX | String | (ค่าเริ่มต้น:  จะใช้ในการตอบกลับผู้ใช้ ค่าที่รองรับ 
 | 
| isRechargeable | บูลีน | (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากอุปกรณ์นี้ชาร์จได้ ซึ่งหมายความว่าอุปกรณ์อาจรายงานสถานะ  | 
ตัวอย่าง
อุปกรณ์แบบชาร์จได้
{
  "isRechargeable": true,
  "queryOnlyEnergyStorage": false
}อุปกรณ์แบบชาร์จไฟได้ซึ่งแสดงระดับการชาร์จปัจจุบันเป็นไมล์
{
  "isRechargeable": true,
  "energyStorageDistanceUnitForUX": "MILES",
  "queryOnlyEnergyStorage": false
}อุปกรณ์แบบชาร์จไม่ได้ที่รองรับเฉพาะการรายงานระดับการชาร์จปัจจุบัน
{
  "isRechargeable": false,
  "queryOnlyEnergyStorage": true
}สถานะอุปกรณ์
เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่การดำเนินการตาม Intent
| รัฐ | ประเภท | คำอธิบาย | 
|---|---|---|
| descriptiveCapacityRemaining | String | ต้องระบุ คำอธิบายเชิงคุณภาพของระดับความจุพลังงาน โปรดทราบว่าข้อมูลนี้ใช้ในกรณีที่ไม่มีข้อมูลความจุที่เป็นตัวเลข หากมีข้อมูลความจุที่เป็นตัวเลขด้วย ระบบจะใช้ข้อมูลแทนคำอธิบายหากเป็นไปได้ ค่าที่รองรับ 
 | 
| capacityRemaining | อาร์เรย์ | อาร์เรย์ของคู่หน่วย/ค่าที่มีข้อมูลเกี่ยวกับความจุพลังงานที่อุปกรณ์มีอยู่ในขณะนี้ เช่น ตอนนี้ <device> มีกี่ไมล์ หรือ<device> ชาร์จกี่เปอร์เซ็นต์ | 
| [item, ...] | ออบเจ็กต์ | ความจุที่เหลืออยู่เป็นคู่หน่วยและค่า | 
| rawValue | จำนวนเต็ม | ต้องระบุ ค่าความจุ | 
| unit | String | ต้องระบุ หน่วยความจุ ค่าที่รองรับ 
 | 
| capacityUntilFull | อาร์เรย์ | อาร์เรย์ของคู่หน่วย/ค่าที่มีข้อมูลเกี่ยวกับความจุจนกว่าอุปกรณ์จะชาร์จเต็ม เช่น อีกนานเท่าใดกว่าแบตเตอรี่ของ <device> จะชาร์จเต็ม | 
| [item, ...] | ออบเจ็กต์ | ความจุจนกว่าจะชาร์จ | 
| rawValue | จำนวนเต็ม | ต้องระบุ ค่าความจุ | 
| unit | String | ต้องระบุ หน่วยความจุ ค่าที่รองรับ 
 | 
| isCharging | บูลีน | อุปกรณ์กำลังชาร์จอยู่หรือไม่ | 
| isPluggedIn | บูลีน | ระบุว่าอุปกรณ์เสียบอยู่หรือไม่ อุปกรณ์เสียบปลั๊กได้ แต่ไม่ชาร์จอยู่ | 
ตัวอย่าง
อุปกรณ์แบบชาร์จได้
{
  "descriptiveCapacityRemaining": "HIGH",
  "capacityRemaining": [
    {
      "rawValue": 36000,
      "unit": "SECONDS"
    },
    {
      "rawValue": 90,
      "unit": "PERCENTAGE"
    }
  ],
  "capacityUntilFull": [
    {
      "rawValue": 120,
      "unit": "SECONDS"
    }
  ],
  "isCharging": true,
  "isPluggedIn": true
}อุปกรณ์แบบชาร์จไฟได้ซึ่งแสดงระดับการชาร์จปัจจุบันเป็นไมล์
{
  "descriptiveCapacityRemaining": "CRITICALLY_LOW",
  "capacityRemaining": [
    {
      "rawValue": 12,
      "unit": "MILES"
    }
  ],
  "capacityUntilFull": [
    {
      "rawValue": 6000,
      "unit": "SECONDS"
    }
  ],
  "isCharging": true,
  "isPluggedIn": true
}อุปกรณ์แบบชาร์จใหม่ได้ซึ่งรองรับเฉพาะการรายงานระดับการชาร์จปัจจุบันเท่านั้น
{
  "descriptiveCapacityRemaining": "LOW"
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคําสั่งต่อไปนี้ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent
action.devices.commands.Charge
เริ่มหรือหยุดชาร์จ
คำสั่งนี้ต้องใช้แอตทริบิวต์ต่อไปนี้
{
  "isRechargeable": true
}
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
| charge | บูลีน | ต้องระบุ "จริง" เพื่อเริ่มชาร์จ "เท็จ" เพื่อหยุดชาร์จ | 
ตัวอย่าง
คำสั่งเริ่มชาร์จ
{
  "command": "action.devices.commands.Charge",
  "params": {
    "charge": true
  }
}คำสั่งหยุดชาร์จ
{
  "command": "action.devices.commands.Charge",
  "params": {
    "charge": false
  }
}ข้อผิดพลาดของอุปกรณ์
ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมดdeviceUnplugged: ผู้ใช้พยายามชาร์จอุปกรณ์ที่ไม่ได้เสียบปลั๊ก