Skip to main content

Heos

Heos by Denon comprises a set of HiFi audio systems integrated with HSYCO via WiFi or Ethernet connection. A single HEOS I/O Server controls all the devices connected to the local network.

The driver has been tested on firmware version 1.289.95 of the HEOS devices.

Communication

Just make sure the Heos devices are connected to the same local network as HSYCO server is.

HSYCO Configuration

Add a HEOS I/O Server in the I/O Servers section of the Settings and set its parameters:

High Availability

  • User: username for the HEOS account (optional)
  • Password: password for the HEOS account (if User is provided)
  • Shutdown when inactive: defaults to false.

Options

IDDefaultValuesDescription
startupeventsfalsetruegenerate IO events also during the driver’s start-up phase
falsestart generating events only after HSYCO is aligned with the current status of the system

Datapoints

In the following table, replace <name> with the name assigned to each player. Names are transformed to lowercase and spaces are replaced by '-'. For instance, if the name assigned to a player is "Example Name", the <name> part of the corresponding datapoints will be "example-name". The same applies to <group_name> placeholders.

IDValueR/WDescription
connectiononlineRconnection established
offlineRHSYCO can't connect to the device
<name>.model<model_name>Rreports the model name of this player, e.g. "HEOS 3"
<name>.version<version_number>Rreports the version number of this player, e.g. "1.289.95"
<name>.stateplayRthe audio stream is playing
Wstart playing
pauseRthe audio stream is paused
Wpause the audio stream
stopRthe audio stream is stopped
Wstop the audio stream
<name>.song<title>Rreports the title of the song currently playing
<name>.album<album_name>Rreports the name of the album currently playing
<name>.artist<artist_name>Rreports the name of the artist currently playing
<name>.image_url<url>Rreports the URL of the artwork of the track currently playing
<name>.image_url<url>Rreports the URL of the artwork of the track currently playing
<name>.volume0% ... 100%Rthe volume is set to the reported value
Wset the volume to the specified value
+<n>Wincrease the volume of the specified value (e.g. "+10")
-<n>Wdecrease the volume of the specified value (e.g. "-10")
<name>.mute1Rthe audio is muted
Wmute the audio
0Rthe audio is not muted
Wunmute the audio
flipWinvert the mute state
<name>.progress0% ... 100%Rthe progress of the currently playing track reached the reported value
<name>.qid<queue_id>Rreports the queue position of the current track
Wplay the track at the specified queue position
<name>.qid.remove<queue_id>Wremove from the queue the specified element
allWclear the queue
<name>.sid<source_id>Rreports the source id currently set on the player
<name>.mid<media_id>Rreports the media id currently set on the player
<name>.nextWplay next track in the queue
<name>.previousWplay previous track in the queue
<name>.repeaton_oneRthe player is set on repeat mode on the current track
Wenable repeat mode on the current track
on_allRthe player is set on repeat mode on the current queue
Wenable repeat mode on the current queue
offRrepeat mode is off
Wdisable repeat mode
<name>.shuffleonRshuffle mode is on
Wset shuffle mode on
offRshuffle mode is off
Wset shuffle mode off
<name>.typesongRthe player is currently playing a song
stationRthe player is currently playing a radio station
group.<group_name>.volume0% ... 100%Rthe volume is set to the reported value
Wset the volume to the specified value
+<n>Wincrease the volume of the specified value (e.g. "+10")
-<n>Wdecrease the volume of the specified value (e.g. "-10")
group.<group_name>.mute1Rthe audio is muted
Wmute the audio
0Rthe audio is not muted
Wunmute the audio
flipWinvert the mute state
group.create<players_list>Wgroup the listed players. The value is a list of names of players separated by ';' (e.g. "player1;plarer2"). The first player in the list becomes the group leader
<group_leader_name>Wremove the group whose leader player is the specified one
<name>.play.song<song-id>Wplay the track with the specified [song ID](#note1 s)
<name>.play.station<station-id>Wplay the radio station with the specified station ID

Note 1

To get the ID of a song or a radio station refer to Heos Utility

User Interface

UISET Actions

IDAttribute
connectionvisibletruewhen datapoint connection = offline
falsewhen datapoint connection = online
<name>.state.playvisibletruewhen datapoint <name>.state = play
falseotherwise
<name>.state.pausevisibletruewhen datapoint <name>.state = pause
falseotherwise
<name>.state.stopvisibletruewhen datapoint <name>.state = stop
falseotherwise
<name>.volumevaluethe current volume's value (0 ... 100)
<name>.mute.0visibletruewhen datapoint mute = 0
falsewhen datapoint mute = 1
<name>.mute.1visibletruewhen datapoint mute = 1
falsewhen datapoint mute = 0
<name>.repeat.offvisibletruewhen datapoint <name>.repeat = off
falseotherwise
<name>.repeat.on_allvisibletruewhen datapoint <name>.repeat = on_all
falseotherwise
<name>.repeat.on_onevisibletruewhen datapoint <name>.repeat = on_one
falseotherwise
<name>.shuffle.offvisibletruewhen datapoint <name>.shuffle = off
falsewhen datapoint <name>.shuffle = on
<name>.shuffle.onvisibletruewhen datapoint <name>.shuffle = on
falsewhen datapoint <name>.shuffle = off
<name>.progressvaluethe current track progress value (0% ... 100%)
<name>.qidvaluethe queue position of the current track
<name>.songvaluethe title of the song currently playing
<name>.albumvaluethe title of the album currently playing
<name>.artistvaluethe title of the artist currently playing
<name>.queuevalueslist of qids of queued tracks
labelslist of qid, title, artist and album of queued tracks

USER Commands

Use the IDs and values listed in the datapoints respectively as name and param for USER objects to perform the corresponding actions.

Release Notes

3.5.0

  • initial release

Heos and Denon are registered trademarks of D&M Holdings, Inc.