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

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

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

デバイスの属性

このトレイトを持つデバイスは、以下をレポートすることがあります。 SYNC オペレーションの一部として使用できます。学習内容 SYNC インテントの処理の詳細については、以下をご覧ください。 インテント フルフィルメント

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

必須。

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

supportsPercent ブール値

必須。

デバイスがパーセント単位での回転を許可する場合は true に設定します

rotationDegreesRange オブジェクト

デバイスが回転できる角度で範囲を表します。

rotationDegreesMin 番号

必須。

最小回転の度数(度単位)。

rotationDegreesMax 番号

必須。

最大回転度(度単位)。

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 は開位置に対応します。

targetRotationPercent 番号

回転が進行中の変更に伴ってデバイスが移動または移動する際の回転率を示すレベル。

デバイスはどれくらい回転していますか?(パーセントと度)。

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

デバイスはどれくらい回転していますか?(度数のみ)。

{
  "rotationDegrees": 45
}

デバイスはどれくらい回転していますか?(連続)。

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

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

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

デバイスのコマンド

このトレイトを持つデバイスは、以下の動作に反応します。 コマンドを EXECUTE オペレーションの一部として使用できます。学習内容 EXECUTE インテントの処理の詳細については、以下をご覧ください。 インテント フルフィルメント

action.devices.commands.RotateAbsolute

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

パラメータ

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

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

パラメータ タイプ 説明
rotationDegrees 番号

必須。

デバイスの最終的な時計回りの回転を指定する絶対値(度単位)。値は rotationDegreesRange 属性の範囲内になければなりません。

絶対回転をパーセンテージで設定します。

パラメータ タイプ 説明
rotationPercent 番号

必須。

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

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

デバイスエラー

詳しくは、 エラーと例外をご覧ください。