智慧型住宅輪替特徵結構定義

action.devices.traits.Rotation - 支援旋轉的裝置具備這項特徵。

旋轉角度可以百分比或角度指定,如果裝置支援以角度旋轉,預設旋轉方向為順時針。

裝置屬性

具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖完成」。

屬性 類型 說明
supportsDegrees 布林值

必要。

如果裝置允許依角度旋轉,請設為 true。

supportsPercent 布林值

必要。

如果裝置允許依百分比旋轉,則設為 true

rotationDegreesRange 物件

代表裝置可旋轉的角度範圍 (以度為單位)。

rotationDegreesMin Number

必要。

旋轉角度下限 (以度為單位)。

值必須介於 0360 之間

rotationDegreesMax Number

必要。

旋轉角度上限。

值必須介於 0360 之間

supportsContinuousRotation 布林值

(預設值:false)

如果裝置允許連續旋轉,請設為 true。如果提供相對查詢,RotateAbsolute 指令會包裝支援的旋轉範圍。

commandOnlyRotation 布林值

(預設值:false)

指出裝置是否支援單向 (true) 或雙向 (false) 通訊。如果裝置無法回應這項特徵的 QUERY 意圖或回報狀態,請將這個屬性設為 true。

範例

支援以百分比和角度旋轉的裝置。

{
  "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 作業的一部分。如要進一步瞭解如何處理 QUERY 意圖,請參閱「意圖完成」。

類型 說明
rotationDegrees Number

rotationDegreesRange 中的目前層級,表示裝置旋轉的角度。這個值一律應與順時針旋轉角度相關。

rotationPercent Number

目前層級,表示裝置目前的旋轉百分比。0.0 對應關閉,100.0 對應開啟。

值必須介於 0100 之間

targetRotationPercent Number

這個層級表示裝置將旋轉或正在旋轉的百分比,這是因為旋轉角度正在變更。

值必須介於 0100 之間

範例

裝置旋轉了多少?(百分比和角度)。

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

裝置旋轉角度 (僅限角度)。

{
  "rotationDegrees": 45
}

裝置的旋轉角度 (連續)。

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

目前正在旋轉至新位置的裝置 (百分比)。

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

裝置指令

具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖完成」。

action.devices.commands.RotateAbsolute

設定裝置的絕對旋轉角度。

參數

酬載包含下列其中一項:

設定絕對旋轉角度 (以度為單位)。

參數 類型 說明
rotationDegrees Number

必要。

以角度為單位的絕對值,指定裝置的最終順時針旋轉角度。值必須在 rotationDegreesRange 屬性內。

以百分比設定絕對旋轉角度。

參數 類型 說明
rotationPercent Number

必要。

絕對值 (以百分比表示),用於指定裝置的最終旋轉角度。

值必須介於 0100 之間

範例

將裝置傾斜 50%。

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

將裝置逆時針旋轉 15 度 (rotationDegrees: 45)。

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

將裝置順時針旋轉 100 度 (supportsContinuousRotation: truerotationDegrees: 270)。

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

設定裝置旋轉角度時發生錯誤。

支援的值:

deviceJammingDetected

裝置錯誤

請參閱「錯誤和例外狀況」的完整清單。