智慧型住宅旋轉特徵結構定義

action.devices.traits.Rotation:此特徵屬於支援旋轉的裝置。

您可以使用百分比或度數來指定旋轉角度;如果裝置支援以度為單位旋轉,預設的旋轉方向為順時針。

裝置屬性

具備此特徵的裝置可能會在 SYNC 作業中回報下列屬性。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
supportsDegrees 布林值

必要。

如果裝置允許以角度旋轉,請將此值設為 true。

supportsPercent 布林值

必要。

如果裝置允許以百分比旋轉,請將此值設為 true

rotationDegreesRange 物件

代表裝置可旋轉的角度範圍。

rotationDegreesMin Number

必填。

最小旋轉角度。

rotationDegreesMax Number

必填。

旋轉角度上限。

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 對應於開啟。

targetRotationPercent Number

等級表示因旋轉時持續改變而移動或移動後裝置的旋轉百分比。

範例

裝置旋轉的角度為何?(百分比和度)。

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

必要。

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

範例

將裝置傾斜至 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

裝置 ERRORS

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