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

action.devices.traits.Volume - このトレイトは、音量を変更(特定のレベル、ミュート、ミュート解除など)できるデバイスに使用します。

デバイスの属性

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

属性 タイプ 説明
volumeMaxLevel 整数

必須。

ベースラインを 0(ミュート)とした場合の最大音量レベル。アシスタントは、それに応じて副詞コマンドを調整します(例: 「テレビをもう少し大きくして」)。

volumeCanMuteAndUnmute ブール値

必須。

デバイスが音量をミュートおよびミュート解除できるかどうかを示します。ミュートは別のオプションです。「ミュート」動作は前の音量を記憶している間、音量を 0 にして、ミュートを解除すると元の音量に戻ります。これは音量の状態に反映されます。音量が 5 のときにユーザーがミュートした場合、音量は 5 のままで isMuted は true になります。

volumeDefaultPercentage 整数

(デフォルト: 40

ユーザーまたはメーカーが定義したデフォルトの音量(パーセンテージ)です。スケールは 0~100 にする必要があります。

levelStepSize 整数

(デフォルト: 1

「<device_name> のボリュームアップ」のような相対的なボリュームクエリのデフォルトのステップサイズ。

commandOnlyVolume ブール値

(デフォルト: false

デバイスが一方向(true)または双方向(false)の通信を使用して動作しているかどうかを示します。たとえば、リクエスト送信後にコントローラが新しいデバイスの状態を確認できる場合、このフィールドは false になります。リクエストが正常に実行されたかどうかを確認できない場合や、デバイスの状態を取得できない場合(デバイスが従来の赤外線リモコンの場合など)は、このフィールドを true に設定します。

ミュートして現在の状態を報告するスピーカー デバイス

{
  "volumeMaxLevel": 11,
  "volumeCanMuteAndUnmute": true,
  "levelStepSize": 2,
  "commandOnlyVolume": false,
  "volumeDefaultPercentage": 6
}

デバイスのステータス

このトレイトを持つエンティティは、QUERY オペレーションの一部として次の状態をレポートできます。QUERY インテントの処理方法については、インテントのフルフィルメントをご覧ください。

状態 タイプ 説明
currentVolume 整数

必須。

現在の音量のパーセンテージ。>0volumeMaxLevel の範囲で指定してください。

isMuted ブール値

volumeCanMuteAndUnmute 属性が true に設定されている場合は必須です。デバイスがミュートされている場合は true。そうでない場合は false。isMuted が true の場合、デバイスは引き続き記憶されたポイントに対して currentVolume を返します。

ミュートして現在の状態を報告するスピーカー デバイス

{
  "currentVolume": 5,
  "isMuted": false
}

デバイスのコマンド

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

action.devices.commands.mute

デバイスをミュートまたはミュート解除します。

パラメータ

パラメータ タイプ 説明
mute ブール値

必須。

デバイスをミュートするかミュート解除するかを指定します。

スピーカー デバイスをミュートする

{
  "command": "action.devices.commands.mute",
  "params": {
    "mute": true
  }
}

action.devices.commands.setVolume

volumeMaxLevel に基づいて、音量を要求されたレベルに設定します。

パラメータ

パラメータ タイプ 説明
volumeLevel 整数

必須。

新しいボリューム(0volumeMaxLevel)。

スピーカー デバイスの絶対音量を設定する

{
  "command": "action.devices.commands.setVolume",
  "params": {
    "volumeLevel": 6
  }
}

action.devices.commands.volumeRelative

volumeMaxLevel に基づいて、音量を n ステップ上げるか、または下げます。相対スケールを使用するコマンドの場合、アシスタントは n を適切に選択して、使用可能なステップにスケーリングします。たとえば、[テレビをもっと大きくして] は、[テレビを少し大きくして] よりも多くのステップを設定します。

パラメータ

パラメータ タイプ 説明
relativeSteps 整数

必須。

「減少」は負の値になります。

コマンド専用モードでスピーカー デバイスの相対的な音量を設定する

{
  "command": "action.devices.commands.volumeRelative",
  "params": {
    "relativeSteps": -1
  }
}

デバイスエラー

エラーと例外の全リストをご覧ください。
  • volumeAlreadyMax: デバイスは、すでに最大音量になっているときに VolumeUp コマンドを受け取ります。
  • volumeAlreadyMin: デバイスは、すでに最小音量になっているときに VolumeDown コマンドを受け取ります。