# Configuration pencil icon missing from third party node. How to debug?

**URL:** <https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055>\
**Category:** Developing Nodes\
**Created:** [25 June 2018 11:31 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055 "2018-06-25T11:31:42Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 11:31 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/1 "2018-06-25T11:31:42Z")

</div>

I want to use a [third party node](https://github.com/fahrer16/node-red-contrib-isy) which connects to a websocket of an ISY994i. This node requires configuration, however the pencil icon used to open the config panel is missing and I can't figure out why.

[I submitted this issue to the developer, but haven't gotten a response yet.](https://github.com/fahrer16/node-red-contrib-isy/issues/2)

Screenshot (I can't provide a screenshot because new users are only allowed one image per post??)

There is also an error in the browser console: ![Screenshot2](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/594c72e26acbe65d1fd65384d375b0a7f3c7a3f4.png)

I'm hoping someone here might be able to shed some light on this or at least confirm that my issue exists for them as well.

I can read/write javascript just fine but I'm having problems figuring out how to debug this particular problem.

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 11:32 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/2 "2018-06-25T11:32:17Z")

</div>

Here's the screenshot of the missing config pencil icon ![Screenshot](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/b1a723715c98c8c8ec07acb21193c563c75db4fb.png)

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [25 June 2018 12:06 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/3 "2018-06-25T12:06:58Z")

</div>

Can you share your node’s HTML - in particular the object you pass to the `RED.nodes.registerType` function?

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 12:39 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/4 "2018-06-25T12:39:52Z")

</div>

@knolleary

EDIT: Here’s the Node’s HTML file:

> <https://github.com/fahrer16/node-red-contrib-isy/blob/master/nodes/isy-nodes-websocket.html>

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [25 June 2018 12:45 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/5 "2018-06-25T12:45:46Z")

</div>

Are there any errors in the browser’s javascript console when you open your edit dialog?

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 12:57 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/6 "2018-06-25T12:57:46Z")

</div>

Yes, I posted a screenshot of the error in my first post: [https://imgur.com/uLCzqS1.png](https://imgur.com/uLCzqS1.png)

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [25 June 2018 13:58 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/8 "2018-06-25T13:58:06Z")

</div>

Works fine for me.

what versions of NR and node.js ?  
What platform and OS?  
any error messages on the NR log at startup?

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 14:35 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/9 "2018-06-25T14:35:12Z")

</div>

@zenofmud:

- NodeJS v 5.2.0

- Node-Red v 0.18.7

- Darwin 10.8.0 x64 LE (Mac OSX)

- No errors of consequence in the startup log. Log is attached just in case…  
25 Jun 13:29:19 - [info] Node-RED version: v0.18.7  
25 Jun 13:29:19 - [info] Node.js version: v5.2.0  
25 Jun 13:29:19 - [info] Darwin 10.8.0 x64 LE  
25 Jun 13:29:22 - [info] Loading palette nodes  
25 Jun 13:29:43 - [info] Dashboard version 2.8.2 started at /ui  
25 Jun 13:29:43 - [warn] ------------------------------------------------------  
25 Jun 13:29:43 - [warn] [node-red/rpi-gpio] Info : Ignoring Raspberry Pi specific node  
25 Jun 13:29:43 - [warn] [node-red-contrib-isy/isy-controller] SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode (line:1)  
25 Jun 13:29:43 - [warn] ------------------------------------------------------  
25 Jun 13:29:43 - [info] Settings file : /Users/paul/.node-red/settings.js  
25 Jun 13:29:43 - [info] User directory : /Users/paul/.node-red  
25 Jun 13:29:43 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable  
25 Jun 13:29:43 - [info] Flows file : /Users/paul/.node-red/flows\_mini.local.json  
25 Jun 13:29:44 - [info] Server now running at [http://127.0.0.1:1880/](http://127.0.0.1:1880/)  
25 Jun 13:29:44 - [warn]

---

<div class="post-metadata">

**Author:** ![ukmoose](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ukmoose/32/13_2.png) [@ukmoose](https://discourse.nodered.org/u/ukmoose)\
**Post date:** [25 June 2018 14:51 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/10 "2018-06-25T14:51:03Z")

</div>

nodejs v5 has been end of life for 2 years, it’s time to upgrade

The recommended nodejs version is the current LTS version

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 14:52 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/11 "2018-06-25T14:52:59Z")

</div>

Yeah, that’s going to be a problem due to my hardware unfortunately. I’m stuck because everything requires a newer OS in order to compile and I can’t upgrade the OS ~~without completely killing the performance of the mac mini~~ because 10.6 is the last OS that supports the Core 2 Duo.

I will do some testing on my laptop and see if I can tie this issue to the nodejs version.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [25 June 2018 14:56 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/12 "2018-06-25T14:56:53Z")

</div>

@fahrvergnuugen I’ve just installed the ISY node and I get the same error as you when I add the node to the workspace.

So yes, something is broken with the node, but Node-RED ought to be handling it better whatever it is.

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 14:59 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/13 "2018-06-25T14:59:37Z")

</div>

@knolleary Well that’s a relief - I’m really hoping this error isn’t due to my outdated nodejs install since there isn’t anything I can do to fix that besides throw $ at it.

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [25 June 2018 15:34 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/14 "2018-06-25T15:34:17Z")

</div>

odd because it works fine for me.  
osx high sierra - nr 0.18.7 node v8.9.4

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [25 June 2018 15:36 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/15 "2018-06-25T15:36:23Z")

</div>

you are on NR 0.18.4 according to the log, latest is 0.18.7

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 17:31 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/16 "2018-06-25T17:31:52Z")

</div>

@zenofmud sorry for the confusion - i am definitely running 0.18.7. I had accidentally pasted the startup log from a few weeks back. I edited my post above and put today’s startup log.

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [25 June 2018 18:37 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/17 "2018-06-25T18:37:21Z")

</div>

> [@fahrvergnuugen](#):
>
> 25 Jun 13:29:43 - [warn] [node-red-contrib-isy/isy-controller] SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode (line:1)

Soooo I wonder if this is part of the problem

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 19:27 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/18 "2018-06-25T19:27:29Z")

</div>

@zenofmud That has to be the problem - it would also confirm that my issue is due to my outdated nodejs. The question now is - what version of NodeJS is @knolleary running? 🙂

I edited the `node-red-contrib-isy/nodes/isy/isy.js` and replaced `let` with `var` just to see what would happen. It progresses past that error now but fails at `this.REST = function (url, successCallback = dummyRESTCallback, errorCallback = dummyRESTCallback) {` with `SyntaxError: Unexpected token =`

My guess is that this syntax was added to nodejs.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [25 June 2018 19:35 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/19 "2018-06-25T19:35:36Z")

</div>

I have tested with both node 4 and node 8 - recreates in both. But yes, the node does require a newer node.js version. However the error you’re hitting is in the browser and shouldn’t have anything to do with the version of node.

By all means continuing speculating, but given I can recreate it, I will have a definitive answer for you shortly.

---

<div class="post-metadata">

**Author:** ![fahrvergnuugen](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fahrvergnuugen/32/818_2.png) [@fahrvergnuugen](https://discourse.nodered.org/u/fahrvergnuugen)\
**Post date:** [25 June 2018 19:47 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/20 "2018-06-25T19:47:10Z")

</div>

@knolleary, @zenofmud I modified the code by replacing `let` with `var` and by removing the inline function declare syntax and replacing with something that is effectively similar but not as elegant. The configure pencil icon now appears in the node.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [25 June 2018 19:58 UTC](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055/21 "2018-06-25T19:58:09Z")

</div>

Ah right - there are actually two bugs here.

1. The `ISY WebSocket` node’s `label` function assumes `this.controller` exists, which it won’t for a newly added node. That is the cause of the stack trace you see in the browser log. But it is completely separate to the lack of the pencil icon.

2. The `ISY Controller` node requires node 6 or later. If you’re running on an earlier version then that node won’t get loaded. That means when you edit the websocket node it can’t find the `isy-controller` type so doesn’t build the usual config node ui with the pencil button etc.

[Next page](https://discourse.nodered.org/t/configuration-pencil-icon-missing-from-third-party-node-how-to-debug/1055.md?page=2)
