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

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,以便調整為可用的步驟。舉例來說,讓電視音量調高的步驟數會比讓電視音量調高一點多。

參數

參數 類型 說明
relativeSteps 整數

必填。

負值代表「減少」。

範例

在僅限指令模式下設定音箱裝置的相對音量

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

裝置錯誤

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