Docs
Capabilities

Media player

Domain media_player: states, services, device classes and features.

Entity ids in this domain look like media_player.<object_id>.

Use in preferences

{ key: 'device', label: 'Device', type: 'entity', domainFilter: 'media_player', required: true }

States

getState() returns the raw token. subscribe filters, entity.is() and matchesState() also accept the friendly label the app shows (any case; spaces, hyphens and underscores interchangeable).

  • playing
  • paused
  • stopped
  • buffering
Subscribe and compare
subscribe($g.device, { to: 'playing' }, onChange);
if ($g.device.is('playing')) { /* … */ }

Services

Curated for smart apps (also offered by the wizard action catalog):

ServiceParametersDescription
mute—Mute
next—Next track
pause—Pause
play—Play
playMediamediaContentId (string, required)Play a stream or file by its address (http URL, or a URI from a source browse).
previous—Previous track
setVolumevolume (number, 0–100, required)Set volume
stop—Stop
turnOff—Turn off
turnOn—Turn on
unmute—Unmute
volumeDown—Volume down
volumeUp—Volume up
Call a service
await $g.device.mute();

Also routable (MediaPlayerServices), not in the wizard catalog — callable as entity.<service>(); the integration may reject unsupported ones at runtime:

joinGroup, seek, setGroupVolume, unjoinGroup

Device classes

none, tv, speaker, receiver, projector

Filter with deviceClassFilter in an entity input.

Features

Bitmask on the supportedFeatures attribute; read the values with getEntityFeatures().MediaPlayer.

FeatureBit
PAUSE1
SEEK2
VOLUME_SET4
VOLUME_MUTE8
PREVIOUS_TRACK16
NEXT_TRACK32
TURN_ON128
TURN_OFF256
PLAY_MEDIA512
VOLUME_STEP1024
SELECT_SOURCE2048
STOP4096
CLEAR_PLAYLIST8192
PLAY16384
SHUFFLE_SET32768
SELECT_SOUND_MODE65536
BROWSE_MEDIA131072
REPEAT_SET262144
GROUPING524288
MEDIA_ANNOUNCE1048576
MEDIA_ENQUEUE2097152
SEARCH_MEDIA4194304
Generated from docs-bundle v0.1.0, novon-platform 9ce3486c (2026-10-09).

On this page