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

All fine here.

I’m actively updating the next version. Doing some tweaking and improvements (hopefully) to AVR control and fixed groups as well as overall stability.

I’ll be uploading a test version to docker in the next days once I am ready for you to try and break😉

There is a new test version 0.7.3-0 uploaded to GitHub and to Docker.

Several changes to improve the behavior of Fixed Groups and control of AVR zones.

The configuration file may need to be reset. Please let me know if you have issues.

Plan for a general release over the weekend if your feedback is ok.

Richard,

I updated the app and Mac version should be running again. I cant test so let me know if there’s an issue.

Best

Peter

@peter_richardson - did you ever publish the mount path for docker for the configuration files?

Back when I was manually installing your node js package into a docker image, the instructions had us map the RHEOS directory, but this doesnt work on your docker images (nothing in that directory). I can ssh and cd up a few directories and find your rheos but not sure the mount path for docker…

Every update I have to re-setup most my configurations

thanks,
Patrick

This works for me :slight_smile:

sudo docker run --name roon-extension-rheos --network host -v $(pwd)/.reg/etc/config.json:/home/node/config.json rheos/roon-extension-rheos:test

Let me know how you get on please.

I made a change to the way I store fixed group configs - it may not cause an issue.

Peter

@peter_richardson

I am not sure if I am creating the issue OR there is a bug in .3-0…

I cannot get the speakers to hi-res, the settings UI say they are at hi-res (also tried pass-thru with same result) BUT when I play [PINK FLOYD - Wish you were here - Qobuz FLAC 192/24] it goes to GREEN on signal path (takes it down to 24 bit).

I was mucking with the config.json volume mapping and saw the issue…SO, I deleted my entire Portainer Stack and all rheos images, removed ALL volume mapping and rebuilt the image… same issue…

something weird in the config.json (I copied this from a bash console into the image since I cannot map the file at the moment) - strange the repeated listings for CD, HR, THRU in the file (well, maybe its correct, just seems its repeating something) - at the bottom is a screen shot of the roon-ui for your extension


config.json - SNIPPET

"settings": {
    "260058229": "CD",
    "287263149": "CD",
    "928479579": "HR",
    "1020008321": "CD",
    "1029117679": "THRU",
    "1260822679": "HR",
    "1445597011": "HR",
    "1642975995": "CD",
    "1826599973": "CD",
    "1886447733": "CD",
    "1936207747": "HR",
    "host_ip": "10.10.20.210",
    "streambuf_size": 524288,
    "output_size": 8388608,
    "stream_length": -3,
    "seek_after_pause": 1,
    "volume_on_play": -1,
    "volume_feedback": 0,
    "accept_nexturi": 0,
    "flac_header": 0,
    "keep_alive": 0,
    "next_delay": 15,
    "send_coverart": 1,
    "send_metadata": 1,
    "flow": 0,
    "max_safe_vol": 70,
    "avr_control": false,
    "fixed_control": false,
    "clear_settings": false,
    "-1263660616": "HR",
    "-1448957543": "HR",
    "log_limit": 1,
    "-158596857": "CD",
    "-192943358": "CD",
    "-1621613298": "CD",
    "-1454686868": "CD",
    "-566329936": "HR",
    "-697538148": "HR",
    "-1028476464": "THRU",
    "-1728112551": "HR",
    "-40054639": "THRU",
    "default_player_ip": "10.10.20.226"
},
"players": [
    {
        "name": "Denon-150-WestHall",
        "pid": -566329936,
        "model": "Denon Home 150",
        "version": "2.119.212",
        "ip": "10.10.20.233",
        "network": "wifi",
        "lineout": 0,
        "serial": "BLV27220103685",
        "resolution": "CD",
        "type": "NON-AVR"
    },
    {
        "name": "Greatroom-AVR-[Marantz]",
        "pid": 1445597011,
        "model": "Marantz SR7012",
        "version": "2.119.212",
        "ip": "10.10.20.226",
        "network": "wired",
        "lineout": 0,
        "serial": "AVG12180204653",
        "resolution": "CD",
        "type": "AVR"
    },
    {
        "name": "Denon-150-EastHall",
        "pid": -697538148,
        "model": "Denon Home 150",
        "version": "2.119.212",
        "ip": "10.10.20.234",
        "network": "wifi",
        "lineout": 0,
        "serial": "BLV27220204740",
        "resolution": "CD",
        "type": "NON-AVR"
    },
    {
        "name": "Denon-150-Office-L",
        "pid": -1028476464,
        "model": "Denon Home 150",
        "version": "2.119.212",
        "ip": "10.10.20.235",
        "network": "wifi",
        "lineout": 0,
        "serial": "BLV27220103615",
        "resolution": "CD",
        "type": "NON-AVR"
    },
    {
        "name": "HEOS-5-Bath",
        "pid": 1936207747,
        "model": "HEOS 5",
        "version": "2.119.212",
        "ip": "10.10.20.230",
        "network": "wifi",
        "lineout": 0,
        "serial": "ACTG9171006170",
        "resolution": "CD",
        "type": ""
    },
    {
        "name": "Master-SoundBar-[Denon]",
        "pid": -1728112551,
        "model": "Denon Home Sound Bar 550",
        "version": "2.119.212",
        "ip": "10.10.20.228",
        "network": "wired",
        "lineout": 0,
        "serial": "DBDV042207421",
        "resolution": "CD",
        "type": "NON-AVR"
    },
    {
        "name": "Pool-AVR-[Denon]",
        "pid": 928479579,
        "model": "Denon AVR-X4700H",
        "version": "2.119.212",
        "ip": "10.10.20.227",
        "network": "wired",
        "lineout": 0,
        "serial": "DBCQ042001147",
        "resolution": "CD",
        "type": "AVR"
    },
    {
        "name": "HEOS-7-WineRoom",
        "pid": -40054639,
        "model": "HEOS 7",
        "version": "2.119.212",
        "ip": "10.10.20.229",
        "network": "wifi",
        "lineout": 0,
        "serial": "ACXG9170903020",
        "resolution": "CD",
        "type": ""
    }
],
"fixed_groups": []

image

Thanks Patrick.

Interesting as I haven’t changed any of the code that deals with this - I will see if I can replicate.

Are you launching with the command line I suggested or that used previously?

I am wondering if I created this with the change in command ?

Check the settings in Roon are set to 192/24 for the zone. This sounds like it’s defaulted to something different if I remember I had to set that. You will need to check each zone in Roons device settings/advanced.

@peter_richardson , I use a docker compose script to create the image:

version: ‘3.3’
services:
rheos:
container_name: roonhrc_rheos_test
image: rheos/roon-extension-rheos:test
ports:
- ‘1255:1255’
- ‘1256:1256’
restart: ‘unless-stopped’
pull_policy: always
networks:
macvlan_network:
ipv4_address: 10.10.20.211
environment:
- TZ=America/Phoenix
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- NODE_VERSION=19.2.0
- YARN_VERSION=1.22.19
mem_limit: 4096m
networks:
macvlan_network:
external: true
name: mvlan_ent20

@Simon_Arnold3 - Thanks, I will take a look at all the audio device’s advanced settings when I get back home this evening…

1 Like

Hi Patrick,

Looking t your configuration file I can see that something isn’t quite right… You seem to have six players/AVRs - correct?

Each number preceding a “CD, “HR” or"THRU” represents the PID allocated by the Denon Heos system. This shouldn’t’ change. I create some numbers for virtual “fixed” groups. I can see that your “wine room” player appears as “CD” resolution in the player list and “THRU” when looking at the index codes. This is my error I think so I will see how to address this. - probably over the weekend.

I know its’ a (small) pain but I suggest you delete the entire config file and start with blank slate,

In order to avoid the creation of new config files when you load up the docker image you need to mount a local file called config.json at /home.node/config.json

This is all done automagically in roon exetension amager.

From a command line start : $ sudo docker run --name roon-extension-rheos --network host -v $(pwd)/.reg/etc/config.json:/home/node/config.json rheos/roon-extension-rheos:test

will work as an example.

Withing a docker config file I believe you need to mount the file using something like :

services:
  rheos

volumes:
./config.json:/home/node/config.json rheos/roon-extension-rheos:test

Let me know if this works while I explore!

Patrick,

I managed to replicate once I got home. Have a fix but want to make sure doesn’t cause another problem and its very late here! Simple error resulting from changes to how I store info in config file. Hard to track down.

Will get something out to test this weekend. Thanks for spotting before I went to general release!

Peter

@peter_richardson

So I created an empty config.json on my NAS and put the following in my Compose file:

  volumes:
    - /volume1/docker/roon_rheos_extension_label_test/RHEOS/home/node/config.json:/home/node/config.json:rw

I deleted the current Stack (test image file, running container etc)

Rebuilt the Stack: re-pulled image and rebuilt container and it starts…

this is what I typically see every time I re-deploy an image:

  1. I have to remove the older RHEOS extension
  2. enable the newly discovered rheos image
  3. after your code finds the devices I have to go into settings and re-set everything up (default connection, hi-res or pass-thru etc)

Ok, so I did this and am able to play music

However:

  • if I go look at the config.json file on my NAS, its still empty
  • if I bash into the container I land here:

  1. the CONFIG.JSON file is there but empty
  2. the CONFIG is a folder - going into it, there is a CONFIG.JSON folder! weird
  3. your config.json is no where to be found
  4. if I change directory UP twice I am above “home”
  5. I am not a Linux person but I traversed around and cannot find the correct config.json file

I suspect its the way the docker image is built and the config.json file is in the internal portion of where docker keeps the rest of the container files - and hence why I lose my settings each time.

PS - I did add text to the config.json file mapped and it does show when I run CAT command on the file in the console…

@Simon_Arnold3 I could not find any place on the Audio Settings for each device to change it to 192/24. It does appear in the thead below Peter has found a bug for this issue. I was just curious if I am being dense and not able to find the setting you describe.

thanks,
Patrick

Max sample rate in advanced section of Device Setup.

Thanks for the reply and screenshot…my devices, via the squeezebox setup of rheos does not show that option. I guess it’s controlled in the rheos settings only.

It should mines using Rheos and all devices in Roon should show it. This is in Roon not the extension. Rheos doesn’t give options other than pass through hires or cd quality.

The only other place to control the quality is in the Heos all device settings where you can choose high or normal resolution.

I tried to keep the options in RHEOS minimal for simplicity.

Am working on the update to address Patrick’s finding and generally improve the config file settings.

@Simon_Arnold3 - very interesting you are seeing that feature - are your devices (under audio) listed under the squeezebox sub-list or separately (like my Oppo player) - I wonder if its something with Roon ready devices vs those exposed thru squeezebox?