Roon Extension : RHEOS 2-way control & 192Hz/24bit Playback and Grouping on Denon/Marantz HEOS devices now in Extension Manager

I ssh’d into my NAS and ran “docker ps” and “docker info” so I assume docker is alive and well. Roon Extension Manager appears in my Room app. Will try again to install RHEOS now.

1 Like

I think it is working. Please hold off on any comments. Thanks in advance.

@Michael_Zyla , glad to hear it working. I do not know qnap’s implementation of Docker and I do not use SSH to manage my docker on synology nas. I use a Portainer Docker image to manage all my other containers…I have the docker-compose file contents I used should you need it, just let me know.

kind regards,
Patrick

CC: @MartijnDD - we never heard back from you, did you get it working?

Thank you all for help. But this is too complex for me. I am glad to know how my Synology works, but if I have to work with virtual docker installations, that’s not my cup of coffee. I hoped I only had to install one installation file… :frowning: Again, thank you all but I will buy a Bluesound speaker and sell my two Heos 7 HS2. That is a more simple solution. :wink:

It really doesn’t take much. It runs fine on a pi 3 …

Am still working on the next release as I want it to remain small and run on almost any of the reasonable options.

1 Like

@MartijnDD totally understand,its daunting at first. I didn’t go the docker route for roon or rheos at first, it was some app I wanted to try and was following some great “how to’s” from:
Marius Hosting – Trustworthy expert guide to your Synology NAS.
Marius has tutorials on the 3 ways to install images (the easy way I describe below, and two “harder” ways that give you various control - which I now use but used the easy way for a year on different apps I wanted to try)

Just to alleviate your fear a bit, here is how it goes in general:

  1. install the Docker App package from synology (just like installing any of their apps in synology - its one of their promoted apps btw) - its that easy, Docker is now on your synology
  2. for RHeos: create a folder under the new /docker/ share the synology app created - say, RHEOS :slight_smile:
  3. in docker app, use the UI to search and get the rheos image and tell docker to download it
  4. in the docker app, select the rheos image and “launch” it - this will go thru a few screens, there is only ONE THING you really have to do on these (kinda confusing screens) - and that is: map your RHEOS folder to the folder in Peter’s image called /RHEOS - that is it, done with the install

And now, here is how easy it is - yeah, long post but all pictures :slight_smile:

here are some screen shots:
#2 - you will notice my folder under docker for peter’s app is called “roon_rheos_extension” and a child folder in there called RHEOS (call it whatever you want)

#3a - tell docker to get the image from github - just search ‘rheos’ and select the one i highlighted

.
#3b - go to the downloaded image (will take a few min) and LAUNCH

#4a - the fun part - few clicks and rheos is running: first thing is to select HOST for the network (ignore my other networks)

#4b - enable auto restart (or not :)) and click next [note: you can limit the CPU priority to MED and the memory to 1024 or 2048 - I typically do this, but the app doesnt use any memory really]

#4c - now map the folder:

#4c - its case sensitive so /RHEOS here

#5 - it will start when you click DONE if this is checked

#6 - I did not start it since I have one running already - here is the example I just created - seems a lot but SO SIMPLE

So what is this doing, it will store all the config data in the RHEOS folder so even if you delete the image you have the config data…

all goes well, you will see his extension in the ROON app…

if you dont like it, just select the CONTAINER and choose DELETE - it will ask if it should also delete all the data - say yes and you are done with docker-rheos… uninstall SYNOLOGY DOCKER app and its like it was never there…

PSS - Synology has some major upgrades coming to Synology Docker in the DSM 7.2 release that is currently out in beta right now… can’t wait …

@peter_richardson I just told portainer to pull the new image you pushed (its nice that it alerts me there are newer images available). Thanks again for your hard work on this app.

Ok, so now on version 0.6.3-0 and just built my first FIXED GROUP. So, I had to “RTFM” after I saw the group and changed to fixed, I could not find it. Duh, makes sense you have created a “new audio device” that LMS can see - very clever!

It did set all volumes to 100 upon selection - good thing I saw before it started really playing - not sure if an issue with my experimental settings or a possible bug in the fixed-group setup.

some observations - curious if this is your expectation on our end:

  • created fixed-group, went to audio and enabled the new group, renamed the new group
  • started playing (vol at 100 as noted above)
  • while paused, it shows the group-name, while playing, it shows the heos name of the group in roon (all the device names) and also shows the group “chain-link” icon, not the name I gave it in the Audio section [kinda makes sense that you cannot fully trick heos, just curious if you see this too or you did not expect this]
  • I am getting the “green” signal path on playback using your fixed group, getting “purple” when I manually group the same devices [its a don henley mqa 96khz album - tidal]
  • note: I set the delay to 500ms for the fixed group but changed nothing else (yet - ha :slight_smile:

PS - so on version 0.5 I would sometimes get the green signal path after I did maintenence on the NAS and rebooted the docker images after fiddling with docker etc… I would just make sure all devices were HI RES and then reboot rheos image and all would be well. I suspect its some timing issue with rheos vs roon config and the reboot is just allowing rheos to talk to roon core after its been running a bit.

Cool - as you can see I put this as a test tagged image and really appreciate you doing this.

I’ll share how it all works and why the grouping shows the way it does: the last device in the ROON group will now control the volume level for all. I can’t, unfortunately change the ROON group name in the API -so you see the lead HEOS player and the linked devices.

The setting of the delay is not needed and I’ll pull it as I found a good work around that seems reliable on my set up.

Let me know how it goes and whether I should set this up in roon-extension-manager. When I use the present test images on raspberry pis they work fine - until I try with the extension manager. Strangely the AMD64 image works just fine. Very odd,

Hello @peter_richardson,

So I saw you updated and cleaned up the docker image repository (as of this writing, it says 16 hours ago) and there is only the latest tag out there.

without paying attention I pulled that image and refreshed my container and the version in roon now says 0.5.2-1 again…I suspect you removed version 0.6 from docker hub for the moment (the latest tag is all that is there)?

If you want to republish the TEST tag, I will pull that image and test it and give feedback.

Patrick

PS:

  • regarding the grouping - makes total sense since we see the same thing on our ‘stereo pair’ from Heos in your solution
  • so when I did use your grouping for a bit, I would see all the speakers in the Volume popup AND my new ‘group name’ at the bottom of the list - so that item will adjust all volumes incrementally up and down? I was playing with adjusting each speaker on the popup and messing with the group volume control too… I can give more feedback once you republish the TEST tag
  • note: I was also stressing your new feature as I grouped speakers together and one of the items was a heos-stereo-pair – I can test with and without the stereo pair too…
  • and to confirm seeing green vs purple in the signal path - when I accidentally downgraded to version 0.5 and started the container, I have to go into the roon extension, enable it, and set the speakers from CD to HI-RES. At this point, if I save and start playing I get GREEN. If I then re-start the container, and then just go and play, I get PURPLE. – so what this means to me is, changing the quality in your extension and saving doesn’t “reset something” in your code, but a restart of your app does honor the new settings.

Hello @peter_richardson ,

Ok, I have stopped my latest container and started the TEST TAG’d container…(i have completely separated the two images now and just need to make sure I do not run both :slight_smile: )

  • shows version 0.6.3-0 in extensions

  • I had to set all devices to HI-RES in the Settings area again…

  • this time, it went to PURPLE on play without me having to restart the container

  • should I go into my Audio devices and remove the 500ms delay setting (put it back to the default of zero?)

  • I will start testing the fixed groups tonight… anything else you want me to attempt?

Patrick

Just uploaded 3 images covering am64,arm64 and arm Linux (for standard Linux installs and raspberry pi 4 and 3) to docker rheos/roon-extension-rheos tagged as “test”. Anyone comfortable using docker should be able to test.

These appear to function well for me when run outside roon-extension-manger but I am having trouble with the raspberry pi versions when I try to use with the extension manager. I will continue to investigate.

I need to test some changes to the docker file to maintain your config settings where we state hi res. Ill let you know if I solve this and ask you to test.

If we get this running next on the list is zone control …

Meanwhile please let me know how it works for you - feedback always appreciated.

Peter

moving the testing to another thread

Since yesterday I have the following problem (RHEOS in Extension Manager on RPI).

During the night RHEOS upgrades to:
image

As a result no groups are being displayed in RHEOS:
image

and

Restart of RHEOS, Extension Manager or RPI doesn’t help.

The only way out is to Upgrade RHEOS what causes downgrade to:
image

@peter_richardson, any idea why that’s happening and how to fix that?

1 Like

Thank you for sharing - and I have confirmed that 0.6.3 does not function correctly on Raspberry pi 4 or 3 when installed via the Extension-manager.

Running the docker image directly on these same architectures it functions fin and will work on other Linux devices being tested.

I have changed the Extension Manager back to download the earlier vesrion.0.5.2-1 to avoid this issue and this should allow you to return to the previous version while I see if I can work around this.

Apologies for any inconvenience.

Peter

1 Like

I did a 3 second reset button on my QNAP. This cleared out ContainerStation modules and reset my network settings and admin pswd. Logged in as admin and reinstalled ContainerStation. Created Roon Extension Manager. Looked at Roon App, Settings, and saw this in Extensions, and enabled Roon Extension Manager. Then I went back to QNAP ContainerStation and added RHEOS. Terminal showed all 14 of my HEOS devices. Went to Roon App, Settings, Extensions, and saw RHEOS, and enabled it. In Roon App, went to Settings, Audio, and saw all 14 of my HEOS devices. This is where I am at as I am out of town. So far, so good. Will let you know. Thanks for watching over me.

Ah - someone testing with a good number of players.

LMK how it goes- this is where I most use the features and will value your feedback.

Peter

I uploaded version 0.6.4-0 to the roon-extension-manager.

This introduces “FIXED ZONES”. The ability to preset a group of HEOS players to be grouped on play and ungroup on stopping. It also allows a single volume controller to control mute and level on all players in a fixed group. The group is remembered by ROON across restarts.

The HEOS players can be controlled as a normal ROON endpoint. Grouping is done through standard ROON grouping but behind the scenes these are translated to HEOS groups and you will see the change appear in the HEOS app.

Fixed groups can be created from any group created using ROON or HEOS. To create a fixed group that is automatically regenerated when a fixed group output is played go to settings → groups. All present ROON/HEOS groups will be listed. To set as a ‘fixed group’ select from the drop down and this will be created. If a fixed group with the same players has been previously created (even with a different lead player or order of players) it will appear as a new ROON output. Selecting play will group the HEOS players and start play back. Pause will ungroup and stop playback. If the group has never been created before it needs to be enabled in ROON using Settings → Audio → Squeezebox where the group will appear with the HEOS group name. This can be edited as needed in ROON and enabled or disabled as needed. On playing the group will be identified as a ROON group i.e. “player” + x and the chosen name will appear as the last player in the group with a cvolume control that will control all other players in the group (as presently in the HEOS control app).

To disable a group (set as variable) or delete the group please select "variable’ or “delete” from the drop down menu in settings-> groups.

For help please refer to the original git hub:

In addition this release fixes several small bugs.

At present, this is only available via the extension manager or as a docker image.

1 Like

It seems to work more or less fine. Some of the group-related actions require RHEOS restart.
Group deletion is surprising as deleted group doesn’t disappear and stays forever on the group list with DELETE status.

For a stereo group it displays first device in group (as previously) and a group as a separate device. Second device is not detected (as previously).
Group DELETE on stereo group doesn’t have any effect in HEOS.

1 Like

Thanks for the feedback.

I’ll take a look and see why delete may not be working as expected.

Hi @peter_richardson Looks like RHEOS .6 is auto updating my .5 version and causing some issues. Of the 6 sqeezebox speakers only 2 show up after .6 applies. Is this normal for auto update? Any suggestions to get .6 to work properly if I stay with it?
Thanks