Smart Home MediaState Trait Schema
action.devices.traits.MediaState
- This trait is used for devices which are able to report media states.
The MediaState
trait is used by the Assistant for these purposes:
- To know what's playing on each device, whether or not playback was initiated by the Assistant. This information helps the Assistant better understand user intents. For example, users will say "Pause the Tonight Show" when their actual intent is "Pause the device currently playing the Tonight Show'.
- For portability between media players—if the Assistant knows what's playing and the position of current playback, the Assistant can transfer that playback to another device as a user moves between rooms, or save the playback for later on an arbitrary device.
You can specify what level and aspect of media states your solution provides by
configuring the attributes in this trait. This trait is typically used together with the
TransportControl
traits
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 |
---|---|---|
supportActivityState |
Boolean |
(Default: Indicate if the device can report the activity state. |
supportPlaybackState |
Boolean |
(Default: Indicate if the device can report the current playback state. |
Examples
Media device that reports both activity and playback state for SYNC response
{ "supportActivityState": true, "supportPlaybackState": true }
Device STATES
Entities with this trait may report the following
states as part of the QUERY
operation. To learn
more about handling QUERY
intents, see
Intent fulfillment.
States | Type | Description |
---|---|---|
activityState |
String |
Indicate whether the device is active and the user is actively interacting with it. Supported values:
|
playbackState |
String |
Indicate the current state when playing media. Supported values:
|
Examples
Media device that reports both activity and playback state
{ "activityState": "ACTIVE", "playbackState": "PAUSED" }
Device COMMANDS
None.