スマートホームの 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

デバイスエラー

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