สคีมาลักษณะการหมุนของอุปกรณ์สมาร์ทโฮม

action.devices.traits.Rotation - ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการหมุน

คุณระบุการหมุนเป็นเปอร์เซ็นต์หรือองศาได้ และหากอุปกรณ์รองรับการหมุน เป็นองศา ทิศทางการหมุนเริ่มต้นจะเป็นตามเข็มนาฬิกา

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

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

Attributes ประเภท คำอธิบาย
supportsDegrees บูลีน

ต้องระบุ

ตั้งค่าเป็น "จริง" หากอุปกรณ์อนุญาตให้หมุนเป็นองศา

supportsPercent บูลีน

ต้องระบุ

ตั้งค่าเป็น "จริง" หากอุปกรณ์อนุญาตให้หมุนเป็นเปอร์เซ็นต์

rotationDegreesRange ออบเจ็กต์

แสดงช่วงเป็นองศาที่อุปกรณ์หมุนได้

rotationDegreesMin ตัวเลข

ต้องระบุ

การหมุนต่ำสุดเป็นองศา

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

rotationDegreesMax ตัวเลข

ต้องระบุ

การหมุนสูงสุดเป็นองศา

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

supportsContinuousRotation บูลีน

(ค่าเริ่มต้น: false)

ตั้งค่าเป็น "จริง" หากอุปกรณ์อนุญาตให้หมุนอย่างต่อเนื่อง เมื่อได้รับคําค้นหาแบบสัมพัทธ์ คําสั่ง RotateAbsolute จะวนรอบช่วงการหมุนที่รองรับ

commandOnlyRotation บูลีน

(ค่าเริ่มต้น: false)

ระบุว่าอุปกรณ์รองรับการสื่อสารทางเดียว (จริง) หรือสองทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ไม่สามารถตอบสนองต่อ Intent QUERY หรือรายงานสถานะสำหรับลักษณะนี้

ตัวอย่าง

อุปกรณ์ที่รองรับการหมุนทั้งเป็นเปอร์เซ็นต์และองศา

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 180
  }
}

อุปกรณ์ที่รองรับการหมุนเป็นองศาเท่านั้น

{
  "supportsDegrees": true,
  "supportsPercent": false,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 90
  }
}

อุปกรณ์ที่รองรับเฉพาะคำสั่งการหมุนอย่างต่อเนื่อง

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 360
  },
  "supportsContinuousRotation": true,
  "commandOnlyRotation": true
}

สถานะของอุปกรณ์

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

สถานะ ประเภท คำอธิบาย
rotationDegrees ตัวเลข

ระดับปัจจุบันภายใน rotationDegreesRange ที่ระบุว่าอุปกรณ์หมุนไปกี่องศา ค่านี้ควรสัมพันธ์กับการหมุนตามเข็มนาฬิกาเสมอ

rotationPercent ตัวเลข

ระดับปัจจุบันที่ระบุว่าอุปกรณ์หมุนไปกี่เปอร์เซ็นต์ในขณะนี้ 0.0 หมายถึงปิด และ 100.0 หมายถึงเปิด

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

targetRotationPercent ตัวเลข

ระดับที่ระบุเปอร์เซ็นต์การหมุนที่อุปกรณ์จะไปถึงหรือกำลังเคลื่อนที่ไปถึงอันเป็นผลมาจากการเปลี่ยนแปลงการหมุนที่กำลังเกิดขึ้น

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

ตัวอย่าง

อุปกรณ์หมุนไปเท่าใด (เปอร์เซ็นต์และองศา)

{
  "rotationDegrees": 45,
  "rotationPercent": 25
}

อุปกรณ์หมุนไปเท่าใด (องศาเท่านั้น)

{
  "rotationDegrees": 45
}

อุปกรณ์หมุนไปเท่าใด (ต่อเนื่อง)

{
  "rotationDegrees": 270,
  "rotationPercent": 75
}

อุปกรณ์ที่กำลังหมุนไปยังตำแหน่งใหม่ (เปอร์เซ็นต์)

{
  "rotationPercent": 75,
  "targetRotationPercent": 100
}

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

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

action.devices.commands.RotateAbsolute

ตั้งค่าการหมุนสัมบูรณ์ของอุปกรณ์

พารามิเตอร์

เพย์โหลดมีรายการใดรายการหนึ่งต่อไปนี้

ตั้งค่าการหมุนสัมบูรณ์เป็นองศา

พารามิเตอร์ ประเภท คำอธิบาย
rotationDegrees ตัวเลข

ต้องระบุ

ค่าสัมบูรณ์เป็นองศาที่ระบุการหมุนตามเข็มนาฬิกาสุดท้ายของอุปกรณ์ ค่าต้องอยู่ในแอตทริบิวต์ rotationDegreesRange

ตั้งค่าการหมุนสัมบูรณ์เป็นเปอร์เซ็นต์

พารามิเตอร์ ประเภท คำอธิบาย
rotationPercent ตัวเลข

ต้องระบุ

ค่าสัมบูรณ์เป็นเปอร์เซ็นต์ที่ระบุการหมุนสุดท้ายของอุปกรณ์

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

ตัวอย่าง

เอียงอุปกรณ์ไปที่ 50 เปอร์เซ็นต์

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationPercent": 50
  }
}

หมุนอุปกรณ์ 15 องศาทวนเข็มนาฬิกา (rotationDegrees: 45).

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 30
  }
}

หมุนอุปกรณ์ 100 องศาตามเข็มนาฬิกา (supportsContinuousRotation: true, rotationDegrees: 270)

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 10
  }
}

เกิดข้อผิดพลาดในการตั้งค่าการหมุนของอุปกรณ์

ค่าที่รองรับมีดังนี้

deviceJammingDetected

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

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