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

Hey Peter, trying to download - what is the new version number? for some reason, I ask for :test and get a create date of 2025-04-04

I have re pushed the latest test image to Docker.

sha256:5e6a64404493f3bf05183664a39859afcc5b70723f997dc239ea997c22acf261

The version should be shown as 0.12.2 when you look in extension settings.

thank Peter - shows up now - downloaded, created an empty config.json file and re-deployed docker..

  1. it will not let me set the default heos server - select it, save, go back, gone
  2. it sets my older (but h2 versions) devices to CD-Quality and will not let me save then higher (my heos5 and heos7) — when i looked in the json a while back, its like it does not identify they can go high res or pass thru – tried to force the json but that didnt work – its like your code always interrogates the devices then downgrades)
  3. started a playlist to the HEO5 device - stays at zero, bumping the time to 1 sec-ish [with mouse] then it starts playing…

will play more with it – again, thanks for all the hard work on this tool…
\

might have found it - the SETTINGS section is NOT in my new config.json file - recall, i start with an empty file.. stopping rheos and going to try to graft it back in from the previous version …

edti: so my old upnp settings up but still not able to save, i suspect the format of the json string has changed?

–my snippet:
“settings”: {
“default_player_ip”: “10.10.20.232”,
“host_ip”: “10.10.20.210”,
“streambuf_size”: “”,
“output_size”: “”,
“stream_length”: -3,
“seek_after_pause”: 0,
“volume_on_play”: -1,
“volume_feedback”: 0,
“accept_nexturi”: 0,
“flac_header”: 0,
“keep_alive”: 0,
“next_delay”: 15,
“max_safe_vol”: 80,
“avr_control”: 0,
“fixed_control”: 0,
“log_limit”: 1,
“log”: false,
“clear_settings”: 0,
“refresh_players”: 0,
“logo”: “roon_dark.png”,
“reboot_heos”: 0
}

That looks like a good settings JSON.

Mine persists very nicely. It lives in the main RHEOS directory as config.json and is usually created by the ROON api automatically.

I’ve also created a new config.js which is part of my move to a modular approach.

With Docker I have to create a pointer to the config file outside of the image. If the config file was in its own folder in your solution, then we could just map an empty folder and let our rheos do its thing. But since it shares that directory with other stuff, I have to map to an empty text file.
it appears this release is not writing the settings section into the file on its own.

Ok I’ll see what I can do.

it seems a bit more stable.

  1. i suspect you interrogate each device to determine its capabilities. for the Heos5 and 7 it seems your code only sees CD quality now. The json file seems to show it doesnt support hi res or pass thru. I can change it in the settings and it sticks “for a while” then reverts back.. my guess is the repeated interrogation resets back to CD.
  2. I have yet to test this on the newer devices, but when I start something on the heos5 (or re-start something paused ) after a while, roon says its playing BUT the seconds counter does not move, nor the music play - when I nudge the timer bar, it starts playing (usually).
  3. I suspect the issues on my HEOS5 in my office are going to be similar on the marantz sr7012 and the denon 4700h as they are from before the HEOS150,250 etc and the Marantz M1.
  4. ROON gets locked up on groups but now I think i know the issue: if I put the Heos5 or 7 into a group with the other devices, your code eventually will downgrade the heos5/7 to CD quality thereby rendering the group invalid - I have to reboot roon/rheos and use heos app to unstick the group…

I know it sounds like i am bitching - not at all - working around the issues and still rocking the app…

Patrick

Any pointers on how you got the Docker test image to work? I’m also missing the settings section. My compose.yaml:

    rheos:
      image: rheos/roon-extension-rheos:test
      container_name: rheos-test
      mem_limit: 2048m
      pull_policy: always
      restart: unless-stopped
      network_mode: 'host'
      environment:
        - TZ=America/New_York
        - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      volumes:
        # config.json file
        - /volume1/docker/rheos-test/config/config.json:/home/node/config.json:rw
1 Like

I took the settings from a working copy from earlier - just put the following after the players collection:

@Richard_Wright
I tried with an empty Settings section in the json, but the code seems to expect the attributes and will not heal it in this version…

replace my ip addresses with yours…

        ,
    "settings": {
    	        "default_player_ip": "10.10.20.232",
        "host_ip": "10.10.20.210",
        "streambuf_size": "",
        "output_size": "",
        "stream_length": -3,
        "seek_after_pause": 0,
        "volume_on_play": -1,
        "volume_feedback": 0,
        "accept_nexturi": 0,
        "flac_header": 0,
        "keep_alive": 0,
        "next_delay": 15,
        "max_safe_vol": 80,
        "avr_control": 0,
        "fixed_control": 0,
        "log_limit": 1,
        "log": false,
        "clear_settings": 0,
        "refresh_players": 0,
        "logo": "roon_dark.png",
        "reboot_heos": 0

    	}

1 Like

@peter_richardson - same issues

  1. queue just stops playing right in the middle of a song - random how long before it happens
  2. just came into the office and clicked play on the current song on the playlist for heos5 device, showing PLAYING but stuck at zero seconds - bumping the time to a few seconds will start it playing..

Thanks.

If you can see what the log says at that time would be helpful.

Not an issue I’m able replicate at present.

I will try to catch the logs when i am back at the pc for you..

Hey @peter_richardson - I wanted to give you an update on things I have done recently.

So, I had to disable the rheos docker for my devices. just too unstable. When it was stable, a small nag was on playing a long-paused device, it would say playing but not actually play or change the time, so I would have to nudge the time bar to get it to start playing.

I thought I would give DrCWO’s roouPnP a whirl for a year subscription (minimum).

  1. its stable.
  2. however, don’t even think of grouping these devices in Roon - does not sync
  3. solution is to group them in heos first, then just pick one to play in Roon (one of the roouPnP devices) - since HEOS is doing all the magic anyway. - this is how your code does it I believe, and the feature I love

So guess what? the stuck at zero time (or whatever time you were at when paused a while ago) issue is still there…
…
I said “f*ck it” and backed up my roon, stopped the roon docker,nuked the /data folder and started over.. Yeah, lost my history etc :frowning: [i have a backup if i want to go back]
…
The rooUPnP now does not have that issue. I suspect yours would not too. I always thought this creating and changing devices [not just rheos, but in general] would end up fubar’ing the Roon database. There is no way to scrub the devices and that is a real problem.

going to run it this way for a while and see if the issue comes back. Then I might nuke again and enable your extension.. however, you did say you were working on a few last things.. if so, I will wait until your next release..

thanks,
Patrick

PS - missing rHeos

Hope it works out. I’ll issuing a release in the next few days for testing that will work on all platforms previously supported.

My hope is then to share on ROON extension manager for those still using

I use this in preference to the Roon ready devices as I use fixed groups and integration with legacy devices all the time ..

Hopefully this will still be of use to others - but I think it’s a very limited user base.

3 Likes

Hello!
Just unsure while configuring. What do I select here?

Thanks for testing. Add sound mode, Main Zone and Zone 2 as external controls.

I am working on making this more stable so please let me know how you get on. Which version are you using and set up?

Hello!
Since a while my RHEOS stops playing coincidentally but always if I skip songs.
What can I do?
Installed as a container on a Synology.
The player is a Denon AVC-X4700H.
Mayn thanks.

Sorry.
Had not seen your reply.
Sound mode has disappeard.

Bildschirmfoto 2026-02-06 um 08.13.38

1 Like

Tried the test version.
Got this error: