Reputation: 875
My Alexa Smart Home Skill for Entertainment Devices implements a few capabilities of API version 3, including the Alexa.Speaker Interface.
As far as I understand from the documentation, it should respond to voice commands such as “Alexa, set the volume of device to 5”, however Alexa always responds with "Sorry, I can't control the volume on your device".
The discovery response of the device looks like this
{
endpointId: 'music1',
friendlyName: 'pillow',
description: 'Music on Kodi',
manufacturerName: 'Cubox-i',
displayCategories: [],
capabilities: [
{
type: 'AlexaInterface',
interface: 'Alexa.PowerController',
version: '1.0',
properties: {
supported: [
{
name: 'powerState',
},
],
},
},
{
type: 'AlexaInterface',
interface: 'Alexa.PlaybackController',
version: '1.0',
properties: {},
},
{
type: 'AlexaInterface',
interface: 'Alexa.Speaker',
version: '1.0',
properties: {
supported: [
{
name: 'volume',
},
{
name: 'muted',
},
],
},
},
],
}
The discovery seems to work fine, as the PowerController
interface is being responded to fine (e.g. "Alexa, turn on pillow").
I can see discovery, PowerController
and PlaybackController
requests and responses in the AWS Lambda logs.
Any voice commands to Speaker
(whether trying to set the volume to 20, increasing it by 5, or asking to mute or unmute pillow) do not produce any requests to my Lambda and result in the response mentioned above – or in the case of muting in "Pillow doesn't support that".
Upvotes: 1
Views: 496
Reputation: 21
To addition to 'properties.supported' the version should be 1 (not 3). The Speaker interface discovery response should look like:
{
"type": "AlexaInterface",
"interface": "Alexa.Speaker",
"version": "1.0",
"properties.supported":[
{
"name": "muted",
},
{
"name": "volume"
}]
}
Upvotes: 2
Reputation: 129
Instead of
properties: {
supported: [
{
name: 'volume',
},
{
name: 'muted',
},
],
},
this JSON ,use this:
'properties.supported':[{
name: 'volume',
},
{
name: 'muted',
}]
This is a bug they are trying to solve,but till then,this will work,please let me know if this particular solution works for you.
Upvotes: 2