สคีมาลักษณะการหมุนของอุปกรณ์สมาร์ทโฮม
action.devices.traits.Rotation - ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการหมุน
คุณระบุการหมุนเป็นเปอร์เซ็นต์หรือองศาได้ และหากอุปกรณ์รองรับการหมุน เป็นองศา ทิศทางการหมุนเริ่มต้นจะเป็นตามเข็มนาฬิกา
แอตทริบิวต์ของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่
การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย |
|---|---|---|
supportsDegrees |
บูลีน |
ต้องระบุ ตั้งค่าเป็น "จริง" หากอุปกรณ์อนุญาตให้หมุนเป็นองศา |
supportsPercent |
บูลีน |
ต้องระบุ ตั้งค่าเป็น "จริง" หากอุปกรณ์อนุญาตให้หมุนเป็นเปอร์เซ็นต์ |
rotationDegreesRange |
ออบเจ็กต์ |
แสดงช่วงเป็นองศาที่อุปกรณ์หมุนได้ |
rotationDegreesMin |
ตัวเลข |
ต้องระบุ การหมุนต่ำสุดเป็นองศา ค่าต้องอยู่ระหว่าง |
rotationDegreesMax |
ตัวเลข |
ต้องระบุ การหมุนสูงสุดเป็นองศา ค่าต้องอยู่ระหว่าง |
supportsContinuousRotation |
บูลีน |
(ค่าเริ่มต้น: ตั้งค่าเป็น "จริง" หากอุปกรณ์อนุญาตให้หมุนอย่างต่อเนื่อง เมื่อได้รับคําค้นหาแบบสัมพัทธ์ คําสั่ง |
commandOnlyRotation |
บูลีน |
(ค่าเริ่มต้น: ระบุว่าอุปกรณ์รองรับการสื่อสารทางเดียว (จริง) หรือสองทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ไม่สามารถตอบสนองต่อ 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 |
ตัวเลข |
ระดับปัจจุบันภายใน |
rotationPercent |
ตัวเลข |
ระดับปัจจุบันที่ระบุว่าอุปกรณ์หมุนไปกี่เปอร์เซ็นต์ในขณะนี้ 0.0 หมายถึงปิด และ 100.0 หมายถึงเปิด ค่าต้องอยู่ระหว่าง |
targetRotationPercent |
ตัวเลข |
ระดับที่ระบุเปอร์เซ็นต์การหมุนที่อุปกรณ์จะไปถึงหรือกำลังเคลื่อนที่ไปถึงอันเป็นผลมาจากการเปลี่ยนแปลงการหมุนที่กำลังเกิดขึ้น ค่าต้องอยู่ระหว่าง |
ตัวอย่าง
อุปกรณ์หมุนไปเท่าใด (เปอร์เซ็นต์และองศา)
{
"rotationDegrees": 45,
"rotationPercent": 25
}อุปกรณ์หมุนไปเท่าใด (องศาเท่านั้น)
{
"rotationDegrees": 45
}อุปกรณ์หมุนไปเท่าใด (ต่อเนื่อง)
{
"rotationDegrees": 270,
"rotationPercent": 75
}อุปกรณ์ที่กำลังหมุนไปยังตำแหน่งใหม่ (เปอร์เซ็นต์)
{
"rotationPercent": 75,
"targetRotationPercent": 100
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent
action.devices.commands.RotateAbsolute
ตั้งค่าการหมุนสัมบูรณ์ของอุปกรณ์
พารามิเตอร์
เพย์โหลดมีรายการใดรายการหนึ่งต่อไปนี้
ตั้งค่าการหมุนสัมบูรณ์เป็นองศา
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
rotationDegrees |
ตัวเลข |
ต้องระบุ ค่าสัมบูรณ์เป็นองศาที่ระบุการหมุนตามเข็มนาฬิกาสุดท้ายของอุปกรณ์ ค่าต้องอยู่ในแอตทริบิวต์ |
ตั้งค่าการหมุนสัมบูรณ์เป็นเปอร์เซ็นต์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
rotationPercent |
ตัวเลข |
ต้องระบุ ค่าสัมบูรณ์เป็นเปอร์เซ็นต์ที่ระบุการหมุนสุดท้ายของอุปกรณ์ ค่าต้องอยู่ระหว่าง |
ตัวอย่าง
เอียงอุปกรณ์ไปที่ 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