智慧型住宅音量特徵結構定義

action.devices.traits.Volume:此特徵屬於可變更音量的裝置 (例如將音量設為特定值、靜音或取消靜音)。

裝置屬性

具備此特徵的裝置可能會在 SYNC 作業中回報下列屬性。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
volumeMaxLevel 整數

必填。

最大音量,假設基準為 0 (靜音)。Google 助理就會據此調整副指令,例如「稍微調高電視音量」。

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,則為必要屬性。如果裝置已設為靜音,則傳回「是」;否則傳回「否」。如果 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 步。如果指令使用相對體重計,Google 助理會適當選取「n」n,以縮放至可用步驟。舉例來說,如果選擇「調高電視音量」,將設定步數比「稍微調高電視音量」

參數

參數 類型 說明
relativeSteps 整數

必填。

負值代表「減少」。

範例

在僅使用指令模式下設定揚聲器裝置的相對音量

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

裝置錯誤

請參閱錯誤和例外狀況的完整清單。
  • volumeAlreadyMax:裝置已調到最高音量時,收到 VolumeUp 指令。
  • volumeAlreadyMin:裝置已調到最低音量時,收到 VolumeDown 指令。