Skip to main content
Version: 4.1

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.