Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get started
Connect with Matter
Alexa Connect Kit
Add-ons
Certify
Resources
Skip to main content
Implement the Alexa.Speaker interface in your Alexa add-on so that users can control the volume of their entertainment devices that contain audio speakers. For details about entertainment device add-ons, see Connect Your Device Cloud with Smart Home Add-ons for Entertainment Devices. Implement this interface for devices that can set the volume to any integer value in a continuous range of values. If your device can only adjust the volume in discrete steps, implement the StepSpeaker interface instead. For the list of languages that the Alexa.Speaker interface supports, see List of Alexa Interfaces and Supported Languages. For the definitions of the message properties, see Alexa Interface Message and Property Reference.

Utterances

The Alexa.Speaker interface uses the pre-built voice interaction model. After the user says one of these utterances, Alexa sends a corresponding directive to your add-on. The following examples show some user utterances:




Reportable properties

The Alexa.Speaker interface supports the volume and muted properties. You identify that you support the properties in your discovery response.

Volume property

The Alexa.Speaker interface uses the volume property to represent the audio volume level of a device. The property is an integer and valid values from 0 to 100 inclusive. If the volume property is used to represent a change, then valid values are from –100 to 100 inclusive. In that case, a positive value increases the volume and a negative value decreases the volume. The following example shows the volume property.

Muted property

The Alexa.Speaker interface uses the muted property to indicate whether the audio of a device is muted or not. The property is a boolean. Set to true if the device is muted and set to false if the device isn’t muted. The following example shows the muted property.

Discovery

You describe endpoints that support Alexa.Speaker by using the standard discovery mechanism described in Alexa.Discovery. Set retrievable to true for the properties that you report when Alexa sends your add-on a state report request. Set proactivelyReported to true for the properties that you proactively report to Alexa in a change report. Use SPEAKER, TV, STREAMING_DEVICE, GAME_CONSOLE, or other appropriate display category. For the full list of display categories, see display categories. To let Alexa know the health of your device, also implement the Alexa.EndpointHealth interface.

Discover response example

The following example shows a Discover.Response message for a speaker device that supports the Alexa.Speaker and Alexa.PowerController interfaces. For the full list of recommended interfaces for an entertainment device, see Smart Home Device Templates.

Directives

Alexa sends the following Alexa.Speaker interface directives to your add-on.

SetVolume directive

Support the SetVolume directive so that users can set the volume on their devices. The following examples show user utterances:

SetVolume directive example

The following example shows a SetVolume directive that Alexa sends to your add-on.

SetVolume directive payload

The following table shows the payload details for the SetVolume directive.
PropertyDescriptionType
volumeThe volume to set the device to.Integer

SetVolume response

If you handle a SetVolume directive successfully, respond with an Alexa.Response event. A successful response confirms that the endpoint completed the requested action. In the context object, include the values of all properties that changed. The following example shows a SetVolume response.

SetVolume directive error handling

If you can’t handle a SetVolume directive successfully, respond with an Alexa.ErrorResponse event.

AdjustVolume directive

Support the AdjustVolume directive so that users can adjust the volume on their devices. The following examples show user utterances:

AdjustVolume directive example

The following example shows an AdjustVolume directive that Alexa sends to your add-on.

AdjustVolume directive payload

The following table shows the payload details for the AdjustVolume directive.
PropertyDescriptionType
volumeThe amount by which to change the volume, relative to the current volume.Integer
volumeDefaultFalse if the user specified the amount by which to change the volume; otherwise true.Boolean

AdjustVolume response

If you handle an AdjustVolume directive successfully, respond with an Alexa.Response event. A successful response confirms that the endpoint completed the requested action. In the context object, include the values of all properties that changed. The following example shows an AdjustVolume response.

AdjustVolume directive error handling

If you can’t handle an AdjustVolume directive successfully, respond with an Alexa.ErrorResponse event.

SetMute directive

Support the SetMute directive so that users can mute and unmute their devices. The following examples show user utterances:

SetMute directive example

The following example shows a SetMute directive that Alexa sends to your add-on.

SetMute directive payload

The following table shows the payload details for the SetMute directive.
PropertyDescriptionType
muteSet to true to mute the device, false to unmute the device.Boolean

SetMute response

If you handle a SetMute directive successfully, respond with an Alexa.Response event. A successful response confirms that the endpoint completed the requested action. In the context object, include the values of all properties that changed. The following example shows a SetMute response.

SetMute directive error handling

If you can’t handle a SetMute directive successfully, respond with an Alexa.ErrorResponse event.

State reporting

Alexa sends a ReportState directive to request information about the state of an endpoint. When Alexa sends a ReportState directive, you send a StateReport event in response. The response contains the current state of all the retrievable properties in the context object. You identify your retrievable properties in your discovery response. For details about state reports, see Understand State and Change Reporting.

StateReport response example

Change reporting

You send a ChangeReport event to report changes proactively in the state of an endpoint. You identify the properties that you proactively report in your discovery response. For details about change reports, see Understand State and Change Reporting.

ChangeReport event example

Last modified on March 25, 2026