Requesting help with how to get the new NR dashboard working

One of my machines has been updated to a newer version of NR.
This is what I know:

pi@PIFACE:~/.node-red $ node -v
v10.16.3
pi@PIFACE:~/.node-red $ npm -v
6.9.0
pi@PIFACE:~/.node-red $ 

On the web page it is 0.20.7 with the dashboard version is
Ok, here's the picture:
(This is a NEW install.)

I will take this as why the dashboard isn't working/displaying.

oh go on, tell us your dashboard version…

Isn't the answer in the thread you created about a year ago ?

I made another mistake.

No it isn't fixed.

Ok. Now I have just realised what is going on.
I shall go away and try to get it fixed.

I am not happy with where I am and what is happening.

I ask questions to make sure I am understanding the situation.
I'll shut up now.

@Trying_to_learn : Can you explain which part of your dashboard/flow stopped working after you updated? I see in your screenshot that you have several tabs and links visible in the dashboard layout. Can you post a screenshot, and maybe your flow, of what the dashboard looks like when you go to http://192.168.0.86:1880/ui
That address should work directly based on what I can see in your screenshot.

Honestly: It is all now just a big mess for me to what happened and why/how.

I am resigning myself to sit down and try to brute force my way to getting it working.

I'm asking because without being able to see inside your flows and systems, we can't provide much help. If you could show what it looks like we/I might already be able to spot something you've missed so far. But a "type already registered" error usually comes from having already installed another (contrib) library that defines those same node's unique names. You see, internally Node-RED requires the names of those individual nodes to be unique. But some different libraries use the same names for nodes that are already installed. Causing conflicts to occur, or installations to fail because of that giving a "type already registered" error.

However, the same screenshot shows the dashboard tab in the flow editor on the right. And that dashboard tab, with that tree structure of what the flow looks like, is installed by node-red-dashboard. And the palette popup shows [in use] on the button, suggesting that the dashboard tab is indeed the correct dashboard tab.

But in order to figure out what is going wrong, seeing what the dashboard itself is looking like in current form would help. Another thing that could help is seeing a list of all (contrib) nodes you have installed on this machine. The easiest way would be if you would SSH into this device, I'm assuming this is NUC #1 and you're viewing one of the Pis, but honestly I'm not sure. If it's the local machine, just do this without SSH :slight_smile:

  1. SSH into the machine
  2. Go to the /home/<username>/.node-red folder of the user that is running node-red
  3. If you're not using projects (which I'm assuming here you don't), get the file package.json in this folder and upload it here.
  4. From the same folder, get the file package-lock.json and upload it here. This second file lists which versions of each library are actually installed.

That file will tell what nodes you've installed, and might help us figure out why it shows as "Type already registered". It could be that you've two different dashboard nodes installed, it could be something else, it could even be a bug in a node somewhere. But we need more information to tell you that.

So I would kindly request you to show a screenshot of the dashboard, following the URL from the previous post should be good for that. And the contents of the files package.json and package-lock.json might explain what is going on.

1 Like

That part has been resolved.

Somehow a ui_something got installed as the dashboard and so I was seeing different icons in the left window.

STUPID ME didn't scroll down just that bit further and I would have seen it sooner.

Correct.

Luckily (bad use of term?) I have older copies of flows which I copy to the ~/.node-red directory.

That being said, another (yes: another) problem has arisen.

So, please forgive my seeming to jump all over the place.
I'm torn between "sitting here with hands out begging for help" and "getting on with fixing the problem".

For this part I think I have it sussed out.

Now I am in the process of trying to catch the next problem which has just stuck it's head up again.

Forgive me now for going "off topic" as here is the latest problem which actually has been pestering me for quite a while.

Here is the screen shot of the default (starting) dashboard I put on machines.

Note the bit circled in red.

Nothing wrong with it.

here is the code:

[{"id":"b17ce1b0.c16b38","type":"inject","z":"5b95490e.a46ab8","name":"Boot detector","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":true,"onceDelay":"5","x":170,"y":1400,"wires":[["bceea0e2.1645c8"]]},{"id":"bceea0e2.1645c8","type":"function","z":"5b95490e.a46ab8","name":"","func":"//msg1  = {payload: '<font color = \"red\" i class=\"fa fa-bullseye fa-2x\"></i>', topic:device + \"/Off-line\",device_ID:device, background:\"brown\"};\nif (msg.payload === 0)\n{\n    msg  = {payload: '<font color = yellow i class=\"fa fa-asterisk fa-2x\"></i>'};\n}  else\nif (msg.payload === 1)\n{\n    msg  = {payload: '<font color = grey i class=\"fa fa-asterisk fa-2x\"></i>'};\n}\nreturn msg;","outputs":1,"noerr":0,"x":340,"y":1400,"wires":[["b3744d89.00517","4b9a87eb.6ca058"]]},{"id":"b3744d89.00517","type":"ui_text","z":"5b95490e.a46ab8","group":"2baddfee.9693a8","order":2,"width":"1","height":"1","name":"Boot indicator","label":"","format":"{{msg.payload}}","layout":"row-right","x":510,"y":1400,"wires":[]},{"id":"4b9a87eb.6ca058","type":"debug","z":"5b95490e.a46ab8","name":"Uptime output","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":510,"y":1440,"wires":[]},{"id":"258ff894.df3ef8","type":"ui_button","z":"5b95490e.a46ab8","name":"Ack Boot","group":"2baddfee.9693a8","order":3,"width":"1","height":"1","passthru":true,"label":"Ack","tooltip":"","color":"black","bgcolor":"coral","icon":"","payload":"1","payloadType":"num","topic":"","x":190,"y":1440,"wires":[["bceea0e2.1645c8"]]},{"id":"334bb56b.832b02","type":"inject","z":"5b95490e.a46ab8","name":"Test","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":1480,"wires":[["258ff894.df3ef8"]],"icon":"node-red/alert.png"},{"id":"2baddfee.9693a8","type":"ui_group","z":"","name":"Uptime","tab":"13e974d8.c41ca3","order":2,"disp":false,"width":"9","collapse":false},{"id":"13e974d8.c41ca3","type":"ui_tab","z":"","name":"PiFaceMain","icon":"dashboard","order":1}]

Again: Not rocket science.

My "tweak" is to make the ACK also become the same colour as the * - grey - when pressed.
Both the background and font colour.

I change the code to:

(From another machine where it works.)

[{"id":"59a1ddbf.37815c","type":"inject","z":"9b7e7466.a4b698","name":"Boot detector","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":true,"onceDelay":"5","x":150,"y":1700,"wires":[["8bc24dec.712b98","cdd46d3c.4b0408","b3f0be31.e6fff8"]]},{"id":"8bc24dec.712b98","type":"function","z":"9b7e7466.a4b698","name":"Boot ack","func":"//msg1  = {payload: '<font color = \"red\" i class=\"fa fa-bullseye fa-2x\"></i>', topic:device + \"/Off-line\",device_ID:device, background:\"brown\"};\n// var msg1;\nif (msg.payload === 0)\n{\n    msg  = {payload: '<font color = yellow i class=\"fa fa-asterisk fa-2x\"></i>'};\n    msg1 = {colour: \"yellow\",font:\"black\"};\n}  else\nif (msg.payload === 1)\n{\n    msg  = {payload: '<font color = grey i class=\"fa fa-asterisk fa-2x\"></i>'};\n    msg1 = {colour: \"grey\",font:\"grey\"};\n}\nreturn [msg, msg1];","outputs":2,"noerr":0,"x":310,"y":1700,"wires":[["b7456952.308fd8","8e5c2f05.ae48f"],["ffb85d96.2172f"]]},{"id":"ffb85d96.2172f","type":"ui_button","z":"9b7e7466.a4b698","name":"Ack Boot","group":"a25d8b3.951fcf8","order":3,"width":"1","height":"1","passthru":false,"label":"Ack","tooltip":"","color":"{{msg.font}}","bgcolor":"{{msg.colour}}","icon":"","payload":"1","payloadType":"num","topic":"","x":170,"y":1740,"wires":[["bcfa6773.f94558"]]},{"id":"b7456952.308fd8","type":"ui_text","z":"9b7e7466.a4b698","group":"a25d8b3.951fcf8","order":2,"width":"1","height":"1","name":"Boot indicator","label":"","format":"{{msg.payload}}","layout":"row-right","x":510,"y":1700,"wires":[]},{"id":"a25d8b3.951fcf8","type":"ui_group","z":"","name":"Uptime","tab":"3245f51f.065aba","order":9,"disp":false,"width":"9","collapse":false},{"id":"3245f51f.065aba","type":"ui_tab","z":"","name":"Telemetry","icon":"track_changes","order":1,"disabled":false,"hidden":false}]

Basically I modify the button to accept the colour for the background and text.

I also modify the function node code from:

//msg1  = {payload: '<font color = "red" i class="fa fa-bullseye fa-2x"></i>', topic:device + "/Off-line",device_ID:device, background:"brown"};
if (msg.payload === 0)
{
    msg  = {payload: '<font color = yellow i class="fa fa-asterisk fa-2x"></i>'};
}  else
if (msg.payload === 1)
{
    msg  = {payload: '<font color = grey i class="fa fa-asterisk fa-2x"></i>'};
}
return msg;

To:

//msg1  = {payload: '<font color = "red" i class="fa fa-bullseye fa-2x"></i>', topic:device + "/Off-line",device_ID:device, background:"brown"};
// var msg1;
if (msg.payload === 0)
{
    msg  = {payload: '<font color = yellow i class="fa fa-asterisk fa-2x"></i>'};
    msg1 = {colour: "yellow",font:"black"};
}  else
if (msg.payload === 1)
{
    msg  = {payload: '<font color = grey i class="fa fa-asterisk fa-2x"></i>'};
    msg1 = {colour: "grey",font:"grey"};
}
return [msg, msg1];

And loop the second output to the button.

Doing that, the machine just (usually, and now won't because I am posting this) goes nuts and pretty well locks up.

Ok, I am wrong. (That seems to be the default for every thing I say.) But something in there is screwing (sorry, I just can't think of a better word which is not going to get me in more trouble) with the machine.

Ok, guess what.
(Some one shoot me.)
I forgot to un tick the "message pass through" on the button.
Working now.

But a second check would be appreciated.

Thoughts?

Found the issue already. Remember your thread from June about FontAwesome and Material Design and a different syntax? Material design icons vs font awesome
Spoiler alert: there was not really a different syntax, just syntax errors in writing those and understanding why it happened that way. You're making the same syntax error again. Please go back to that thread and see if you understand what you did wrong. It's the exact same issue now. If you can explain to me what happened back then that caused the error, you should be able to see what went wrong now.

2 Likes