# Roon Extension Manager v0.11.9 \[Obsolete\]

**URL:** <https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632>\
**Category:** Roon API\
**Created:** [June 5, 2017, 9:50am UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632 "2017-06-05T09:50:08Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [August 8, 2017, 6:12pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/21 "2017-08-08T18:12:43Z")

</div>

> [@Astr0b0y](#):
>
> How do I get other extensions managed by this extension? Only the alarm clock is listed at the moment.

What version of the manager are you running, and on which OS?  
There should be 4 extensions to choose from:

![](https://roon-community-uploads.s3.amazonaws.com/original/3X/f/c/fc78fe7bbcff45e011c93b6afd42725b23bc3ef2.jpg)

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [August 8, 2017, 7:02pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/22 "2017-08-08T19:02:40Z")

</div>

> [@anon44636269](#):
>
> For some reason over the weekend my extension manager stopped running and thus all the extensions also stopped running. Had to manually kick start it back in to action and then get it to restart all the extensions.

I was first thinking that this may be caused by the update I pushed, but this was already last Wednesday. Do you have the auto update timer set?

> [@anon44636269](#):
>
> I take it the extension manager wont auto run when Roon starts? Will I have to run it as a service to ensure this?

Indeed, Roon and the extension manager have to be started separately.

Running it as a service is what I am focusing on at the moment. For Windows a basic installer should take care of this, currently a first version is being tested by a few community members. For Linux I start off with a systemd service file and a helper script, distribution packages may follow at a later point in time.

Of course you can also do the service stuff yourself. I can provide you a Linux script or Windows batch file which you then have to start as a service.

> [@wizardofoz](#):
>
> Jan does the file you sent for the installation run it as a service?

Yes it does.

---

<div class="post-metadata">

**Author:** ![anon44636269](https://community.roonlabs.com/letter_avatar/anon44636269/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon44636269](https://community.roonlabs.com/u/anon44636269)\
**Post date:** [August 8, 2017, 7:18pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/23 "2017-08-08T19:18:51Z")

</div>

I have the updates set to update at 2am. It might be I did not use since your last update I just cant remember. I have set it to run as a service now so see how it gets on.

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [August 8, 2017, 8:10pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/24 "2017-08-08T20:10:07Z")

</div>

I don’t know how well start.js behaves when you run it as a service (if that is what you do). It has some self restart behavior that is better moved to service control. Let me know if you run into issues and I will provide a better solution.

---

<div class="post-metadata">

**Author:** ![Astr0b0y](https://community.roonlabs.com/user_avatar/community.roonlabs.com/astr0b0y/32/64508_2.png) [@Astr0b0y](https://community.roonlabs.com/u/Astr0b0y)\
**Post date:** [August 8, 2017, 11:26pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/25 "2017-08-08T23:26:51Z")

</div>

Thanks, Jan. Looks like I had an old version running. Cleaned up and reinstalled and now everything is working with all extensions showing.  
Simply fantastic, this has taken Roon to another level for me. Even though its in a beta and unsupported form right now you and the other extension dev have done a fantastic job of defining the environment well enough to make it easy for non dev like me.

I really really need to set up a Roon endpoint in the bedroom now for alarm clock duties!

---

<div class="post-metadata">

**Author:** ![wizardofoz](https://community.roonlabs.com/user_avatar/community.roonlabs.com/wizardofoz/32/47982_2.png) [@wizardofoz](https://community.roonlabs.com/u/wizardofoz)\
**Post date:** [August 9, 2017, 2:36am UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/26 "2017-08-09T02:36:39Z")

</div>

> [@Astr0b0y](#):
>
> I really really need to set up a Roon endpoint in the bedroom now for alarm clock duties!

This works a treat…not the most WAF friendly but with a bit of coaxing mine can deal with it for now or she just tells me make it sleep in 40 mins please and I oblige ☺

---

<div class="post-metadata">

**Author:** ![anon44636269](https://community.roonlabs.com/letter_avatar/anon44636269/32/5_5575768a8748004e209b776fc1b2916d.png) [@anon44636269](https://community.roonlabs.com/u/anon44636269)\
**Post date:** [August 9, 2017, 6:57am UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/27 "2017-08-09T06:57:51Z")

</div>

Happy to try another solution if you think it will be more stable.

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [August 9, 2017, 7:28pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/28 "2017-08-09T19:28:33Z")

</div>

> [@Astr0b0y](#):
>
> Simply fantastic, this has taken Roon to another level for me. Even though its in a beta and unsupported form right now you and the other extension dev have done a fantastic job of defining the environment well enough to make it easy for non dev like me.

Thanks @Astr0b0y, this is exactly the goal of the extension manager stuff.

> [@anon44636269](#):
>
> Happy to try another solution if you think it will be more stable.

I will get back to you…

---

<div class="post-metadata">

**Author:** ![wizardofoz](https://community.roonlabs.com/user_avatar/community.roonlabs.com/wizardofoz/32/47982_2.png) [@wizardofoz](https://community.roonlabs.com/u/wizardofoz)\
**Post date:** [August 13, 2017, 10:15am UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/29 "2017-08-13T10:15:06Z")

</div>

Thanks to Jan and a good deal of PM’s back and forward the last few days we have got my setup installed … with some tweaking to be detailed but looking good for sure.

I think I will Jan take it from here on how he sees the installer changes needed but its definitely getting to a point where non geeks can perhaps get this running pretty soon I think.

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [August 19, 2017, 1:36pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/30 "2017-08-19T13:36:03Z")

</div>

The Windows installer is now available!

> [@Roon Extension Manager for Windows \[Deprecated\]](https://community.roonlabs.com/t/howto-install-extensions-on-windows/29783):
>
> This HowTo describes how to install Roon extensions on a Windows system. The provided installer installs the [Roon Extension Manager](https://community.roonlabs.com/t/roon-extension-manager/26632) as a Windows service. When the extension manager is running you can install and uninstall extensions from within the Roon UI, select Settings-\>Extensions from the “hamburger menu” in the upper left corner and select the extension manager. The service takes care that the extension manager starts when Windows starts, it is not necessary to login for the service to r…

---

<div class="post-metadata">

**Author:** ![Geoff\_Coupe](https://community.roonlabs.com/user_avatar/community.roonlabs.com/geoff_coupe/32/47986_2.png) [@Geoff\_Coupe](https://community.roonlabs.com/u/Geoff_Coupe)\
**Post date:** [September 5, 2017, 6:13am UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/31 "2017-09-05T06:13:00Z")

</div>

Something odd.

I did a fresh install of the Extension Manager using the Windows installer a few days ago, and also used it to set up @Mike_Plugge 's Web Controller. All was working well.

This morning I open up the Extensions page, and found that the Web Controller had vanished, and the Extension Manager had a “Pair” button (which I don’t ever remember seeing). I clicked the Pair button, which changed to the “Settings” button, and then used that to re-install the Web Controller.

Now I’m back to where I was yesterday, but is there any way to gather more detail on what caused the change in state?

 ![](https://roon-community-uploads.s3.amazonaws.com/original/3X/5/7/5730735640ed3c970d11d7040c0937ccb3217b77.png)

 ![](https://roon-community-uploads.s3.amazonaws.com/original/3X/0/2/025af11b20c1c91586401db07bb673e3e1529c3a.png)

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [September 5, 2017, 5:13pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/32 "2017-09-05T17:13:38Z")

</div>

> [@Geoff\_Coupe](#):
>
> the Extension Manager had a “Pair” button

Has anything changed related to your core or do you have multiple cores running? The pair button normally appears if a previously paired core is not online and another one is.

> [@Geoff\_Coupe](#):
>
> and then used that to re-install the Web Controller.

The Web Controller was no longer detected as installed? That’s strange.

> [@Geoff\_Coupe](#):
>
> is there any way to gather more detail on what caused the change in state?

Errors in the Extension Manager itself are logged to `%AppData%\RoonExtensions\roon-extension-manager.log`, is there anything in this log? (you can open the file by pasting the full name in the Windows search field.)

---

<div class="post-metadata">

**Author:** ![Geoff\_Coupe](https://community.roonlabs.com/user_avatar/community.roonlabs.com/geoff_coupe/32/47986_2.png) [@Geoff\_Coupe](https://community.roonlabs.com/u/Geoff_Coupe)\
**Post date:** [September 5, 2017, 5:37pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/33 "2017-09-05T17:37:41Z")

</div>

Ah, there is another core running in the network, and when I rebooted ROCK a day or two ago, it must have caused the appearance of the Pair button. That explains that.

> The Web Controller was no longer detected as installed? That’s strange

I’ve seen it complain that it needed to be re-enabled - perhaps this is also a symptom of having more than one core present and running?

> Errors in the Extension Manager itself are logged to %AppData%\RoonExtensions\roon-extension-manager.log, is there anything in this log?

It’s over 1MB in size, so there’s quite a bit in there… Should I be looking for anything in particular? Mostly it seems to be of the form:

```
Error: spawn C:\Program Files\nodejs\node.exe ENOENT
    at exports._errnoException (util.js:1018:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:367:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\Program Files\nodejs\node.exe ENOENT
    at exports._errnoException (util.js:1018:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:367:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
^CC:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\lib.js:399
        var logging = msg.headers["Logging"];
                                 ^

TypeError: Cannot read property 'Logging' of undefined
    at Transport.transport.onmessage.msg [as onmessage] (C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\lib.js:399:34)
    at WebSocket.Transport.ws.onmessage (C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\transport-websocket.js:30:14)
    at WebSocket.onMessage (C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\WebSocket.js:442:14)
    at emitTwo (events.js:106:13)
    at WebSocket.emit (events.js:191:7)
    at Receiver.onbinary (C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\WebSocket.js:848:10)
    at C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:628:18
    at Receiver.applyExtensions (C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:371:5)
    at C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:604:14
    at Receiver.flush (C:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\Receiver.js:347:3)
^CC:\Users\gcoup\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\node-roon-api\lib.js:399
        var logging = msg.headers["Logging"];
                             ^

```

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [September 5, 2017, 7:22pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/34 "2017-09-05T19:22:33Z")

</div>

> [@Geoff\_Coupe](#):
>
> perhaps this is also a symptom of having more than one core present and running?

Can be. Unfortunately I don’t have the possibility to test a multi core setup.

> [@Geoff\_Coupe](#):
>
> It’s over 1MB in size, so there’s quite a bit in there…

That’s no good. I can not relate the error to my own code, it occurs in a Roon API part.

@ben, not much context here but can you think of a scenario in which `headers` is undefined? Is a check required here?

---

<div class="post-metadata">

**Author:** ![ben](https://community.roonlabs.com/user_avatar/community.roonlabs.com/ben/32/8485_2.png) [@ben](https://community.roonlabs.com/u/ben)\
**Post date:** [September 5, 2017, 7:35pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/35 "2017-09-05T19:35:45Z")

</div>

I don’t see how that can happen. To the extent that I have a theory, it’s something like “you have a lib.js from one version of the api library and a transport-websocket.js from another”, which seems very unlikely.

@Geoff_Coupe, could I get the whole log file, even though it’s 1MB? I can PM upload instructions if you need them.

---

<div class="post-metadata">

**Author:** ![Geoff\_Coupe](https://community.roonlabs.com/user_avatar/community.roonlabs.com/geoff_coupe/32/47986_2.png) [@Geoff\_Coupe](https://community.roonlabs.com/u/Geoff_Coupe)\
**Post date:** [September 5, 2017, 8:14pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/36 "2017-09-05T20:14:39Z")

</div>

@ben - here’s the log file:

[https://1drv.ms/u/s!Als0gqk3maNqqPIy6RbjPKhEpezFRQ](https://1drv.ms/u/s!Als0gqk3maNqqPIy6RbjPKhEpezFRQ)

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [September 5, 2017, 8:40pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/37 "2017-09-05T20:40:30Z")

</div>

There are also errors in it that do relate to my code, I will have a look at them…

---

<div class="post-metadata">

**Author:** ![ben](https://community.roonlabs.com/user_avatar/community.roonlabs.com/ben/32/8485_2.png) [@ben](https://community.roonlabs.com/u/ben)\
**Post date:** [September 5, 2017, 9:34pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/38 "2017-09-05T21:34:28Z")

</div>

We now have a theory as to how/why this happens. I will look into a fix. The only thing I don’t understand is why we don’t see a log message complaining about something like “reached end of buffer” or “malformed message”.

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [September 6, 2017, 5:35pm UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/39 "2017-09-06T17:35:13Z")

</div>

Are these messages written to stderr? That’s the only stream I store in the log at the moment.

---

<div class="post-metadata">

**Author:** ![Jan\_Koudijs](https://community.roonlabs.com/user_avatar/community.roonlabs.com/jan_koudijs/32/48346_2.png) [@Jan\_Koudijs](https://community.roonlabs.com/u/Jan_Koudijs)\
**Post date:** [September 17, 2017, 9:32am UTC](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632/40 "2017-09-17T09:32:59Z")

</div>

> [@Roon Extension: Roon Web Controller v1.2.0](https://community.roonlabs.com/t/roon-extension-roon-web-controller-v1-2-0/28412/68):
>
> There is only one core, running an an HP MicroServer Gen 6 running Windows 10 Pro 64bit.  
> RoonExtensions are installed on the same server.  
> Here is the logfile.

Hi @seagull,  
Your issue has similarities with the one Geoff had, so I would like to follow up the discussion here (also not to hijack the Web Controller thread).

Looks like the Harmony extension got corrupted. Can you try the following to recover from this?

- Type services in the Windows search bar and open the Services application
- Select the Roon Extension Manager in the list and stop it
- Delete the extension manager log file, it has become big
- Type cmd in the Windows search bar and open the Command Prompt application
- Update the harmony extension: `npm update -g roon-extension-harmony`
- Check if the update is successful, it should print a hierarchy of node modules
- Start the extension manager service again

Please supply me with the newly created log file if it still doesn’t work.

I’m investigating how the system can get into this state, it might be triggered by a core that goes down…

[Previous page](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632.md?page=1)

[Next page](https://community.roonlabs.com/t/roon-extension-manager-v0-11-9-obsolete/26632.md?page=3)
