Summary
Network-connected wireless multi-room music speaker. Control via HEOS CLI over TCP/telnet on port 1255. discovery via UPnP SSDP. supports volume, mute, play state, queue, browse, grouping.
Transport
protocols:
- tcp
addressing:
port: 1255 # stated: telnet port 1255
auth:
type: none # inferred: no auth required for CLI connection; sign-in is for HEOS account, not CLI access
Traits
- powerable # UNRESOLVED: no power on/off command in HEOS CLI
- routable # inferred: input source routing commands present
- queryable # inferred: get_play_state, get_volume, get_mute commands present
- levelable # inferred: volume up/down/set commands present
Actions
- id: register_for_change_events
label: Register for Change Events
kind: action
params:
- name: enable
type: enum
values: [on, off]
description: Enable or disable change events
- id: system_reboot
label: Reboot Device
kind: action
params: []
- id: player_get_players
label: Get Players
kind: action
params: []
- id: player_get_player_info
label: Get Player Info
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_get_play_state
label: Get Play State
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_set_play_state
label: Set Play State
kind: action
params:
- name: pid
type: integer
description: Player id
- name: state
type: enum
values: [play, pause, stop]
description: Desired play state
- id: player_get_volume
label: Get Volume
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_set_volume
label: Set Volume
kind: action
params:
- name: pid
type: integer
description: Player id
- name: level
type: integer
description: Volume level 0-100
- id: player_volume_up
label: Volume Up
kind: action
params:
- name: pid
type: integer
description: Player id
- name: step
type: integer
description: Step level 1-10 (default 5)
- id: player_volume_down
label: Volume Down
kind: action
params:
- name: pid
type: integer
description: Player id
- name: step
type: integer
description: Step level 1-10 (default 5)
- id: player_get_mute
label: Get Mute State
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_set_mute
label: Set Mute
kind: action
params:
- name: pid
type: integer
description: Player id
- name: state
type: enum
values: [on, off]
- id: player_toggle_mute
label: Toggle Mute
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_get_play_mode
label: Get Play Mode
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_set_play_mode
label: Set Play Mode
kind: action
params:
- name: pid
type: integer
description: Player id
- name: repeat
type: enum
values: [on_all, on_one, off]
- name: shuffle
type: enum
values: [on, off]
- id: player_get_queue
label: Get Queue
kind: action
params:
- name: pid
type: integer
description: Player id
- name: range
type: string
description: "Range start#, end# (optional)"
- id: player_play_queue
label: Play Queue Item
kind: action
params:
- name: pid
type: integer
description: Player id
- name: qid
type: integer
description: Queue id for song
- id: player_remove_from_queue
label: Remove from Queue
kind: action
params:
- name: pid
type: integer
description: Player id
- name: qid
type: string
description: Comma-separated queue ids
- id: player_save_queue
label: Save Queue as Playlist
kind: action
params:
- name: pid
type: integer
description: Player id
- name: name
type: string
description: Playlist name (max 128 unicode)
- id: player_clear_queue
label: Clear Queue
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_move_queue_item
label: Move Queue Item
kind: action
params:
- name: pid
type: integer
description: Player id
- name: sqid
type: string
description: Source queue ids (comma-separated)
- name: dqid
type: integer
description: Destination queue id
- id: player_play_next
label: Play Next
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_play_previous
label: Play Previous
kind: action
params:
- name: pid
type: integer
description: Player id
- id: group_get_groups
label: Get Groups
kind: action
params: []
- id: group_get_group_info
label: Get Group Info
kind: action
params:
- name: gid
type: integer
description: Group id
- id: group_set_group
label: Set Group
kind: action
params:
- name: pid
type: string
description: Comma-separated player ids (first is leader)
- id: group_get_volume
label: Get Group Volume
kind: action
params:
- name: gid
type: integer
description: Group id
- id: group_set_volume
label: Set Group Volume
kind: action
params:
- name: gid
type: integer
description: Group id
- name: level
type: integer
description: Volume level 0-100
- id: group_volume_up
label: Group Volume Up
kind: action
params:
- name: gid
type: integer
description: Group id
- name: step
type: integer
description: Step level 1-10 (default 5)
- id: group_volume_down
label: Group Volume Down
kind: action
params:
- name: gid
type: integer
description: Group id
- name: step
type: integer
description: Step level 1-10 (default 5)
- id: group_get_mute
label: Get Group Mute
kind: action
params:
- name: gid
type: integer
description: Group id
- id: group_set_mute
label: Set Group Mute
kind: action
params:
- name: gid
type: integer
description: Group id
- name: state
type: enum
values: [on, off]
- id: group_toggle_mute
label: Toggle Group Mute
kind: action
params:
- name: gid
type: integer
description: Group id
- id: browse_get_music_sources
label: Get Music Sources
kind: action
params: []
- id: browse_browse
label: Browse Source
kind: action
params:
- name: sid
type: integer
description: Source id
- name: cid
type: string
description: Container id (optional)
- name: range
type: string
description: Range start#, end# (optional)
- id: browse_search
label: Search
kind: action
params:
- name: sid
type: integer
description: Source id
- name: search
type: string
description: Search string (max 128 unicode)
- name: scid
type: string
description: Search criteria id
- name: range
type: string
description: Range start#, end# (optional)
- id: browse_play_stream
label: Play Stream
kind: action
params:
- name: pid
type: integer
description: Player id
- name: sid
type: integer
description: Source id
- name: cid
type: string
description: Container id (optional)
- name: mid
type: string
description: Media id
- name: name
type: string
description: Station name (optional)
- id: browse_play_preset
label: Play Preset Station
kind: action
params:
- name: pid
type: integer
description: Player id
- name: preset
type: integer
description: Preset position (1+)
- id: browse_play_input
label: Play Input Source
kind: action
params:
- name: pid
type: integer
description: Destination player id
- name: spid
type: integer
description: Source player id (optional, for playing on another speaker)
- name: input
type: string
description: Input source name
- id: browse_add_to_queue
label: Add to Queue
kind: action
params:
- name: pid
type: integer
description: Player id
- name: sid
type: integer
description: Source id
- name: cid
type: string
description: Container id
- name: mid
type: string
description: Media id (for tracks)
- name: aid
type: integer
description: Add criteria (1=play now, 2=play next, 3=add to end, 4=replace and play)
- id: system_sign_in
label: Sign In to HEOS Account
kind: action
params:
- name: un
type: string
description: HEOS account username
- name: pw
type: string
description: HEOS account password
- id: system_sign_out
label: Sign Out of HEOS Account
kind: action
params: []
- id: system_check_account
label: Check HEOS Account
kind: action
params: []
- id: system_heart_beat
label: Heart Beat
kind: action
params: []
- id: system_prettify_json_response
label: Prettify JSON Response
kind: action
params:
- name: enable
type: enum
values: [on, off]
description: Enable or disable prettification of JSON response
- id: player_get_now_playing_media
label: Get Now Playing Media
kind: action
params:
- name: pid
type: integer
description: Player id
- id: player_set_quickselect
label: Set QuickSelect
kind: action
params:
- name: pid
type: integer
description: Player id
- name: id
type: integer
description: Quick select id (1-6)
- id: player_play_quickselect
label: Play QuickSelect
kind: action
params:
- name: pid
type: integer
description: Player id
- name: id
type: integer
description: Quick select id (1-6)
- id: player_get_quickselects
label: Get QuickSelects
kind: action
params:
- name: pid
type: integer
description: Player id
- name: id
type: integer
description: Optional quick select id (1-6)
- id: player_check_update
label: Check for Firmware Update
kind: action
params:
- name: pid
type: integer
description: Player id
- id: browse_get_source_info
label: Get Source Info
kind: action
params:
- name: sid
type: integer
description: Source id
- id: browse_get_search_criteria
label: Get Source Search Criteria
kind: action
params:
- name: sid
type: integer
description: Source id
- id: browse_rename_playlist
label: Rename HEOS Playlist
kind: action
params:
- name: sid
type: integer
description: Source id
- name: cid
type: string
description: Container id of playlist to rename
- name: name
type: string
description: New playlist name (max 128 unicode)
- id: browse_delete_playlist
label: Delete HEOS Playlist
kind: action
params:
- name: sid
type: integer
description: Source id
- name: cid
type: string
description: Container id of playlist to delete
- id: browse_retrieve_metadata
label: Retrieve Album Metadata
kind: action
params:
- name: sid
type: integer
description: Source id
- name: cid
type: string
description: Album id
- id: browse_set_service_option
label: Set Service Option
kind: action
params:
- name: sid
type: integer
description: Source id
- name: option
type: integer
description: Option id (1-13)
- name: mid
type: string
description: Media id (context-dependent)
- name: cid
type: string
description: Container id (context-dependent)
- name: pid
type: integer
description: Player id (context-dependent)
- name: name
type: string
description: Name string (context-dependent)
- name: scid
type: string
description: Search criteria id (context-dependent)
Feedbacks
# All HEOS commands return JSON with structure:
# { heos: { command, result, message }, payload: { ... } }
# UNRESOLVED: specific feedback schemas per command - see full command details above
Variables
# UNRESOLVED: no discrete variable parameters beyond action inputs
Events
# UNRESOLVED: device sends change events when register_for_change_events enable=on
# Event types include: player_state_changed, player_queue_changed, group_volume_changed
# Full event list not documented in source
Macros
# UNRESOLVED: no explicit macro sequences in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
Command format: heos://command_group/command?attr1=val1&attr2=val2\r\n. delimiter: \r\n. response: JSON. port 1255 TCP. Max 32 simultaneous socket connections per speaker. CLI module starts in dormant mode — first connection spawns CLI core. UPnP discovery ST: urn:schemas-denon-com:device:ACT-Denon:1.
Provenance
source_domains: []
source_urls: []
retrieved_at: 2026-06-03T06:35:50.118Z
last_checked_at: 2026-06-03T06:35:50.118Z
Verification Summary
verdict: verified
checked_at: 2026-06-03T06:35:50.118Z
matched_actions: 56
action_count: 56
confidence: medium
summary: "Complete match: all 56 declared actions found in source (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "this doc is Denon HEOS CLI protocol; Definitive Technology Studio 3D Mini uses HEOS platform — command set identical to HEOS BAR/BAR"
- "no power on/off command in HEOS CLI"
- "specific feedback schemas per command - see full command details above"
- "no discrete variable parameters beyond action inputs"
- "device sends change events when register_for_change_events enable=on"
- "no explicit macro sequences in source"
- "no safety warnings or interlock procedures in source"
- "Definitive Technology Studio 3D Mini specific command coverage not verified against device"
- "model-specific source not located"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0