スマートホームの Rotation トレイトのスキーマ

action.devices.traits.Rotation - このトレイトは、回転をサポートするデバイスに属します。

回転はパーセントまたは度単位で指定できます。デバイスが度単位での回転をサポートしている場合、デフォルトの回転方向は時計回りです。

デバイスの属性

このトレイトを持つデバイスは、次の 属性をSYNCオペレーションの一部として報告できます。SYNC インテントの処理について詳しくは、インテントのフルフィルメントをご覧ください。

属性 タイプ 説明
supportsDegrees ブール値

必須。

度単位での回転が可能な場合は true に設定します。

supportsPercent ブール値

必須。

パーセント単位での回転が可能な場合は true に設定します。

rotationDegreesRange オブジェクト

デバイスが回転可能な範囲を度単位で表します。

rotationDegreesMin 数値

必須。

最小回転角度(度単位)。

値は 0~360 の範囲で指定してください

rotationDegreesMax 数値

必須。

最大回転角度(度単位)。

値は 0~360 の範囲で指定してください

supportsContinuousRotation ブール値

(デフォルト: false)

連続回転が可能な場合は true に設定します。相対クエリが指定された場合、RotateAbsolute コマンドはサポートされている回転範囲をラップします。

commandOnlyRotation ブール値

(デフォルト: false)

デバイスが一方向(true)または双方向(false)のいずれの通信を使用して動作しているかどうかを示します。デバイスがこのトレイトの QUERY インテントまたは Report State に応答できない場合は、この属性を 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 数値

デバイスが現在何度回転しているかを示します。範囲は rotationDegreesRange 内です。この値は常に時計回りの角度を表します。

rotationPercent 数値

デバイスが現在何パーセント回転しているかを示します。0.0 は閉位置に対応し、100.0 は開位置に対応します。

値は 0~100 の範囲で指定してください

targetRotationPercent 数値

回転の変更が進行中の結果として、デバイスが移動する回転パーセントまたは移動中の回転パーセントを示すレベル。

値は 0~100 の範囲で指定してください

例

デバイスの回転角度は?(パーセントと度)。

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

デバイスの回転角度は?(度のみ)。

{
  "rotationDegrees": 45
}

デバイスの回転角度は?(連続)。

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

現在新しい位置に回転しているデバイス(パーセント)。

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

デバイスのコマンド

このトレイトを持つデバイスは、次の コマンドを EXECUTE オペレーションの一部として応答できます。EXECUTE インテントの処理について詳しくは、インテントのフルフィルメントをご覧ください。

action.devices.commands.RotateAbsolute

デバイスの絶対回転を設定します。

パラメータ

ペイロードには次のいずれかが含まれます。

絶対回転を度単位で設定します。

パラメータ タイプ 説明
rotationDegrees 数値

必須。

デバイスの最終的な時計回りの回転位置を指定する度単位の絶対値。値は rotationDegreesRange 属性の範囲内に収める必要があります。

絶対回転をパーセント単位で設定します。

パラメータ タイプ 説明
rotationPercent 数値

必須。

デバイスの最終的な回転位置を指定するパーセント単位の絶対値。

値は 0~100 の範囲で指定してください

例

デバイスを 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

デバイスエラー

エラーと例外の完全なリストをご覧ください。