Smart Home Media Remote Guide
action.devices.types.REMOTECONTROL - Media remotes are used to control media devices. Examples of this device type include hubs, universal remotes, and media controllers.
This type indicates that the device gets the Media Remote icon and some related synonyms and aliases.
Device capabilities
Refer to the corresponding trait documentation for implementation details, such as attributes and states that your service should support, and how to build EXECUTE and QUERY responses.
Required traits
These traits and commands are required, if applicable to your
device. If your device does not support these traits, enter the error code of
functionNotSupported in a QUERY or EXECUTE response. See
Errors and exceptions for more info.
| Trait | Commands |
|---|---|
action.devices.traits.AppSelector |
|
action.devices.traits.InputSelector |
|
action.devices.traits.MediaState |
|
action.devices.traits.OnOff |
|
action.devices.traits.TransportControl |
|
action.devices.traits.Volume |
|
Recommended traits
These traits are recommended, if applicable to your device. However, you are free to mix and match from all available traits to best match your existing product functionality.
action.devices.traits.Channelaction.devices.traits.Modes- TV modes (such as Cinema or Sports)
action.devices.traits.Toggles
Example device: Simple media remote
This section contains example intent payloads representing a common "Media Remote" based on the device type and traits above. If you add or remove traits in your implementation, modify your responses accordingly to reflect those changes.
Sample SYNC response
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.REMOTECONTROL", "traits": [ "action.devices.traits.Channel", "action.devices.traits.AppSelector", "action.devices.traits.InputSelector", "action.devices.traits.MediaState", "action.devices.traits.OnOff", "action.devices.traits.TransportControl", "action.devices.traits.Volume" ], "name": { "name": "Simple media remote" }, "willReportState": true, "attributes": { "transportControlSupportedCommands": [ "NEXT", "PREVIOUS", "PAUSE", "STOP", "RESUME", "CAPTION_CONTROL" ], "availableApplications": [ { "key": "youtube", "names": [ { "name_synonym": [ "Youtube", "Youtube_en" ], "lang": "en" } ] } ], "availableChannels": [ { "key": "ktvu2", "names": [ "Fox", "KTVU" ], "number": "2" }, { "key": "abc1", "names": [ "ABC", "ABC East" ], "number": "702.4-11" } ], "availableInputs": [ { "key": "hdmi_1", "names": [ { "name_synonym": [ "HDMI 1", "DVD Player" ], "lang": "en" } ] }, { "key": "hdmi_2", "names": [ { "name_synonym": [ "HDMI 2", "TV" ], "lang": "en" } ] } ], "orderedInputs": false, "volumeMaxLevel": 11, "volumeCanMuteAndUnmute": true, "volumeDefaultPercentage": 6, "levelStepSize": 2, "commandOnlyVolume": false, "supportActivityState": true, "supportPlaybackState": true }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Sample QUERY response
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "currentApplication": "youtube", "currentInput": "hdmi_1", "currentVolume": 10, "isMuted": false, "activityState": "ACTIVE", "playbackState": "PAUSED" } } } }
Sample EXECUTE commands
appInstall
For additional details on the command parameters,
see the
action.devices.traits.AppSelector reference.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appInstall", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
appSearch
For additional details on the command parameters,
see the
action.devices.traits.AppSelector reference.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appSearch", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
appSelect
For additional details on the command parameters,
see the
action.devices.traits.AppSelector reference.
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appSelect", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
SetInput
For additional details on the command parameters,
see the
action.devices.traits.InputSelector reference.
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetInput", "params": { "newInput": "hdmi_2" } } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentInput": "hdmi_2" } } ] } }
PreviousInput
For additional details on the command parameters,
see the
action.devices.traits.InputSelector reference.
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.PreviousInput" } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentInput": "hdmi_2" } } ] } }
NextInput
For additional details on the command parameters,
see the
action.devices.traits.InputSelector reference.
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.NextInput" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentInput": "hdmi_2" } } ] } }
OnOff
For additional details on the command parameters,
see the
action.devices.traits.OnOff reference.
{ "requestId": "6894439706274654534", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654534", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
mediaClosedCaptioningOff
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654536", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOff" } ] } ] } } ] }
{ "requestId": "6894439706274654536", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaClosedCaptioningOn
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654538", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "en" } } ] } ] } } ] }
{ "requestId": "6894439706274654538", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaNext
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654540", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaNext" } ] } ] } } ] }
{ "requestId": "6894439706274654540", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "FAST_FORWARDING" } } ] } }
mediaPause
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654542", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPause" } ] } ] } } ] }
{ "requestId": "6894439706274654542", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PAUSED" } } ] } }
mediaPrevious
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654544", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPrevious" } ] } ] } } ] }
{ "requestId": "6894439706274654544", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "REWINDING" } } ] } }
mediaResume
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654546", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaResume" } ] } ] } } ] }
{ "requestId": "6894439706274654546", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaStop
For additional details on the command parameters,
see the
action.devices.traits.TransportControl reference.
{ "requestId": "6894439706274654548", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaStop" } ] } ] } } ] }
{ "requestId": "6894439706274654548", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "STOPPED" } } ] } }
mute
For additional details on the command parameters,
see the
action.devices.traits.Volume reference.
{ "requestId": "6894439706274654552", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mute", "params": { "mute": true } } ] } ] } } ] }
{ "requestId": "6894439706274654552", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 10, "isMuted": true } } ] } }
setVolume
For additional details on the command parameters,
see the
action.devices.traits.Volume reference.
{ "requestId": "6894439706274654550", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.setVolume", "params": { "volumeLevel": 11 } } ] } ] } } ] }
{ "requestId": "6894439706274654550", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 11, "isMuted": false } } ] } }