Smart Home Channel Trait Schema
action.devices.traits.Channel
- This trait belongs to devices that support TV channels on a media device.
availableChannels
attribute. This list should comprise of all top or popular channels
that the user or device is subscribed to. To ensure a low query latency, we recommend that you keep
the channel list small (to 30 channels or less).
Device ATTRIBUTES
Devices with this trait may report the following
attributes as part of the SYNC
operation. To learn
more about handling SYNC
intents, see
Intent fulfillment.
Attributes | Type | Description |
---|---|---|
availableChannels |
Array |
Required. List of objects describing available media channels for this particular device. Each item describes a channel the user can select on this device. |
[item, ...] |
Object |
Available media channel. |
key |
String |
Required. Unique identifier for this channel. Not exposed to users. |
names |
Array |
Required. List of user-visible names for this channel. |
[item, ...] |
String |
Channel name. |
number |
String |
Optional numeric identifier for this channel. |
commandOnlyChannels |
Boolean |
(Default: Indicates if the device supports using one-way (true) or two-way (false) communication. Set this attribute to true if the device cannot respond to a QUERY intent or Report State for this trait. |
Examples
Device supporting two channels.
{ "availableChannels": [ { "key": "ktvu2", "names": [ "Fox", "KTVU" ], "number": "2" }, { "key": "abc1", "names": [ "ABC", "ABC East" ], "number": "4-11" } ] }
Device STATES
None.
Device COMMANDS
Devices with this trait may respond to the following
commands as part of the EXECUTE
operation. To learn
more about handling EXECUTE
intents, see
Intent fulfillment.
action.devices.commands.selectChannel
Set the current channel to a specific value.
Parameters
The payload contains one of the following:
Select channel by ID
Parameters | Type | Description |
---|---|---|
channelCode |
String |
Required. Unique identifier for the requested channel, matching one of the |
channelName |
String |
User-friendly name of the requested channel. |
channelNumber |
String |
Numeric identifier for the requested channel. |
Select channel by number
Parameters | Type | Description |
---|---|---|
channelNumber |
String |
Required. Numeric identifier for the requested channel. |
Examples
Change to KTVU
{ "command": "action.devices.commands.selectChannel", "params": { "channelCode": "ktvu2", "channelName": "KTVU" } }
Turn to channel three.
{ "command": "action.devices.commands.selectChannel", "params": { "channelNumber": "3" } }
Related errors
An error occurred selecting a new channel on the device.
Supported values:
noAvailableChannel
noChannelSubscription
channelSwitchFailed
action.devices.commands.relativeChannel
Adjust the current channel by a relative amount.
Parameters
Parameters | Type | Description |
---|---|---|
relativeChannelChange |
Integer |
Required. The number of channels to increase or decrease. |
Examples
Switch to the next channel
{ "command": "action.devices.commands.relativeChannel", "params": { "relativeChannelChange": 1 } }
Switch to the previous channel
{ "command": "action.devices.commands.relativeChannel", "params": { "relativeChannelChange": -1 } }
Related errors
An error occurred adjusting the channel of the device.
Supported values:
channelSwitchFailed
action.devices.commands.returnChannel
Return to the last/previous channel the user was on.
Parameters
Parameters | Type | Description |
---|---|---|
No properties |
Examples
Return to the last channel
{ "command": "action.devices.commands.returnChannel", "params": {} }
Related errors
An error occurred returning to the last channel of the device.
Supported values:
channelSwitchFailed