This update provides compatibility with the latest release of the Python Roon API. The latest release of roonapi included significant improvements which unavoidably broke previous volume control via the API. This release of RoonCommandLine addresses that issue.
Installing this version of RoonCommandLine will automatically upgrade or install the latest version of the Python Roon API, providing improved volume control especially for those Roon endpoints with dB volume ranges.
Changes in RoonCommandLine 2.0.8 include:
Compatibility with Python Roon API 0.1.3
Support for percentage volume change/setting
Add immediate mode to roon_fade with ‘now’ argument
Implement non-interactive immediate fading
Add interactive menu system (roon_fade -i)
Set man permissions correctly in manual install scripts
One other significant improvement in RoonCommandLine is an upgrade to the latest WebSocket client library.
Note that users of any previous release of RoonCommandLine should update to this version or later if the Python roonapi module is updated.
before rnning anything the installer had already reported an error:
After
$ sudo ./Install
I get:
Install RoonCommandLine version 2.0.8r1 ? ('Y'/'N'): y
./macInstall: line 70: pip: command not found
I was able to fix this by replacing the line 70
if pip list | grep roonapi > /dev/null
with
if ${SUDO} ${PYTHON} -m pip list | grep roonapi > /dev/null
PS: Would it help to create PRs for something like this on GitLab? I noticed the issue list doesn’t look very attended to, maybe here, the Roon forum, is the better place?
@hallo_leo I’ve uploaded a new release of RoonCommandLine which addresses the Mac installation issues you report. The problem with roon_fade you encountered was caused by the installer failing to upgrade the roonapi Python module using pip.
On a Mac, clone the repository or do a git pull in an existing cloned directory and re-run the ./Install script. Debian and RPM format installation packages are also available for Linux platforms.
plus other permission errors on roon_fade now like
/usr/local/bin/roon_fade: line 40: /usr/local/Roon/etc/fadeconf: Permission denied
Maybe it helps when I describe step-by-step how I install:
I pull the new version.
Issue `sudo ./Install
On password prompt type password.
On “Using root as the Roon user…” type n
Then choose my normal username (who on macOS is a user that can become root via sudo, but is not root).
Wait for Extension approval in Roon UI.
Than try roon pause – and get first perm error.
Fix this via sudo chown [username] /usr/local/Roon/etc/roontoken.txt
Than try roon-fade now – and get second perm error multiple times.
Something might go wrong with the normal user and the use of sudo for the Installer. It looks like the installer only installs RCL for root! Or do I do something wrong?
Note: A cleaner installation can be accomplished by executing the Install script as a user with sudo privileges and as the user which will be used to SSH in to the system. If you are not going to enable SSH support, at least make sure the user has sudo privileges.
I though it means I should install with sudo, not just as a user with sudo capabilities. My bad.
I will try to clarify this along with checking if the install user is root and issuing a warning. One of the goals of the RoonCommandLine project is to make difficult things easy. The command line poses a challenge to some users and knowing about sudo and privileges just adds to that.
It helps improve the project when users report the wrong turns they may have made or any unclear directions. So, thanks!