Skip to main content

display

The display command controls the display attached to a receiver over HDMI CEC. volume steps the display's own speaker volume; mute toggles its mute.

Command TypeDisplayNet
Minimum Version5.0

Usage

display volume <rx> <delta>
display mute <rx>

Subcommands

SubcommandDescription
volumeSteps the display's volume up or down
muteToggles the display's mute

Arguments

ArgumentRequiredDescription
rxYesHostname or MAC address of the receiver the display is connected to.
deltaYesvolume only. Signed number of volume steps: positive steps up, negative steps down. Magnitudes above 10 are clamped to 10.

CEC delivery

Each volume step is sent to the display as a CEC keypress out the receiver's HDMI port. mute sends a single keypress that toggles the display's current mute state.

Delivery is one-way. A success reply means the keypresses were transmitted, not that the display acted on them, and the display's current volume and mute state cannot be read back. The display must have CEC enabled; the setting's name varies by vendor.

Examples

Step the volume up three steps
display volume RokuTV 3
Step the volume down two steps
display volume RokuTV -2
Toggle mute
display mute RokuTV

Return value

The result contains a display_control array with one entry describing the action performed.

display volume RokuTV 1
{
"status": "SUCCESS",
"request_id": null,
"result": {
"display_control": [
{ "device_id": "6cdffb01f5ba", "device_name": "RokuTV", "action": "volume_up", "steps": 1 }
]
},
"error": null
}

When the requested delta exceeds 10, steps reports the clamped count and clamped is present:

display volume RokuTV 99
{
"status": "SUCCESS",
"request_id": null,
"result": {
"display_control": [
{ "device_id": "6cdffb01f5ba", "device_name": "RokuTV", "action": "volume_up", "steps": 10, "clamped": true }
]
},
"error": null
}
MemberTypeDescription
display_controlArray of objectsThe action performed: the device, the action (volume_up, volume_down, or mute_toggle), and the number of keypresses sent as steps. clamped is true when the requested delta exceeded 10.

Errors

On failure, status is "ERROR":

display volume RokuTV 0
{
"status": "ERROR",
"request_id": null,
"result": null,
"error": { "message": "Volume delta must be non-zero", "reason": "DISPLAY API ERROR" }
}
ErrorCause
<rx> is not a valid devicerx does not name a known device
display control targets a receiver — <name> is not an RXrx names a transmitter
'<delta>' is not a signed step count (e.g. 3 or -2)delta is not an integer
Volume delta must be non-zerodelta is 0

REST API

Endpoint typeDisplayNet API command
AddressPOST /api/displaynet/<operation>, or name the operation in the body of a POST /api/displaynet. See Sending commands.
RoleUser
SubcommandOperationParameters
mutedisplay_muterx
volumedisplay_volumerx delta

See also

  • send: one-shot CEC, RS-232, and infrared payloads
  • kvm streamdeck dial: bind a dial's rotation and press to volume and mute