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

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

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

デバイスの属性

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

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

必須

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

supportsPercent ブール値

必須

デバイスで割合による回転が許可されている場合は true に設定します。

rotationDegreesRange 温度計

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

rotationDegreesMin 番号

必須

最小回転(度単位)。

rotationDegreesMax 番号

必須

最大回転角度。

supportsContinuousRotation ブール値

(デフォルト: false)。

デバイスで連続回転を許可する場合は true に設定します。相対クエリを指定すると、RotateAbsolute コマンドはサポートされている回転範囲をラップします。

commandOnlyRotation ブール値

(デフォルト: false)。

デバイスが一方向(true)または双方向(false)の通信の使用をサポートしているかどうかを示します。デバイスがこのトレイトのクエリ インテントまたは 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

デバイスエラー

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