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

action.devices.traits.Rotation – Trait này thuộc về các thiết bị có hỗ trợ tính năng xoay.

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

ĐẶC ĐIỂM của thiết bị

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

Thuộc tính Loại Nội dung 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 diễn phạm vi theo độ mà một thiết bị có thể xoay.

rotationDegreesMin Number

Bắt buộc.

Độ xoay tối thiểu tính theo độ.

rotationDegreesMax Number

Bắt buộc.

Xoay tối đa tính 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 được 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 cho trait này.

Ví dụ

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

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

Thiết bị chỉ hỗ trợ 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
}

TIỂU BANG của thiết bị

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

Tiểu bang Loại Nội dung mô tả
rotationDegrees Number

Cấp độ hiện tại trong rotationDegreesRange cho biết thiết bị đang xoay bao nhiêu độ. 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ị đang xoay. 0,0 tương ứng với đóng và 100,0 để mở.

targetRotationPercent Number

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

Ví dụ

Thiết bị được xoay bao nhiêu? (phần trăm và độ).

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

Thiết bị được xoay bao nhiêu? (chỉ độ).

{
  "rotationDegrees": 45
}

Thiết bị được xoay bao nhiêu? (liên tục).

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

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

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

Lệnh của thiết bị

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

action.devices.commands.RotateAbsolute

Đặt chế độ xoay tuyệt đối cho thiết bị.

Tham số

Tải trọng này có một trong các trạng thái sau:

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

Tham số Loại Nội dung mô tả
rotationDegrees Number

Bắt buộc.

Một giá trị tuyệt đối, tính bằng độ, chỉ định chế độ 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 độ xoay tuyệt đối theo tỷ lệ phần trăm.

Tham số Loại Nội dung mô tả
rotationPercent Number

Bắt buộc.

Một giá trị tuyệt đối, tính bằng 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 mức 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 danh sách đầy đủ các lỗi và ngoại lệ.