智慧型住宅輪替特徵結構定義
action.devices.traits.Rotation - 支援旋轉的裝置具備這項特徵。
旋轉角度可以百分比或角度指定,如果裝置支援以角度旋轉,預設旋轉方向為順時針。
裝置屬性
具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖完成」。
| 屬性 | 類型 | 說明 |
|---|---|---|
supportsDegrees |
布林值 |
必要。 如果裝置允許依角度旋轉,請設為 true。 |
supportsPercent |
布林值 |
必要。 如果裝置允許依百分比旋轉,則設為 true |
rotationDegreesRange |
物件 |
代表裝置可旋轉的角度範圍 (以度為單位)。 |
rotationDegreesMin |
Number |
必要。 旋轉角度下限 (以度為單位)。 值必須介於 |
rotationDegreesMax |
Number |
必要。 旋轉角度上限。 值必須介於 |
supportsContinuousRotation |
布林值 |
(預設值: 如果裝置允許連續旋轉,請設為 true。如果提供相對查詢, |
commandOnlyRotation |
布林值 |
(預設值: 指出裝置是否支援單向 (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 |
|
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 |
必要。 以角度為單位的絕對值,指定裝置的最終順時針旋轉角度。值必須在 |
以百分比設定絕對旋轉角度。
| 參數 | 類型 | 說明 |
|---|---|---|
rotationPercent |
Number |
必要。 絕對值 (以百分比表示),用於指定裝置的最終旋轉角度。 值必須介於 |
範例
將裝置傾斜 50%。
{
"command": "action.devices.commands.RotateAbsolute",
"params": {
"rotationPercent": 50
}
}將裝置逆時針旋轉 15 度 (rotationDegrees: 45)。
{
"command": "action.devices.commands.RotateAbsolute",
"params": {
"rotationDegrees": 30
}
}將裝置順時針旋轉 100 度 (supportsContinuousRotation: true、rotationDegrees: 270)。
{
"command": "action.devices.commands.RotateAbsolute",
"params": {
"rotationDegrees": 10
}
}相關錯誤
設定裝置旋轉角度時發生錯誤。
支援的值:
deviceJammingDetected