Roon Extension Manager v0.11.9 [Obsolete]

Hi Jan,

With update checking now working for me I am finding that once this kicks in, it stops running extensions and does not restart itself or the extensions after the check is complete.
Here’s my logs from update time:

It’s update time!
2018-02-12T06:16:00.859Z - Inf: Terminating: roon-extension-denon…
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-denon…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-denon…”,“is_error”:false}
2018-02-12T06:16:00.863Z - Inf: Terminated: roon-extension-denon (SIGTERM)
-> CONTINUE 1 Changed {“message”:“Terminated: roon-extension-denon (SIGTERM)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminated: roon-extension-denon (SIGTERM)”,“is_error”:false}
2018-02-12T06:16:00.887Z - Inf: Updating: roon-extension-denon…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-denon…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-denon…”,“is_error”:false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-denon/master/.gitignore
2018-02-12T06:16:05.880Z - Inf: Updated: roon-extension-denon (0.0.5)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-denon (0.0.5)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-denon (0.0.5)”,“is_error”:false}
2018-02-12T06:16:05.883Z - Inf: Terminating: roon-extension-harmony…
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-harmony…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-harmony…”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T06:16:06.329Z - Inf: Updating: roon-extension-harmony…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-harmony…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-harmony…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-harmony…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-harmony…”,“is_error”:false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-harmony/master/.gitignore
2018-02-12T06:16:16.055Z - Inf: Updated: roon-extension-harmony (0.0.6)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-harmony (0.0.6)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-harmony (0.0.6)”,“is_error”:false}
2018-02-12T06:16:16.058Z - Inf: Terminating: roon-extension-random-radio…
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-random-radio…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-random-radio…”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T06:16:16.062Z - Inf: Updating: roon-extension-random-radio…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-random-radio…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-random-radio…”,“is_error”:false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-random-radio/master/.gitignore
2018-02-12T06:16:23.168Z - Inf: Updated: roon-extension-random-radio (0.2.0)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-random-radio (0.2.0)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-random-radio (0.2.0)”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T06:16:23.172Z - Inf: Updating: roon-extension-repository…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-repository…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-repository…”,“is_error”:false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-repository/master/.gitignore
404: Not Found

2018-02-12T06:16:27.165Z - Inf: Updated: roon-extension-repository (0.2.0)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-repository (0.2.0)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-repository (0.2.0)”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T06:16:27.167Z - Inf: Extension Repository loaded
-> CONTINUE 1 Changed {“message”:“Extension Repository loaded”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Extension Repository loaded”,“is_error”:false}
2018-02-12T06:16:27.173Z - Inf: Updating: roon-extension-manager…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
2018-02-12T06:16:27.175Z - Inf: Updating: roon-extension-manager…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager/master/.gitignore
iMac:roon-extension-manager jk$

I assume you started it with the command we used for logging.

Any difference if you start it like this?

node start.js inherit

Yes, started with the logging command. Result is the same with the inherit command, extensions are stopped for the update check and not restarted.
Maybe it’s the Denon extension? Extension Manager reports that the installed version is 0.0.5 but the extension itself says its 0.0.4. Running the update command manually results in expected behaviour of the extension restarting after the check is complete.

It’s update time!
2018-02-12T22:17:00.810Z - Inf: Terminating: roon-extension-denon…
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-denon…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-denon…”,“is_error”:false}
2018-02-12T22:17:00.814Z - Inf: Terminated: roon-extension-denon (SIGTERM)
-> CONTINUE 1 Changed {“message”:“Terminated: roon-extension-denon (SIGTERM)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminated: roon-extension-denon (SIGTERM)”,“is_error”:false}
2018-02-12T22:17:00.846Z - Inf: Updating: roon-extension-denon…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-denon…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-denon…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-denon…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-denon…”,“is_error”:false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-denon/master/.gitignore
2018-02-12T22:17:06.464Z - Inf: Updated: roon-extension-denon (0.0.5)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-denon (0.0.5)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-denon (0.0.5)”,“is_error”:false}
2018-02-12T22:17:06.466Z - Inf: Terminating: roon-extension-harmony…
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-harmony…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-harmony…”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T22:17:07.490Z - Inf: Updating: roon-extension-harmony…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-harmony…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-harmony…”,“is_error”:false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-harmony/master/.gitignore
2018-02-12T22:17:18.638Z - Inf: Updated: roon-extension-harmony (0.0.6)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-harmony (0.0.6)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-harmony (0.0.6)”,“is_error”:false}
2018-02-12T22:17:18.641Z - Inf: Terminating: roon-extension-random-radio…
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-random-radio…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Terminating: roon-extension-random-radio…”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T22:17:18.661Z - Inf: Updating: roon-extension-random-radio…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-random-radio…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-random-radio…”,“is_error”:false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-random-radio/master/.gitignore
2018-02-12T22:17:25.675Z - Inf: Updated: roon-extension-random-radio (0.2.0)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-random-radio (0.2.0)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-random-radio (0.2.0)”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T22:17:25.678Z - Inf: Updating: roon-extension-repository…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-repository…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-repository…”,“is_error”:false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-repository/master/.gitignore
404: Not Found

2018-02-12T22:17:29.542Z - Inf: Updated: roon-extension-repository (0.2.0)
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-repository (0.2.0)”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updated: roon-extension-repository (0.2.0)”,“is_error”:false}
{ ‘roon-extension-denon’: ‘0.0.5’,
‘roon-extension-harmony’: ‘0.0.6’,
‘roon-extension-manager’: ‘0.6.1’,
‘roon-extension-random-radio’: ‘0.2.0’,
‘roon-extension-repository’: ‘0.2.0’ }
2018-02-12T22:17:29.543Z - Inf: Extension Repository loaded
-> CONTINUE 1 Changed {“message”:“Extension Repository loaded”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Extension Repository loaded”,“is_error”:false}
2018-02-12T22:17:29.548Z - Inf: Updating: roon-extension-manager…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
2018-02-12T22:17:29.552Z - Inf: Updating: roon-extension-manager…
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
-> CONTINUE 1 Changed {“message”:“Updating: roon-extension-manager…”,“is_error”:false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager/master/.gitignore
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
path.js:1165
cwd = process.cwd();
^

Error: ENOENT: no such file or directory, uv_cwd
at Object.resolve (path.js:1165:25)
at Function.Module._resolveLookupPaths (module.js:431:17)
at Function.Module._resolveFilename (module.js:549:20)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object. (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
at Module._compile (module.js:660:30)
at Object.Module._extensions…js (module.js:671:10)
child_process.js:614
throw err;
^

Error: Command failed: npm --version
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
path.js:1165
cwd = process.cwd();
^

Error: ENOENT: no such file or directory, uv_cwd
at Object.resolve (path.js:1165:25)
at Function.Module._resolveLookupPaths (module.js:431:17)
at Function.Module._resolveFilename (module.js:549:20)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object. (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
at Module._compile (module.js:660:30)
at Object.Module._extensions…js (module.js:671:10)

at checkExecSyncError (child_process.js:574:11)
at execSync (child_process.js:611:13)
at _check_prerequisites (/Users/jk/.RoonExtensions/lib/node_modules/roon-extension-manager/node_modules/node-api-extension-installer/lib.js:267:23)
at new ApiExtensionInstaller (/Users/jk/.RoonExtensions/lib/node_modules/roon-extension-manager/node_modules/node-api-extension-installer/lib.js:110:9)
at Object.<anonymous> (/Users/jk/.RoonExtensions/lib/node_modules/roon-extension-manager/manager.js:92:17)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)

Strange that the manual update is working but the auto update isn’t. I’m not sure if anyone ever confirmed the auto update to work on Mac OS, so maybe it’s not.

The workaround would be to disable auto update by clearing the update time field in the Settings.

There is an alternative installation method that we can try, it requires the installation of a separate updater and the usage of a script to combine things. Not tried before on Mac OS, so if you are in for something new…

This is a mismatch between version numbers within the Denon extension, only a visual issue but let’s ping @Boris_Pruessmann about this.

1 Like

Sure I’m up for trying it out. I’ve cleared auto update for now.

OK, let’s give it a try @Astr0b0y.

One remark. I don’t know how compatible Mac OS is with the below Linux commands, it might help if you have some command line experience.

Change directory:

cd ~/.RoonExtensions/lib

Install the updater:

npm install -g https://github.com/TheAppgineer/roon-extension-manager-updater.git

Download the (ba)sh script:

curl -O https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager-packaging/master/linux/roon-extension-manager.sh

Change permissions (make it executable):

chmod +x roon-extension-manager.sh

Run the script:

while true; do ./roon-extension-manager.sh; done

Let me know how far you get.

1 Like

Thanks @Jan_Koudijs

For Mac OS installs, extensions are typically installed in a ‘hidden’ user directory so:

cd ~/.RoonExtensions/lib

wget is not a native command for Mac OS but can be installed via brew:

brew install wget

Alternatively curl can be used:

curl -O https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager-packaging/master/linux/roon-extension-manager.sh

Result with the updated instructions though is the same. Some behaviour that may have been happening before that I didn’t notice however.

If I let auto update run with only the extension manager running, after the update process the extension manager is ready to ‘Pair’.

If the update runs with another extension running as well, when the update process completes nothing is running - extension manager does not appear as ready to ‘Pair’.

Just Extension Manager running:

It's update time!
2018-02-14T22:53:00.823Z - Inf: Terminating: roon-extension-denon...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-denon...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-denon...","is_error":false}
2018-02-14T22:53:00.846Z - Inf: Updating: roon-extension-denon...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-denon...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-denon...","is_error":false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-denon/master/.gitignore
2018-02-14T22:53:05.553Z - Inf: Updated: roon-extension-denon (0.0.5)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-denon (0.0.5)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-denon (0.0.5)","is_error":false}
2018-02-14T22:53:05.555Z - Inf: Terminating: roon-extension-harmony...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-harmony...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-harmony...","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:53:06.008Z - Inf: Updating: roon-extension-harmony...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-harmony...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-harmony...","is_error":false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-harmony/master/.gitignore
2018-02-14T22:53:16.234Z - Inf: Updated: roon-extension-harmony (0.0.6)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-harmony (0.0.6)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-harmony (0.0.6)","is_error":false}
2018-02-14T22:53:16.237Z - Inf: Terminating: roon-extension-manager-updater...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-manager-updater...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-manager-updater...","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:53:16.238Z - Inf: Updating: roon-extension-manager-updater...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager-updater...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager-updater...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager-updater/master/.gitignore
2018-02-14T22:53:21.456Z - Inf: Updated: roon-extension-manager-updater (0.2.0)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-manager-updater (0.2.0)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-manager-updater (0.2.0)","is_error":false}
2018-02-14T22:53:21.459Z - Inf: Terminating: roon-extension-random-radio...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-random-radio...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-random-radio...","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:53:21.462Z - Inf: Updating: roon-extension-random-radio...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-random-radio...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-random-radio...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-random-radio...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-random-radio...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-random-radio/master/.gitignore
2018-02-14T22:53:28.491Z - Inf: Updated: roon-extension-random-radio (0.2.0)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-random-radio (0.2.0)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-random-radio (0.2.0)","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:53:28.493Z - Inf: Updating: roon-extension-repository...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-repository...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-repository...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-repository/master/.gitignore
404: Not Found

2018-02-14T22:53:32.435Z - Inf: Updated: roon-extension-repository (0.2.0)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-repository (0.2.0)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-repository (0.2.0)","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:53:32.437Z - Inf: Extension Repository loaded
-> CONTINUE 1 Changed {"message":"Extension Repository loaded","is_error":false}
-> CONTINUE 1 Changed {"message":"Extension Repository loaded","is_error":false}
2018-02-14T22:53:32.442Z - Inf: Updating: roon-extension-manager...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager/master/.gitignore

With Denon extension running as well:

It's update time!
2018-02-14T22:55:00.825Z - Inf: Terminating: roon-extension-denon...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-denon...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-denon...","is_error":false}
2018-02-14T22:55:00.830Z - Inf: Terminated: roon-extension-denon (SIGTERM)
-> CONTINUE 1 Changed {"message":"Terminated: roon-extension-denon (SIGTERM)","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminated: roon-extension-denon (SIGTERM)","is_error":false}
2018-02-14T22:55:00.856Z - Inf: Updating: roon-extension-denon...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-denon...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-denon...","is_error":false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-denon/master/.gitignore
2018-02-14T22:55:05.616Z - Inf: Updated: roon-extension-denon (0.0.5)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-denon (0.0.5)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-denon (0.0.5)","is_error":false}
2018-02-14T22:55:05.618Z - Inf: Terminating: roon-extension-harmony...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-harmony...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-harmony...","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:55:06.061Z - Inf: Updating: roon-extension-harmony...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-harmony...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-harmony...","is_error":false}
url: https://raw.githubusercontent.com/docbobo/roon-extension-harmony/master/.gitignore
2018-02-14T22:55:17.011Z - Inf: Updated: roon-extension-harmony (0.0.6)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-harmony (0.0.6)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-harmony (0.0.6)","is_error":false}
2018-02-14T22:55:17.015Z - Inf: Terminating: roon-extension-manager-updater...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-manager-updater...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-manager-updater...","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:55:17.016Z - Inf: Updating: roon-extension-manager-updater...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager-updater...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager-updater...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager-updater/master/.gitignore
2018-02-14T22:55:22.208Z - Inf: Updated: roon-extension-manager-updater (0.2.0)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-manager-updater (0.2.0)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-manager-updater (0.2.0)","is_error":false}
2018-02-14T22:55:22.210Z - Inf: Terminating: roon-extension-random-radio...
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-random-radio...","is_error":false}
-> CONTINUE 1 Changed {"message":"Terminating: roon-extension-random-radio...","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:55:22.214Z - Inf: Updating: roon-extension-random-radio...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-random-radio...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-random-radio...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-random-radio/master/.gitignore
2018-02-14T22:55:29.066Z - Inf: Updated: roon-extension-random-radio (0.2.0)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-random-radio (0.2.0)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-random-radio (0.2.0)","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:55:29.069Z - Inf: Updating: roon-extension-repository...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-repository...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-repository...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-repository/master/.gitignore
404: Not Found

2018-02-14T22:55:33.295Z - Inf: Updated: roon-extension-repository (0.2.0)
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-repository (0.2.0)","is_error":false}
-> CONTINUE 1 Changed {"message":"Updated: roon-extension-repository (0.2.0)","is_error":false}
{ 'roon-extension-denon': '0.0.5',
  'roon-extension-harmony': '0.0.6',
  'roon-extension-manager': '0.6.1',
  'roon-extension-manager-updater': '0.2.0',
  'roon-extension-random-radio': '0.2.0',
  'roon-extension-repository': '0.2.0' }
2018-02-14T22:55:33.296Z - Inf: Extension Repository loaded
-> CONTINUE 1 Changed {"message":"Extension Repository loaded","is_error":false}
-> CONTINUE 1 Changed {"message":"Extension Repository loaded","is_error":false}
2018-02-14T22:55:33.302Z - Inf: Updating: roon-extension-manager...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
2018-02-14T22:55:33.305Z - Inf: Updating: roon-extension-manager...
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
-> CONTINUE 1 Changed {"message":"Updating: roon-extension-manager...","is_error":false}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-manager/master/.gitignore

I updated the instructions in my previous post based on your feedback. When we have working instructions I will update the Mac OS installation instructions on the project Wiki.

Is curl a native command or does this require installation as well?

Are you running the downloaded roon-extension-manager.sh script?
I don’t expect it to give any log output (leave the command window open after start).

I forgot that you have to run the script in a loop, please try to run it like this:

while true; do ./roon-extension-manager.sh; done

Yes, curl is native.

No, I mistakenly ran the current Extension Manager.
When running roon-extension-manager.sh things seem to work much better. Extension Manager comes back in a ready to pair state and the Denon extension comes back running correctly.
There is one line of output after the script completes:

404: Not Found

Good. Is the IP address you configured in the Denon extension restored after the update?

This is normal.

Maybe you can help me with another Mac OS question. Different users have asked me how they can start the Extension Manager at system start. Do you know how to run a command at startup or how to setup a service? If this could be added to the Mac OS installation instructions it can get on a par with the other OSes.

Yes, IP is restored.

I really thing the startup and running of extensions is something that Roon should implement.
There’s a number of ways to start an application at login, the best way for a service is using launchd however I have not managed to get any node.js services running using this method. I think there’s more required:
https://www.npmjs.com/package/node-launchd
http://www.launchd.info

At this page I get the service running using Automater which is a built in application to MacOS that provides a simple scripting language to automate simple tasks.

  1. Launch Automator
  2. Select New Document
  3. Choose document type Application
  4. Scroll down the list of available Actions and double click Run Shell Script
  5. Paste into text input window:
    export PATH=/usr/local/bin/:$PATH
    cd ~/.RoonExtensions/lib/node_modules/roon-extension-manager
    node start.js
  6. Save
  7. Open System Preferences > Users & Groups and select your user.
  8. Click Login Items, click + and navigate to where your new application is saved.
2 Likes

Thanks for the instructions @Astr0b0y.

I combined your Automator instructions with the instructions I provided previously to come up with macOS installation instructions.

If anything is wrong or missing, please let me know.

@Occamsrazor, this might be something for you to try.

2 Likes

Very nice work! Much appreciated. I followed the instructions and they worked fine, surviving a reboot. Now I can finally give it a try…

1 Like

Finally found the time to fix this. 0.0.6 will have both version informations aligned.

2 Likes

Hello Jan

The Extension manager has disapeared from my system…

I can still see the alarm clock … but the actual extension manager is not longer showing on my server…or on my Roon interface.

Don’t know what when wrong… any chance to recover, or should i start everything from scratch?

Thx

Jean

Hi @Jean_Siakeu,

Sorry for the slow response.

To restart, you can stop the running extensions

killall node

And then start the Extension Manager again

node start.js

This might also be an opportunity to try the Linux install script as I linked to previously. This has the advantage that it auto restarts in case something goes wrong.

thanks Jan
I have tried the script … but it hang for quite a long time after the last command
“while true; do ./roon-extension-manager.sh; done”

That command is an endless loop, so it is supposed to “hang”.

Which instructions did you follow? You are running on Linux, right?