Sơ đồ thuộc tính xoay nhà thông minh

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

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

THUỘC TÍNH 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 đây trong thao tác SYNC. Để tìm hiểu thêm về cách xử lý ý định SYNC, hãy xem phần 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 tỷ lệ phần trăm

rotationDegreesRange Đối tượng

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

rotationDegreesMin Number

Bắt buộc.

Mức xoay tối thiểu theo độ.

Giá trị phải nằm trong khoảng từ 0 đến 360.

rotationDegreesMax Number

Bắt buộc.

Mức xoay tối đa tính bằng độ.

Giá trị phải nằm trong khoảng từ 0 đến 360.

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 đưa ra một truy vấn tương đối, lệnh RotateAbsolute sẽ bao bọc phạm vi xoay được hỗ trợ.

commandOnlyRotation Boolean

(Mặc định: false)

Cho biết thiết bị có hỗ trợ sử dụng 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 Report State cho đặc điểm này.

Ví dụ

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

{
  "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
}

TRẠNG THÁI 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 đây trong thao tác QUERY. Để tìm hiểu thêm về cách xử lý ý định QUERY, hãy xem phần 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 thiết bị được xoay bao nhiêu độ. Giá trị này phải luôn tương ứng với hướng xoay theo chiều kim đồng hồ.

rotationPercent Number

Mức hiện tại cho biết thiết bị hiện đang xoay bao nhiêu phần trăm. 0.0 tương ứng với trạng thái đóng và 100.0 tương ứng với trạng thái mở.

Giá trị phải nằm trong khoảng từ 0 đến 100.

targetRotationPercent Number

Cấp độ cho biết tỷ lệ phần trăm xoay mà thiết bị sẽ chuyển đến hoặc đang chuyển đến do có sự thay đổi đang diễn ra về hướng xoay.

Giá trị phải nằm trong khoảng từ 0 đến 100.

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ỉ có độ).

{
  "rotationDegrees": 45
}

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

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

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

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

LỆNH trên 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 đây trong thao tác EXECUTE. Để tìm hiểu thêm về cách xử lý ý định EXECUTE, hãy xem phần Thực hiện ý định.

action.devices.commands.RotateAbsolute

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

Thông số

Tải trọng chứa một trong những nội dung sau:

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

Thông số Loại Mô tả
rotationDegrees Number

Bắt buộc.

Một giá trị tuyệt đối (theo độ) chỉ định mức độ 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 mức xoay tuyệt đối theo tỷ lệ phần trăm.

Thông số Loại Mô tả
rotationPercent Number

Bắt buộc.

Một giá trị tuyệt đối, tính bằng tỷ lệ phần trăm, cho biết hướng xoay cuối cùng của thiết bị.

Giá trị phải nằm trong khoảng từ 0 đến 100.

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 hướng xoay của thiết bị.

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

deviceJammingDetected

LỖI thiết bị

Xem danh sách đầy đủ các lỗi và trường hợp ngoại lệ.