No announcement yet.

Denon HEOS multiroom speaker integration

  • Filter
  • Time
  • Show
Clear All
new posts

  • Denon HEOS multiroom speaker integration

    With two Denon HEOS HS2 speakers (HEOS 3 & 5), I've created a script to grab the data from each speaker. HEOS speakers can be reached via a Telnet connection, and based on their CLI Commands, a script is made for that. An extended version of everything can be read in my blog post:
    Player state, playing media, etc will be visible in virtual devices, which will be created dynamically, based on the name of the speaker that is set in the HEOS app.

    Script version 2.0 is based on 2 speakers, which are operating individual in the HEOS app. Speaker groups are not tested yet.

    The result of two speakers in Homeseer could be something like the screenshots below. The “Office” speaker is currently playing media, therefor the Player State is set to “Play” and even the Album Cover is visible. The “Living” speaker is not playing media, so the Player State is automatically set to “Pause” and no Album Cover is visible.

    Player State can be changed manually via button, as well as changing the volume and mute for each speaker
    Click image for larger version

Name:	HEOSv2-devices1.png
Views:	131
Size:	311.9 KB
ID:	1245946
    Click image for larger version

Name:	HEOSv2-devices2.png
Views:	132
Size:	163.3 KB
ID:	1245947
    Click image for larger version

Name:	HEOSv2-devices3.png
Views:	132
Size:	409.4 KB
ID:	1245948
    To do improvements:

    • Add volume buttons (up/down/toggle mute) to control speaker volume
    • Add player state buttons (play/pause/stop, etc)
    • Add play type buttons (normal/shuffle/repeat, etc)
    • "Result" device can be removed
    • With first script run, when a speaker is not playing any media, the "Track" info is not available in the JSON output and therefor the virtual device for this will not be created.
    • Test the script as well when speakers are grouped in the Heos app
    • Test the script when the Telnet connection is not closed after each script run
    Release notes:

    06-09-2018 v2.0

    Tested on HS3 with
    • HEOS 3 HS2 speaker
    • HEOS 5 HS2 speaker
    • Grabbing information from all available HEOS (HS2) speakers in the network.
    • Volume buttons (up/down/mute/unmute) for each speaker device
    • Player State added buttons (play/pause/stop, etc) for each speaker device
    • "Track ID" device is created no matter the player state.
    02-09-2018 v1.0

    Tested on HS3 (Win8) and (Win10)
    • Working with one speaker for now (2nd speaker is purchased)
    • Grabbing most useful information from one speaker and played media
    • Floor naming will be done in the format "Heos" & "name of speaker" ==> "Heos_Living", for better overview


  • #2
    have you considered making this a plugin, rather than a script?


    • #3
      For me scripting is easier than to put it into a plugin. Maybe some time I will look into it but for now I can say there is no need for me to create a plugin for it. What are your reasons to have this in a plugin rather than a script?