Giản đồ đặc điểm xoay nhà thông minh

action.devices.traits.Rotation – Đặc điểm này thuộc về các thiết bị hỗ trợ tính năng xoay.

Bạn có thể chỉ định chế độ xoay theo phần trăm hoặc độ và liệu thiết bị có hỗ trợ chế độ xoay hay không tính theo độ, thì hướng xoay mặc định là theo chiều kim đồng hồ.

ATTRIBUTE của thiết bị

Những thiết bị có đặc điểm này có thể báo cáo những điều sau trong thao tác SYNC. Để tìm hiểu tìm hiểu thêm về cách xử lý ý định SYNC, hãy xem Thực hiện ý định.

Thuộc tính Loại Mô tả
supportsDegrees Boolean

Bắt buộc.

Đặt thành true nếu thiết bị cho phép xoay theo độ.

supportsPercent Boolean

Bắt buộc.

Đặt thành true nếu thiết bị cho phép xoay theo phần trăm

rotationDegreesRange Đối tượng

Biểu thị phạm vi theo độ mà một thiết bị có thể xoay.

rotationDegreesMin Number

Bắt buộc.

Xoay tối thiểu theo độ.

rotationDegreesMax Number

Bắt buộc.

Xoay tối đa theo độ.

supportsContinuousRotation Boolean

(Mặc định: false)

Đặt thành true nếu thiết bị cho phép xoay liên tục. Khi cung cấp một truy vấn tương đối, lệnh RotateAbsolute sẽ bao quanh phạm vi xoay được hỗ trợ.

commandOnlyRotation Boolean

(Mặc định: false)

Cho biết thiết bị có hỗ trợ giao tiếp một chiều (true) hay hai chiều (false). Đặt thuộc tính này thành true nếu thiết bị không thể phản hồi ý định QUERY hoặc Trạng thái báo cáo đối với đặc điểm này.

Ví dụ

Thiết bị hỗ trợ cả chế độ xoay theo tỷ lệ phần trăm và độ.

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

Thiết bị chỉ hỗ trợ chế độ xoay theo độ.

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

Thiết bị chỉ hỗ trợ các lệnh xoay liên tục.

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

Thiết bị STATES

Đối tượng có đặc điểm này có thể báo cáo những nội dung sau các trạng thái trong thao tác QUERY. Để tìm hiểu tìm hiểu thêm về cách xử lý ý định QUERY, hãy xem Thực hiện ý định.

Tiểu bang Loại Mô tả
rotationDegrees Number

Mức hiện tại trong rotationDegreesRange cho biết số độ xoay thiết bị. Giá trị này phải luôn tương ứng với độ xoay theo chiều kim đồng hồ.

rotationPercent Number

Mức hiện tại cho biết tỷ lệ phần trăm thiết bị hiện đang xoay. 0 tương ứng với mức đóng và 100 tương ứng với mức mở.

targetRotationPercent Number

Mức cho biết tỷ lệ phần trăm xoay nơi thiết bị sẽ tới hoặc sắp di chuyển tới do thay đổi liên tục trong chế độ xoay.

Ví dụ

Xoay thiết bị đến mức nào? (phần trăm và độ).

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

Xoay thiết bị đến mức nào? (chỉ độ).

{
  "rotationDegrees": 45
}

Xoay thiết bị đến mức nào? (liên tục).

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

Một thiết bị đang xoay đến một vị trí mới (phần trăm).

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

lệnh của thiết bị

Những thiết bị có đặc điểm này có thể phản hồi với những đặc điểm sau các lệnh trong thao tác EXECUTE. Để tìm hiểu tìm hiểu thêm về cách xử lý ý định EXECUTE, hãy xem Thực hiện ý định.

action.devices.commands.RotateAbsolute

Đặt độ xoay tuyệt đối của thiết bị.

Tham số

Tải trọng chứa một trong các mục sau:

Đặt độ xoay tuyệt đối theo độ.

Tham số Loại Mô tả
rotationDegrees Number

Bắt buộc.

Một giá trị tuyệt đối tính bằng độ, chỉ định vòng xoay cuối cùng theo chiều kim đồng hồ của thiết bị. Giá trị phải nằm trong thuộc tính rotationDegreesRange.

Đặt chế độ xoay tuyệt đối theo tỷ lệ phần trăm.

Tham số Loại Mô tả
rotationPercent Number

Bắt buộc.

Một giá trị tuyệt đối (tính theo tỷ lệ phần trăm) chỉ định vòng xoay cuối cùng của thiết bị.

Ví dụ

Nghiêng thiết bị đến 50%.

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

Xoay thiết bị 15 độ ngược chiều kim đồng hồ (rotationDegrees: 45).

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

Xoay thiết bị 100 độ theo chiều kim đồng hồ (supportsContinuousRotation: true, rotationDegrees: 270).

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

Đã xảy ra lỗi khi đặt chế độ xoay thiết bị.

Các giá trị được hỗ trợ:

deviceJammingDetected

Thiết bị ERRORS

Xem toàn bộ danh sách lỗi và ngoại lệ.