Roon Extension Manager v0.11.9 [Obsolete]

It’s not that bad :slight_smile: , only the last step (step 5) has to be repeated.

The alternative is to find out how to automatically start it when Mac OS starts (e.g. by setting up a service). I know how to do it for Windows and Linux but I’m not familiar with Mac OS. Anyone around who can assist here?

Yes, extensions run under the control of the manager. This gives the possibility to perform all actions from the Roon UI, including starting and stopping an extension.

Hi Jan,

I am sure there is a simple solution for this, Mac is great at this kind of stuff. But I am not a terminal expert.

It seems that one way is to create a .plist file in the user’s ~/Library/LaunchAgents folder. There is an explanation here:

but I am still trying to work out the terminology and have not got it to work yet. However while googling I came across this:

https://www.npmjs.com/package/auto-launch

It seems like maybe there is an extra option one can add at installation to make it auto-launch. Maybe you understand better?

An update for the Roon Extension Manager (v0.4.0) is now available

Changes

  • Saving and restoring user settings during extension updates now also works when npm 5.x is used
  • The list of available extensions is now sorted alphabetically in the settings dialog

if auto update is enabled then the changes will be pulled in the next time an update is performed.

1 Like

Hi @Jan_Koudijs, would it be possible for the Alarm Clock extension to define what will be played when the alarm goes off?
I’m using the Alarm Clock extension as a clock radio that plays an internet radio station to wake me up.
But I have to remember to set Roon to the internet radio station at night.
If I play an album and fall asleep then the the Alarm Clock extension wakes me with random music rather than with my favourite radio station.
Not a first world problem though … :slightly_smiling_face:

Hi @seagull,

Source selection is still something I would like to add but the difficulty is that the user interface possibilities are rather limited. I experimented with Internet Radio selection and it worked quite well with the few stations that I have but how will it work when you have a lot of them? It might not be very user-friendly to scroll through a long list in a small drop-down box. So I’m still a bit in search, but surely open for suggestions.

I might add the possibility to play random tracks or random albums. As you might have seen, I know how to do that :slight_smile:

Hello Jan @Jan_Koudijs,

I had an error when running roon-extension-manager :

MOO: reached end of buffer while parsing header
<- undefined undefined undefined
C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\moo.js:187
    let cb = this.requests[msg.request_id].cb;
                                           ^

TypeError: Cannot read property 'cb' of undefined
    at Moo.handle_response (C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\moo.js:187:44)
    at Transport.transport.onmessage.msg [as onmessage] (C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\lib.js:411:27)
    at WebSocket.Transport.ws.onmessage (C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\transport-websocket.js:30:14)
    at WebSocket.onMessage (C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\WebSocket.js:442:14)
    at emitTwo (events.js:126:13)
    at WebSocket.emit (events.js:214:7)
    at Receiver.onbinary (C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\WebSocket.js:848:10)
    at C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:628:18
    at Receiver.applyExtensions (C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:371:5)
    at C:\Users\User\.RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:604:14

User@CRES MINGW64 ~/.RoonExtensions/node_modules/roon-extension-manager

Do not hesitate to ask more details, dp.

The error occurs in the Roon API part of the code, therefor I cannot directly relate it to my own code. Was it anything specific you were doing, and did it happen once or can you reproduce it? It would be very helpful if you can provide me with some steps that lead to the problem.

@ben, It hits a specific log line in moo.js: MOO: reached end of buffer while parsing header, provides this a hint to you?

Hi Jan,

Thank you for your message. I did not succeed in reproducing the problem. All I can add is that after installing the manager extension, I tried to play with the radio extension. I had another mistake later, that the extension had lost the core. Do not worry about that, if I have anything else I’ll tell you. Thanks again, dp.

Translated from French by Google translation.

Roon Extension Manager v0.5.0 is now available

One new feature is implemented: The manager and the repository can now be updated manually, previously they could only be updated via the auto update function.

if auto update is enabled then the changes will be pulled in the next time an update is performed.

After the auto update the Extension Manager and Repository can be selected from the extension list for manual update:

HI Jan,

After upgrade to v0.5.0, it failed to start in Ubuntu so I tried in MacOS High Sierra.
I get a more or less identical error in both platforms:

johans-mp:~ johan$ cd ~/.RoonExtensions/lib/node_modules/roon-extension-manager
johans-mp:roon-extension-manager johan$ node start.js
2018-01-13T10:38:13.357Z - Inf: Installing: roon-extension-repository…
2018-01-13T10:38:15.742Z - Inf: Installed: roon-extension-repository (0.1.0)
2018-01-13T10:38:15.745Z - Inf: Extension Repository loaded

Roon Extension Manager started successfully!
Select Settings->Extensions on your Roon Remote to manage your extensions.

2018-01-13T10:38:15.749Z - Inf: Started: roon-extension-manager-updater
events.js:183
throw er; // Unhandled ‘error’ event
^

Error: spawn /usr/local/bin/node ENOENT
at _errnoException (util.js:1022:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:372:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
johans-mp:roon-extension-manager johan$ node -v
v8.9.4
johans-mp:roon-extension-manager johan$ npm -v
5.6.0

I’d be very grateful for some help.

Cheers
Johan

Output from Ubuntu 17.10

~/.RoonExtensions/lib/node_modules/roon-extension-manager$ node start.js
2018-01-13T11:03:37.410Z - Inf: Extension Repository loaded

Roon Extension Manager started successfully!
Select Settings->Extensions on your Roon Remote to manage your extensions.

2018-01-13T11:03:37.414Z - Inf: Started: roon-extension-manager-updater
events.js:183
throw er; // Unhandled ‘error’ event
^

Error: spawn /usr/bin/node ENOENT
at _errnoException (util.js:1022:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:372:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
johan@mydell:~/.RoonExtensions/lib/node_modules/roon-extension-manager$ node -v
v8.9.4
johan@mydell:~/.RoonExtensions/lib/node_modules/roon-extension-manager$ npm -v
5.6.0

Thanks for the report @qdtjni.

I broke the start method with the start.js script, I only tested service based starting :blush:

An update is in progress…

1 Like

Roon Extension Manager v0.5.1 is now available (bug fix)

The bug with the start.js script should be fixed now.

@qdtjni, it is probably easiest to update to 0.5.1 via npm:

npm update -g roon-extension-manager
1 Like

Works again, thanks a lot! :slight_smile:

1 Like

Hello Jan

Excellent work…

I installed the extension manager last night and loaded the Alarm Clock module…
I set up two alarms… one to stop the zone at 23:15 (Mon-Fri) and the second to start the zone at 06:00 am…
It worked fine last night and the music stopped on the right time…but in the morning , nothing happenned… I checked Roon and noticed that the extension was not loaded…
I run Node again this afternoon and the extension is back on… will test the behavioir again tonight and tomorrow…
But wanted to know if this first faillure is normal… and have I done anything wrong ?

Thx
Jean

Hi @Jean_Siakeu,

Sorry to hear that the wake-up call failed, I hope you had a backup.

Can you tell me a bit more about your setup?

  • On what OS do you run the Extension Manager?
  • Do you run it manually via the start.js script or do you start it as a service at system power-up?
  • Was it only the Alarm Clock that had disappeared from the extension list or the manager as well?

Hello Jan

Thanks for responding to my email…
The Roon server is a NUC i5 running Debian 9…
The extension manager was off altogether…

I have just followed your guide in Git… and run nodes as described…from the script…
The server is always on anyway…

Can you please share the command line to run as a service at start,…

Thx a lot in advance

Thx

Hi Jan

Again, this morning… the extension manager has disappeared from Roon…
It look like for some reasons the extension manager has stopped working…
Any suggestion to solve the problem will be greatly appreciated…

Thx
Jean

The Alarm Clock extension works fine on my system.

Do you have any output from the command window from which you started the Extension Manager? This would be helpful.

If not, then I suggest that you use the following start command:

node start.js inherit_all > manager.log 2>&1

Keep the command window open. If you run into the issue again then please upload the manager.log file and send me a link.

Let’s find the cause first, after that I can help you to setup a service.