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

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

裝置錯誤

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